3.6 KiB
Правила работы агента
⛔⛔⛔ DOCKER — ОБЯЗАТЕЛЬНЫЙ ПОРЯДОК ПЕРЕД КАЖДЫМ BUILD
- УВЕЛИЧИТЬ ТЕГ в
console/deploy/console.yaml(vX.Y.Z → vX.Y.Z+1) - rsync на ВМ
- ПРОВЕРИТЬ что файлы на ВМ новые (grep ключевой строки)
- docker build с НОВЫМ тегом
- docker push с НОВЫМ тегом
- kubectl apply (не rollout restart — apply подтягивает новый тег)
НИКОГДА не делать docker build со старым тегом — под не перетянет образ (imagePullPolicy: IfNotPresent)
Файловая система (актуально)
-
Все файлы редактируются локально:
~/fission -
После любых изменений — обязательно rsync на ВМ: rsync -az
-e "ssh -i ~/.ssh/naeel_vm_id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout=10"
/fission//terra/fission/
naeel@5.172.178.213: -
Git (add/commit/push) выполнять ЛОКАЛЬНО в ~/fission
-
Docker, kubectl и другие инфраструктурные команды — только через SSH на ВМ
-
Перед запуском любой команды на ВМ обязательно убедиться, что синхронизация (rsync) выполнена
-
SCP, sshfs, remote_dev и маунты больше НЕ используются
-
Только rsync для синхронизации
Пример:
- Редактируешь локально
- rsync на ВМ
- Выполняешь команды через SSH на ВМ
SSH
Все команды — только через SSH на ВМ. Локально — только читать и редактировать файлы.
ssh -i ~/.ssh/naeel_vm_id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout=10 naeel@5.172.178.213 'КОМАНДА'
Запрещено локально: go, docker, kubectl, helm, terraform, curl/wget, git push/pull, любые скрипты проекта.
Документация
doc/thinking/— лог рассуждений агента (обязательно)doc/progress.md— трекер задач- Старые файлы
doc/не перезаписывать — новое в новых файлах с датой
Git
Коммитить и пушить через SSH после каждого завершённого этапа.
Версионирование тегами: vMAJOR.MINOR.PATCH
- Patch — любое изменение кода
- Minor — новая фича / компонент
- Major — breaking change
git tag vX.Y.Z && git push origin vX.Y.Z
Поведение агента
- Не трогать рабочий код без явного указания
- Не делать НИЧЕГО сверх того, о чём явно приказали — ни git-команд, ни rebase, ни дополнительных шагов
- Если для продолжения нужен выбор — СПРОСИТЬ разрешения, не делать самостоятельно
- Деструктивные операции (
kubectl delete,rm -rf,terraform destroyи др.) — только после явного подтверждения с указанием конкретных объектов - Отвечать кратко, без вступлений, извинений, благодарностей и прочей воды