chore: remove GCP + GitLab references, migrate to Gitea registry
Build + push image / build-and-push (push) Successful in 1m8s

Replace eu.gcr.io/vnc-development image refs with gitea.saas.vnc.biz/vnciac,
swap gcr-json-key pull secret for gitea-registry, and update CI/deploy docs
from GitLab CI to Gitea Actions.
This commit is contained in:
macanhhuy
2026-08-19 17:31:05 +07:00
parent c8c7431d67
commit d6dddbbc91
7 changed files with 19 additions and 24 deletions
+2 -3
View File
@@ -65,9 +65,8 @@ Dockerized Prosody **13.0.6** XMPP server for VNCtalk, built against **Lua 5.4**
## CI / deploy ## CI / deploy
- GitLab CI (`.gitlab-ci.yml`). `main` builds + pushes to `eu.gcr.io/vnc-development/vnctalk-prosody:development-$CI_COMMIT_SHORT_SHA`, then Trivy-scans the saved image. - Gitea Actions (`.gitea/workflows/deploy.yml`). `main` builds with kaniko (daemon-less) and pushes to the Gitea registry as `gitea.saas.vnc.biz/vnciac/vnctalk-prosody:sha-<short-sha>` and `:latest`. Auth via `REGISTRY_USER` / `REGISTRY_TOKEN` actions secrets.
- Tags `prod-*` retag the matching `development-<version>` to `eu.gcr.io/vnc-dev-275609/vnctalk-prosody:production-<version>`. Tags `stable-*` retag to `eu.gcr.io/vnc-stable/vnctalk-prosody:stable-<version>`. **No rebuild on promotion** — the `<version>` suffix must match an existing dev tag. - Kubernetes deploy is via the ArgoCD application in the `vnc-iac-env` GitOps repo (`dev/charts/vnctalk-prosody`). The in-repo `helm/prosody/` + `argo/prosody.yaml` are legacy references, not the live deploy path.
- Kubernetes deploy is via the Helm chart in `helm/prosody/`, synced by ArgoCD (`argo/prosody.yaml`). The Argo manifest sets the live image tag (`release-13.0.6-vnc`) and TLS-update sidecar (`tlsUpdates`).
## Module conventions ## Module conventions
+6 -9
View File
@@ -47,16 +47,13 @@ There is no application source beyond Lua modules and shell/config templates —
- No linter or automated test command exists for this repo; verification is "does the image build and does - No linter or automated test command exists for this repo; verification is "does the image build and does
Prosody start against the rendered config" (see `test.sh` and `config/startup.sh`). Prosody start against the rendered config" (see `test.sh` and `config/startup.sh`).
## CI/CD (`.gitlab-ci.yml`) ## CI/CD (`.gitea/workflows/deploy.yml`)
- `main` branch pushes: build + push image to `eu.gcr.io/vnc-development/vnctalk-prosody:development-$CI_COMMIT_SHORT_SHA`, - `main` branch pushes: build the image with kaniko (daemon-less, fetched via `crane`) and push to the
then Trivy-scan the saved image. Gitea registry as `gitea.saas.vnc.biz/vnciac/vnctalk-prosody:sha-<short-sha>` and `:latest`.
- Tags matching `prod-*`: retag the matching `development-<version>` image to - Registry auth comes from the Gitea Actions secrets `REGISTRY_USER` / `REGISTRY_TOKEN`.
`eu.gcr.io/vnc-dev-275609/vnctalk-prosody:production-<version>` and push. - The image is deployed by the ArgoCD application in the `vnc-iac-env` GitOps repo
- Tags matching `stable-*`: retag the matching `development-<version>` image to (`dev/charts/vnctalk-prosody`), not by any manifest in this repo.
`eu.gcr.io/vnc-stable/vnctalk-prosody:stable-<version>` and push.
- Promotion (dev → prod/stable) works by re-tagging an already-built dev image, not rebuilding — the
`<version>` suffix must match an existing `development-<version>` tag.
## Working with patches vs. vnctalk modules ## Working with patches vs. vnctalk modules
+3 -2
View File
@@ -32,8 +32,9 @@ argo/prosody.yaml → helm/prosody/ → Docker image (release-13.0.6-vnc)
chart and overrides values as needed. chart and overrides values as needed.
- **Helm chart** (`helm/prosody/`) defines the Deployment, Service, Ingress, - **Helm chart** (`helm/prosody/`) defines the Deployment, Service, Ingress,
HPA, PDB, and ServiceAccount templates. HPA, PDB, and ServiceAccount templates.
- **Docker image** is built by GitLab CI from the `Dockerfile`, pushed to - **Docker image** is built by Gitea Actions (`.gitea/workflows/deploy.yml`) from
`eu.gcr.io`, and referenced by tag in `argo/prosody.yaml`. the `Dockerfile`, pushed to the Gitea registry (`gitea.saas.vnc.biz/vnciac/vnctalk-prosody`),
and referenced by tag in the ArgoCD application in the `vnc-iac-env` GitOps repo.
No other deployment method is supported. The `test.sh` / `docker-compose.yml` No other deployment method is supported. The `test.sh` / `docker-compose.yml`
files are for local testing only. files are for local testing only.
+4 -4
View File
@@ -14,9 +14,9 @@
# * Sealed Secrets — commit a SealedSecret (Bitnami); the controller # * Sealed Secrets — commit a SealedSecret (Bitnami); the controller
# decrypts it in-cluster. Replace the Secret below with a # decrypts it in-cluster. Replace the Secret below with a
# SealedSecret produced by `kubeseal`. # SealedSecret produced by `kubeseal`.
# * External Secrets Operator — reference an external vault (GCP Secret # * External Secrets Operator — reference an external vault (AWS Secrets
# Manager, AWS Secrets Manager, HashiCorp Vault) via a # Manager, HashiCorp Vault, or the self-hosted Infisical)
# SecretStore + ExternalSecret; no secret material in Git. # via a SecretStore + ExternalSecret; no secret material in Git.
# * SOPS / age-encrypted manifests decrypted by ArgoCD's KSOPS plugin. # * SOPS / age-encrypted manifests decrypted by ArgoCD's KSOPS plugin.
# #
# The keys below MUST match `secretEnv.keys` in argo/prosody.yaml: # The keys below MUST match `secretEnv.keys` in argo/prosody.yaml:
@@ -55,7 +55,7 @@ spec:
project: default project: default
source: source:
path: charts/prosody-secrets path: charts/prosody-secrets
repoURL: git@gitlab.example.com:helmcharts.git repoURL: https://gitea.saas.vnc.biz/VNC/vnctalk-prosody.git
targetRevision: HEAD targetRevision: HEAD
syncPolicy: syncPolicy:
automated: automated:
+3 -3
View File
@@ -13,7 +13,7 @@ spec:
source: source:
# example for a Helm chart from a Git repository # example for a Helm chart from a Git repository
path: charts/prosody path: charts/prosody
repoURL: git@gitlab.example.com:helmcharts.git repoURL: https://gitea.saas.vnc.biz/VNC/vnctalk-prosody.git
targetRevision: HEAD targetRevision: HEAD
helm: helm:
parameters: parameters:
@@ -21,7 +21,7 @@ spec:
value: "prosody" value: "prosody"
values: | values: |
imagePullSecrets: imagePullSecrets:
- name: gcr-json-key - name: gitea-registry
securityContext: securityContext:
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
@@ -29,7 +29,7 @@ spec:
runAsUser: 1001 runAsUser: 1001
image: image:
repository: eu.gcr.io/vnc-development/vnctalk-prosody repository: gitea.saas.vnc.biz/vnciac/vnctalk-prosody
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion. # Overrides the image tag whose default is the chart appVersion.
tag: release-13.0.6-vnc tag: release-13.0.6-vnc
-2
View File
@@ -27,7 +27,6 @@ metadata:
{{- if .Values.service.annotationsenabled }} {{- if .Values.service.annotationsenabled }}
{{- with .Values.service.s2s.annotations }} {{- with .Values.service.s2s.annotations }}
annotations: annotations:
#beta.cloud.google.com/backend-config: '{"ports": {"8000":"prosody"}}'
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
{{- end }} {{- end }}
@@ -54,7 +53,6 @@ metadata:
{{- if .Values.service.annotationsenabled }} {{- if .Values.service.annotationsenabled }}
{{- with .Values.service.annotations }} {{- with .Values.service.annotations }}
annotations: annotations:
#beta.cloud.google.com/backend-config: '{"ports": {"8000":"prosody"}}'
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
{{- end }} {{- end }}
+1 -1
View File
@@ -5,7 +5,7 @@
replicaCount: 1 replicaCount: 1
image: image:
repository: eu.gcr.io/vnc-development/vnctalk-prosody repository: gitea.saas.vnc.biz/vnciac/vnctalk-prosody
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion. # Overrides the image tag whose default is the chart appVersion.
tag: release-13.0.6-vnc tag: release-13.0.6-vnc