15 Commits

Author SHA1 Message Date
keyhan 58ab81469b Stabilize CI Kaniko tag and keep Harbor free of egress proxy.
Build and Deploy Platform / build-and-deploy (push) Failing after 3m18s
Use the seeded kaniko v1.27.6-debug image, retry npm ci, and push via harbor-core without HTTP_PROXY so Harbor UI metadata and blob uploads keep working.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 16:47:23 +03:30
keyhan fec9ec386f Push Kaniko artifacts via harbor-core for Harbor UI visibility.
Build and Deploy Platform / build-and-deploy (push) Failing after 12m36s
Add REGISTRY_PUSH_URL config, route CI Kaniko to harbor-core, and document dual-host kaniko auth for core push plus registry base-image pull.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 11:43:05 +03:30
keyhan 2679c9d66e Fix Kaniko image refs to use seeded abrban/ images.
v1.27.6-debug does not exist on gcr.io; proxy-gcr pulls are flaky on kubelet. Seed and reference abrban/kaniko-executor:v1.23.2 instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-09 18:31:37 +03:30
keyhan 22359be40e fix(platform): apply production hardening from audit plan
Close billing, tenancy, migration, build, and CI/CD gaps identified in the
audit: wallet/gateway guards, full-UUID namespaces, idempotent migrations with
base schema, stateful service stability, safer Dockerfiles/git builds, and
platform chart hardening (Redis auth, RollingUpdate, backups, Swagger off).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 19:35:07 +03:30
keyhan 38b4a67db1 ci: add --insecure-pull for kaniko to pull base image from harbor-registry:5000
Build and Deploy Platform / build-and-deploy (push) Successful in 16m17s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 18:38:44 +03:30
keyhan 7695cb5420 ci: use internal harbor-registry URL for BASE_IMAGE pull (matches kaniko auth)
Build and Deploy Platform / build-and-deploy (push) Failing after 47s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 18:35:44 +03:30
keyhan 6ba77eebcf ci: pull node base image from Harbor instead of docker.io
Build and Deploy Platform / build-and-deploy (push) Failing after 47s
Kaniko builds failed with context deadline exceeded pulling node:24-alpine
from index.docker.io through the egress proxy. Seed node:24-alpine into
abrban/ and pass BASE_IMAGE build-arg so builds use the internal registry.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 18:32:41 +03:30
keyhan f2e8195d1d ci: retry kaniko jobs (backoffLimit 2, push-retry) for flaky egress to docker.io
Build and Deploy Platform / build-and-deploy (push) Failing after 17m55s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 17:53:48 +03:30
keyhan ba82a5d785 ci: fail fast on kaniko job failure with logs, longer job TTL for post-mortem
Build and Deploy Platform / build-and-deploy (push) Failing after 15m40s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 17:35:07 +03:30
keyhan abfe858909 ci: use seeded abrban/alpine-git for clone init (proxy-dockerhub 404s for kubelet)
Build and Deploy Platform / build-and-deploy (push) Successful in 37m36s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 15:36:37 +03:30
keyhan e05e5e54ca ci: fix kaniko base-image pulls via egress proxy, use alpine/git for clone, longer build timeout
Build and Deploy Platform / build-and-deploy (push) Waiting to run
- Kaniko needs the egress proxy to pull node:24-alpine from docker.io
  (envFrom registry-egress-proxy; NO_PROXY keeps harbor push direct)
- Replace flaky apk-add-git init with alpine/git image
- Dump kaniko logs into workflow output on build timeout/failure

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 15:30:44 +03:30
keyhan 7e66d1edf3 ci: split GitOps state into cloud-host-gitops repo, add Sealed Secrets, fix pipeline auth
Build and Deploy Platform / build-and-deploy (push) Failing after 20m1s
- Workflow now pushes image tags to the separate cloud-host-gitops repo
  (no more CI loop risk) and authenticates via CI_TOKEN secret
- Fix undefined ${REGISTRY} in Kaniko jobs, add concurrency group,
  targeted tag update, and mounted kaniko-harbor-auth docker config
- Argo CD Application is now multi-source (chart from cloud-host,
  values from cloud-host-gitops)
- Remove plaintext runner token and proxy credentials from manifests;
  secrets are now SealedSecrets in the gitops repo

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 14:10:46 +03:30
keyhan d4559920d1 Fix CI: use git clone instead of actions/checkout, host mode without GitHub access.
Build and Deploy Platform / build-and-deploy (push) Failing after 20m1s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 02:07:40 +03:30
keyhan c97152fa9e Fix CI runner: seed images to abrban/, kubectl via alpine init, Kaniko Jobs for builds.
Build and Deploy Platform / build-and-deploy (push) Failing after 15s
Harbor proxy-cache works from core API but containerd can't use it directly,
so all runner images are seeded to abrban/ project.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 02:04:49 +03:30
keyhan 5ed2ef0958 Add GitOps stack for abrban.com with Gitea Actions CI/CD.
Build and Deploy Platform / build-push-deploy (push) Has been cancelled
Harbor in-cluster builds via Kaniko, ArgoCD auto-sync, and production Helm values for abrban.com domains.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 01:27:20 +03:30