11 Commits

Author SHA1 Message Date
sailor 9b5aec1c96 Merge pull request 'fix job more' (#11) from builder-local into main
Docker Build and Push / need-build (push) Successful in 3s
Docker Build and Push / need-deploy (push) Successful in 3s
Docker Build and Push / build (push) Has been skipped
Docker Build and Push / deploy (push) Successful in 18s
Reviewed-on: #11
2026-07-10 22:33:48 +03:00
sailor 1cfe24037c fix deploy again
Docker Build and Push / need-build (push) Successful in 3s
Docker Build and Push / need-deploy (push) Successful in 3s
Docker Build and Push / build (push) Has been skipped
Docker Build and Push / deploy (push) Has been skipped
Reviewed-on: #10
2026-07-10 22:28:10 +03:00
sailor 958dcab3fa Merge pull request 'test deploy' (#9) from builder-local into main
Docker Build and Push / need-build (push) Successful in 3s
Docker Build and Push / need-deploy (push) Successful in 3s
Docker Build and Push / build (push) Has been skipped
Docker Build and Push / deploy (push) Has been skipped
Reviewed-on: #9
2026-07-10 22:23:13 +03:00
sailor 5f2ba688e9 fix need deploy
Docker Build and Push / need-build (push) Successful in 3s
Docker Build and Push / need-deploy (push) Successful in 3s
Docker Build and Push / build (push) Has been skipped
Docker Build and Push / deploy (push) Has been skipped
Reviewed-on: #8
2026-07-10 22:18:36 +03:00
sailor 5d64ae8732 ci and schemas
Docker Build and Push / need-build (push) Successful in 4s
Docker Build and Push / need-deploy (push) Successful in 3s
Docker Build and Push / build (push) Successful in 13s
Docker Build and Push / deploy (push) Has been skipped
Reviewed-on: #7
2026-07-10 22:17:01 +03:00
sailor 348a9bbe73 add compose and add ci filter
Docker Build and Push / check-changes (push) Successful in 16s
Docker Build and Push / build (push) Has been skipped
Reviewed-on: #6
2026-07-10 12:44:50 +03:00
sailor a912d08482 Merge pull request 'add compose and fix dockerfile' (#5) from builder-local into main
Docker Build and Push / build (push) Successful in 18s
Reviewed-on: #5
2026-07-09 20:33:59 +03:00
sailor 3d8de18123 Merge pull request 'refactor ci' (#4) from builder-local into main
Docker Build and Push / build (push) Successful in 14s
Reviewed-on: #4
2026-07-09 20:21:13 +03:00
sailor 5daef4f2d5 Merge pull request 'add local registry' (#3) from builder-local into main
Docker Build and Push / build (push) Successful in 1m37s
Reviewed-on: #3
2026-07-09 14:45:51 +03:00
sailor 6668f65528 fix registru from build
Docker Build and Push / build (push) Failing after 8m13s
Reviewed-on: #2
2026-07-09 14:24:47 +03:00
sailor ebd04134bf new ci
Docker Build and Push / build (push) Failing after 9m34s
Reviewed-on: #1
2026-07-09 13:58:58 +03:00
12 changed files with 36 additions and 180 deletions
@@ -22,7 +22,6 @@ jobs: # Список выполняемых джоб
filters: | filters: |
src: src:
- 'requirements.txt' - 'requirements.txt'
- 'dockerfile'
need-deploy: # джоба проверки изменений в файлах. При изменении пулит новые файлы и перезапускает контейнер need-deploy: # джоба проверки изменений в файлах. При изменении пулит новые файлы и перезапускает контейнер
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -86,4 +85,7 @@ jobs: # Список выполняемых джоб
username: ${{ secrets.USER }} username: ${{ secrets.USER }}
key: ${{ secrets.KEY }} key: ${{ secrets.KEY }}
script: | script: |
sudo docker run -p 8000:8000 gitea.trastinfo.ru/sailor/mkdocs:latest cd /home/ubadmin/mkdocs
git pull origin main
sudo docker compose down
sudo docker compose up -d --build
+3
View File
@@ -2,5 +2,8 @@ services:
mkdocks: mkdocks:
image: gitea.trastinfo.ru/sailor/mkdocs:latest image: gitea.trastinfo.ru/sailor/mkdocs:latest
restart: always restart: always
volumes:
- ./mkdocs.yml:/mkdocs/mkdocs.yml
- ./docs:/mkdocs/docs
ports: ports:
- "8000:8000" - "8000:8000"
-2
View File
@@ -7,8 +7,6 @@ RUN apk add --update --no-cache --virtual .build-deps gcc musl-dev &&\
apk del .build-deps &&\ apk del .build-deps &&\
rm ./requirements.txt rm ./requirements.txt
WORKDIR /mkdocs WORKDIR /mkdocs
COPY mkdocs.yml /mkdocs/mkdocs.yml
COPY docs/* /mkdocs/docs/
CMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"] CMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"]
+2
View File
@@ -0,0 +1,2 @@
Ты devops инженер. Твоя основная специальность это автоматизация и настройка серверов.
Ты занят настройкой opensearch.
@@ -1,12 +0,0 @@
@startuml
top to bottom direction
cloud "Интернет" as Internet
rectangle "Proxy" as Proxy
rectangle "K8s" as K8s
rectangle "Docker" as Docker
Internet -- Proxy
Proxy -- K8s
Proxy -down- Docker
@enduml
-27
View File
@@ -1,27 +0,0 @@
@startuml
!theme bluegray
title Схема доступа к VM через Proxy
cloud "Интернет" as Internet
node "Proxy" as proxy
node "Master-1" as m1
node "Master-2" as m2
node "Master-3" as m3
node "Worker-1" as w1
node "Worker-2" as w2
node "Worker-3" as w3
node "Docker" as d1
Internet -down- proxy
proxy -down- m1
proxy -down- m2
proxy -down- m3
proxy -down- w1
proxy -down- w2
proxy -down- w3
proxy -down- d1
@enduml
-21
View File
@@ -1,21 +0,0 @@
# Архитектура моей лаборатории
Моя лаборатория - это мой мини прокет по освоению новых для меня технологий.
## На чем развернуто
У меня есть 2 стенда:
1) Домашний ПК
2) Виртуалки в клауде
Что дома, что в клауде используется Proxmox для виртуализации. Приложения разворачиваются в kubernetes. На отдельной ВМ крутятся БД. Стенды по содержанию идентичны
Схема стенда ./docs/sailor-lab/scema-sailor-lab-components.puml
Все виртуалки созданы Terraform через API Proxmox
## Стек
### Compute
- K8s
### Monitoring
- Prometheus
- Grafana
### DevOps
- Gitea
### Backup
- Restic
### Docs
- Mkdocs
+27
View File
@@ -0,0 +1,27 @@
@startuml
!theme bluegray
title Схема доступа к Vm через Proxy
node "Proxy" as proxy
node "Master-1" as m1
node "Master-2" as m2
node "Master-3" as m3
node "Worker-1" as w1
node "Worker-2" as w2
node "Worker-3" as w3
node "Docker" as d1
proxy -down-> m1
proxy -down-> m2
proxy -down-> m3
proxy -down-> w1
proxy -down-> w2
proxy -down-> w3
proxy -down-> d1
@enduml
-24
View File
@@ -1,24 +0,0 @@
# Registry and local push
Gitea позволяет хранить свои образы контейнеров. Это позволяет не прибегать к dockerhub и не ставить еще и отдельную хранилку образов. Эта функция включена по умолчанию в новых версиях.
Для того что бы запушить образ требуется авторизоваться в регистри. Для этого нам требуется сгенерить токен доступа для регистри.
Что бы сгенерить токен переходим в настройки нашей Учетки (не репозитория) https://gitea.trastinfo.ru/user/settings/applications
Далее нажимаем создать новый токен. Пишем имя токена и выбираем доступа для токена. Для пайплайна нам требуется доступ к чтению repository и чтение\запись к package (Это как раз и есть registry)
Логинимся в gita
```
docker login gitea.trastinfo.ru --username sailor --password 5968ad45678afc6dc2f41b2ff389ca10fc982170
```
gitea.trastinfo.ru - Наша gitea
--username sailor - Юзер под которым логинемся
--password 5968ad45678afc6dc2f41b2ff389ca10fc982170 вместо пароля ставим токен, который мы сгенерили
Собираем образ. Есть две особенности на которые надо обратить внимание:
- Именование образов
- слеш (/) при указании тега
Именование образов имеет формат {registry}/{owner}/{image}:{tag}
```
docker build -t gitea.trastinfo.ru/sailor/sailor-doc:0.01 -f dockerfile
```
После билда пушим образ
```
docker push gitea.trastinfo.ru/sailor/sailor-doc:0.01
```
-42
View File
@@ -1,42 +0,0 @@
# NPM
Краткая инструкция как поднять и настроить NPM
Ссылки
Гайд с оф сайта https://nginxproxymanager.com/guide/
Гитхаб https://github.com/NginxProxyManager/nginx-proxy-manager
Для начала заходим на сервак и ставим докер.
```
curl https://get.docker.com | sh -
```
Далее создаем директорию под NPM. Директорию лучше не называть npm, что бы не путать с пакетным менджером
```
mkdir proxy && cd proxy
```
Создаем compose.yaml
```
nano compose.yaml
```
И записываем туда конфиг для композа
```
services:
app:
image: 'jc21/nginx-proxy-manager:2.15.1' #Можно посмотреть севужую версию на https://github.com/NginxProxyManager/nginx-proxy-manager
restart: unless-stopped
environment:
TZ: "Europe/Moscow"
ports:
- '80:80'
- '81:81' #Порт веб панели администратора, лучше поменять на свой
- '443:443'
volumes: #Директории для сертов и данных, создадутся в рабочем каталоге
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
```
Разрешаем трафик по этим портам
```
sudo iptables -A INPUT -p tcp -i eth0 --dport 80,443,81 -j ACCEPT
```
Поднимаем контейнер композом
```
docker compose up -d
```
Заходим в вебку админа по ip-server:81 и настраиваем учетку и тд.
-50
View File
@@ -1,50 +0,0 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: mkdocs
---
apiVersion: v1
kind: Service
metadata:
name: sailor-mkdocs
labels:
app: sailor-mkdocs
service: sailor-mkdocs
spec:
ports:
- name: http
port: 8080
targetPort: 8000
selector:
app: sailor-mkdocs
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: sailor-mkdocs
namespace: mkdocs
spec:
replicas: 2
selector:
matchLabels:
app: sailor-mkdocs
template:
metadata:
labels:
app: sailor-mkdocs
spec:
nodeSelector:
kubernetes.io/hostname: worker-2
containers:
- name: mkdocs
image: gitea.trastinfo.ru/sailor/mkdocs:7c2e6b6ecc3e32e5e4f59e6628af0a87d3acb005
ports:
- containerPort: 8000
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "256Mi"
cpu: "250m"