You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
envoy needs TLS config for end-to-end (even non-TLS) HTTP/2 required by zitadel management API. zitadel API bugs with self-signed certificates.
69
+
For publicly trusted certificates, enable TLS by updating env vars in ZITADEL.
70
+
71
+
5. start containers
67
72
```sh
68
-
go run ./internal/stack/configure/...
73
+
docker compose up -d
69
74
```
70
75
71
-
The above go code creates, among others, an OIDC client which pgo uses for authN/authZ. Any OIDC compliant Identity Provider (eg , Keycloak, Auth0) can be used; pgo just needs the client credentials.
76
+
Check zitadel health with `curl http://iam.${EDGE_DOMAIN_ROOT}/debug/healthz` or `docker exec -it edge_edge_1 /edge healthz`
77
+
78
+
#### Use the centralized IdP for authorization in Postgres via `pgo rest` (PostgREST API) as well as minio-s3, NATS etc
72
79
73
-
Once ZITADEL is configured, revert the ports (use 80 for envoy), and `docker compose down && docker compose up -d`
80
+
edge so far creates the OIDC clients on ZITADEL. a bit works needed to for configuring consumers of client secrets.
81
+
The idea is to use `edge` to serve config for each component, much like envoy control plane which is already embeded in edge for envoy to pull config dynamically.
74
82
75
-
Visit ZITADEL UI (eg at http://iam.192-168-0-121.sslip.io), login (see docker-compose.yaml) and regenerate client-secret for oauth2-proxy client in edge project. Then update `internal/stack/pgo/config.yaml` with the values. Again, `docker compose down && docker compose up -d`
83
+
For now, visit ZITADEL UI at http://iam.${EDGE_DOMAIN_ROOT}, login (see docker-compose.yaml) and regenerate client-secrets for oauth2-proxy and minio clients in edge project. Then
84
+
85
+
- update `internal/stack/pgo/config.yaml` with the values
86
+
- update relevant env vars in minio container
87
+
88
+
And `docker compose down && docker compose up -d`
76
89
77
90
#### `pgo rest`: PostgREST-compatible REST API
78
91
@@ -98,13 +111,16 @@ GRANT ALL ON iam.users to anon;
98
111
Now we can GET, POST, PATCH, DELETE on the users table in iam schema like:
99
112
100
113
```sh
101
-
curl http://api.127-0-0-1.sslip.io/iam/users
114
+
curl http://api.${EDGE_DOMAIN_ROOT}/iam/users
102
115
```
103
116
104
117
##### `pgo pipeline`: Debezium-compatible CDC for realtime-event/replication etc
105
118
106
119
The demo pgo-pipeline container syncs users from auth-db (in projections.users14 table) to app-db (in iam.users)
107
120
121
+
#### minio-s3
122
+
ensure minio MINIO_IDENTITY_OPENID_CLIENT_ID and MINIO_IDENTITY_OPENID_CLIENT_SECRET are set withc appropriate values. console ui is at http://minio.${EDGE_DOMAIN_ROOT}.
123
+
108
124
### Kubernetes
109
125
If you already have a live k8s cluster, great just copy-paste-enter.
110
126
For development and lightweight prod, [k3s](https://github.com/k3s-io/k3s) seems a great option.
0 commit comments