Private dev env infra with JML support.
Components
- Dumb HR-system talking SCIM and JML semantics.
- Zitadel as idP.
- VCS: gitea as git server and maybe package manager.
- openziti networking and zitadel as trusted idP.
- Provisioning service for dev tool users and openziti identities (probably bundled with the HR-sys for now).
Networking
- HR-sys/provisioning-service and a ziti tunnel on my host
- idP, VCS and ziti components on a VM
Bootstrapping the VM
- Configure vcs with an org and teams
- Run ziti components
- Provision ziti identities
# Run VCS
$ docker compose up -d
# run HR-system
$ go run cmd/hr/main.go- Verify vcs is not reachable from my host
- Make sure the ziti router can host services
- Create
gitea-hostziti config - Create
giteaziti service - Give ziti router identity Bind permission to the service
- Create test user identity
- Enroll identity
- Create a Dial service policy allowing test user to dial gitea
- Run ziti proxy using test user creds exposing the gitea service on some local port
- Verify gitea is reachable only via the ziti overlay