Commit graph

11 commits

Author SHA1 Message Date
Hermes Agent
1d6f33d449 split Strimzi operator into separate kustomization for Flux dependsOn
Flux dry-run fails when CRDs are in the same kustomization as resources
that reference them - CRDs need to exist before validation.

Two kustomizations now:
  strimzi/        - Strimzi 1.0.0 CRDs + operator
  siriusdevops-db - DBs, Kafka CR (depends on strimzi CRDs)

Wire them in Flux:
  Kustomization 'siriusdevops-strimzi' -> path: strimzi/
  Kustomization 'siriusdevops-db'      -> path: siriusdevops-db/
    dependsOn: [{name: siriusdevops-strimzi}]
2026-05-26 01:09:56 +00:00
Hermes Agent
07e4b07608 add Strimzi operator as kustomize remote URL (GitOps)
Reference Strimzi 1.0.0 install bundle directly from kustomization.
No separate install step needed — kubectl apply -k handles CRDs + operator
in one shot before the Kafka CR.

Pinned to 1.0.0 for reproducible deployments.
2026-05-26 00:49:08 +00:00
Hermes Agent
d012cac7f4 replace manual Kafka StatefulSet with Strimzi operator CR
Remove hand-rolled KRaft StatefulSet that kept failing (mount conflicts,
advertised.listeners issues). Replace with a single Strimzi Kafka CR.

Strimzi handles:
- KRaft setup, storage, scaling
- Broker config & advertised listeners (auto-resolved)
- Topic Operator for proper topic lifecycle
- Bootstrap service at trading-kafka-kafka-bootstrap.customer1.svc.cluster.local:9092

Requires Strimzi 1.0.0 operator installed in the cluster first:
  kubectl apply -f https://strimzi.io/install/latest?namespace=customer1 -n customer1
2026-05-26 00:38:57 +00:00
Hermes Agent
68033faf4e fix Kafka config mount: use /opt/kafka/config/ path instead of /etc/kafka
/etc/kafka doesn't exist in the apache/kafka image - subPath could not
create the parent directory. Switch to /opt/kafka/config/ which exists
in the image, avoiding both the directory conflict and the missing path.
2026-05-26 00:16:42 +00:00
Hermes Agent
5ab0098e34 fix Kafka config mount: use subPath to avoid /etc/kafka/secrets conflict
Container fails with 'read-only file system' when K8s tries to mount
a secret into /etc/kafka/secrets alongside the ConfigMap at /etc/kafka.
Switch to subPath mount of server.properties directly.
2026-05-25 23:53:55 +00:00
Hermes Agent
691d7c68e7 move Kafka broker from hermes-db to siriusdevops-db kustomization
Trading services depend on Kafka (trading-kafka.customer1.svc.cluster.local:9092)
but it was never deployed — lived under hermes-db kustomization which isn't
applied. Move to siriusdevops-db where trading infra belongs.

Also remove stale redis-cluster.yaml reference from hermes-db (file missing).
2026-05-25 23:36:14 +00:00
Hermes Agent
3f96800222 feat: migrate all trading-platform services from hermes-pgdb to siriusdevops-pgdb
- Add 'trading' managed role to siriusdevops-pgdb cluster
- Move trading-db-credentials from hermes-db to siriusdevops-db
- Create trading-data-db.yaml (Database kind) pointing to siriusdevops-pgdb
- Update DB_HOST in all 4 trading-platform configmaps to siriusdevops-pgdb-rw
- Remove trading-data-db.yaml and trading-db-credentials.yaml from hermes-db
- Update siriusdevops-db kustomization.yaml to include new resources
2026-05-25 07:55:15 +00:00
sirius0xdev
8ccd21500e fix secrets 2026-05-25 00:49:20 +00:00
Hermes Agent
57e41178c3 feat(customer1): add trading_dashboard database to siriusdevops-pgdb CNPG cluster
- Add trading_dashboard role + Database CR on siriusdevops-pgdb
- Create SOPS-encrypted credentials secret (template)
- Update trade-dashboard to use the new dedicated DB
  - New host: siriusdevops-pgdb-rw
  - New database: trading_dashboard
  - New credentials secret
2026-05-24 20:02:20 +00:00
31fcd59a5f fix: SOPS-encrypt waitlist secrets with age key
- DB password: random 48-char hex string
- admin_api_key: random 32-char hex string
- Telegram bot_token/chat_id still CHANGEME — fill before deploying
2026-05-15 01:36:06 +00:00
sirius0xdev
36b1d637f1
feat: add siriusdevops CNPG cluster + waitlist API K8s manifests (#112)
- New CNPG PostgreSQL cluster (siriusdevops-pgdb) in customer1 namespace
- Single-instance, 20Gi storage, GCS backups to siriusdevops-backups/
- Waitlist database definition (waitlist-db.yaml)
- Scheduled backup manifest
- Waitlist API deployment, service, HTTPRoute, and Telegram secret placeholder
- Kustomization wiring for both siriusdevops-db and waitlist-api
2026-05-14 19:24:33 -04:00