4931ad53b9
Update charm base to ubuntu@24.04 for all k8s based charms. Deploying k8s charm is abstracted from the underlying host base, therefore we can already deploy next generation based charms. Change-Id: If8e8960a58a39f9978aaeec26ed4df4a2b690396 Signed-off-by: Guillaume Boutry <guillaume.boutry@canonical.com>
262 lines
7.9 KiB
YAML
262 lines
7.9 KiB
YAML
type: charm
|
|
name: horizon-k8s
|
|
summary: OpenStack Horizon service
|
|
description: |
|
|
OpenStack Horizon provides an HTTP service for managing, selecting,
|
|
and claiming providers of classes of inventory representing available
|
|
resources in a cloud.
|
|
.
|
|
assumes:
|
|
- k8s-api
|
|
- juju >= 3.1
|
|
links:
|
|
source:
|
|
- https://opendev.org/openstack/charm-horizon-k8s
|
|
issues:
|
|
- https://bugs.launchpad.net/charm-horizon-k8s
|
|
|
|
base: ubuntu@24.04
|
|
platforms:
|
|
amd64:
|
|
|
|
config:
|
|
options:
|
|
debug:
|
|
default: false
|
|
description: Enable debug logging.
|
|
type: boolean
|
|
session-timeout:
|
|
type: int
|
|
default: 3600
|
|
description:
|
|
A method to supersede the token timeout with a shorter dashboard
|
|
session timeout in seconds. For example, if your token expires in 60 minutes,
|
|
a value of 1800 will log users out after 30 minutes.
|
|
default-role:
|
|
type: string
|
|
default: member
|
|
description: |
|
|
Default role for Horizon operations that will be created in
|
|
Keystone upon introduction of an identity-service relation.
|
|
default-domain:
|
|
type: string
|
|
default: null
|
|
description: |
|
|
Default domain when authenticating with Horizon. Disables the domain
|
|
field in the login page.
|
|
secret:
|
|
type: string
|
|
default: null
|
|
description: |
|
|
Secret for Horizon to use when securing internal data; set this when
|
|
using multiple dashboard units.
|
|
dropdown-max-items:
|
|
type: int
|
|
default: 30
|
|
description: |
|
|
Max dropdown items to show in dropdown controls.
|
|
NOTE: This setting is supported >= OpenStack Liberty.
|
|
profile:
|
|
type: string
|
|
default: null
|
|
description: Default profile for the dashboard. Eg. cisco.
|
|
disable-instance-snapshot:
|
|
type: boolean
|
|
default: false
|
|
description: |
|
|
This setting disables Snapshots as a valid boot source for launching
|
|
instances. Snapshots sources won't show up in the Launch Instance modal
|
|
dialogue box. This option works from the Newton release, and has no
|
|
effect on earlier OpenStack releases.
|
|
cinder-backup:
|
|
type: boolean
|
|
default: false
|
|
description: Enable cinder backup panel.
|
|
password-retrieve:
|
|
type: boolean
|
|
default: false
|
|
description: Enable "Retrieve password" instance action.
|
|
customization-module:
|
|
type: string
|
|
default: ""
|
|
description: |
|
|
This option provides a means to enable customisation modules to modify
|
|
existing dashboards and panels.
|
|
allow-password-autocompletion:
|
|
type: boolean
|
|
default: false
|
|
description: |
|
|
Setting this to True will allow password form autocompletion by browser.
|
|
default-create-volume:
|
|
type: boolean
|
|
default: true
|
|
description: |
|
|
The default value for the option of creating a new volume in the
|
|
workflow for image and instance snapshot sources when launching an
|
|
instance. This option has an effect only to Ocata or newer
|
|
releases.
|
|
hide-create-volume:
|
|
type: boolean
|
|
default: false
|
|
description: |
|
|
Hide the "Create New Volume" option and rely on the
|
|
default-create-volume value during instance creation.
|
|
image-formats:
|
|
type: string
|
|
default: ""
|
|
description: |
|
|
The image-formats setting can be used to alter the default list of
|
|
advertised image formats. Many installations cannot use all the formats
|
|
that Glance recognizes, restricting the list here prevents unwanted
|
|
formats from being listed in Horizon which can lead to confusion.
|
|
.
|
|
This setting takes a space separated list, for example: iso qcow2 raw
|
|
.
|
|
Supported formats are: aki, ami, ari, docker, iso, ova, qcow2, raw, vdi,
|
|
vhd, vmdk.
|
|
.
|
|
If not provided, leave the option unconfigured which enables all of the
|
|
above.
|
|
api-result-limit:
|
|
type: int
|
|
default: 1000
|
|
description: |
|
|
The maximum number of objects (e.g. Swift objects or Glance images) to
|
|
display on a single page before providing a paging element (a "more" link)
|
|
to paginate results.
|
|
enable-fip-topology-check:
|
|
type: boolean
|
|
default: true
|
|
description:
|
|
By default Horizon checks that a project has a router attached
|
|
to an external network before allowing FIPs to be attached to a VM. Some use
|
|
cases will not meet this constraint, e.g. if the router is owned by a different
|
|
project. Setting this to False removes this check from Horizon.
|
|
disable-password-reveal:
|
|
type: boolean
|
|
default: false
|
|
description: |
|
|
If enabled, the reveal button for passwords is removed.
|
|
enforce-password-check:
|
|
type: boolean
|
|
default: true
|
|
description: |
|
|
If True, displays an `Admin Password` field on the Change Password form
|
|
to verify that it is indeed the admin logged-in who wants to change the password.
|
|
site-name:
|
|
type: string
|
|
default: ""
|
|
description: |
|
|
An unique site name for OpenStack deployment to be passed via the
|
|
application-dashboard relation
|
|
site-branding:
|
|
type: string
|
|
default: null
|
|
description: |
|
|
A brand name to be shown in the HTML title. The default value is
|
|
"OpenStack Dashboard", e.g. "Instance Overview - OpenStack Dashboard"
|
|
site-branding-link:
|
|
type: string
|
|
default: null
|
|
description: |
|
|
A custom hyperlink when the logo in the dashboard is clicked, e.g.
|
|
https://mycloud.example.com/. The default value is
|
|
"horizon:user_home" to open the top level of the dashboard.
|
|
help-url:
|
|
type: string
|
|
default: null
|
|
description: |
|
|
A custom hyperlink for the "Help" menu, e.g.
|
|
https://mycloud.example.com/help. The default value is
|
|
https://docs.openstack.org/
|
|
create-instance-flavor-sort-key:
|
|
type: string
|
|
default: null
|
|
description: |
|
|
This option can be used to customise the order instances are sorted in.
|
|
Support values include: id, name, ram, disk, and vcpus.
|
|
See https://docs.openstack.org/horizon/latest/configuration/settings.html#create-instance-flavor-sort
|
|
for more details.
|
|
create-instance-flavor-sort-reverse:
|
|
type: boolean
|
|
default: false
|
|
description: |
|
|
This option can be used to set the instance sorting to either ascending or descending.
|
|
Set True to sort in ascending order or False for descending order.
|
|
plugins:
|
|
type: string
|
|
default: "[]"
|
|
description: |
|
|
This option can be used to enable plugins for Horizon. The value should be a
|
|
JSON formatted list of plugin names.
|
|
|
|
actions:
|
|
get-dashboard-url:
|
|
description: URL for access to the Horizon OpenStack Dashboard.
|
|
|
|
containers:
|
|
horizon:
|
|
resource: horizon-image
|
|
|
|
resources:
|
|
horizon-image:
|
|
type: oci-image
|
|
description: OCI image for Horizon
|
|
upstream-source: ghcr.io/canonical/horizon:2024.1
|
|
|
|
requires:
|
|
database:
|
|
interface: mysql_client
|
|
limit: 1
|
|
ingress-internal:
|
|
interface: ingress
|
|
limit: 1
|
|
ingress-public:
|
|
interface: ingress
|
|
optional: true
|
|
limit: 1
|
|
identity-credentials:
|
|
interface: keystone-credentials
|
|
limit: 1
|
|
receive-ca-cert:
|
|
interface: certificate_transfer
|
|
optional: true
|
|
logging:
|
|
interface: loki_push_api
|
|
optional: true
|
|
tracing:
|
|
interface: tracing
|
|
optional: true
|
|
limit: 1
|
|
|
|
provides:
|
|
horizon:
|
|
interface: horizon
|
|
|
|
peers:
|
|
peers:
|
|
interface: horizon-peer
|
|
|
|
parts:
|
|
update-certificates:
|
|
plugin: nil
|
|
override-build: |
|
|
apt update
|
|
apt install -y ca-certificates
|
|
update-ca-certificates
|
|
charm:
|
|
after:
|
|
- update-certificates
|
|
build-packages:
|
|
- git
|
|
- libffi-dev
|
|
- libssl-dev
|
|
- rustc
|
|
- cargo
|
|
- pkg-config
|
|
charm-binary-python-packages:
|
|
- cryptography
|
|
- jsonschema
|
|
- pydantic
|
|
- jinja2
|