sunbeam-charms/charms/heat-k8s
Guillaume Boutry 943c9fd988
Migrate database interface
data_platform_libs.v0.database_requires was deprecated on January 4th,
2023 and has not received updates since then.
This change migrates to data_platform_libs.v0.data_interfaces which the
preferred way to interact with MySQL.

Most notable changes:
- User/password in a secret
- Keystone test 'test_on_peer_data_changed_with_fernet_keys_and_fernet_secret_different'
  is no longer mocking secrets to make sure it's using database secrets.

Change-Id: Ia1908c0828689458c6ff3fa8d9640c8debfc0a73
2024-01-27 14:29:40 +01:00
..
src Reference ops.Object from its definition package 2023-12-06 13:45:10 +01:00
tests Migrate database interface 2024-01-27 14:29:40 +01:00
actions.yaml Initial import 2023-05-01 16:40:01 +02:00
charmcraft.yaml Add zuuljobs 2023-11-30 15:32:39 +05:30
config.yaml Deploy heat-api-cfn container as part of heat charm 2023-11-07 08:11:14 +02:00
CONTRIBUTING.md Initial import 2023-05-01 16:40:01 +02:00
LICENSE Initial import 2023-05-01 16:40:01 +02:00
metadata.yaml Deploy heat-api-cfn container as part of heat charm 2023-11-07 08:11:14 +02:00
README.md Switch charm to Bobcat 2023-10-06 07:12:52 +00:00
rebuild Allow rebuild charms on modifying a rebuild file 2023-12-06 18:58:50 +01:00
requirements.txt Add zuuljobs 2023-11-30 15:32:39 +05:30

heat-k8s

Description

heat-k8s is an operator to manage the orchestration services heat api, heat api cfn and heat engine on a Kubernetes based environment.

Usage

Deployment

heat-k8s is deployed using below command:

juju deploy heat-k8s heat --trust

Now connect the heat operator to existing database, keystone identity, keystone ops and rabbitmq operators:

juju relate mysql:database heat:database
juju relate keystone:identity-service heat:identity-service
juju relate keystone:identity-ops heat:identity-ops
juju relate rabbitmq:amqp heat:amqp 

heat-api-cfn is deployed as separate instance of charm using below command:

juju deploy heat-k8s heat-cfn --trust --config api_service=heat-api-cfn

Configuration

This section covers common and/or important configuration options. See file config.yaml for the full list of options, along with their descriptions and default values. See the Juju documentation for details on configuring applications.

api_service

The api_service option determines whether to act as heat-api service or heat-api-cfn service. Accepted values are heat-api or heat-api-service and defaults to heat-api.

Actions

This section covers Juju actions supported by the charm. Actions allow specific operations to be performed on a per-unit basis. To display action descriptions run juju actions heat. If the charm is not deployed then see file actions.yaml.

Relations

heat-k8s requires the following relations:

database: To connect to MySQL identity-service: To register endpoints in Keystone identity-ops: To create heat stack domain and users ingress-internal: To expose service on underlying internal network ingress-public: To expose service on public network amqp: To connect to Rabbitmq

OCI Images

The charm by default uses following images:

ghcr.io/canonical/heat-consolidated:2023.2

Contributing

Please see the Juju SDK docs for guidelines on enhancements to this charm following best practice guidelines, and CONTRIBUTING.md for developer guidance.

Bugs

Please report bugs on Launchpad.