diff --git a/ansible/roles/db_stack/tasks/app_node.yml b/ansible/roles/db_stack/tasks/app_node.yml index eba6e02..763c67b 100644 --- a/ansible/roles/db_stack/tasks/app_node.yml +++ b/ansible/roles/db_stack/tasks/app_node.yml @@ -1,17 +1,3 @@ --- -- name: Stack durumunu kontrol et - ansible.builtin.shell: docker stack ls | grep iklim-db - register: stack_status - failed_when: false - changed_when: false - -- name: DB stack dosyasını oluştur - ansible.builtin.template: - src: db.stack.yml.j2 - dest: /opt/iklimco/stacks/db.yml - mode: '0600' - register: stack_file - -- name: DB stack'i deploy et - ansible.builtin.shell: docker stack deploy -c /opt/iklimco/stacks/db.yml iklim-db - when: stack_status.rc != 0 or stack_file.changed +# DB stack artık iklimco ana stack'inin parçası; bu role'den deploy adımı kaldırıldı. +# Bakınız: docker-stack-infra.yml — postgresql, mongodb, pg-proxy, mongo-proxy servisleri diff --git a/ansible/test/test-db-post-stack.yml b/ansible/test/test-db-post-stack.yml index 876f301..729e135 100644 --- a/ansible/test/test-db-post-stack.yml +++ b/ansible/test/test-db-post-stack.yml @@ -14,9 +14,4 @@ - role: wireguard tags: [wireguard] -- name: App Node - DB Stack Deploy - hosts: app - become: yes - roles: - - role: db_stack - tags: [db_stack] +# DB stack artık iklimco ana stack'inin parçası; ayrı deploy gerekmez. diff --git a/setup/05-test-runner-ve-deploy-onkosullari.md b/setup/05-test-runner-ve-deploy-onkosullari.md index 16574ae..4cc9ce4 100644 --- a/setup/05-test-runner-ve-deploy-onkosullari.md +++ b/setup/05-test-runner-ve-deploy-onkosullari.md @@ -92,9 +92,28 @@ Pipeline'ların çalışması için Gitea Organization seviyesinde şu secret'la | `HARBOR_PULL_TOKEN` | `robot-swarm-pull-iklimco` robot hesabı token'ı (Swarm deploy pull) | | `REPO_ACCESS_TOKEN` | Gitea private repo erişimi (BE-Commons vb. checkout) | +## 6. Custom Image Build ve Harbor Push + +`docker-stack-infra.yml` ve mikroservis stack'leri `registry.tarla.io/iklimco/` altındaki özel image'leri kullanır. Bu image'ler `ops/push-harbor-custom-images.sh` scripti ile build edilip registry'ye push edilir. + +APISIX config dosyaları (`build/apisix-core/config.yaml`, `build/apisix-dashboard/conf.yaml`) `template/` altındaki şablonlardan `envsubst` ile üretilir. Bu üretimi `push-harbor-custom-images.sh` kendi içinde yapar; build bitince geçici dosyalar otomatik temizlenir. + +**Tasarım notu:** APISIX admin key image'a bake edilmez. Template'de `${{APISIX_ADMIN_KEY}}` (çift süslü parantez) kullanılır; APISIX bunu container başlarken Docker service ortam değişkeninden okur. Böylece tek image hem test hem prod için kullanılabilir. + +### Adımlar + +```bash +# 1. Harbor'a login ol +docker login registry.tarla.io -u robot-ci-push-iklimco + +# 2. Image'leri build edip push et (env'leri ve config dosyalarını script kendi üretir) +bash ops/push-harbor-custom-images.sh +``` + ## Kabul Kriterleri 1. Gitea Runners sayfasında `iklim-test-app` runner'ı **Idle** (yeşil) görünür. 2. `runs-on: test-runner` kullanan bir workflow başarıyla tetiklenir. 3. Job container'ı Docker daemon'a ve `iklimco-net` overlay network'üne erişebilir. 4. `8200/tcp` (Vault) portu public internete kapalıdır. +5. `registry.tarla.io/iklimco/custom-apisix`, `custom-apisix-dashboard`, `custom-prometheus` image'leri Harbor'da mevcut ve çekilebilir durumda.