{"id":20111480,"url":"https://github.com/openstack/charm-ceph-dashboard","last_synced_at":"2025-05-06T11:30:44.031Z","repository":{"id":44942572,"uuid":"382776801","full_name":"openstack/charm-ceph-dashboard","owner":"openstack","description":"Juju Charm - Ceph Dashboard. Mirror of code maintained at opendev.org.","archived":false,"fork":false,"pushed_at":"2024-06-28T12:51:20.000Z","size":177,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-06-28T14:13:47.562Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://opendev.org/openstack/charm-ceph-dashboard","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openstack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-04T06:06:50.000Z","updated_at":"2024-06-28T12:51:24.000Z","dependencies_parsed_at":"2023-01-28T06:01:21.324Z","dependency_job_id":"380c9ba3-bdc3-40cb-95e3-cb9a046a76fd","html_url":"https://github.com/openstack/charm-ceph-dashboard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fcharm-ceph-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fcharm-ceph-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fcharm-ceph-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fcharm-ceph-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openstack","download_url":"https://codeload.github.com/openstack/charm-ceph-dashboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224499851,"owners_count":17321605,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T18:16:14.842Z","updated_at":"2024-11-13T18:16:15.523Z","avatar_url":"https://github.com/openstack.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Overview\n\nThe ceph-dashboard charm deploys the [Ceph Dashboard][upstream-ceph-dashboard],\na built-in web-based Ceph management and monitoring application. It works in\nconjunction with the [openstack-loadbalancer][loadbalancer-charm] charm, which\nin turn utilises the [hacluster][hacluster-charm] charm.\n\n# Usage\n\n## Configuration\n\nThis section covers common and/or important configuration options. See file\n`config.yaml` for the full list of options, along with their descriptions and\ndefault values. See the [Juju documentation][juju-docs-config-apps] for details\non configuring applications.\n\n#### `grafana-api-url`\n\nSets the URL of the Grafana API when using embedded graphs. See\n[Embedded Grafana dashboards][anchor-grafana-dashboards].\n\n#### `public-hostname`\n\nSets the hostname or address of the public endpoint used to access\nthe dashboard.\n\n#### `enable-password-policy`\n\nSets whether certain password restrictions are enforced when a user\nis created or changes their password.\n\n#### `password-*`\n\nThere are a number of `password-*` options which impose constraints on which\npasswords can be used. These options are ignored unless\n`enable-password-policy` is set to 'True'.\n\n## Deployment\n\nWe are assuming a pre-existing Ceph cluster.\n\nDeploy ceph-dashboard as a subordinate to the ceph-mon charm:\n\n    juju deploy ceph-dashboard\n    juju add-relation ceph-dashboard:dashboard ceph-mon:dashboard\n\nTLS is a requirement for this charm. Enable it by adding a relation to the\nvault application:\n\n    juju add-relation ceph-dashboard:certificates vault:certificates\n\nSee [Managing TLS certificates][cdg-tls] in the\n[OpenStack Charms Deployment Guide][cdg] for more information on TLS.\n\n\u003e **Note**: This charm also supports TLS configuration via charm options\n  `ssl_cert`, `ssl_key`, and `ssl_ca`.\n\n### Load balancer\n\nThe dashboard is accessed via a load balancer using VIPs and implemented via\nthe openstack-loadbalancer and hacluster charms:\n\n    juju deploy -n 3 --config vip=10.5.20.200 openstack-loadbalancer\n    juju deploy hacluster openstack-loadbalancer-hacluster\n    juju add-relation openstack-loadbalancer:ha openstack-loadbalancer-hacluster:ha\n\nNow add a relation between the openstack-loadbalancer and ceph-dashboard\napplications:\n\n    juju add-relation ceph-dashboard:loadbalancer openstack-loadbalancer:loadbalancer\n\n### Dashboard user\n\nCredentials are needed to log in to the dashboard. Set these up by applying an\naction to any ceph-dashboard unit. For example, to create an administrator user\ncalled 'admin':\n\n    juju run-action --wait ceph-dashboard/0 add-user username=admin role=administrator\n\nThe command's output will include a generated password.\n\nThe dashboard can then be accessed on the configured VIP and on port 8443:\n\nhttps://10.5.20.200:8443\n\n## Embedded Grafana dashboards\n\nTo embed Grafana dashboards within the Ceph dashboard some additional relations\nare required (Grafana, Telegraf, and Prometheus are assumed to be\npre-existing):\n\n    juju add-relation ceph-dashboard:grafana-dashboard grafana:dashboards\n    juju add-relation ceph-dashboard:prometheus prometheus:website\n    juju add-relation ceph-mon:prometheus prometheus:target\n    juju add-relation ceph-osd:juju-info telegraf:juju-info\n    juju add-relation ceph-mon:juju-info telegraf:juju-info\n\nGrafana, Telegraf, and Prometheus should be related in the standard way:\n\n    juju add-relation grafana:grafana-source prometheus:grafana-source\n    juju add-relation telegraf:prometheus-client prometheus:target\n    juju add-relation telegraf:dashboards grafana:dashboards\n\nWhen Grafana is integrated with the Ceph Dashboard it requires TLS, so\nadd a relation to Vault (the grafana charm also supports TLS configuration via\n`ssl_*` charm options):\n\n    juju add-relation grafana:certificates vault:certificates\n\n\u003e **Important**: Ceph Dashboard will (silently) fail to display Grafana output\n  if the client browser cannot validate the Grafana server's TLS certificate.\n  Either ensure the signing CA certificate is known to the browser or, if in a\n  testing environment, contact the Grafana dashboard directly and have the\n  browser accept the unverified certificate.\n\nGrafana should be configured with the following charm options:\n\n    juju config grafana anonymous=True\n    juju config grafana allow_embedding=True\n\nThe grafana charm also requires the vonage-status-panel and\ngrafana-piechart-panel plugins. The `install_plugins` configuration option\nshould be set to include URLs from which these plugins can be downloaded. They\nare currently available from https://storage.googleapis.com/plugins-community.\nFor example:\n\n    juju config grafana install_plugins=\"https://storage.googleapis.com/plugins-community/vonage-status-panel/release/1.0.11/vonage-status-panel-1.0.11.zip,https://storage.googleapis.com/plugins-community/grafana-piechart-panel/release/1.6.2/grafana-piechart-panel-1.6.2.zip\"\n\nTelegraf should be configured with the following charm option:\n\n    juju config telegraf hostname=\"{host}\"\n\n\u003e **Note**: The above command is to be invoked verbatim; no substitution is\n  required.\n\nCurrently the dashboard does not autodetect the API endpoint of the Grafana\nservice. It needs to be provided via a configuration option:\n\n    juju config ceph-dashboard grafana-api-url=\"https://\u003cIP of grafana unit\u003e:3000\"\n\n## Prometheus alerting\n\nTo enable alerting for an existing Prometheus service add the following\nrelations:\n\n    juju add-relation ceph-dashboard:prometheus prometheus:website\n    juju add-relation ceph-mon:prometheus prometheus:target\n    juju add-relation ceph-dashboard:alertmanager-service prometheus-alertmanager:alertmanager-service\n    juju add-relation prometheus:alertmanager-service prometheus-alertmanager:alertmanager-service\n\n## Ceph Object storage\n\nTo enable Object storage management of an existing Ceph RADOS Gateway service\nadd the following relation:\n\n    juju add-relation ceph-dashboard:radosgw-dashboard ceph-radosgw:radosgw-user\n\n\u003e **Note**: For Ceph versions older than Pacific the dashboard can only be\n  related to a single ceph-radosgw application.\n\n## Actions\n\nThis section lists Juju [actions][juju-docs-actions] supported by the charm.\nActions allow specific operations to be performed on a per-unit basis. To\ndisplay action descriptions run `juju actions --schema ceph-dashboard`. If the\ncharm is not deployed then see file `actions.yaml`.\n\n* `add-user`\n* `delete-user`\n\n# Documentation\n\nThe OpenStack Charms project maintains two documentation guides:\n\n* [OpenStack Charm Guide][cg]: for project information, including development\n  and support notes\n* [OpenStack Charms Deployment Guide][cdg]: for charm usage information\n\n# Contributing\n\nPlease see the [OpenStack Charm Guide community section][cgc] for contribution guidelines. Specifically, see the [software contributions section][swc] for software contribution guidelines, and the [documentation contributions section][docc] for guidelines on documentation contribution.\n\n\n# Bugs\n\nPlease report bugs on [Launchpad][lp-bugs-charm-ceph-dashboard]. Note the [bug submission section][bugc] on guidelines for reporting bugs.\n\n\n# License\n\nThe ceph-dashboard charm is free software, distributed under the Apache 2.0 software licence. See the LICENSE file for more information.\n\n\n\u003c!-- LINKS --\u003e\n\n[juju-docs-actions]: https://juju.is/docs/working-with-actions\n[juju-docs-config-apps]: https://juju.is/docs/configuring-applications\n[upstream-ceph-dashboard]: https://docs.ceph.com/en/latest/mgr/dashboard/\n[cg]: https://docs.openstack.org/charm-guide\n[cdg]: https://docs.openstack.org/project-deploy-guide/charm-deployment-guide\n[cdg-tls]: https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/latest/app-certificate-management.html\n[cgc]: https://docs.openstack.org/charm-guide/latest/community/\n[swc]: https://docs.openstack.org/charm-guide/latest/community/software-contrib/\n[docc]: https://docs.openstack.org/charm-guide/latest/community/doc-contrib/\n[bugc]: https://docs.openstack.org/charm-guide/latest/community/software-bug.html\n[lp-bugs-charm-ceph-dashboard]: https://bugs.launchpad.net/charm-ceph-dashboard\n[anchor-grafana-dashboards]: #embedded-grafana-dashboards\n[loadbalancer-charm]: https://jaas.ai/u/openstack-charmers/openstack-loadbalancer\n[hacluster-charm]: https://jaas.ai/hacluster\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenstack%2Fcharm-ceph-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenstack%2Fcharm-ceph-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenstack%2Fcharm-ceph-dashboard/lists"}