Remove iklim-db stack deploy; update Harbor push docs

- ansible: db_stack app_node ve test-db-post-stack'ten artık kullanılmayan stack deploy adımları kaldırıldı (DB servisleri iklimco stack'ine taşındı)
- setup/05: push-harbor-custom-images.sh artık config dosyalarını kendisi üretiyor, init-base.sh ön adımı kaldırıldı
This commit is contained in:
Murat ÖZDEMİR 2026-05-13 21:21:22 +03:00
parent a9fc0b1234
commit f6fa947281
3 changed files with 22 additions and 22 deletions

View File

@ -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

View File

@ -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.

View File

@ -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.