Files
vnctalk-hybridauth/README.md
T
macanhhuy 97e6fb83b5
Build + push image / build-and-push (push) Failing after 16s
build: migrate CI to Gitea Actions, drop GitLab/Jenkins/GCP
2026-08-19 19:44:14 +07:00

1.9 KiB

vnc-hybridauth2 (vnctalk-hybrid-authenticator2)

Hybrid authenticator for VNCtalk / VNCmail. An Express service that sits between the auth-proxy's hybridAuthURL and the directory backends: it authenticates users against LDAP and the VNCdirectory PostgreSQL DB, and issues/verifies the XMPP JWT (xmppToken) that Prosody and the mail/talk APIs share for SSO.

Prosody's mod_auth_http_async points hybridaAuthUrl at this service's HTTP-basic endpoint (default port 9544).

Build & image

Built by Gitea Actions (.gitea/workflows/deploy.yml) on every push to master, using kaniko (no Docker daemon on the runner). The image is pushed to the Gitea registry:

  • gitea.saas.vnc.biz/vnciac/vnc-hybridauth-api:latest
  • gitea.saas.vnc.biz/vnciac/vnc-hybridauth-api:sha-<short-sha>

Registry auth uses the REGISTRY_USER / REGISTRY_TOKEN Actions secrets. The image runs as the non-root vncuser (uid 1001) and starts node /usr/share/vnctalk-hybrid-authenticator2/app/app.js.

Configuration

config.js (copied into the image as config/vnc-hybrid-authenticator.js) is env-driven; the development profile reads NODE_ENV-scoped values from process.env (LDAP URI/bind, Postgres host/port/name/user/pass, xmppToken, domain). Provide them via the deployment (ArgoCD in the vnc-iac-env GitOps repo), sourced from Infisical — do not commit secrets to this repo.

Deploy

Deployed by the ArgoCD application in vnc-iac-env (the hybrid-auth service that Prosody and the mail/talk APIs call). This repo has no live deploy manifest; the image tag is pinned in that GitOps repo.

Legacy removed

The GitLab CI (.gitlab-ci.yml), Jenkinsfile.deprecated, and the GCP dev bootstrap (startgcpdevapi.sh) were removed during the GitLab → Gitea migration. The old eu.gcr.io/vnc-development/vnc-hybridauth-api promotion flow (prod-* / stable-* tags) is not carried over; the current build pushes a single mastersha-* + latest.