Skip to main content

Developer Guide

We welcome any issues, change requests or general feedback. Do not hestiate to open an issue.

We use GitHub Issues to capture feature requests, feedback, bugs, etc. The tracker is available in the osism/issues repository. There are no specific requirements for the creation of an issue. Error cases should be described in such a way that they are directly reproducible. The more outputs there are, the better.

We use GitHub pull requests for contributions. The use of pull requets is documented in the official GitHub documentation. The process in detail for the creation of a fork, branch etc. is also documented in the official GitHub documentation. It is recommended to use the GitHub CLI. Makes many steps easier.

How to add a new service

If you want to add a new service to OSISM, this is done via an Ansible role and (most often) a container image. The following steps are necessary and are demonstrated using the example of osism.services.cgit.

DescriptionExample
Add the Ansible role in one of the Ansible collection repositorieshttps://github.com/osism/ansible-collection-services/pull/578/files
Add the Ansible playbookhttps://github.com/osism/ansible-playbooks/pull/215/files
Add the Ansible inventory grouphttps://github.com/osism/cfg-generics/pull/225/files
Add the used container image(s) to the release repositoryhttps://github.com/osism/release/pull/278/files
Add the container images(s) to osism-ansible container imagehttps://github.com/osism/container-image-osism-ansible/pull/215/files
Add the container image registry/registries and host(s) to the defaults repositoryhttps://github.com/osism/defaults/pull/54/files
Add a sample deployment to the testbedhttps://github.com/osism/testbed/pull/1043/files

How to add a new container image

If required, add a new container image in the osism/container-images repository. The example here is from the osism.services.keycloak role: https://github.com/osism/container-images/pull/34/files.

Whenever possible, upstream container images should be used. If only minor customizations are necessary, always work with overlay container images based on upstream container images.

How service deployment works

Docker

Service deployment with Docker

Kubernetes

Service deployment with Kubernetes