The repository you are looking into is work in progress.
It contains proof of concept and preview builds in development created in context of the openDesk project.
The repository's content provides you with first insights into the containerized cloud IAM from Univention, derived from the UCS appliance.
The container is published in two variations:
-
gitregistry.knut.univention.de/univention/customers/dataport/upx/container-listener-base/listener-base
This variation is intended to be used as a base image when building custom listener containers. It does not include any listener modules.
-
gitregistry.knut.univention.de/univention/customers/dataport/upx/container-listener-base/listener-base-debug
This image does in addition contain a handler named
dummy_handler
which will generate output on all events and log them into/var/log/univention/listener_modules/dummy_handler.log
.
The current setup is tailored to be used via docker compose
:
docker compose up
Copy docker-compose.override.yaml.example
to docker-compose.override.yaml
and adjust as needed.
Alternative: Ensure that the environment variables are set to your needs.
The defaults in the compose file should work with a locally running
ldap-server
and ldap-notifier
.
-
Start the ldap server and notifier from the repository
container-ldap
:docker compose up
-
Start this container from this repository:
docker compose up
A few secrets and certificates have to be fetched from the targeted UCS machine. This can be done with the prepared Ansible playbook.
-
Make sure your inventory is prepared.
Compare
ansible/inventory/hosts.yaml.example
regarding the needed entries. -
Run the playbook:
ansible-playbook --inventory="ansible/inventory/hosts.yaml" "ansible/fetch-secrets-from-ucs-machine.yaml"
Basic support to install the debug image into a Kubernetes cluster is provided via a Helm chart. The generated values are created by the Ansible script from above.
helm upgrade --install \
--values ./helm/values-listener-base-generated.yaml \
--values ./helm/values-listener-base.yaml \
listener-base ./helm/listener-base
The log file /var/log/univention/listener_modules/dummy_handler.log
contains
the output of the included dummy handler.
-
secrets/ldap.secret
- Contains the password to access the LDAP server. -
ssl/certs/CAcert.pem
- Contains the CA certificate from the UCS machine.
The environment is configured in file docker-compose.override.yaml*
.
The variables are documented inside of the file docker-compose.yaml
.