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
Edge launches and configures these components to work together as a unified backend with PostgreSQL - similar to Supabase or Pocketbase. And with scaling capabilities.
16
+
for a unified backend - similar to Firebase, Supabase, Pocketbase etc. And with scaling capabilities.
16
17
17
18
## Deployment options
18
19
19
-
Edge can run as:
20
-
- A single binary (embeds official component binaries)
21
-
-[Docker compose](./docker-compose.yaml)
22
-
- Kubernetes resources (follow this README)
23
-
- Via a Kubernetes CRD named [Project](./example/project.yaml)
24
-
25
-
This project is in the ideation stage. Edge configures/manages the four underlying tools to create a cohesive system.
20
+
- A single binary (embeds official component binaries): planned
21
+
-[Docker compose](./docker-compose.yaml) or Kubernetes resources: follow this README
22
+
- Via a Kubernetes CRD: [Project](./example/project.yaml)
26
23
27
-
Interested in experimenting or contributing? See [CONTRIBUTING.md](./CONTRIBUTING.md).
24
+
edge is in very early stage. Interested in experimenting or contributing? See [CONTRIBUTING.md](./CONTRIBUTING.md).
This uses iam.example.local and api.example.local domains. Ensure they point to the Gateway IP (envoyproxy) eg by adding an entry to `/etc/hosts` like
34
-
35
-
```sh
36
-
127.0.0.1 api.example.local iam.example.local
37
-
```
38
-
39
30
### [docker-compose.yaml](./docker-compose.yaml)
40
31
41
32
Adjust the docker-compose.yaml
42
33
43
-
- Free up port 80 from envoy for zitadel's initial configuration via management API which requires end-to-end HTTP/2 support.
44
-
envoyproxy config in docker doesn't support (our xds-server incomplete) HTTP/2 yet; on [k8s](https://raw.githubusercontent.com/edgeflare/pgo/refs/heads/main/k8s.yaml) everything works fine.
34
+
- Free up port 80 from envoy for zitadel's initial configuration via its management API which requires end-to-end HTTP/2 support.
35
+
We still need to get envoy (in docker) to proxy HTTP/2 traffic. On k8s everything works fine.
45
36
46
37
```yaml
47
38
envoy:
@@ -63,41 +54,29 @@ docker compose up -d
63
54
64
55
#### Use the centralized IdP for authorization in Postgres via `pgo rest` (PostgREST API)
65
56
66
-
Any OIDC compliant Identity Provider (eg ZITADEL, Keycloak, Auth0) can be used.
57
+
Configure ZITADEL. Adjust the domain in env vars, and in `internal/util/envoy/config.yaml`
Configure components eg create OIDC clients in ZITADEL etc
76
-
77
67
```sh
78
68
go run ./internal/util/configure/...
79
69
```
80
70
81
-
Once done, revert the ports (use 80 for envoy), and `docker compose restart`
82
-
83
-
#### pgo rest
84
-
85
-
Visit http://iam.example.local, login and regenerate client-secret for oauth2-proxy client in edge project. Then adjust `internal/util/pgo/config.yaml`
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.
86
72
87
-
> `pgo rest` container fails because of proxy issues. It can be run locally
73
+
Once ZITADEL is configured, revert the ports (use 80 for envoy), and `docker compose down && docker compose up -d`
88
74
89
-
```sh
90
-
go install github.com/edgeflare/pgo@latest # or download from release page
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/util/pgo/config.yaml` with the values. Again, `docker compose down && docker compose up -d`
97
76
98
-
###### realtime/replication eg sync users from auth-db to app-db
77
+
####`pgo rest`: PostgREST-compatible REST API
99
78
100
-
Create table in sink-db. See pgo repo for more examples
79
+
Create a table in app-db for REST and pipeline demo. See pgo repo for more examples
0 commit comments