@@ -50,57 +50,57 @@ All configuration is done through `values.yaml`. Key sections:
5050
5151### Core Settings
5252
53- | Parameter | Description | Default |
54- | -----------| -------------| ---------|
55- | ` replicaCount ` | Number of replicas (must be 1 for SQLite) | ` 1 ` |
56- | ` image.repository ` | Container image | ` ghcr.io/go-authgate/authgate ` |
57- | ` image.tag ` | Image tag (defaults to chart appVersion) | ` "" ` |
58- | ` server.baseUrl ` | Public URL for OAuth redirects (** required** ) | ` "" ` |
59- | ` server.environment ` | ` production ` or ` development ` | ` "production" ` |
53+ | Parameter | Description | Default |
54+ | -------------------- | --------------------------------------------- | ------------------------------ |
55+ | ` replicaCount ` | Number of replicas (must be 1 for SQLite) | ` 1 ` |
56+ | ` image.repository ` | Container image | ` ghcr.io/go-authgate/authgate ` |
57+ | ` image.tag ` | Image tag (defaults to chart appVersion) | ` "" ` |
58+ | ` server.baseUrl ` | Public URL for OAuth redirects (** required** ) | ` "" ` |
59+ | ` server.environment ` | ` production ` or ` development ` | ` "production" ` |
6060
6161### Database
6262
63- | Parameter | Description | Default |
64- | -----------| -------------| ---------|
65- | ` database.driver ` | ` sqlite ` or ` postgres ` | ` "sqlite" ` |
66- | ` persistence.enabled ` | Enable PVC for SQLite | ` true ` |
67- | ` persistence.size ` | PVC size | ` 1Gi ` |
68- | ` externalDatabase.host ` | External PostgreSQL host | ` "" ` |
69- | ` postgresql.enabled ` | Deploy PostgreSQL subchart | ` false ` |
63+ | Parameter | Description | Default |
64+ | ----------------------- | -------------------------- | ---------- |
65+ | ` database.driver ` | ` sqlite ` or ` postgres ` | ` "sqlite" ` |
66+ | ` persistence.enabled ` | Enable PVC for SQLite | ` true ` |
67+ | ` persistence.size ` | PVC size | ` 1Gi ` |
68+ | ` externalDatabase.host ` | External PostgreSQL host | ` "" ` |
69+ | ` postgresql.enabled ` | Deploy PostgreSQL subchart | ` false ` |
7070
7171### Secrets
7272
73- | Parameter | Description | Default |
74- | -----------| -------------| ---------|
75- | ` secrets.existingSecret ` | Use pre-created Secret | ` "" ` |
76- | ` secrets.jwtSecret ` | JWT signing secret (** required** for HS256) | ` "" ` |
77- | ` secrets.sessionSecret ` | Session encryption secret (** required** ) | ` "" ` |
78- | ` secrets.defaultAdminPassword ` | Admin password (random if empty) | ` "" ` |
73+ | Parameter | Description | Default |
74+ | ------------------------------ | ------------------------------------------- | ------- |
75+ | ` secrets.existingSecret ` | Use pre-created Secret | ` "" ` |
76+ | ` secrets.jwtSecret ` | JWT signing secret (** required** for HS256) | ` "" ` |
77+ | ` secrets.sessionSecret ` | Session encryption secret (** required** ) | ` "" ` |
78+ | ` secrets.defaultAdminPassword ` | Admin password (random if empty) | ` "" ` |
7979
8080### Redis
8181
82- | Parameter | Description | Default |
83- | -----------| -------------| ---------|
84- | ` redis.enabled ` | Deploy Redis subchart | ` false ` |
85- | ` externalRedis.addr ` | External Redis address | ` "" ` |
86- | ` rateLimit.store ` | ` memory ` or ` redis ` | ` "memory" ` |
82+ | Parameter | Description | Default |
83+ | -------------------- | ---------------------- | ---------- |
84+ | ` redis.enabled ` | Deploy Redis subchart | ` false ` |
85+ | ` externalRedis.addr ` | External Redis address | ` "" ` |
86+ | ` rateLimit.store ` | ` memory ` or ` redis ` | ` "memory" ` |
8787
8888### Metrics & Monitoring
8989
90- | Parameter | Description | Default |
91- | -----------| -------------| ---------|
92- | ` metrics.enabled ` | Enable Prometheus /metrics endpoint | ` false ` |
93- | ` metrics.serviceMonitor.enabled ` | Create ServiceMonitor | ` false ` |
94- | ` metricsLeader.strategy ` | Multi-replica gauge strategy | ` "env-override" ` |
90+ | Parameter | Description | Default |
91+ | -------------------------------- | ----------------------------------- | ---------------- |
92+ | ` metrics.enabled ` | Enable Prometheus /metrics endpoint | ` false ` |
93+ | ` metrics.serviceMonitor.enabled ` | Create ServiceMonitor | ` false ` |
94+ | ` metricsLeader.strategy ` | Multi-replica gauge strategy | ` "env-override" ` |
9595
9696### Ingress
9797
98- | Parameter | Description | Default |
99- | -----------| -------------| ---------|
100- | ` ingress.enabled ` | Enable Ingress | ` false ` |
101- | ` ingress.className ` | Ingress class name | ` "" ` |
102- | ` ingress.hosts ` | List of hosts and paths | ` [] ` |
103- | ` ingress.tls ` | TLS configuration | ` [] ` |
98+ | Parameter | Description | Default |
99+ | ------------------- | ----------------------- | ------- |
100+ | ` ingress.enabled ` | Enable Ingress | ` false ` |
101+ | ` ingress.className ` | Ingress class name | ` "" ` |
102+ | ` ingress.hosts ` | List of hosts and paths | ` [] ` |
103+ | ` ingress.tls ` | TLS configuration | ` [] ` |
104104
105105For the complete list of parameters, see [ ` values.yaml ` ] ( values.yaml ) .
106106
@@ -224,13 +224,42 @@ secrets:
224224
225225The Secret must contain these keys:
226226
227- | Key | Required | Description |
228- |-----|----------|-------------|
229- | ` JWT_SECRET` | Yes | JWT signing secret |
230- | `SESSION_SECRET` | Yes | Session encryption secret |
231- | `DATABASE_DSN` | When using postgres | PostgreSQL connection string |
232- | `REDIS_PASSWORD` | When using external Redis | Redis password |
233- | `DEFAULT_ADMIN_PASSWORD` | No | Admin user password |
227+ | Key | Required | Description |
228+ | ------------------------ | ------------------------- | ---------------------------- |
229+ | ` JWT_SECRET` | Yes | JWT signing secret |
230+ | `SESSION_SECRET` | Yes | Session encryption secret |
231+ | `DATABASE_DSN` | When using postgres | PostgreSQL connection string |
232+ | `REDIS_PASSWORD` | When using external Redis | Redis password |
233+ | `DEFAULT_ADMIN_PASSWORD` | No | Admin user password |
234+
235+ # # Testing Locally with colima (macOS)
236+
237+ [Colima](https://github.com/abiosoft/colima) provides a lightweight local Kubernetes environment using k3s on macOS :
238+
239+ ` ` ` bash
240+ # Start a k3s cluster (2 CPU, 4GB RAM, 60GB disk)
241+ colima start --kubernetes --cpu 2 --memory 4 --disk 60
242+
243+ # Verify
244+ kubectl get nodes
245+
246+ # Install (single-instance with PostgreSQL subchart)
247+ helm dependency update .
248+ helm install authgate . -f ci/values-single-postgres.yaml \
249+ --namespace authgate --create-namespace --wait
250+
251+ # Health check
252+ kubectl -n authgate exec deploy/authgate -- wget -qO- http://localhost:8080/health
253+
254+ # Access via port-forward
255+ kubectl -n authgate port-forward svc/authgate 8088:80 # AuthGate: http://localhost:8088
256+ kubectl -n authgate port-forward svc/authgate-postgresql 5433:5432 # PostgreSQL: localhost:5433
257+ kubectl -n authgate port-forward svc/authgate-ha-redis-master 6380:6379 # Redis: localhost:6380 (HA mode only)
258+
259+ # Clean up
260+ helm uninstall authgate -n authgate
261+ colima stop
262+ ` ` `
234263
235264# # Testing Locally with k3d
236265
0 commit comments