Skip to content

canonical/glauth-utils

Repository files navigation

GLAuth Utility Kubernetes Charmed Operator

CharmHub Badge Python Juju Ubuntu License

Continuous Integration Status pre-commit

This repository holds a utility Kubernetes charmed operator for GLAuth Kubernetes Charmed Operator.

It aims to supplement the glauth-k8s charmed operator by the following:

  • Use the LDIF to apply data changes into the LDAP directory

Usage

The glauth-utils charmed operator can be deployed using the following command:

juju deploy glauth-utils --channel edge --trust

Integrations

The glauth-utils charmed operator requires a Juju integration with the glauth-k8s charmed operator by using the glauth-auxiliary Juju interface:

juju integrate glauth-utils:glauth-auxiliary glauth-k8s:glauth-auxiliary

The following diagram illustrates the overall deployment architecture:

deployment

Actions

The glauth-utils charmed operator offers the following Juju actions.

apply-ldif

The apply-ldif action helps load an LDIF file to apply any defined data changes into the glauth-k8s charmed operator's backend datastore (e.g. PostgreSQL database).

# 1. Transfer the LDIF file to the remote charm container in the leader unit
juju scp -m <model> <path-to-ldif-file> <leader-unit>:<path-to-ldif-file-in-remote-container>

# 2. Apply the LDIF file
juju run <leader-unit> apply-ldif path=<path-to-ldif-file-in-remote-container>

📚 Please refer to the LDIF samples to see what directory update requests are supported in the charmed operator.

More Information

The following diagram shows the database schema used by the glauth-k8s charmed operator's backend datastore.

database_schema

⚠️ NOTE

The backend relational database schema is determined by a GLAuth's database plugin (e.g. theglauth-postgres plugin).

Contributing

Please refer to the Contributing for developer guidance. Please see the Juju SDK documentation for more information about developing and improving charms.

Licence

The GLAuth Kubernetes Charmed Operator is free software, distributed under the Apache Software License, version 2.0. See LICENSE for more information.