Files
sunbeam-charms/charms/keystone-ldap-k8s/CONTRIBUTING.md
Hemanth Nakkina ba98902b6c Remove cookiecutter code
* Remove cookiecutter code
* Remove references to charm-ops-sunbeam
* Remove .zuul.yaml, fetch-libs in ops-sunbeam

Change-Id: Ie147f490bcaf81452a07003ec166fe15fa2e56df
2025-03-05 16:51:13 +05:30

1.7 KiB

keystone-k8s

Developing

Create and activate a virtualenv with the development requirements:

virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt

Code overview

Get familiarise with Charmed Operator Framework and Sunbeam documentation.

keystone-k8s charm uses the ops_sunbeam library and extends OSBaseOperatorAPICharm from the library.

The charm provides identity-service and identity-credentials relations as a library to consume for other openstack charms and details are documented here. identity-service library is consumed by charms that need to register to keystone catalog and identity-credentials library is consumed by charms that want to create cloud credentials.

keystone-k8s charm consumes database relation to connect to database and ingress-internal/ingress-public relation to get exposed over internal and public networks.

Intended use case

keystone-k8s charm deploys and configures OpenStack Identity service on a kubernetes based environment.

Roadmap

TODO

Testing

The Python operator framework includes a very nice harness for testing operator behaviour without full deployment. Run tests using command:

tox -e py3

Deployment

This project uses tox for building and managing. To build the charm run:

tox -e build

To deploy the local test instance:

juju deploy ./keystone-k8s_ubuntu-20.04-amd64.charm --trust --resource keystone-image=ghcr.io/openstack-snaps/keystone:2023.1