3. Packaged integrations#
This section describes how to extend Nubus with plugins in the Directory Service, the Management UI, and the UMC Server. The combination of different plugins results in packaged integrations.
This section addresses software developers and DevOps engineers. It assumes that you have the knowledge of the following topics:
Creating, building, and publishing Docker images.
Writing scripts in Bash or any other programming language.
Using the helm command.
LDAP schema and LDAP ACLs.
Information about used notation
For illustration, this section uses the ArchiMate enterprise architecture modeling notation. For more information on these ArchiMate concepts, refer to Univention Corporate Server Architecture [2].
3.1. General steps#
Extending Nubus for Kubernetes with the plugins listed in this section, uses the following steps:
- Software Developers writing the Nubus packaged integrations
Create the packaged integration using the various plugin types you need, see Plugin types.
Document necessary information for operators for deploying the packaged integration.
Distribute the packaged integration.
To bundle the packaged integration for distribution, create a Docker image that includes the files, see Bundle packaged integrations. Upload the Docker image to a Docker registry, private or public, that your Kubernetes cluster can reach.
- Operators deploying the Nubus packaged integration
Adjust the
custom_values.yaml
deployment values file for loading the packaged integration in Nubus for Kubernetes, see Load packaged integrations. If needed by the packaged integration, configure its parameters in the values file.Upgrade your Nubus deployment.
Fig. 3.1 shows the overall process of the outlined steps from a software developer creating a Nubus packaged integration to an operator upgrading their Nubus for Kubernetes deployment with a Nubus packaged integration.
At the top row, you see the involved roles Software Developer and Operator.
The second row shows the behavior of each role.
The Software Developer creates, documents, and distributes the Packaged integration for Nubus.
This results in the Packaged integration for Nubus ready for download.
The Operator adjusts the deployment values file,
for example custom_values.yaml
,
and adds all necessary values.
Finally, the Operator upgrades the Nubus deployment with the packaged integration.
3.2. Plugin types#
Nubus has the following plugins types for packaged integrations, as outlined in Table 3.1.
Section |
Value for |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|