├── .custom_wordlist.txt ├── tmp └── t │ ├── cheatmd.md │ ├── file-contributingmd.md │ ├── binary-containeragent.md │ ├── subnet.md │ ├── metric.md │ ├── binary-jujuc.md │ ├── rockcraft.md │ ├── worker.md │ ├── binding.md │ ├── charmhub.md │ ├── file-readmemd.md │ ├── file-iconsvg.md │ ├── juju-explanation.md │ ├── juju-topology.md │ ├── binary-jujud.md │ ├── how-to-manage-charmcraft.md │ ├── extension.md │ ├── sdk-explanation.md │ ├── client.md │ ├── event-collect-metrics-deprecated.md │ ├── file-requirements-devtxt.md │ ├── leader.md │ ├── file-srccharmpy.md │ ├── operation.md │ ├── agent-introspection-juju_start_unit.md │ ├── profile.md │ ├── agent-introspection-juju_unit_status.md │ ├── base.md │ ├── file-requirementstxt.md │ ├── sdk-tutorials.md │ ├── agent-introspection-juju_stop_unit.md │ ├── file-dispatch.md │ ├── how-to-migrate-from-cos-lite-to-cos-ha.md │ ├── file-license.md │ ├── terraform-juju-juju-client.md │ ├── reasons-to-publish-your-charm-on-charmhub.md │ ├── command-juju-show-model.md │ ├── command-charmcraft-list-extensions.md │ ├── command-juju-retry-provisioning.md │ ├── file-manifestyaml.md │ ├── command-charmcraft-clean.md │ ├── supported-features.md │ ├── command-juju-enable-user.md │ ├── command-charmcraft-expand-extensions.md │ ├── plugin-flags.md │ ├── command-juju-attach-storage.md │ ├── command-juju-reload-spaces.md │ ├── task.md │ ├── command-juju-whoami.md │ ├── explanation.md │ ├── command-juju-grant-secret.md │ ├── command-juju-resolved.md │ ├── command-juju-show-action.md │ ├── rockcraft-extension-django-framework.md │ ├── command-juju-revoke-secret.md │ ├── command-juju-remove-secret.md │ ├── command-juju-resolve.md │ ├── command-juju-grant-cloud.md │ ├── command-juju-disable-user.md │ ├── command-juju-metrics.md │ ├── command-charmcraft-analyse.md │ ├── command-juju-unregister.md │ ├── command-juju-add-space.md │ ├── command-juju-show-controller.md │ ├── command-juju-agreements.md │ ├── ops-ops.md │ ├── command-juju-default-region.md │ ├── the-juju-execution-flow-for-a-charm.md │ ├── tutorials.md │ ├── dynamic-storage.md │ ├── command-juju-remove-storage-pool.md │ ├── command-juju-enable-destroy-controller.md │ ├── command-juju-secrets.md │ ├── command-juju-set-meter-status.md │ ├── command-juju-show-user.md │ ├── command-juju-controllers.md │ ├── how-to-guides.md │ ├── command-juju-list-agreements.md │ ├── command-juju-set-default-region.md │ ├── command-juju-download-backup.md │ ├── charm-publication.md │ ├── command-juju-remove-k8s.md │ ├── command-juju-collect-metrics.md │ ├── command-juju-firewall-rules.md │ ├── command-juju-list-secrets.md │ ├── command-juju-list-controllers.md │ ├── command-juju-cancel-task.md │ ├── command-juju-secret-backends.md │ ├── command-juju-machines.md │ ├── event-container-pebble-custom-notice.md │ ├── command-charmcraft-whoami.md │ ├── command-juju-offer.md │ ├── command-juju-scale-application.md │ ├── high-availability-ha.md │ ├── command-juju-list-firewall-rules.md │ ├── command-juju-list-machines.md │ ├── command-juju-show-secret-backend.md │ ├── command-juju-list-secret-backends.md │ ├── command-juju-remove-cloud.md │ ├── command-juju-remove-user.md │ ├── command-charmcraft-resources.md │ ├── command-charmcraft-unregister.md │ ├── command-juju-rename-space.md │ ├── command-charmcraft-promote-bundle.md │ ├── command-juju-payloads.md │ ├── command-charmcraft-build.md │ ├── command-charmcraft-fetch-libs.md │ ├── plugin.md │ ├── command-charmcraft-pull.md │ ├── command-charmcraft-stage.md │ ├── command-charmcraft-version.md │ ├── command-charmcraft-logout.md │ ├── command-juju-revoke-cloud.md │ ├── command-juju-show-machine.md │ ├── event-storage-name-storage-attached.md │ ├── command-juju-actions.md │ ├── command-juju-show-application.md │ ├── command-juju-list-payloads.md │ ├── command-juju-trust.md │ ├── command-juju-update-public-clouds.md │ ├── command-juju-remove-secret-backend.md │ ├── the-google-gke-cloud-and-juju.md │ ├── command-charmcraft-prime.md │ ├── command-juju-resume-relation.md │ ├── command-juju-update-storage-pool.md │ ├── offer.md │ ├── charms-vs-kubernetes-operators.md │ ├── command-juju-remove-saas.md │ ├── command-juju-show-space.md │ ├── command-juju-detach-storage.md │ ├── command-juju-list-actions.md │ ├── endpoint.md │ ├── yaml-anchors-and-aliases.md │ ├── command-juju-show-storage.md │ ├── library-pytest-operator.md │ ├── the-microsoft-aks-cloud-and-juju.md │ ├── command-charmcraft-resource-revisions.md │ ├── command-juju-set-firewall-rule.md │ ├── command-juju-storage.md │ ├── jhack.md │ ├── command-juju-agree.md │ ├── the-microk8s-cloud-and-juju.md │ ├── command-juju-models.md │ ├── command-juju-spaces.md │ ├── event-storage-name-storage-detaching.md │ ├── scaling.md │ ├── juju-stash.md │ ├── command-charmcraft-close.md │ ├── command-charmcraft-revisions.md │ ├── command-juju-remove-offer.md │ ├── command-juju-list-storage.md │ ├── command-juju-logout.md │ ├── command-juju-ssh-keys.md │ ├── command-juju-list-models.md │ ├── command-juju-list-spaces.md │ ├── command-juju-regions.md │ ├── command-juju-find.md │ ├── file-pyprojecttoml.md │ ├── python-libjuju-juju-client.md │ ├── the-juju-web-cli.md │ ├── promotion.md │ ├── visualize-relation-data-with-show-relation.md │ ├── command-juju-find-offers.md │ ├── command-juju-list-ssh-keys.md │ ├── command-juju-suspend-relation.md │ ├── command-juju-list-regions.md │ ├── file-testsunittest_charmpy.md │ ├── command-juju-consume.md │ ├── command-juju-dashboard.md │ ├── command-charmcraft-list-lib.md │ ├── the-amazon-eks-cloud-and-juju.md │ ├── command-juju-remove-ssh-key.md │ ├── command-juju-users.md │ ├── command-juju-export-bundle.md │ ├── charmcraft-charmcraft.md │ ├── command-juju-add-user.md │ ├── command-juju-list-users.md │ ├── command-juju-charm-resources.md │ ├── command-charmcraft-remote-build.md │ ├── command-juju-move-to-space.md │ ├── commands-available-on-a-juju-machine.md │ └── storage-events.md ├── how-to └── index.md ├── reference └── index.md ├── explanation └── index.md ├── reuse └── links.txt ├── tutorial └── get_started.md ├── .sphinx ├── _static │ ├── tag.png │ └── favicon.png ├── requirements.txt ├── pa11y.json ├── spellingcheck.yaml ├── .wordlist.txt ├── get_vale_conf.py └── _templates │ └── header.html ├── .wokeignore ├── README.md ├── .gitignore ├── pull_request_template.md ├── .github └── workflows │ └── automatic-doc-checks.yml ├── .readthedocs.yaml └── make.bat /.custom_wordlist.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tmp/t/cheatmd.md: -------------------------------------------------------------------------------- 1 | (cheatmd)= 2 | # cheat.md -------------------------------------------------------------------------------- /how-to/index.md: -------------------------------------------------------------------------------- 1 | (howto)= 2 | # How-to guides 3 | -------------------------------------------------------------------------------- /reference/index.md: -------------------------------------------------------------------------------- 1 | (ref)= 2 | # Reference 3 | -------------------------------------------------------------------------------- /explanation/index.md: -------------------------------------------------------------------------------- 1 | (exp)= 2 | # Explanation 3 | -------------------------------------------------------------------------------- /reuse/links.txt: -------------------------------------------------------------------------------- 1 | .. _link text: https://example.com 2 | -------------------------------------------------------------------------------- /tutorial/get_started.md: -------------------------------------------------------------------------------- 1 | (tutorial)= 2 | # Tutorial 3 | -------------------------------------------------------------------------------- /.sphinx/_static/tag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juju/docs/HEAD/.sphinx/_static/tag.png -------------------------------------------------------------------------------- /.sphinx/_static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juju/docs/HEAD/.sphinx/_static/favicon.png -------------------------------------------------------------------------------- /.sphinx/requirements.txt: -------------------------------------------------------------------------------- 1 | git+https://github.com/canonical/canonical-sphinx@main#egg=canonical-sphinx 2 | sphinx-autobuild 3 | -------------------------------------------------------------------------------- /.sphinx/pa11y.json: -------------------------------------------------------------------------------- 1 | { 2 | "chromeLaunchConfig": { 3 | "args": [ 4 | "--no-sandbox" 5 | ] 6 | }, 7 | "reporter": "cli", 8 | "standard": "WCAG2AA" 9 | } -------------------------------------------------------------------------------- /.wokeignore: -------------------------------------------------------------------------------- 1 | # the cheat sheets contain a link to a repository with a block word which we 2 | # cannot avoid for now, ie 3 | # https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html 4 | doc-cheat-sheet* 5 | -------------------------------------------------------------------------------- /tmp/t/file-contributingmd.md: -------------------------------------------------------------------------------- 1 | (file-contributingmd)= 2 | # File 'CONTRIBUTING.md' 3 | 4 | > {ref}`List of files in the charm project ` > `CONTRIBUTING.md` 5 | 6 | TO BE ADDED -------------------------------------------------------------------------------- /tmp/t/binary-containeragent.md: -------------------------------------------------------------------------------- 1 | (binary-containeragent)= 2 | # Binary `containeragent` 3 | 4 | In Juju, `containeragent` is a binary that implements {ref}`agent ` functionality for the {ref}`units ` in a Juju deployment on a Kubernetes cloud. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Documentation for Juju 2 | 3 | The Juju documentation is now on Read The Docs: 4 | 5 | https://canonical-juju.readthedocs-hosted.com/en/latest/ 6 | 7 | Please report Juju documentation issues on [github.com/juju/juju](https://github.com/juju/juju) 8 | -------------------------------------------------------------------------------- /tmp/t/subnet.md: -------------------------------------------------------------------------------- 1 | (subnet)= 2 | # Subnet 3 | 4 | > See also: {ref}`How to manage subnets ` 5 | 6 | A **subnet** is a range of IP addresses in CIDR notation. 7 | 8 | Subnets can be grouped to form a {ref}`space `. A subnet can only be in one space. -------------------------------------------------------------------------------- /tmp/t/metric.md: -------------------------------------------------------------------------------- 1 | (metric)= 2 | # Metric 3 | 4 | > See also: {ref}``juju collect-metrics` <6463md>` 5 | 6 | In Juju, a **metric** is a key/value pair defined by a charm. Typically the value is numeric. 7 | 8 | Juju polls charms every 5 minutes via the `juju collect-metrics` {ref}`hook `. -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Starter pack rules start here 3 | /*env*/ 4 | .sphinx/venv/ 5 | .sphinx/warnings.txt 6 | .sphinx/.wordlist.dic 7 | .sphinx/.doctrees/ 8 | .sphinx/node_modules/ 9 | package*.json 10 | _build 11 | .DS_Store 12 | __pycache__ 13 | .idea/ 14 | .vscode/ 15 | .sphinx/styles/* 16 | .sphinx/vale.ini -------------------------------------------------------------------------------- /tmp/t/binary-jujuc.md: -------------------------------------------------------------------------------- 1 | (binary-jujuc)= 2 | # Binary 'jujuc' 3 | 4 | In Juju, **`jujuc`** is a binary that provides a collection of command-line tools that charms can use during their hook executions to interact with the Juju environment. It comes with your Juju installation. 5 | 6 | 7 |
8 | 9 | > **Contributors:** @anvial -------------------------------------------------------------------------------- /tmp/t/rockcraft.md: -------------------------------------------------------------------------------- 1 | (rockcraft)= 2 | # Rockcraft 3 | 4 | Rockcraft is a command line tool that you can use to package an application as a 'rock'. In Juju, it is the recommended way to create a container image for a workload you want to charm. 5 | 6 | > See more: [Rockcraft | Docs](https://canonical-rockcraft.readthedocs-hosted.com/en/latest/) -------------------------------------------------------------------------------- /tmp/t/worker.md: -------------------------------------------------------------------------------- 1 | (worker)= 2 | # Worker 3 | 4 | In a Juju {ref}`deployment `, a **worker** is a process that a Juju {ref}`agent ` runs in the background on a Juju entity ({ref}`controller `, {ref}`model `, {ref}`machine <11298md>`, {ref}`unit `, etc.) and which has responsibilities related to that entity. -------------------------------------------------------------------------------- /tmp/t/binding.md: -------------------------------------------------------------------------------- 1 | (binding)= 2 | # Binding 3 | 4 | > See also: {ref}``juju deploy --bind` <6488md>`, {ref}``juju bind` <6488md>` 5 | 6 | In Juju, {ref}`application ` {ref}`endpoints ` can be bound to {ref}`spaces `. By binding endpoints to different spaces, Juju users can isolate the traffic used by relation endpoints. -------------------------------------------------------------------------------- /tmp/t/charmhub.md: -------------------------------------------------------------------------------- 1 | (charmhub)= 2 | # Charmhub 3 | 4 | Charmhub is the official repository of {ref}`charms `. It can be found at https://charmhub.io/ . 5 | 6 | Prior to 2022, the official home of charms was the Charm Store. This is now deprecated, though remnants of it may still be around (e.g., forum posts where charm names are prefixed with `cs:`). -------------------------------------------------------------------------------- /tmp/t/file-readmemd.md: -------------------------------------------------------------------------------- 1 | (file-readmemd)= 2 | # File 'README.md' 3 | 4 | > {ref}`List of files in the charm project ` > `README.md` 5 | 6 | 7 | The `README.md` file should describe the charm’s behaviour and provide instructions on to deploy the charm as well as links to resources for the supported application. -------------------------------------------------------------------------------- /tmp/t/file-iconsvg.md: -------------------------------------------------------------------------------- 1 | (file-iconsvg)= 2 | # File 'icon.svg' 3 | 4 | > {ref}`List of files in the charm project ` > `icon.svg` 5 | > 6 | > See also: {ref}`How to create an icon for your charm ` 7 | 8 | The `icon.svg` file is a 100px x 100px SVG icon used for display on Charmhub. -------------------------------------------------------------------------------- /tmp/t/juju-explanation.md: -------------------------------------------------------------------------------- 1 | (juju-explanation)= 2 | # Juju Explanation 3 | 4 | Discussion and clarification of key topics related to Juju 5 | 6 | - {ref}`Application modelling ` 7 | - {ref}`Performance with Juju ` 8 | - {ref}`Security with Juju ` 9 | - {ref}`Kubernetes in Juju ` -------------------------------------------------------------------------------- /pull_request_template.md: -------------------------------------------------------------------------------- 1 | This repository no longer processes pull requests. 2 | 3 | All Juju documentation changes are now made on a Discourse forum. 4 | 5 | https://discourse.jujucharms.com/t/documentation-migrated-to-discourse/1274 6 | 7 | Thanks for your interest in Juju documentation. I hope to see you on Discourse. 8 | 9 | This repository's bug tracker remains fully operational. 10 | -------------------------------------------------------------------------------- /tmp/t/juju-topology.md: -------------------------------------------------------------------------------- 1 | (juju-topology)= 2 | # Juju topology 3 | 4 | The Juju topology is a set of metadata associated with each piece of telemetry collected by the COS monitoring stack to uniquely identify which workload is the telemetry reporting about. 5 | 6 | See also: 7 | - https://discourse.charmhub.io/t/juju-topology-labels/8874 8 | - https://juju.is/blog/model-driven-observability-part-2-juju-topology-metrics -------------------------------------------------------------------------------- /.github/workflows/automatic-doc-checks.yml: -------------------------------------------------------------------------------- 1 | name: Main Documentation Checks 2 | 3 | on: 4 | - push 5 | - pull_request 6 | - workflow_dispatch 7 | 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | 12 | jobs: 13 | documentation-checks: 14 | uses: canonical/documentation-workflows/.github/workflows/documentation-checks.yaml@main 15 | with: 16 | working-directory: '.' -------------------------------------------------------------------------------- /tmp/t/binary-jujud.md: -------------------------------------------------------------------------------- 1 | (binary-jujud)= 2 | # Binary 'jujud' 3 | 4 | In Juju, `jujud` is the executable binary that is produced at each release and which implements {ref}`agent ` functionality for all of the entities in a Juju deployment on a machine cloud (model, machine, unit, controller) and also some of the entities in a Juju deployment on a Kubernetes cloud (model, controller). 5 | 6 | -------------------------------------------------------------------------------- /tmp/t/how-to-manage-charmcraft.md: -------------------------------------------------------------------------------- 1 | (how-to-manage-charmcraft)= 2 | # How to manage Charmcraft 3 | 4 | > See also: {ref}`Charmcraft ` 5 | 6 | - {ref}`Install Charmcraft ` 7 | - {ref}`Configure Charmcraft ` 8 | - {ref}`Authenticate Charmcraft in remote environments ` -------------------------------------------------------------------------------- /tmp/t/extension.md: -------------------------------------------------------------------------------- 1 | (extension)= 2 | # Extension 3 | 4 | > See also: {ref}`How to manage extensions ` 5 | 6 | In the context of building a charm, in Rockcraft and Charmcraft, an **extension** is a name you can pass to the `extensions` key of a rock's `rockcraft.yaml` file / a charm's `charmcraft.yaml` file that will include the usual keys, however, customised for a particular purpose. 7 | 8 | An extension is usually associated with a particular {ref}`profile `. -------------------------------------------------------------------------------- /tmp/t/sdk-explanation.md: -------------------------------------------------------------------------------- 1 | (sdk-explanation)= 2 | # SDK Explanation 3 | 4 | Concepts - discussion and clarification of key topics related to the Charm SDK 5 | 6 | 7 | - {ref}`Charming history ` 8 | - {ref}`Charms vs. Kubernetes operators ` 9 | - {ref}`Deferring events: Details and dilemmas <5523md>` 10 | - {ref}`Talking to a workload: control flow from A to Z ` -------------------------------------------------------------------------------- /tmp/t/client.md: -------------------------------------------------------------------------------- 1 | (client)= 2 | # Client 3 | 4 | > See also: {ref}`How to manage the client ` 5 | 6 | A Juju **client** is any software that implements the Juju client apiserver contract. 7 | 8 | This currently includes: 9 | 10 | - the Juju CLI ({ref}``juju` `) 11 | - the Terraform CLI when used with the `juju` provider plug-in ({ref}``terraform juju` `) 12 | - the `python-libjuju` library ({ref}``python-libjuju` `) -------------------------------------------------------------------------------- /tmp/t/event-collect-metrics-deprecated.md: -------------------------------------------------------------------------------- 1 | (event-collect-metrics-deprecated)= 2 | # Event 'collect-metrics' (deprecated) 3 | 4 | > {ref}`Event ` > {ref}`List of events ` > {ref}`Lifecycle events ` > `collect-metrics` 5 | > 6 | 7 | 8 | 9 | The `collect-metrics` event is now deprecated. It used to expose metrics for external monitoring. -------------------------------------------------------------------------------- /tmp/t/file-requirements-devtxt.md: -------------------------------------------------------------------------------- 1 | (file-requirements-devtxt)= 2 | # File 'requirements-dev.txt' 3 | 4 | > {ref}`List of files in the charm project ` > `requirements-dev.txt` 5 | 6 | The `requirements-dev.txt` is a standard Python [requirements file](https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format) that specifies only those dependencies that are used during development. Examples of this might include testing libraries, linters, etc. These dependencies will not be bundled with the charm when it is built. -------------------------------------------------------------------------------- /tmp/t/leader.md: -------------------------------------------------------------------------------- 1 | (leader)= 2 | # Leader 3 | 4 | > See also: 5 | > - {ref}`Implementing leadership <5461md>` 6 | 7 | In Juju, a **leader** (or {ref}`application ` leader) is the application {ref}`unit ` that is the authoritative source for an application's status and configuration. Every application is guaranteed to have at most one leader at any given time. Unit {ref}`agents ` will each seek to acquire leadership, and maintain it while they have it or wait for the current leader to drop out. The leader is denoted by an asterisk in the output to `juju status`. -------------------------------------------------------------------------------- /tmp/t/file-srccharmpy.md: -------------------------------------------------------------------------------- 1 | (file-srccharmpy)= 2 | # File 'src/charm.py' 3 | 4 | > {ref}`List of files in the charm project ` > `src/charm.py` 5 | 6 | 7 | The `src/charm.py` is the default entry point for a charm. This file must be executable, and should include a {ref}`shebang <7150md>`>) to indicate the desired interpreter. For many charms, this file will contain the majority of the charm code. It is possible to change the name of this file, but additional changes are then required to enable the charm to be built with {ref}``charmcraft` `. -------------------------------------------------------------------------------- /tmp/t/operation.md: -------------------------------------------------------------------------------- 1 | (operation)= 2 | # Operation 3 | 4 | > See also: {ref}`How to manage action operations <7934md>` 5 | 6 | In Juju, an **operation** is the group of {ref}`tasks ` queued by running an {ref}`action ` or other arbitrary scripts across one or more {ref}`units `. 7 | 8 | -------------------------------------------------------------------------------- /tmp/t/agent-introspection-juju_start_unit.md: -------------------------------------------------------------------------------- 1 | (agent-introspection-juju_start_unit)= 2 | # Agent introspection: juju_start_unit 3 | 4 | > See also: {ref}`Agent introspection ` 5 | 6 | The `juju_start_unit` introspection function was introduced in 2.9. 7 | 8 | In 2.9 the machine and unit agents were combined into a single process running on juju deployed machines. This tools allows you to see the start a stopped unit agent running inside of that single process. It takes a unit name as input. Example output: 9 | 10 | ``` 11 | $ juju_start_unit neutron-openvswitch/0 12 | neutron-openvswitch/0: started 13 | ``` -------------------------------------------------------------------------------- /tmp/t/profile.md: -------------------------------------------------------------------------------- 1 | (profile)= 2 | # Profile 3 | 4 | In the context of building a charm, in Rockcraft and Charmcraft, a **profile** is a name you can pass as an argument during rock / charm initialisation that will create all the usual rock/charm project files in a form customised for a specific purpose -- i.e., for a Kubernetes charm, for a Kubernetes charm for a Flask application etc. -- in order to speed up development. 5 | 6 | The customisation often takes the shape of a specific {ref}`extension ` in the charm's `charmcraft.yaml` file. 7 | 8 | > See more: {ref}`How to set up a charm project ` -------------------------------------------------------------------------------- /tmp/t/agent-introspection-juju_unit_status.md: -------------------------------------------------------------------------------- 1 | (agent-introspection-juju_unit_status)= 2 | # Agent introspection: juju_unit_status 3 | 4 | > See also: {ref}`Agent introspection ` 5 | 6 | The `juju_unit_status` introspection function was introduced in 2.9. 7 | 8 | In 2.9 the machine and unit agents were combined into a single process running on juju deployed machines. This tools allows you to see the status of agents running inside of that single process. Example output: 9 | 10 | ``` 11 | agent: machine-6 12 | units: 13 | lxd/0: running 14 | neutron-openvswitch/0: running 15 | nova-compute/0: running 16 | ``` -------------------------------------------------------------------------------- /tmp/t/base.md: -------------------------------------------------------------------------------- 1 | (base)= 2 | # Base 3 | 4 | > Starting with Juju 3.1, a 'base' replaces the older notion of 'series'. 5 | 6 | In Juju, a **base** is a way to identify a particular operating system (OS) image for a Juju {ref}`machine `. 7 | 8 | This can be done via the name of the OS followed by the `@` symbol and the channel of the OS that you want to target, specified in terms of `` or, optionally, `/`. For example, `ubuntu@22.04` or `ubuntu@22.04/stable`. 9 | 10 | -------------------------------------------------------------------------------- /tmp/t/file-requirementstxt.md: -------------------------------------------------------------------------------- 1 | (file-requirementstxt)= 2 | # File 'requirements.txt' 3 | 4 | > {ref}`List of files in the charm project ` > `requirements.txt` 5 | 6 | 7 | 8 | The `requirements.txt` file is a standard Python [requirements file](https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format) used to declare and pin the version of any Python libraries required by a charm in production. This will be pre-populated with {ref}``ops` `. Any dependencies specified here will be bundled with the charm when it is built with {ref}``charmcraft pack` `. -------------------------------------------------------------------------------- /.sphinx/spellingcheck.yaml: -------------------------------------------------------------------------------- 1 | matrix: 2 | - name: rST files 3 | aspell: 4 | lang: en 5 | d: en_GB 6 | dictionary: 7 | wordlists: 8 | - .sphinx/.wordlist.txt 9 | - .custom_wordlist.txt 10 | output: .sphinx/.wordlist.dic 11 | sources: 12 | - _build/**/*.html 13 | pipeline: 14 | - pyspelling.filters.html: 15 | comments: false 16 | attributes: 17 | - title 18 | - alt 19 | ignores: 20 | - code 21 | - pre 22 | - spellexception 23 | - link 24 | - title 25 | - div.relatedlinks 26 | - strong.command 27 | - div.visually-hidden 28 | - img 29 | - a.p-navigation__link 30 | - a.contributor 31 | -------------------------------------------------------------------------------- /tmp/t/sdk-tutorials.md: -------------------------------------------------------------------------------- 1 | (sdk-tutorials)= 2 | # SDK Tutorials 3 | 4 | A hands-on introduction to the Charm SDK for new users 5 | 6 | - {ref}`Write your first machine charm ` 7 | - {ref}`Write your first Kubernetes charm ` 8 | - {ref}`Write your first Kubernetes charm for a Flask app ` 9 | - {ref}`Write your first Kubernetes charm for a Django app ` 10 | - {ref}`Write your first Kubernetes charm for a FastAPI app ` 11 | - {ref}`Write your first Kubernetes charm for a Go app ` -------------------------------------------------------------------------------- /tmp/t/agent-introspection-juju_stop_unit.md: -------------------------------------------------------------------------------- 1 | (agent-introspection-juju_stop_unit)= 2 | # Agent introspection: juju_stop_unit 3 | 4 | > See also: {ref}`Agent introspection ` 5 | 6 | ```{caution} 7 | 8 | **For Kubernetes charms:**
This is not currently supported. (In the future it may be supported through Pebble.) 9 | 10 | ``` 11 | 12 | The `juju_stop_unit` introspection function was introduced in 2.9. 13 | 14 | In 2.9 the machine and unit agents were combined into a single process running on juju deployed machines. This tools allows you to stop a unit agent running inside of that single process. It takes a unit name as input. Example output: 15 | 16 | ``` 17 | $ juju_stop_unit neutron-openvswitch/0 18 | neutron-openvswitch/0: stopped 19 | ``` -------------------------------------------------------------------------------- /tmp/t/file-dispatch.md: -------------------------------------------------------------------------------- 1 | (file-dispatch)= 2 | # File 'dispatch' 3 | 4 | The `dispatch` file in your charm is an executable shell script whose responsibility is to execute the `src/charm.py` file with certain environment variables. 5 | 6 | The file is created automatically by `charmcraft pack` and you can inspect it by unzipping the `.charm` archive (`unzip .charm` ) or by deploying the charm, SSHing into one its units, and inspecting the charm directory in there (e.g., for unit `0`: `ls agents/unit--0/charm`). 7 | 8 | --- 9 | ```{dropdown} Expand to view contents of a sample dispatch file 10 | 11 | ```bash 12 | #!/bin/sh 13 | 14 | JUJU_DISPATCH_PATH="${JUJU_DISPATCH_PATH:-$0}" PYTHONPATH=lib:venv \ 15 | exec ./src/charm.py 16 | ``` 17 | 18 | ``` -------------------------------------------------------------------------------- /tmp/t/how-to-migrate-from-cos-lite-to-cos-ha.md: -------------------------------------------------------------------------------- 1 | (how-to-migrate-from-cos-lite-to-cos-ha)= 2 | # How to migrate from COS Lite to COS (HA) 3 | 4 | The main differences between COS Lite and COS HA from data perspective are that COS HA uses different charms for the logs and metrics backends. For metrics, Prometheus is replaced with Mimir. For logs, monolithic Loki is replaced with Loki HA. 5 | 6 | Migrating data from Prometheus to Mimir or from one charm revision of Loki to another is complex and nuanced. At this point, we recommend a retention-based phase-out. 7 | 8 | ## Migration via retention-based phase-out 9 | 10 | Deploy COS (HA) next to COS Lite, relating the new COS charms to the same applications COS Lite is related to. When the retention period elapses, switch to using the new COS deployment. -------------------------------------------------------------------------------- /tmp/t/file-license.md: -------------------------------------------------------------------------------- 1 | (file-license)= 2 | # File 'LICENSE' 3 | 4 | > {ref}`List of files in the charm project ` > `LICENSE` 5 | 6 | The `LICENSE` file is the file where you specify the license you want to use for your charm. 7 | 8 | Charmcraft pre-populates the LICENSE file with the [Apache 2](https://opensource.org/licenses/Apache-2.0) license. Before publication, it is important that you consider the implications of this and select a license appropriate for your use case. If you’re not sure which license to select, [choosealicense.com](https://choosealicense.com/) can help you. For most charms, we recommend [Apache 2](https://opensource.org/licenses/Apache-2.0), as this will allow for simple modification, redistribution, and packaging by the Charmhub community. -------------------------------------------------------------------------------- /tmp/t/terraform-juju-juju-client.md: -------------------------------------------------------------------------------- 1 | (terraform-juju-juju-client)= 2 | # 'terraform juju' (Juju client) 3 | 4 | > See also: {ref}`How to manage the client > `terraform` ` 5 | 6 | When used with the `juju` provider plugin, the `terraform` CLI is a CLI {ref}`client ` of Juju that allows you to use Juju through Terraform plans. 7 | 8 | > See more: [Terraform](https://developer.hashicorp.com/terraform/docs), [Terraform | CLI](https://developer.hashicorp.com/terraform/cli/commands), [Terraform | Juju Provider](https://registry.terraform.io/providers/juju/juju/latest/docs) 9 | 10 | 11 | ```{caution} 12 | 13 | The `juju` provider is currently a beta product and not feature-complete. It does not have full parity with the {ref}`Juju CLI `. 14 | 15 | ``` -------------------------------------------------------------------------------- /tmp/t/reasons-to-publish-your-charm-on-charmhub.md: -------------------------------------------------------------------------------- 1 | (reasons-to-publish-your-charm-on-charmhub)= 2 | # Reasons to publish your charm on Charmhub 3 | 4 | > {ref}`Charm publication ` > Reasons to publish your charm on Charmhub 5 | > 6 | > See also: {ref}`How to publish your charm on Charmhub ` 7 | 8 | Publishing your charm on Charmhub has multiple advantages: 9 | 10 | 1. Charmhub is the default source for the Juju deployment command `juju deploy`, so deploying your charm is easy. 11 | 1. Charmhub is the default target for the Juju SDK publishing commands `charmcraft register`, `charmcraft upload`, and `charmcraft release`, so publishing your charm is easy. 12 | 1. Charmhub is the official home of charms, so your charm gains more visibility. -------------------------------------------------------------------------------- /tmp/t/command-juju-show-model.md: -------------------------------------------------------------------------------- 1 | (command-juju-show-model)= 2 | # Command 'juju show-model' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-model ` 12 | 13 | ## Summary 14 | Shows information about the current or specified model. 15 | 16 | ## Usage 17 | ```juju show-model [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--format` | yaml | Specify output format (json|yaml) | 24 | | `-o`, `--output` | | Specify an output file | 25 | 26 | ## Details 27 | Show information about the current or specified model. -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-list-extensions.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-list-extensions)= 2 | # Command 'charmcraft list-extensions' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft list-extensions [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | List available extensions and their corresponding bases. 12 | 13 | ## Options: 14 | | | | 15 | |-|-| 16 | | `-h, --help` | Show this help message and exit | 17 | | `-v, --verbose` | Show debug information and be more verbose | 18 | | `-q, --quiet` | Only show warnings and errors, not progress | 19 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 20 | | `-V, --version` | Show the application version and exit | 21 | | `--format` | Produce the result in the specified format (currently only 'json') | 22 | 23 | ## See also: 24 | - `expand-extensions` 25 | - `extensions` -------------------------------------------------------------------------------- /tmp/t/command-juju-retry-provisioning.md: -------------------------------------------------------------------------------- 1 | (command-juju-retry-provisioning)= 2 | # Command 'juju retry-provisioning' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | 12 | ## Summary 13 | Retries provisioning for failed machines. 14 | 15 | ## Usage 16 | ```juju retry-provisioning [options] [...]``` 17 | 18 | ### Options 19 | | Flag | Default | Usage | 20 | | --- | --- | --- | 21 | | `--all` | false | retry provisioning all failed machines | 22 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 23 | 24 | ## Examples 25 | 26 | 27 | juju retry-provisioning 0 28 | 29 | juju retry-provisioning 0 1 30 | 31 | juju retry-provisioning --all -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- 1 | # .readthedocs.yaml 2 | # Read the Docs configuration file 3 | # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details 4 | 5 | # Required 6 | version: 2 7 | 8 | # Set the version of Python and other tools you might need 9 | build: 10 | os: ubuntu-22.04 11 | tools: 12 | python: "3.11" 13 | jobs: 14 | pre_install: 15 | - git fetch --unshallow || true 16 | 17 | # Build documentation in the docs/ directory with Sphinx 18 | sphinx: 19 | builder: dirhtml 20 | configuration: ./conf.py 21 | fail_on_warning: true 22 | 23 | # If using Sphinx, optionally build your docs in additional formats such as PDF 24 | formats: 25 | - pdf 26 | 27 | # Optionally declare the Python requirements required to build your docs 28 | python: 29 | install: 30 | - requirements: ./.sphinx/requirements.txt 31 | -------------------------------------------------------------------------------- /tmp/t/file-manifestyaml.md: -------------------------------------------------------------------------------- 1 | (file-manifestyaml)= 2 | # File 'manifest.yaml' 3 | 4 | > {ref}`List of files in the charm project ` > `manifest.yaml` 5 | > 6 | > See also: {ref}`How to configure Charmcraft ` 7 | 8 | The `manifest.yaml` file in your charm (bundle) is a file that contains information that Charmhub and `charmcraft` can use to identify the version, build time, OS name, and version at build time, as well as the architectures that the charm (bundle) can run on. 9 | 10 | The file is created automatically by `charmcraft pack` and you can inspect it by unzipping the `.charm` archive (`unzip .charm` ) or by deploying the charm, SSHing into one its units, and inspecting the charm directory in there (e.g., for unit `0`: `ls agents/unit--0/charm`). -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-clean.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-clean)= 2 | # Command 'charmcraft clean' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft clean [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Purge Charmcraft project's artifacts, including: 12 | 13 | - LXD Containers created for building charm(s) 14 | - Multipass Containers created for building charm(s) 15 | 16 | ## Options: 17 | | | | 18 | |-|-| 19 | | `-h, --help` | Show this help message and exit | 20 | | `-v, --verbose` | Show debug information and be more verbose | 21 | | `-q, --quiet` | Only show warnings and errors, not progress | 22 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 23 | | `-p, --project-dir` | Specify the project's directory (defaults to current) | 24 | 25 | ## See also: 26 | - `analyze` 27 | - `init` 28 | - `pack` 29 | - `version` -------------------------------------------------------------------------------- /.sphinx/.wordlist.txt: -------------------------------------------------------------------------------- 1 | # This wordlist is from the Sphinx starter pack and should not be 2 | # modified. Add any custom terms to .custom_wordlist.txt instead. 3 | 4 | addons 5 | API 6 | APIs 7 | balancer 8 | Charmhub 9 | CLI 10 | Diátaxis 11 | dropdown 12 | EBS 13 | EKS 14 | enablement 15 | favicon 16 | Furo 17 | Git 18 | GitHub 19 | Grafana 20 | IAM 21 | installable 22 | JSON 23 | Juju 24 | Kubeflow 25 | Kubernetes 26 | Launchpad 27 | linter 28 | LTS 29 | LXD 30 | Makefile 31 | Makefiles 32 | Matrix 33 | Mattermost 34 | MicroCeph 35 | MicroCloud 36 | MicroOVN 37 | MyST 38 | namespace 39 | namespaces 40 | NodePort 41 | Numbat 42 | observability 43 | OEM 44 | OLM 45 | Permalink 46 | pre 47 | Quickstart 48 | ReadMe 49 | reST 50 | reStructuredText 51 | roadmap 52 | RTD 53 | subdirectories 54 | subfolders 55 | subtree 56 | Ubuntu 57 | UI 58 | UUID 59 | VM 60 | webhook 61 | YAML 62 | -------------------------------------------------------------------------------- /tmp/t/supported-features.md: -------------------------------------------------------------------------------- 1 | (supported-features)= 2 | # Supported features 3 | 4 | > See also: [Juju SDK | File `metadata.yaml` > Key `assumes`](https://juju.is/docs/sdk/metadata-yaml#heading--assumes) 5 | 6 | A Juju model supports many different features. Some of these features may be explicitly targeted by a charm, as a way to check compatibility between the model and the charm at deployment or upgrade time. These features, along with their brief description and the earliest Juju version that introduces support for them, are given below. 7 | 8 | |Feature Name|Description|Available since| 9 | | --- | --- | --- | 10 | |juju|The version of Juju agent binaries used by the model|2.9.23| 11 | |k8s-api|The Kubernetes API lets charms query and manipulate the state of API objects in a Kubernetes cluster. Charms designed to work with Kubernetes will generally depend on this particular feature.|2.9.23| -------------------------------------------------------------------------------- /tmp/t/command-juju-enable-user.md: -------------------------------------------------------------------------------- 1 | (command-juju-enable-user)= 2 | # Command 'juju enable-user' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`users `, {ref}`disable-user `, {ref}`login ` 12 | 13 | ## Summary 14 | Re-enables a previously disabled Juju user. 15 | 16 | ## Usage 17 | ```juju enable-user [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-c`, `--controller` | | Controller to operate in | 24 | 25 | ## Examples 26 | 27 | juju enable-user bob 28 | 29 | 30 | ## Details 31 | An enabled Juju user is one that can log in to a controller. -------------------------------------------------------------------------------- /.sphinx/get_vale_conf.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | 3 | import requests 4 | import os 5 | 6 | DIR=os.getcwd() 7 | 8 | def main(): 9 | 10 | if os.path.exists(f"{DIR}/.sphinx/styles/Canonical"): 11 | print("Vale directory exists") 12 | else: 13 | os.makedirs(f"{DIR}/.sphinx/styles/Canonical") 14 | 15 | url = "https://api.github.com/repos/canonical/praecepta/contents/styles/Canonical" 16 | r = requests.get(url) 17 | for item in r.json(): 18 | download = requests.get(item["download_url"]) 19 | file = open(".sphinx/styles/Canonical/" + item["name"], "w") 20 | file.write(download.text) 21 | file.close() 22 | 23 | config = requests.get("https://raw.githubusercontent.com/canonical/praecepta/main/vale.ini") 24 | file = open(".sphinx/vale.ini", "w") 25 | file.write(config.text) 26 | file.close() 27 | 28 | if __name__ == "__main__": 29 | main() -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-expand-extensions.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-expand-extensions)= 2 | # Command 'charmcraft expand-extensions' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft expand-extensions [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Expand charmcraft.yaml using the extensions specified in the file and output the resulting configuration to the terminal. 12 | 13 | This allows you to see how the extensions used modify your existing charmcraft.yaml file. 14 | 15 | ## Options: 16 | | | | 17 | |-|-| 18 | | `-h, --help` | Show this help message and exit | 19 | | `-v, --verbose` | Show debug information and be more verbose | 20 | | `-q, --quiet` | Only show warnings and errors, not progress | 21 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 22 | | `-V, --version` | Show the application version and exit | 23 | 24 | ## See also: 25 | - `extensions` 26 | - `list-extensions` -------------------------------------------------------------------------------- /tmp/t/plugin-flags.md: -------------------------------------------------------------------------------- 1 | (plugin-flags)= 2 | # Plugin flags 3 | 4 | > {ref}`Plugin ` > List of known Juju plugins 5 | 6 | 7 | Plugins are independent command-line scripts, so, like any executable, they can accept `--flags`. There is potential for confusion to arise when a plugin accepts a flag which has the same name as one of Juju's global options: 8 | 9 | ```text 10 | --debug 11 | -h, --help 12 | --logging-config 13 | --quiet 14 | --show-log 15 | --verbose 16 | ``` 17 | 18 | In general, we wouldn't recommend using a flag name from this list but, if you do, ensure you put the flag in the correct position. Global options intended for Juju should come **before** the plugin name: 19 | 20 | ```text 21 | juju --debug myplugin foo 22 | ``` 23 | while flags intended for the plugin should come **after** the plugin name: 24 | 25 | ```text 26 | juju myplugin --debug foo 27 | juju myplugin foo --debug 28 | ``` -------------------------------------------------------------------------------- /tmp/t/command-juju-attach-storage.md: -------------------------------------------------------------------------------- 1 | (command-juju-attach-storage)= 2 | # Command 'juju attach-storage' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | 12 | ## Summary 13 | Attaches existing storage to a unit. 14 | 15 | ## Usage 16 | ```juju attach-storage [options] [ ...]``` 17 | 18 | ### Options 19 | | Flag | Default | Usage | 20 | | --- | --- | --- | 21 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 22 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 23 | 24 | ## Examples 25 | 26 | juju attach-storage postgresql/1 pgdata/0 27 | 28 | 29 | 30 | ## Details 31 | 32 | Attach existing storage to a unit. Specify a unit 33 | and one or more storage IDs to attach to it. -------------------------------------------------------------------------------- /tmp/t/command-juju-reload-spaces.md: -------------------------------------------------------------------------------- 1 | (command-juju-reload-spaces)= 2 | # Command 'juju reload-spaces' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`spaces `, {ref}`add-space `, {ref}`show-space `, {ref}`move-to-space ` 12 | 13 | ## Summary 14 | Reloads spaces and subnets from substrate. 15 | 16 | ### Options 17 | | Flag | Default | Usage | 18 | | --- | --- | --- | 19 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 20 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 21 | 22 | ## Examples 23 | 24 | juju reload-spaces 25 | 26 | 27 | ## Details 28 | Reloades spaces and subnets from substrate. -------------------------------------------------------------------------------- /tmp/t/task.md: -------------------------------------------------------------------------------- 1 | (task)= 2 | # Task 3 | 4 | > See also: {ref}`How to manage action tasks <7933md>` 5 | 6 | In Juju, a **task** is the execution of an {ref}`action ` (via {ref}``juju run` <7933md>`) or of other arbitrary scripts (via {ref}``juju exec` <7933md>`) on a target {ref}`unit `. 7 | 8 | Action tasks are run as defined by the charm author (default: sequentially), whereas tasks related to other scripts are run as set by the charm user (default: parallel). 9 | 10 | A group of tasks queued by running an action across one or more units forms an {ref}`operation `. 11 | 12 | 13 | -------------------------------------------------------------------------------- /tmp/t/command-juju-whoami.md: -------------------------------------------------------------------------------- 1 | (command-juju-whoami)= 2 | # Command 'juju whoami' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`controllers `, {ref}`login `, {ref}`logout `, {ref}`models `, {ref}`users ` 12 | 13 | ## Summary 14 | Print current login details. 15 | 16 | ### Options 17 | | Flag | Default | Usage | 18 | | --- | --- | --- | 19 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 20 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 21 | | `-o`, `--output` | | Specify an output file | 22 | 23 | ## Examples 24 | 25 | juju whoami 26 | 27 | 28 | ## Details 29 | Display the current controller, model and logged in user name. -------------------------------------------------------------------------------- /tmp/t/explanation.md: -------------------------------------------------------------------------------- 1 | (explanation)= 2 | # Explanation 3 | 4 | Concepts - discussion and clarification of key topics. 5 | 6 | ## The Stack 7 | Explanations of key aspects of the Canonical Observability Stack. 8 | 9 | - [COS Lite](https://charmhub.io/topics/canonical-observability-stack/editions/lite) 10 | - {ref}`Design Goals ` 11 | - {ref}`Juju topology ` 12 | - {ref}`Juju topology labels ` 13 | - {ref}`COS and TLS ` 14 | - {ref}`Charmed ingress ` 15 | - {ref}`Telemetry labels ` 16 | 17 | ## The Practice 18 | Explains the practice of observability, why it matters, as well as how to do it. 19 | 20 | - [What is observability?](https://ubuntu.com/observability/what-is-observability) 21 | - [Model-Driven Observability (Blog Series)](https://ubuntu.com/blog/tag/model-driven-observability) -------------------------------------------------------------------------------- /make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=. 11 | set BUILDDIR=_build 12 | 13 | %SPHINXBUILD% >NUL 2>NUL 14 | if errorlevel 9009 ( 15 | echo. 16 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 17 | echo.installed, then set the SPHINXBUILD environment variable to point 18 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 19 | echo.may add the Sphinx directory to PATH. 20 | echo. 21 | echo.If you don't have Sphinx installed, grab it from 22 | echo.https://www.sphinx-doc.org/ 23 | exit /b 1 24 | ) 25 | 26 | if "%1" == "" goto help 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /tmp/t/command-juju-grant-secret.md: -------------------------------------------------------------------------------- 1 | (command-juju-grant-secret)= 2 | # Command 'juju grant-secret' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | 12 | ## Summary 13 | Grant access to a secret. 14 | 15 | ## Usage 16 | ```juju grant-secret [options] | [,...]``` 17 | 18 | ### Options 19 | | Flag | Default | Usage | 20 | | --- | --- | --- | 21 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 22 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 23 | 24 | ## Examples 25 | 26 | juju grant-secret my-secret ubuntu-k8s 27 | juju grant-secret 9m4e2mr0ui3e8a215n4g ubuntu-k8s,prometheus-k8s 28 | 29 | 30 | ## Details 31 | 32 | Grant applications access to view the value of a specified secret. -------------------------------------------------------------------------------- /tmp/t/command-juju-resolved.md: -------------------------------------------------------------------------------- 1 | (command-juju-resolved)= 2 | # Command 'juju resolved' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | 12 | ## Summary 13 | Marks unit errors resolved and re-executes failed hooks. 14 | 15 | ## Usage 16 | ```juju resolved [options] [ ...]``` 17 | 18 | ### Options 19 | | Flag | Default | Usage | 20 | | --- | --- | --- | 21 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 22 | | `--all` | false | Marks all units in error as resolved | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | | `--no-retry` | false | Do not re-execute failed hooks on the unit | 25 | 26 | ## Examples 27 | 28 | 29 | juju resolved mysql/0 30 | 31 | juju resolved mysql/0 mysql/1 32 | 33 | juju resolved --all -------------------------------------------------------------------------------- /tmp/t/command-juju-show-action.md: -------------------------------------------------------------------------------- 1 | (command-juju-show-action)= 2 | # Command 'juju show-action' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`actions `, {ref}`run ` 12 | 13 | ## Summary 14 | Shows detailed information about an action. 15 | 16 | ## Usage 17 | ```juju show-action [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | 25 | ## Examples 26 | 27 | juju show-action postgresql backup 28 | 29 | 30 | ## Details 31 | 32 | Show detailed information about an action on the target application. -------------------------------------------------------------------------------- /tmp/t/rockcraft-extension-django-framework.md: -------------------------------------------------------------------------------- 1 | (rockcraft-extension-django-framework)= 2 | # Rockcraft extension 'django-framework' 3 | 4 | The `django-framework` Rockcraft {ref}`extension ` includes configuration options customised for a Django application. This document describes all the keys that a user may interact with. 5 | 6 | ```{tip} 7 | 8 | **If you'd like to see the full contents contributed by this extension:**
See {ref}`How to manage extensions `. 9 | 10 | ``` 11 | 12 | 13 | ## `rockcraft.yaml` > `parts` > `django-framework/dependencies:` > `stage-packages` 14 | 15 | You can use this key to specify any dependencies required for your Django application. For example, below we use it to specify `libpq-dev`: 16 | 17 | ```text 18 | parts: 19 | django-framework/dependencies: 20 | stage-packages: 21 | # list required packages or slices for your Django application below. 22 | - libpq-dev 23 | ``` -------------------------------------------------------------------------------- /tmp/t/command-juju-revoke-secret.md: -------------------------------------------------------------------------------- 1 | (command-juju-revoke-secret)= 2 | # Command 'juju revoke-secret' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | 12 | ## Summary 13 | Revoke access to a secret. 14 | 15 | ## Usage 16 | ```juju revoke-secret [options] | [,...]``` 17 | 18 | ### Options 19 | | Flag | Default | Usage | 20 | | --- | --- | --- | 21 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 22 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 23 | 24 | ## Examples 25 | 26 | juju revoke-secret my-secret ubuntu-k8s 27 | juju revoke-secret 9m4e2mr0ui3e8a215n4g ubuntu-k8s,prometheus-k8s 28 | 29 | 30 | ## Details 31 | 32 | Revoke applications' access to view the value of a specified secret. -------------------------------------------------------------------------------- /tmp/t/command-juju-remove-secret.md: -------------------------------------------------------------------------------- 1 | (command-juju-remove-secret)= 2 | # Command 'juju remove-secret' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | 12 | ## Summary 13 | Remove a existing secret. 14 | 15 | ## Usage 16 | ```juju remove-secret [options] |``` 17 | 18 | ### Options 19 | | Flag | Default | Usage | 20 | | --- | --- | --- | 21 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 22 | | `--revision` | 0 | remove the specified revision | 23 | 24 | ## Examples 25 | 26 | juju remove-secret my-secret 27 | juju remove-secret secret:9m4e2mr0ui3e8a215n4g 28 | juju remove-secret secret:9m4e2mr0ui3e8a215n4g --revision 4 29 | 30 | 31 | ## Details 32 | 33 | Remove all the revisions of a secret with the specified URI or remove the provided revision only. -------------------------------------------------------------------------------- /tmp/t/command-juju-resolve.md: -------------------------------------------------------------------------------- 1 | (command-juju-resolve)= 2 | # Command 'juju resolve' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | **Alias:** resolved 12 | 13 | ## Summary 14 | Marks unit errors resolved and re-executes failed hooks. 15 | 16 | ## Usage 17 | ```juju resolve [options] [ ...]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--all` | false | Marks all units in error as resolved | 24 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 25 | | `--no-retry` | false | Do not re-execute failed hooks on the unit | 26 | 27 | ## Examples 28 | 29 | 30 | juju resolved mysql/0 31 | 32 | juju resolved mysql/0 mysql/1 33 | 34 | juju resolved --all -------------------------------------------------------------------------------- /tmp/t/command-juju-grant-cloud.md: -------------------------------------------------------------------------------- 1 | (command-juju-grant-cloud)= 2 | # Command 'juju grant-cloud' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`grant `, {ref}`revoke-cloud `, {ref}`add-user ` 12 | 13 | ## Summary 14 | Grants access level to a Juju user for a cloud. 15 | 16 | ## Usage 17 | ```juju grant-cloud [options] ...``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-c`, `--controller` | | Controller to operate in | 24 | 25 | ## Examples 26 | 27 | Grant user 'joe' 'add-model' access to cloud 'fluffy': 28 | 29 | juju grant-cloud joe add-model fluffy 30 | 31 | 32 | ## Details 33 | Valid access levels are: 34 | admin 35 | add-model -------------------------------------------------------------------------------- /tmp/t/command-juju-disable-user.md: -------------------------------------------------------------------------------- 1 | (command-juju-disable-user)= 2 | # Command 'juju disable-user' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`users `, {ref}`enable-user `, {ref}`login ` 12 | 13 | ## Summary 14 | Disables a Juju user. 15 | 16 | ## Usage 17 | ```juju disable-user [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-c`, `--controller` | | Controller to operate in | 24 | 25 | ## Examples 26 | 27 | juju disable-user bob 28 | 29 | 30 | ## Details 31 | A disabled Juju user is one that cannot log in to any controller. 32 | This command has no affect on models that the disabled user may have 33 | created and/or shared nor any applications associated with that user. -------------------------------------------------------------------------------- /tmp/t/command-juju-metrics.md: -------------------------------------------------------------------------------- 1 | (command-juju-metrics)= 2 | # Command 'juju metrics' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`collect-metrics ` 12 | 13 | ## Summary 14 | Retrieve metrics collected by specified entities. 15 | 16 | ## Usage 17 | ```juju metrics [options] [tag1[...tagN]]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--all` | false | retrieve metrics collected by all units in the model | 24 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 25 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 26 | | `-o`, `--output` | | Specify an output file | 27 | 28 | ## Details 29 | 30 | Display recently collected metrics. -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-analyse.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-analyse)= 2 | # Command 'charmcraft analyse' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft analyse [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Analyze a charm. 12 | 13 | Report the attributes and lint results directly in the terminal. Use `--force` to run even those configured to be ignored. 14 | 15 | ## Options: 16 | | | | 17 | |-|-| 18 | | `-h, --help` | Show this help message and exit | 19 | | `-v, --verbose` | Show debug information and be more verbose | 20 | | `-q, --quiet` | Only show warnings and errors, not progress | 21 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 22 | | `-V, --version` | Show the application version and exit | 23 | | `-p, --project-dir` | Specify the project's directory (defaults to current) | 24 | | `--format` | Produce the result in the specified format (currently only 'json') | 25 | | `--ignore` | Linters to ignore (comma separated) | 26 | 27 | ## See also: 28 | - `analyze` 29 | - `version` -------------------------------------------------------------------------------- /tmp/t/command-juju-unregister.md: -------------------------------------------------------------------------------- 1 | (command-juju-unregister)= 2 | # Command 'juju unregister' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`destroy-controller `, {ref}`kill-controller `, {ref}`register ` 12 | 13 | ## Summary 14 | Unregisters a Juju controller. 15 | 16 | ## Usage 17 | ```juju unregister [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `--no-prompt` | false | Do not ask for confirmation | 23 | 24 | ## Examples 25 | 26 | juju unregister my-controller 27 | 28 | 29 | ## Details 30 | 31 | Removes local connection information for the specified controller. This 32 | command does not destroy the controller. In order to regain access to an 33 | unregistered controller, it will need to be added again using the juju register 34 | command. -------------------------------------------------------------------------------- /tmp/t/command-juju-add-space.md: -------------------------------------------------------------------------------- 1 | (command-juju-add-space)= 2 | # Command 'juju add-space' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`spaces `, {ref}`remove-space ` 12 | 13 | ## Summary 14 | Add a new network space. 15 | 16 | ## Usage 17 | ```juju add-space [options] [ ...]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | 25 | ## Examples 26 | 27 | 28 | Add space "beta" with subnet 172.31.0.0/20: 29 | 30 | juju add-space beta 172.31.0.0/20 31 | 32 | 33 | ## Details 34 | Adds a new space with the given name and associates the given 35 | (optional) list of existing subnet CIDRs with it. -------------------------------------------------------------------------------- /tmp/t/command-juju-show-controller.md: -------------------------------------------------------------------------------- 1 | (command-juju-show-controller)= 2 | # Command 'juju show-controller' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`controllers ` 12 | 13 | ## Summary 14 | Shows detailed information of a controller. 15 | 16 | ## Usage 17 | ```juju show-controller [options] [ ...]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--format` | yaml | Specify output format (json|yaml) | 24 | | `-o`, `--output` | | Specify an output file | 25 | | `--show-password` | false | Show password for logged in user | 26 | 27 | ## Examples 28 | 29 | juju show-controller 30 | juju show-controller aws google 31 | 32 | 33 | ## Details 34 | Shows extended information about a controller(s) as well as related models 35 | and user login details. -------------------------------------------------------------------------------- /tmp/t/command-juju-agreements.md: -------------------------------------------------------------------------------- 1 | (command-juju-agreements)= 2 | # Command 'juju agreements' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`agree ` 12 | 13 | ## Summary 14 | List user's agreements. 15 | 16 | ### Options 17 | | Flag | Default | Usage | 18 | | --- | --- | --- | 19 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 20 | | `-c`, `--controller` | | Controller to operate in | 21 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 22 | | `-o`, `--output` | | Specify an output file | 23 | 24 | ## Examples 25 | 26 | juju agreements 27 | 28 | 29 | ## Details 30 | 31 | Charms may require a user to accept its terms in order for it to be deployed. 32 | In other words, some applications may only be installed if a user agrees to 33 | accept some terms defined by the charm. 34 | 35 | This command lists the terms that the user has agreed to. -------------------------------------------------------------------------------- /tmp/t/ops-ops.md: -------------------------------------------------------------------------------- 1 | (ops-ops)= 2 | # Ops (`ops`) 3 | 4 | In the charm SDK, the Ops (ops) library is a Python framework (available on PyPI) for developing and testing Juju charms with standard Python constructs, allowing for clean, maintainable, and reusable code and making charm development simple. 5 | 6 | Ops provides an object-oriented, high-level wrapper to respond to Juju hooks and interact with hook tools, among other things. 7 | 8 | While charm development has gone through multiple stages, Ops is the current state of the art. 9 | 10 | > See more: [About charming history](https://juju.is/docs/sdk/history) 11 | 12 | The remainder of this doc gives a high-level overview, highlighting the main abstractions. 13 | 14 | > For more, read the [Ops library API reference](https://ops.readthedocs.io/en/latest/), and see the source code on [GitHub](https://github.com/canonical/operator). 15 | 16 | 17 |
18 | 19 | **Contributors:** @benhoyt, @bittner, @dimaqq, @hpidcock , @ironcore864, @jnsgruk , @jose, @pengale, @ppasotti , @sed-i , @tmihoc, @tony-meyer, @toto -------------------------------------------------------------------------------- /tmp/t/command-juju-default-region.md: -------------------------------------------------------------------------------- 1 | (command-juju-default-region)= 2 | # Command 'juju default-region' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-credential ` 12 | 13 | ## Summary 14 | Sets the default region for a cloud. 15 | 16 | ## Usage 17 | ```juju default-region [options] []``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `--reset` | false | Reset default region for the cloud | 23 | 24 | ## Examples 25 | 26 | juju default-region azure-china chinaeast 27 | juju default-region azure-china 28 | juju default-region azure-china --reset 29 | 30 | 31 | ## Details 32 | The default region is specified directly as an argument. 33 | 34 | To unset previously set default region for a cloud, use --reset option. 35 | 36 | To confirm what region is currently set to be default for a cloud, 37 | use the command without region argument. -------------------------------------------------------------------------------- /tmp/t/the-juju-execution-flow-for-a-charm.md: -------------------------------------------------------------------------------- 1 | (the-juju-execution-flow-for-a-charm)= 2 | # The Juju execution flow for a charm 3 | 4 | This document describes the Juju execution flow for a Kubernetes / machine [charm](https://juju.is/docs/sdk/charmed-operators). 5 | 6 | The Juju [controller](https://juju.is/docs/olm/controller) sends an [event](https://juju.is/docs/sdk/event) to a unit [agent](https://juju.is/docs/olm/agent) that is in the charm container / VM. The unit agent executes the charm according to certain environment variables. When this happens, the environment variables are translated by the operator framework [Ops](https://juju.is/docs/sdk/ops) into the events in the charm code, and the charm then responds with the event handlers in the charm code. All of this is represented schematically in the diagram below, where the top depicts the situation for a Kubernetes charm and the bottom -- for a machine charm. 7 | 8 | ![image|690x660](upload://5OdbdBmJR6RDKSHp8pcdwfQ1Ay6.png) 9 | 10 | 11 | > See more: https://juju.is/docs/sdk/talking-to-a-workload-control-flow-from-a-to-z -------------------------------------------------------------------------------- /tmp/t/tutorials.md: -------------------------------------------------------------------------------- 1 | (tutorials)= 2 | # Tutorials 3 | 4 | End-to-end tutorial covering different aspects of COS for new users. 5 | 6 | # Installation and Deployment 7 | Get COS up and running on your MicroK8s environment with ease. This tutorial walks you through the steps required to deploy the COS Lite bundle, a Juju-based observability stack running on Kubernetes. 8 | - {ref}`Getting started on MicroK8s ` 9 | 10 | # Configuration 11 | In this tutorial you will learn how to make COS Lite automatically sync the alert rules of your git repo to Prometheus using the [COS Configuration charm](https://charmhub.io/cos-configuration-k8s/docs). 12 | - {ref}`Sync alert rules from Git ` 13 | 14 | # Instrumentation 15 | Bridge the gap between COS Lite running in Kubernetes and your application running on a machine. Discover how to collect telemetry data from your charmed application using the Grafana Agent machine charm. 16 | - {ref}`Instrumenting machine charms ` -------------------------------------------------------------------------------- /tmp/t/dynamic-storage.md: -------------------------------------------------------------------------------- 1 | (dynamic-storage)= 2 | # Dynamic storage 3 | 4 | > {ref}`Storage ` > Dynamic storage 5 | > 6 | > See also: {ref}`Storage provider ` 7 | 8 | 9 | Most storage can be dynamically added to, and removed from, a unit. Some types of storage, however, cannot be dynamically managed. For instance, Juju cannot disassociate MAAS disks from their respective MAAS nodes. These types of static storage can only be requested at deployment time and will be removed when the machine is removed from the model. 10 | 11 | Certain cloud providers may also impose restrictions when attaching storage. For example, attaching an EBS volume to an EC2 instance requires that they both reside within the same availability zone. If this is not the case, Juju will return an error. 12 | 13 | When deploying an application or unit that requires storage, using machine placement (i.e. `--to`) requires that the assigned storage be dynamic. Juju will return an error if you try to deploy a unit to an existing machine, while also attempting to allocate static storage. -------------------------------------------------------------------------------- /tmp/t/command-juju-remove-storage-pool.md: -------------------------------------------------------------------------------- 1 | (command-juju-remove-storage-pool)= 2 | # Command 'juju remove-storage-pool' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`create-storage-pool `, {ref}`update-storage-pool `, {ref}`storage-pools ` 12 | 13 | ## Summary 14 | Remove an existing storage pool. 15 | 16 | ## Usage 17 | ```juju remove-storage-pool [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | 25 | ## Examples 26 | 27 | Remove the storage-pool named fast-storage: 28 | 29 | juju remove-storage-pool fast-storage 30 | 31 | 32 | ## Details 33 | 34 | Remove a single existing storage pool. -------------------------------------------------------------------------------- /tmp/t/command-juju-enable-destroy-controller.md: -------------------------------------------------------------------------------- 1 | (command-juju-enable-destroy-controller)= 2 | # Command 'juju enable-destroy-controller' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`disable-command `, {ref}`disabled-commands `, {ref}`enable-command ` 12 | 13 | ## Summary 14 | Enable destroy-controller by removing disabled commands in the controller. 15 | 16 | ### Options 17 | | Flag | Default | Usage | 18 | | --- | --- | --- | 19 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 20 | | `-c`, `--controller` | | Controller to operate in | 21 | 22 | ## Details 23 | 24 | Any model in the controller that has disabled commands will block a controller 25 | from being destroyed. 26 | 27 | A controller administrator is able to enable all the commands across all the models 28 | in a Juju controller so that the controller can be destoyed if desired. -------------------------------------------------------------------------------- /tmp/t/command-juju-secrets.md: -------------------------------------------------------------------------------- 1 | (command-juju-secrets)= 2 | # Command 'juju secrets' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-secret `, {ref}`remove-secret `, {ref}`show-secret `, {ref}`update-secret ` 12 | 13 | ## Summary 14 | Lists secrets available in the model. 15 | 16 | ### Options 17 | | Flag | Default | Usage | 18 | | --- | --- | --- | 19 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 20 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 21 | | `-o`, `--output` | | Specify an output file | 22 | | `--owner` | | Include secrets for the specified owner | 23 | 24 | ## Examples 25 | 26 | juju secrets 27 | juju secrets --format yaml 28 | 29 | 30 | ## Details 31 | 32 | Displays the secrets available for charms to use if granted access. -------------------------------------------------------------------------------- /tmp/t/command-juju-set-meter-status.md: -------------------------------------------------------------------------------- 1 | (command-juju-set-meter-status)= 2 | # Command 'juju set-meter-status' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | 12 | ## Summary 13 | Sets the meter status on an application or unit. 14 | 15 | ## Usage 16 | ```juju set-meter-status [options] [application or unit] status``` 17 | 18 | ### Options 19 | | Flag | Default | Usage | 20 | | --- | --- | --- | 21 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 22 | | `--info` | | Set the meter status info to this string | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | 25 | ## Examples 26 | 27 | juju set-meter-status myapp RED 28 | juju set-meter-status myapp/0 AMBER --info "my message" 29 | 30 | 31 | 32 | ## Details 33 | 34 | Set meter status on the given application or unit. This command is used 35 | to test the meter-status-changed hook for charms in development. -------------------------------------------------------------------------------- /tmp/t/command-juju-show-user.md: -------------------------------------------------------------------------------- 1 | (command-juju-show-user)= 2 | # Command 'juju show-user' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-user `, {ref}`register `, {ref}`users ` 12 | 13 | ## Summary 14 | Show information about a user. 15 | 16 | ## Usage 17 | ```juju show-user [options] []``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-c`, `--controller` | | Controller to operate in | 23 | | `--exact-time` | false | Use full timestamp for connection times | 24 | | `--format` | yaml | Specify output format (json|yaml) | 25 | | `-o`, `--output` | | Specify an output file | 26 | 27 | ## Examples 28 | 29 | juju show-user 30 | juju show-user jsmith 31 | juju show-user --format json 32 | juju show-user --format yaml 33 | 34 | 35 | ## Details 36 | By default, the YAML format is used and the user name is the current 37 | user. -------------------------------------------------------------------------------- /tmp/t/command-juju-controllers.md: -------------------------------------------------------------------------------- 1 | (command-juju-controllers)= 2 | # Command 'juju controllers' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`models `, {ref}`show-controller ` 12 | 13 | ## Summary 14 | Lists all controllers. 15 | 16 | ### Options 17 | | Flag | Default | Usage | 18 | | --- | --- | --- | 19 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 20 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 21 | | `-o`, `--output` | | Specify an output file | 22 | | `--refresh` | false | Connect to each controller to download the latest details | 23 | 24 | ## Examples 25 | 26 | juju controllers 27 | juju controllers --format json --output ~/tmp/controllers.json 28 | 29 | 30 | 31 | ## Details 32 | The output format may be selected with the '--format' option. In the 33 | default tabular output, the current controller is marked with an asterisk. -------------------------------------------------------------------------------- /tmp/t/how-to-guides.md: -------------------------------------------------------------------------------- 1 | (how-to-guides)= 2 | # How-to guides 3 | 4 | These guides accompany you through the complete COS stack operations lifecycle. 5 | 6 | # Installation and migration 7 | > See also: {ref}`Getting started on MicroK8s ` tutorial 8 | 9 | For migrating from the existing LMA stack, see the following how-to: 10 | - {ref}`Migrate from LMA to COS ` 11 | 12 | # Configuration 13 | Once COS stack is deployed, the next step is integrating your charms and workloads with COS to enable monitoring: 14 | - {ref}`Configure Prometheus Scrape Jobs ` 15 | - {ref}`Expose a Metrics Endpoint ` 16 | - {ref}`Add Alert Rules ` 17 | - {ref}`Integrate COS Lite with uncharmed applications ` 18 | 19 | # Troubleshooting 20 | 21 | - {ref}`Troubleshoot Traefik "Gateway address unavailable" ` 22 | - {ref}`Fix `socket: too many open files` ` -------------------------------------------------------------------------------- /tmp/t/command-juju-list-agreements.md: -------------------------------------------------------------------------------- 1 | (command-juju-list-agreements)= 2 | # Command 'juju list-agreements' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`agree ` 12 | **Alias:** agreements 13 | 14 | ## Summary 15 | List user's agreements. 16 | 17 | ### Options 18 | | Flag | Default | Usage | 19 | | --- | --- | --- | 20 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 21 | | `-c`, `--controller` | | Controller to operate in | 22 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 23 | | `-o`, `--output` | | Specify an output file | 24 | 25 | ## Examples 26 | 27 | juju agreements 28 | 29 | 30 | ## Details 31 | 32 | Charms may require a user to accept its terms in order for it to be deployed. 33 | In other words, some applications may only be installed if a user agrees to 34 | accept some terms defined by the charm. 35 | 36 | This command lists the terms that the user has agreed to. -------------------------------------------------------------------------------- /tmp/t/command-juju-set-default-region.md: -------------------------------------------------------------------------------- 1 | (command-juju-set-default-region)= 2 | # Command 'juju set-default-region' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-credential ` 12 | **Alias:** default-region 13 | 14 | ## Summary 15 | Sets the default region for a cloud. 16 | 17 | ## Usage 18 | ```juju set-default-region [options] []``` 19 | 20 | ### Options 21 | | Flag | Default | Usage | 22 | | --- | --- | --- | 23 | | `--reset` | false | Reset default region for the cloud | 24 | 25 | ## Examples 26 | 27 | juju default-region azure-china chinaeast 28 | juju default-region azure-china 29 | juju default-region azure-china --reset 30 | 31 | 32 | ## Details 33 | The default region is specified directly as an argument. 34 | 35 | To unset previously set default region for a cloud, use --reset option. 36 | 37 | To confirm what region is currently set to be default for a cloud, 38 | use the command without region argument. -------------------------------------------------------------------------------- /tmp/t/command-juju-download-backup.md: -------------------------------------------------------------------------------- 1 | (command-juju-download-backup)= 2 | # Command 'juju download-backup' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`create-backup ` 12 | 13 | ## Summary 14 | Download a backup archive file. 15 | 16 | ## Usage 17 | ```juju download-backup [options] /full/path/to/backup/on/controller``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--filename` | | Download target | 24 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 25 | 26 | ## Examples 27 | 28 | juju download-backup /full/path/to/backup/on/controller 29 | 30 | 31 | ## Details 32 | 33 | download-backup retrieves a backup archive file. 34 | 35 | If --filename is not used, the archive is downloaded to a temporary 36 | location and the filename is printed to stdout. -------------------------------------------------------------------------------- /tmp/t/charm-publication.md: -------------------------------------------------------------------------------- 1 | (charm-publication)= 2 | # Charm publication 3 | 4 | > See also: {ref}`How to publish your charm to Charmhub ` 5 | 6 | In the context of software, **publication** refers to making the software widely available in some form or other. In the context of a charm, this can refer, for example, to making the charm project open source on social coding platforms (Bitbucket, Github, Launchpad, Sourceforge, etc.) or publishing it to the official charm store -- {ref}`Charmhub `. 7 | 8 | > See more: {ref}`Reasons to publish your charm on Charmhub ` 9 | 10 | 11 | -------------------------------------------------------------------------------- /tmp/t/command-juju-remove-k8s.md: -------------------------------------------------------------------------------- 1 | (command-juju-remove-k8s)= 2 | # Command 'juju remove-k8s' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-k8s ` 12 | 13 | ## Summary 14 | Removes a k8s cloud from Juju. 15 | 16 | ## Usage 17 | ```juju remove-k8s [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-c`, `--controller` | | Controller to operate in | 24 | | `--client` | false | Client operation | 25 | 26 | ## Examples 27 | 28 | juju remove-k8s myk8scloud 29 | juju remove-k8s myk8scloud --client 30 | juju remove-k8s --controller mycontroller myk8scloud 31 | 32 | 33 | ## Details 34 | 35 | Removes the specified k8s cloud from this client. 36 | 37 | If --controller is used, also removes the cloud 38 | from the specified controller (if it is not in use). 39 | 40 | Use --client option to update your current client. -------------------------------------------------------------------------------- /tmp/t/command-juju-collect-metrics.md: -------------------------------------------------------------------------------- 1 | (command-juju-collect-metrics)= 2 | # Command 'juju collect-metrics' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`metrics ` 12 | 13 | ## Summary 14 | Collect metrics on the given unit/application. 15 | 16 | ## Usage 17 | ```juju collect-metrics [options] [application or unit]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | 25 | ## Examples 26 | 27 | juju collect-metrics myapp 28 | 29 | juju collect-metrics myapp/0 30 | 31 | 32 | ## Details 33 | 34 | Trigger metrics collection 35 | 36 | This command waits for the metric collection to finish before returning. 37 | You may abort this command and it will continue to run asynchronously. 38 | Results may be checked by 'juju show-task'. -------------------------------------------------------------------------------- /tmp/t/command-juju-firewall-rules.md: -------------------------------------------------------------------------------- 1 | (command-juju-firewall-rules)= 2 | # Command 'juju firewall-rules' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`set-firewall-rule ` 12 | 13 | ## Summary 14 | Prints the firewall rules. 15 | 16 | ### Options 17 | | Flag | Default | Usage | 18 | | --- | --- | --- | 19 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 20 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 21 | | `-o`, `--output` | | Specify an output file | 22 | 23 | ## Examples 24 | 25 | juju firewall-rules 26 | 27 | 28 | 29 | ## Details 30 | 31 | Lists the firewall rules which control ingress to well known services 32 | within a Juju model. 33 | 34 | DEPRECATION WARNING: Firewall rules have been moved to model-config settings "ssh-allow" and 35 | "saas-ingress-allow". This command is deprecated in favour of 36 | reading/writing directly to these settings. -------------------------------------------------------------------------------- /tmp/t/command-juju-list-secrets.md: -------------------------------------------------------------------------------- 1 | (command-juju-list-secrets)= 2 | # Command 'juju list-secrets' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-secret `, {ref}`remove-secret `, {ref}`show-secret `, {ref}`update-secret ` 12 | **Alias:** secrets 13 | 14 | ## Summary 15 | Lists secrets available in the model. 16 | 17 | ### Options 18 | | Flag | Default | Usage | 19 | | --- | --- | --- | 20 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 21 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 22 | | `-o`, `--output` | | Specify an output file | 23 | | `--owner` | | Include secrets for the specified owner | 24 | 25 | ## Examples 26 | 27 | juju secrets 28 | juju secrets --format yaml 29 | 30 | 31 | ## Details 32 | 33 | Displays the secrets available for charms to use if granted access. -------------------------------------------------------------------------------- /tmp/t/command-juju-list-controllers.md: -------------------------------------------------------------------------------- 1 | (command-juju-list-controllers)= 2 | # Command 'juju list-controllers' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`models `, {ref}`show-controller ` 12 | **Alias:** controllers 13 | 14 | ## Summary 15 | Lists all controllers. 16 | 17 | ### Options 18 | | Flag | Default | Usage | 19 | | --- | --- | --- | 20 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 21 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 22 | | `-o`, `--output` | | Specify an output file | 23 | | `--refresh` | false | Connect to each controller to download the latest details | 24 | 25 | ## Examples 26 | 27 | juju controllers 28 | juju controllers --format json --output ~/tmp/controllers.json 29 | 30 | 31 | 32 | ## Details 33 | The output format may be selected with the '--format' option. In the 34 | default tabular output, the current controller is marked with an asterisk. -------------------------------------------------------------------------------- /tmp/t/command-juju-cancel-task.md: -------------------------------------------------------------------------------- 1 | (command-juju-cancel-task)= 2 | # Command 'juju cancel-task' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`show-task ` 12 | 13 | ## Summary 14 | Cancel pending or running tasks. 15 | 16 | ## Usage 17 | ```juju cancel-task [options] (|) [...]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--format` | yaml | Specify output format (json|yaml) | 24 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 25 | | `-o`, `--output` | | Specify an output file | 26 | 27 | ## Examples 28 | 29 | To cancel a task by ID: 30 | 31 | juju cancel-task 1 32 | 33 | To cancel multiple tasks by ID: 34 | 35 | juju cancel-task 1 2 3 36 | 37 | 38 | ## Details 39 | 40 | Cancel pending or running tasks matching given IDs or partial ID prefixes. -------------------------------------------------------------------------------- /tmp/t/command-juju-secret-backends.md: -------------------------------------------------------------------------------- 1 | (command-juju-secret-backends)= 2 | # Command 'juju secret-backends' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-secret-backend `, {ref}`remove-secret-backend `, {ref}`show-secret-backend `, {ref}`update-secret-backend ` 12 | 13 | ## Summary 14 | Lists secret backends available in the controller. 15 | 16 | ### Options 17 | | Flag | Default | Usage | 18 | | --- | --- | --- | 19 | | `-c`, `--controller` | | Controller to operate in | 20 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 21 | | `-o`, `--output` | | Specify an output file | 22 | | `--reveal` | false | Include sensitive backend config content | 23 | 24 | ## Examples 25 | 26 | juju secret-backends 27 | juju secret-backends --format yaml 28 | 29 | 30 | ## Details 31 | 32 | Displays the secret backends available for storing secret content. -------------------------------------------------------------------------------- /tmp/t/command-juju-machines.md: -------------------------------------------------------------------------------- 1 | (command-juju-machines)= 2 | # Command 'juju machines' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`status ` 12 | 13 | ## Summary 14 | Lists machines in a model. 15 | 16 | ### Options 17 | | Flag | Default | Usage | 18 | | --- | --- | --- | 19 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 20 | | `--color` | false | Force use of ANSI color codes | 21 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 22 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 23 | | `-o`, `--output` | | Specify an output file | 24 | | `--utc` | false | Display time as UTC in RFC3339 format | 25 | 26 | ## Examples 27 | 28 | juju machines 29 | 30 | 31 | ## Details 32 | 33 | By default, the tabular format is used. 34 | The following sections are included: ID, STATE, DNS, INS-ID, SERIES, AZ 35 | Note: AZ above is the cloud region's availability zone. -------------------------------------------------------------------------------- /tmp/t/event-container-pebble-custom-notice.md: -------------------------------------------------------------------------------- 1 | (event-container-pebble-custom-notice)= 2 | # Event '-pebble-custom-notice' 3 | 4 | > {ref}`Event ` > {ref}`List of events ` > {ref}`Lifecycle events ` > `-pebble-custom-notice` 5 | > 6 | > Source: [`ops.PebbleCustomNoticeEvent`](https://ops.readthedocs.io/en/latest/index.html#ops.PebbleCustomNoticeEvent) 7 | 8 | 12 | 13 | Juju emits the `-pebble-custom-notice` event when a Pebble notice of type "custom" occurs for the first time or repeats. There is one `-pebble-custom-notice` event for each container defined in `charmcraft.yaml`. This event allows the charm to respond to custom events that happen in the workload container. 14 | 15 | ```{note} 16 | 17 | This event is specific to Kubernetes sidecar charms and is only ever fired on Kubernetes deployments. 18 | 19 | ``` 20 | 21 | > See more: {ref}`How to use custom notices from the workload container <13019md>` -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-whoami.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-whoami)= 2 | # Command 'charmcraft whoami' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft whoami [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Show your Charmhub login status. 12 | 13 | See also `charmcraft login` and `charmcraft logout`. 14 | 15 | ## Options: 16 | | | | 17 | |-|-| 18 | | `-h, --help` | Show this help message and exit | 19 | | `-v, --verbose` | Show debug information and be more verbose | 20 | | `-q, --quiet` | Only show warnings and errors, not progress | 21 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 22 | | `-p, --project-dir` | Specify the project's directory (defaults to current) | 23 | | `--format` | Produce the result in the specified format (currently only 'json') | 24 | 25 | ## See also: 26 | - `close` 27 | - `create-lib` 28 | - `fetch-lib` 29 | - `list-lib` 30 | - `login` 31 | - `logout` 32 | - `names` 33 | - `promote-bundle` 34 | - `publish-lib` 35 | - `register` 36 | - `register-bundle` 37 | - `release` 38 | - `resource-revisions` 39 | - `resources` 40 | - `revisions` 41 | - `status` 42 | - `unregister` 43 | - `upload` 44 | - `upload-resource` -------------------------------------------------------------------------------- /tmp/t/command-juju-offer.md: -------------------------------------------------------------------------------- 1 | (command-juju-offer)= 2 | # Command 'juju offer' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`consume `, {ref}`integrate `, {ref}`remove-saas ` 12 | 13 | ## Summary 14 | Offer application endpoints for use in other models. 15 | 16 | ## Usage 17 | ```juju offer [options] [model-name.]:[,...] [offer-name]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-c`, `--controller` | | Controller to operate in | 24 | 25 | ## Examples 26 | 27 | juju offer mysql:db 28 | juju offer mymodel.mysql:db 29 | juju offer db2:db hosted-db2 30 | juju offer db2:db,log hosted-db2 31 | 32 | 33 | ## Details 34 | 35 | Deployed application endpoints are offered for use by consumers. 36 | By default, the offer is named after the application, unless 37 | an offer name is explicitly specified. -------------------------------------------------------------------------------- /tmp/t/command-juju-scale-application.md: -------------------------------------------------------------------------------- 1 | (command-juju-scale-application)= 2 | # Command 'juju scale-application' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`remove-application `, {ref}`add-unit `, {ref}`remove-unit ` 12 | 13 | ## Summary 14 | Set the desired number of k8s application units. 15 | 16 | ## Usage 17 | ```juju scale-application [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | 25 | ## Examples 26 | 27 | juju scale-application mariadb 2 28 | 29 | 30 | ## Details 31 | 32 | Scale a k8s application by specifying how many units there should be. 33 | The new number of units can be greater or less than the current number, thus 34 | allowing both scale up and scale down. -------------------------------------------------------------------------------- /tmp/t/high-availability-ha.md: -------------------------------------------------------------------------------- 1 | (high-availability-ha)= 2 | # High availability (HA) 3 | 4 | > See also: 5 | > - {ref}`How to make a controller highly available <1066md>` 6 | > - {ref}`How to make an application highly available <1066md>` 7 | 8 | In the context of a cloud deployment in general, **high availability (HA)** is the concept of making software resilient to failures by means of running multiple replicas with shared and synchronised software context -- something usually achieved through coordinated {ref}`scaling (horizontally and up) `. In Juju, it is supported for controllers on machine clouds and for regular applications on both machine and Kubernetes clouds 9 | 10 | 11 | ![Juju - Controller high availability (machines) |690x328](upload://7WEq2ZTtCpfnVQzSC7ULAdRMVub.png) 12 | 13 | ***Controller high availability (machine clouds).** Juju controllers can be made highly-available by enabling more than one machine to each run a separate controller unit with a separate controller agent instance, where each machine effectively becomes an instance of the controller. This set of Juju agents collectively use a database replicaset to achieve data synchronisation amongst them.* -------------------------------------------------------------------------------- /.sphinx/_templates/header.html: -------------------------------------------------------------------------------- 1 | 37 | -------------------------------------------------------------------------------- /tmp/t/command-juju-list-firewall-rules.md: -------------------------------------------------------------------------------- 1 | (command-juju-list-firewall-rules)= 2 | # Command 'juju list-firewall-rules' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`set-firewall-rule ` 12 | **Alias:** firewall-rules 13 | 14 | ## Summary 15 | Prints the firewall rules. 16 | 17 | ### Options 18 | | Flag | Default | Usage | 19 | | --- | --- | --- | 20 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 21 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 22 | | `-o`, `--output` | | Specify an output file | 23 | 24 | ## Examples 25 | 26 | juju firewall-rules 27 | 28 | 29 | 30 | ## Details 31 | 32 | Lists the firewall rules which control ingress to well known services 33 | within a Juju model. 34 | 35 | DEPRECATION WARNING: Firewall rules have been moved to model-config settings "ssh-allow" and 36 | "saas-ingress-allow". This command is deprecated in favour of 37 | reading/writing directly to these settings. -------------------------------------------------------------------------------- /tmp/t/command-juju-list-machines.md: -------------------------------------------------------------------------------- 1 | (command-juju-list-machines)= 2 | # Command 'juju list-machines' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`status ` 12 | **Alias:** machines 13 | 14 | ## Summary 15 | Lists machines in a model. 16 | 17 | ### Options 18 | | Flag | Default | Usage | 19 | | --- | --- | --- | 20 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 21 | | `--color` | false | Force use of ANSI color codes | 22 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | | `-o`, `--output` | | Specify an output file | 25 | | `--utc` | false | Display time as UTC in RFC3339 format | 26 | 27 | ## Examples 28 | 29 | juju machines 30 | 31 | 32 | ## Details 33 | 34 | By default, the tabular format is used. 35 | The following sections are included: ID, STATE, DNS, INS-ID, SERIES, AZ 36 | Note: AZ above is the cloud region's availability zone. -------------------------------------------------------------------------------- /tmp/t/command-juju-show-secret-backend.md: -------------------------------------------------------------------------------- 1 | (command-juju-show-secret-backend)= 2 | # Command 'juju show-secret-backend' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-secret-backend `, {ref}`secret-backends `, {ref}`remove-secret-backend `, {ref}`update-secret-backend ` 12 | 13 | ## Summary 14 | Displays the specified secret backend. 15 | 16 | ## Usage 17 | ```juju show-secret-backend [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-c`, `--controller` | | Controller to operate in | 23 | | `--format` | yaml | Specify output format (json|yaml) | 24 | | `-o`, `--output` | | Specify an output file | 25 | | `--reveal` | false | Include sensitive backend config content | 26 | 27 | ## Examples 28 | 29 | juju show-secret-backend myvault 30 | juju secret-backends myvault --reveal 31 | 32 | 33 | ## Details 34 | 35 | Displays the specified secret backend. -------------------------------------------------------------------------------- /tmp/t/command-juju-list-secret-backends.md: -------------------------------------------------------------------------------- 1 | (command-juju-list-secret-backends)= 2 | # Command 'juju list-secret-backends' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-secret-backend `, {ref}`remove-secret-backend `, {ref}`show-secret-backend `, {ref}`update-secret-backend ` 12 | **Alias:** secret-backends 13 | 14 | ## Summary 15 | Lists secret backends available in the controller. 16 | 17 | ### Options 18 | | Flag | Default | Usage | 19 | | --- | --- | --- | 20 | | `-c`, `--controller` | | Controller to operate in | 21 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 22 | | `-o`, `--output` | | Specify an output file | 23 | | `--reveal` | false | Include sensitive backend config content | 24 | 25 | ## Examples 26 | 27 | juju secret-backends 28 | juju secret-backends --format yaml 29 | 30 | 31 | ## Details 32 | 33 | Displays the secret backends available for storing secret content. -------------------------------------------------------------------------------- /tmp/t/command-juju-remove-cloud.md: -------------------------------------------------------------------------------- 1 | (command-juju-remove-cloud)= 2 | # Command 'juju remove-cloud' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-cloud `, {ref}`update-cloud `, {ref}`clouds ` 12 | 13 | ## Summary 14 | Removes a cloud from Juju. 15 | 16 | ## Usage 17 | ```juju remove-cloud [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-c`, `--controller` | | Controller to operate in | 24 | | `--client` | false | Client operation | 25 | 26 | ## Examples 27 | 28 | juju remove-cloud mycloud 29 | juju remove-cloud mycloud --client 30 | juju remove-cloud mycloud --controller mycontroller 31 | 32 | 33 | ## Details 34 | 35 | Remove a cloud from Juju. 36 | 37 | If --controller is used, also remove the cloud from the specified controller, 38 | if it is not in use. 39 | 40 | If --client is specified, Juju removes the cloud from this client. -------------------------------------------------------------------------------- /tmp/t/command-juju-remove-user.md: -------------------------------------------------------------------------------- 1 | (command-juju-remove-user)= 2 | # Command 'juju remove-user' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`unregister `, {ref}`revoke `, {ref}`show-user `, {ref}`users `, {ref}`disable-user `, {ref}`enable-user `, {ref}`change-user-password ` 12 | 13 | ## Summary 14 | Deletes a Juju user from a controller. 15 | 16 | ## Usage 17 | ```juju remove-user [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-c`, `--controller` | | Controller to operate in | 24 | | `-y`, `--yes` | false | Confirm deletion of the user | 25 | 26 | ## Examples 27 | 28 | juju remove-user bob 29 | juju remove-user bob --yes 30 | 31 | 32 | ## Details 33 | This removes a user permanently. 34 | 35 | By default, the controller is the current controller. -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-resources.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-resources)= 2 | # Command 'charmcraft resources' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft resources [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | An overview of the resources associated with a given charm in Charmhub. 12 | 13 | Listing resources will take you through login if needed. 14 | 15 | ## Options: 16 | | | | 17 | |-|-| 18 | | `-h, --help` | Show this help message and exit | 19 | | `-v, --verbose` | Show debug information and be more verbose | 20 | | `-q, --quiet` | Only show warnings and errors, not progress | 21 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 22 | | `-p, --project-dir` | Specify the project's directory (defaults to current) | 23 | | `--format` | Produce the result in the specified format (currently only 'json') | 24 | 25 | ## See also: 26 | - `close` 27 | - `create-lib` 28 | - `fetch-lib` 29 | - `list-lib` 30 | - `login` 31 | - `logout` 32 | - `names` 33 | - `promote-bundle` 34 | - `publish-lib` 35 | - `register` 36 | - `register-bundle` 37 | - `release` 38 | - `resource-revisions` 39 | - `revisions` 40 | - `status` 41 | - `unregister` 42 | - `upload` 43 | - `upload-resource` 44 | - `whoami` -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-unregister.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-unregister)= 2 | # Command 'charmcraft unregister' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft unregister [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Unregister a name in the Store. 12 | 13 | Unregister a name from Charmhub if no revisions have been uploaded. 14 | 15 | A package cannot be unregistered if something has been uploaded to the name. This command is only for unregistering names that have never been used. Unregistering must be done by the publisher. Attempting to unregister a charm or bundle as a collaborator will fail. 16 | 17 | We discuss registrations on Charmhub's Discourse: 18 | 19 | ```text 20 | https://discourse.charmhub.io/c/charm 21 | ``` 22 | 23 | ## Options: 24 | | | | 25 | |-|-| 26 | | `-h, --help` | Show this help message and exit | 27 | | `-v, --verbose` | Show debug information and be more verbose | 28 | | `-q, --quiet` | Only show warnings and errors, not progress | 29 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 30 | | `-V, --version` | Show the application version and exit | 31 | 32 | ## See also: 33 | - `login` 34 | - `logout` 35 | - `names` 36 | - `register` 37 | - `register-bundle` 38 | - `whoami` -------------------------------------------------------------------------------- /tmp/t/command-juju-rename-space.md: -------------------------------------------------------------------------------- 1 | (command-juju-rename-space)= 2 | # Command 'juju rename-space' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-space `, {ref}`spaces `, {ref}`reload-spaces `, {ref}`remove-space `, {ref}`show-space ` 12 | 13 | ## Summary 14 | Rename a network space. 15 | 16 | ## Usage 17 | ```juju rename-space [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | | `--rename` | | the new name for the network space | 25 | 26 | ## Examples 27 | 28 | Rename a space from db to fe: 29 | 30 | juju rename-space db fe 31 | 32 | 33 | ## Details 34 | Renames an existing space from "old-name" to "new-name". Does not change the 35 | associated subnets and "new-name" must not match another existing space. -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-promote-bundle.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-promote-bundle)= 2 | # Command 'charmcraft promote-bundle' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft promote-bundle [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Promote a bundle to another channel in the Store. 12 | 13 | This command must be run from the bundle project directory to be promoted. 14 | 15 | ## Options: 16 | | | | 17 | |-|-| 18 | | `-h, --help` | Show this help message and exit | 19 | | `-v, --verbose` | Show debug information and be more verbose | 20 | | `-q, --quiet` | Only show warnings and errors, not progress | 21 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 22 | | `-V, --version` | Show the application version and exit | 23 | | `--from-channel` | The channel from which to promote the bundle | 24 | | `--to-channel` | The target channel for the promoted bundle | 25 | | `--output-bundle` | A path where the created bundle.yaml file can be written | 26 | | `--exclude` | Any charms to exclude from the promotion process | 27 | 28 | ## See also: 29 | - `close` 30 | - `release` 31 | - `resource-revisions` 32 | - `resources` 33 | - `revisions` 34 | - `set-resource-architectures` 35 | - `status` 36 | - `upload` 37 | - `upload-resource` -------------------------------------------------------------------------------- /tmp/t/command-juju-payloads.md: -------------------------------------------------------------------------------- 1 | (command-juju-payloads)= 2 | # Command 'juju payloads' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | 12 | ## Summary 13 | Display status information about known payloads. 14 | 15 | ## Usage 16 | ```juju payloads [options] [pattern ...]``` 17 | 18 | ### Options 19 | | Flag | Default | Usage | 20 | | --- | --- | --- | 21 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 22 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | | `-o`, `--output` | | Specify an output file | 25 | 26 | ## Details 27 | 28 | This command will report on the runtime state of defined payloads. 29 | 30 | When one or more pattern is given, Juju will limit the results to only 31 | those payloads which match *any* of the provided patterns. Each pattern 32 | will be checked against the following info in Juju: 33 | 34 | - unit name 35 | - machine id 36 | - payload type 37 | - payload class 38 | - payload id 39 | - payload tag 40 | - payload status -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-build.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-build)= 2 | # Command 'charmcraft build' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft build [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Build artifacts defined for a part. If part names are specified only those parts will be built, otherwise all parts will be built. 12 | 13 | ## Options: 14 | | | | 15 | |-|-| 16 | | `-h, --help` | Show this help message and exit | 17 | | `-v, --verbose` | Show debug information and be more verbose | 18 | | `-q, --quiet` | Only show warnings and errors, not progress | 19 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 20 | | `-V, --version` | Show the application version and exit | 21 | | `--destructive-mode` | Build in the current host | 22 | | `--use-lxd` | Build in a LXD container. | 23 | | `--shell` | Shell into the environment in lieu of the step to run. | 24 | | `--shell-after` | Shell into the environment after the step has run. | 25 | | `--debug` | Shell into the environment if the build fails. | 26 | | `--platform` | Set platform to build for | 27 | | `--build-for` | Set architecture to build for | 28 | 29 | ## See also: 30 | - `clean` 31 | - `pack` 32 | - `prime` 33 | - `pull` 34 | - `remote-build` 35 | - `stage` -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-fetch-libs.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-fetch-libs)= 2 | # Command `charmcraft fetch-libs` 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft fetch-libs [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Fetch charm libraries defined in charmcraft.yaml. 12 | 13 | For each library in the top-level `charm-libs` key, fetch the latest library version matching those requirements. 14 | 15 | For example: charm-libs: # Fetch lib with API version 0. # If `fetch-libs` is run and a newer minor version is available, # it will be fetched from the store. - lib: postgresql.postgres_client version: "0" # Always fetch precisely version 0.57. - lib: mysql.client version: "0.57" 16 | 17 | ## Options: 18 | | | | 19 | |-|-| 20 | | `-h, --help` | Show this help message and exit | 21 | | `-v, --verbose` | Show debug information and be more verbose | 22 | | `-q, --quiet` | Only show warnings and errors, not progress | 23 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 24 | | `-V, --version` | Show the application version and exit | 25 | | `--format` | Produce the result in the specified format (currently only 'json') | 26 | 27 | ## See also: 28 | - `create-lib` 29 | - `fetch-lib` 30 | - `list-lib` 31 | - `publish-lib` -------------------------------------------------------------------------------- /tmp/t/plugin.md: -------------------------------------------------------------------------------- 1 | (plugin)= 2 | # Plugin 3 | 4 | > See also: {ref}`How to manage plugins ` 5 | 6 | A `juju` plugin is an external command that works with `juju` but which is not part of the `juju` core code. 7 | 8 | 9 | 10 | At a more technical level, a `juju` plugin is any executable file in your `$PATH` that begins with `juju-`. Although you can run these independently of the Juju command line (`juju-`), Juju will also wrap these commands so they can be run within Juju (`juju `). 11 | 12 | 15 | 16 | > See more: 17 | > - {ref}`List of known Juju plugins ` 18 | > - {ref}`Plugin flags ` 19 | 20 | -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-pull.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-pull)= 2 | # Command 'charmcraft pull' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft pull [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Download or retrieve artifacts defined for a part. If part names are specified only those parts will be pulled, otherwise all parts will be pulled. 12 | 13 | ## Options: 14 | | | | 15 | |-|-| 16 | | `-h, --help` | Show this help message and exit | 17 | | `-v, --verbose` | Show debug information and be more verbose | 18 | | `-q, --quiet` | Only show warnings and errors, not progress | 19 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 20 | | `-V, --version` | Show the application version and exit | 21 | | `--destructive-mode` | Build in the current host | 22 | | `--use-lxd` | Build in a LXD container. | 23 | | `--shell` | Shell into the environment in lieu of the step to run. | 24 | | `--shell-after` | Shell into the environment after the step has run. | 25 | | `--debug` | Shell into the environment if the build fails. | 26 | | `--platform` | Set platform to build for | 27 | | `--build-for` | Set architecture to build for | 28 | 29 | ## See also: 30 | - `build` 31 | - `clean` 32 | - `pack` 33 | - `prime` 34 | - `remote-build` 35 | - `stage` -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-stage.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-stage)= 2 | # Command 'charmcraft stage' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft stage [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Stage built artifacts into a common staging area. If part names are specified only those parts will be staged. The default is to stage all parts. 12 | 13 | ## Options: 14 | | | | 15 | |-|-| 16 | | `-h, --help` | Show this help message and exit | 17 | | `-v, --verbose` | Show debug information and be more verbose | 18 | | `-q, --quiet` | Only show warnings and errors, not progress | 19 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 20 | | `-V, --version` | Show the application version and exit | 21 | | `--destructive-mode` | Build in the current host | 22 | | `--use-lxd` | Build in a LXD container. | 23 | | `--shell` | Shell into the environment in lieu of the step to run. | 24 | | `--shell-after` | Shell into the environment after the step has run. | 25 | | `--debug` | Shell into the environment if the build fails. | 26 | | `--platform` | Set platform to build for | 27 | | `--build-for` | Set architecture to build for | 28 | 29 | ## See also: 30 | - `build` 31 | - `clean` 32 | - `pack` 33 | - `prime` 34 | - `pull` 35 | - `remote-build` -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-version.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-version)= 2 | # Command 'charmcraft version' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft version [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Show charmcraft version. 12 | 13 | The output has the following format: `X.Y.Z[+N.gHASH[.dirty]]` 14 | 15 | Where: 16 | 17 | - `X`, `Y` and `Z` are the major, minor and patch version numbers, upgraded when a release is done 18 | 19 | - `+N.gHASH` is present if using charmcraft from the project (how many commits after last release, and last commit's hash) 20 | 21 | - `.dirty` is present if the branch you're executing charmcraft from has modifications 22 | 23 | Example: `0.3.1+40.g883455b.dirty` 24 | 25 | ## Options: 26 | | | | 27 | |-|-| 28 | | `-h, --help` | Show this help message and exit | 29 | | `-v, --verbose` | Show debug information and be more verbose | 30 | | `-q, --quiet` | Only show warnings and errors, not progress | 31 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 32 | | `-p, --project-dir` | Specify the project's directory (defaults to current) | 33 | | `--format` | Produce the result in the specified format (currently only 'json') | 34 | 35 | ## See also: 36 | - `analyze` 37 | - `clean` 38 | - `init` 39 | - `pack` -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-logout.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-logout)= 2 | # Command 'charmcraft logout' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft logout [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Clear the Charmhub token. 12 | 13 | Charmcraft will remove the local token used for Charmhub access. This is important on any shared system because the token allows manipulation of your published charms. 14 | 15 | See also `charmcraft whoami` to verify that you are logged in, and `charmcraft login`. 16 | 17 | ## Options: 18 | | | | 19 | |-|-| 20 | | `-h, --help` | Show this help message and exit | 21 | | `-v, --verbose` | Show debug information and be more verbose | 22 | | `-q, --quiet` | Only show warnings and errors, not progress | 23 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 24 | | `-p, --project-dir` | Specify the project's directory (defaults to current) | 25 | 26 | ## See also: 27 | - `close` 28 | - `create-lib` 29 | - `fetch-lib` 30 | - `list-lib` 31 | - `login` 32 | - `names` 33 | - `promote-bundle` 34 | - `publish-lib` 35 | - `register` 36 | - `register-bundle` 37 | - `release` 38 | - `resource-revisions` 39 | - `resources` 40 | - `revisions` 41 | - `status` 42 | - `unregister` 43 | - `upload` 44 | - `upload-resource` 45 | - `whoami` -------------------------------------------------------------------------------- /tmp/t/command-juju-revoke-cloud.md: -------------------------------------------------------------------------------- 1 | (command-juju-revoke-cloud)= 2 | # Command 'juju revoke-cloud' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`grant-cloud ` 12 | 13 | ## Summary 14 | Revokes access from a Juju user for a cloud. 15 | 16 | ## Usage 17 | ```juju revoke-cloud [options] ...``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-c`, `--controller` | | Controller to operate in | 24 | 25 | ## Examples 26 | 27 | Revoke 'add-model' (and 'admin') access from user 'joe' for cloud 'fluffy': 28 | 29 | juju revoke-cloud joe add-model fluffy 30 | 31 | Revoke 'admin' access from user 'sam' for clouds 'fluffy' and 'rainy': 32 | 33 | juju revoke-cloud sam admin fluffy rainy 34 | 35 | 36 | 37 | ## Details 38 | Revoking admin access, from a user who has that permission, will leave 39 | that user with add-model access. Revoking add-model access, however, also revokes 40 | admin access. 41 | 42 | Valid access levels are: 43 | admin 44 | add-model -------------------------------------------------------------------------------- /tmp/t/command-juju-show-machine.md: -------------------------------------------------------------------------------- 1 | (command-juju-show-machine)= 2 | # Command 'juju show-machine' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-machine ` 12 | 13 | ## Summary 14 | Show a machine's status. 15 | 16 | ## Usage 17 | ```juju show-machine [options] ...``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--color` | false | Force use of ANSI color codes | 24 | | `--format` | yaml | Specify output format (json|tabular|yaml) | 25 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 26 | | `-o`, `--output` | | Specify an output file | 27 | | `--utc` | false | Display time as UTC in RFC3339 format | 28 | 29 | ## Examples 30 | 31 | juju show-machine 0 32 | juju show-machine 1 2 3 33 | 34 | 35 | ## Details 36 | 37 | Show a specified machine on a model. Default format is in yaml, 38 | other formats can be specified with the "--format" option. 39 | Available formats are yaml, tabular, and json -------------------------------------------------------------------------------- /tmp/t/event-storage-name-storage-attached.md: -------------------------------------------------------------------------------- 1 | (event-storage-name-storage-attached)= 2 | # Event '-storage-attached' 3 | 4 | > {ref}`Event ` > {ref}`List of events ` > {ref}`Storage events ` > `-storage-attached` 5 | 6 | 7 | This document describes the `-storage-attached` event. The event informs a charm that a storage volume has been attached, and is ready to interact with. 8 | 9 | 10 | **Contents:** 11 | - [Emission sequence](#heading--emission-sequence) 12 | - [Observing this event in Ops](#heading--observing-this-event-in-ops) 13 | 14 | 15 |

Emission sequence

16 | 17 | The event is emitted after a storage volume has been attached to the charm's host machine or container. 18 | 19 |

Observing this event in Ops

20 | 21 | In `ops`, you can observe the `remove` event like you would any other: 22 | 23 | ``` 24 | self.framework.observe(self.on.-storage-attached, self._on_-storage-attached) 25 | ``` 26 | 27 | The event object contains information about what volume was attached, at what path. -------------------------------------------------------------------------------- /tmp/t/command-juju-actions.md: -------------------------------------------------------------------------------- 1 | (command-juju-actions)= 2 | # Command 'juju actions' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`run `, {ref}`show-action ` 12 | 13 | ## Summary 14 | List actions defined for an application. 15 | 16 | ## Usage 17 | ```juju actions [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--format` | default | Specify output format (default|json|tabular|yaml) | 24 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 25 | | `-o`, `--output` | | Specify an output file | 26 | | `--schema` | false | Display the full action schema | 27 | 28 | ## Examples 29 | 30 | juju actions postgresql 31 | juju actions postgresql --format yaml 32 | juju actions postgresql --schema 33 | 34 | 35 | ## Details 36 | 37 | List the actions available to run on the target application, with a short 38 | description. To show the full schema for the actions, use --schema. -------------------------------------------------------------------------------- /tmp/t/command-juju-show-application.md: -------------------------------------------------------------------------------- 1 | (command-juju-show-application)= 2 | # Command 'juju show-application' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | 12 | ## Summary 13 | Displays information about an application. 14 | 15 | ## Usage 16 | ```juju show-application [options] ``` 17 | 18 | ### Options 19 | | Flag | Default | Usage | 20 | | --- | --- | --- | 21 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 22 | | `--format` | yaml | Specify output format (json|smart|yaml) | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | | `-o`, `--output` | | Specify an output file | 25 | 26 | ## Examples 27 | 28 | juju show-application mysql 29 | juju show-application mysql wordpress 30 | 31 | juju show-application myapplication 32 | 33 | where "myapplication" is the application name alias; see "juju help deploy" for more information. 34 | 35 | 36 | ## Details 37 | 38 | The command takes deployed application names or aliases as an argument. 39 | 40 | The command does an exact search. It does not support wildcards. -------------------------------------------------------------------------------- /tmp/t/command-juju-list-payloads.md: -------------------------------------------------------------------------------- 1 | (command-juju-list-payloads)= 2 | # Command 'juju list-payloads' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | **Alias:** payloads 12 | 13 | ## Summary 14 | Display status information about known payloads. 15 | 16 | ## Usage 17 | ```juju list-payloads [options] [pattern ...]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 24 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 25 | | `-o`, `--output` | | Specify an output file | 26 | 27 | ## Details 28 | 29 | This command will report on the runtime state of defined payloads. 30 | 31 | When one or more pattern is given, Juju will limit the results to only 32 | those payloads which match *any* of the provided patterns. Each pattern 33 | will be checked against the following info in Juju: 34 | 35 | - unit name 36 | - machine id 37 | - payload type 38 | - payload class 39 | - payload id 40 | - payload tag 41 | - payload status -------------------------------------------------------------------------------- /tmp/t/command-juju-trust.md: -------------------------------------------------------------------------------- 1 | (command-juju-trust)= 2 | # Command 'juju trust' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`config ` 12 | 13 | ## Summary 14 | Sets the trust status of a deployed application to true. 15 | 16 | ## Usage 17 | ```juju trust [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | | `--remove` | false | Remove trusted access from a trusted application | 25 | | `--scope` | | k8s models only - needs to be set to 'cluster' | 26 | 27 | ## Examples 28 | 29 | juju trust media-wiki 30 | juju trust metallb --scope=cluster 31 | 32 | 33 | ## Details 34 | Sets the trust configuration value to true. 35 | 36 | On k8s models, the trust operation currently grants the charm full access to the cluster. 37 | Until the permissions model is refined to grant more granular role based access, the use of 38 | '--scope=cluster' is required to confirm this choice. -------------------------------------------------------------------------------- /tmp/t/command-juju-update-public-clouds.md: -------------------------------------------------------------------------------- 1 | (command-juju-update-public-clouds)= 2 | # Command 'juju update-public-clouds' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`clouds ` 12 | 13 | ## Summary 14 | Updates public cloud information available to Juju. 15 | 16 | ### Options 17 | | Flag | Default | Usage | 18 | | --- | --- | --- | 19 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 20 | | `-c`, `--controller` | | Controller to operate in | 21 | | `--client` | false | Client operation | 22 | 23 | ## Examples 24 | 25 | juju update-public-clouds 26 | juju update-public-clouds --client 27 | juju update-public-clouds --controller mycontroller 28 | 29 | 30 | ## Details 31 | 32 | If any new information for public clouds (such as regions and connection 33 | endpoints) are available this command will update Juju accordingly. It is 34 | suggested to run this command periodically. 35 | 36 | Use --controller option to update public cloud(s) on a controller. The command 37 | will only update the clouds that a controller knows about. 38 | 39 | Use --client to update a definition of public cloud(s) on this client. -------------------------------------------------------------------------------- /tmp/t/command-juju-remove-secret-backend.md: -------------------------------------------------------------------------------- 1 | (command-juju-remove-secret-backend)= 2 | # Command 'juju remove-secret-backend' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-secret-backend `, {ref}`secret-backends `, {ref}`show-secret-backend `, {ref}`update-secret-backend ` 12 | 13 | ## Summary 14 | Removes a secret backend from the controller. 15 | 16 | ## Usage 17 | ```juju remove-secret-backend [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-c`, `--controller` | | Controller to operate in | 23 | | `--force` | false | force removal even if the backend stores in-use secrets | 24 | 25 | ## Examples 26 | 27 | juju remove-secret-backend myvault 28 | juju remove-secret-backend myvault --force 29 | 30 | 31 | ## Details 32 | 33 | Removes a secret backend, used for storing secret content. 34 | If the backend is being used to store secrets currently in use, 35 | the --force option can be supplied to force the removal, but be 36 | warned, this will affect charms which use those secrets. -------------------------------------------------------------------------------- /tmp/t/the-google-gke-cloud-and-juju.md: -------------------------------------------------------------------------------- 1 | (the-google-gke-cloud-and-juju)= 2 | # The Google GKE cloud and Juju 3 | 4 | 5 | 6 | > {ref}`List of supported clouds ` > Google GKE 7 | 8 | This document describes details specific to using your existing Google GKE cloud with Juju. 9 | 10 | > See more: [Google GKE](https://cloud.google.com/kubernetes-engine/docs) 11 | 12 | When using the Google GKE cloud with Juju, it is important to keep in mind that it is a (1) {ref}`Kubernetes cloud <3341md>` and (2) {ref}`not some other cloud <3341md>`. 13 | 14 | > See more: {ref}`Cloud differences in Juju <3341md>`, {ref}`Kubernetes clouds and Juju ` 15 | 16 | As the differences related to (1) are already documented generically in our {ref}`Tutorial `, {ref}`How-to guides `, and {ref}`Reference ` docs, here we record just those that follow from (2). 17 | 18 | ## Notes on `add-k8s` 19 | 20 | Starting with Juju 3.0, because of the fact that the `juju` client snap is strictly confined but the GKE cloud CLI snap is not, you must run the `add-k8s` command with the 'raw' client. See note in {ref}`How to add a Kubernetes cloud <3341md>`. -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-prime.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-prime)= 2 | # Command 'charmcraft prime' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft prime [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Prepare the final payload to be packed, performing additional processing and adding metadata files. If part names are specified only those parts will be primed. The default is to prime all parts. 12 | 13 | ## Options: 14 | | | | 15 | |-|-| 16 | | `-h, --help` | Show this help message and exit | 17 | | `-v, --verbose` | Show debug information and be more verbose | 18 | | `-q, --quiet` | Only show warnings and errors, not progress | 19 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 20 | | `-V, --version` | Show the application version and exit | 21 | | `--destructive-mode` | Build in the current host | 22 | | `--use-lxd` | Build in a LXD container. | 23 | | `--shell` | Shell into the environment in lieu of the step to run. | 24 | | `--shell-after` | Shell into the environment after the step has run. | 25 | | `--debug` | Shell into the environment if the build fails. | 26 | | `--platform` | Set platform to build for | 27 | | `--build-for` | Set architecture to build for | 28 | 29 | ## See also: 30 | - `build` 31 | - `clean` 32 | - `pack` 33 | - `pull` 34 | - `remote-build` 35 | - `stage` -------------------------------------------------------------------------------- /tmp/t/command-juju-resume-relation.md: -------------------------------------------------------------------------------- 1 | (command-juju-resume-relation)= 2 | # Command 'juju resume-relation' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`integrate `, {ref}`offers `, {ref}`remove-relation `, {ref}`suspend-relation ` 12 | 13 | ## Summary 14 | Resumes a suspended relation to an application offer. 15 | 16 | ## Usage 17 | ```juju resume-relation [options] [,]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | 25 | ## Examples 26 | 27 | juju resume-relation 123 28 | juju resume-relation 123 456 29 | 30 | 31 | ## Details 32 | 33 | A relation between an application in another model and an offer in this model will be resumed. 34 | The relation-joined and relation-changed hooks will be run for the relation, and the relation 35 | status will be set to joined. The relation is specified using its id. -------------------------------------------------------------------------------- /tmp/t/command-juju-update-storage-pool.md: -------------------------------------------------------------------------------- 1 | (command-juju-update-storage-pool)= 2 | # Command 'juju update-storage-pool' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`create-storage-pool `, {ref}`remove-storage-pool `, {ref}`storage-pools ` 12 | 13 | ## Summary 14 | Update storage pool attributes. 15 | 16 | ## Usage 17 | ```juju update-storage-pool [options] [= [=...]]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | 25 | ## Examples 26 | 27 | Update the storage-pool named iops with new configuration details: 28 | 29 | juju update-storage-pool operator-storage volume-type=provisioned-iops iops=40 30 | 31 | Update which provider the pool is for: 32 | 33 | juju update-storage-pool lxd-storage type=lxd-zfs 34 | 35 | 36 | ## Details 37 | 38 | Update configuration attributes for a single existing storage pool. -------------------------------------------------------------------------------- /tmp/t/offer.md: -------------------------------------------------------------------------------- 1 | (offer)= 2 | # Offer 3 | 4 | > See also: {ref}`How to manage offers ` 5 | 6 | In Juju, an **offer** represents an {ref}`application ` that has been made available for {ref}`cross-model integrations `. 7 | 8 | When you are integrating an application with an offer, what you're doing is consume + integrate, where consume = validate that your user has permission to consume the offer + create a local application proxy for the application and integrate is the usual local integrate. 9 | 10 | -------------------------------------------------------------------------------- /tmp/t/charms-vs-kubernetes-operators.md: -------------------------------------------------------------------------------- 1 | (charms-vs-kubernetes-operators)= 2 | # Charms vs. Kubernetes operators 3 | 4 | A [charm](https://juju.is/docs/sdk/charmed-operators) is an expansion and generalization of the [Kubernetes notion of an operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/). 5 | 6 | In the Kubernetes tradition, an operator is a container that drives lifecycle management, configuration, integration, and daily actions for an application. It handles instantiation, scaling, configuration, optimisation, networking, service mesh, observability, and Day 2 operations specific to that application. On the principle that an operator should ‘do one thing and do it well’, each operator drives a single application or service. However, it can be composed with other operators to deliver a complex application or service. Because operators package expert knowledge in a reusable and shareable form, they hugely simplify software management and operations. 7 | 8 | In Juju, an operator does all that but supports even more uses and more infrastructures: With *charms* (coordinated by [Juju](https://juju.is/docs/juju)) you can not only deploy an application but also connect it to other applications, and you can use not just Kubernetes clusters, but containers, virtual machines, and bare metal machines as well, on public or private cloud. -------------------------------------------------------------------------------- /tmp/t/command-juju-remove-saas.md: -------------------------------------------------------------------------------- 1 | (command-juju-remove-saas)= 2 | # Command 'juju remove-saas' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`consume `, {ref}`offer ` 12 | 13 | ## Summary 14 | Remove consumed applications (SAAS) from the model. 15 | 16 | ## Usage 17 | ```juju remove-saas [options] [...]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--force` | false | Completely remove a SAAS and all its dependencies | 24 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 25 | | `--no-wait` | false | Rush through SAAS removal without waiting for each individual step to complete | 26 | 27 | ## Examples 28 | 29 | juju remove-saas hosted-mysql 30 | juju remove-saas -m test-model hosted-mariadb 31 | 32 | 33 | 34 | ## Details 35 | Removing a consumed (SAAS) application will terminate any relations that 36 | application has, potentially leaving any related local applications 37 | in a non-functional state. -------------------------------------------------------------------------------- /tmp/t/command-juju-show-space.md: -------------------------------------------------------------------------------- 1 | (command-juju-show-space)= 2 | # Command 'juju show-space' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-space `, {ref}`spaces `, {ref}`reload-spaces `, {ref}`rename-space `, {ref}`remove-space ` 12 | 13 | ## Summary 14 | Shows information about the network space. 15 | 16 | ## Usage 17 | ```juju show-space [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--format` | yaml | Specify output format (json|yaml) | 24 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 25 | | `-o`, `--output` | | Specify an output file | 26 | 27 | ## Examples 28 | 29 | Show a space by name: 30 | 31 | juju show-space alpha 32 | 33 | 34 | ## Details 35 | Displays extended information about a given space. 36 | Output includes the space subnets, applications with bindings to the space, 37 | and a count of machines connected to the space. -------------------------------------------------------------------------------- /tmp/t/command-juju-detach-storage.md: -------------------------------------------------------------------------------- 1 | (command-juju-detach-storage)= 2 | # Command 'juju detach-storage' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`storage `, {ref}`attach-storage ` 12 | 13 | ## Summary 14 | Detaches storage from units. 15 | 16 | ## Usage 17 | ```juju detach-storage [options] [ ...]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--force` | false | Forcefully detach storage | 24 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 25 | 26 | ## Examples 27 | 28 | juju detach-storage pgdata/0 29 | juju detach-storage --force pgdata/0 30 | 31 | 32 | 33 | ## Details 34 | 35 | Detaches storage from units. Specify one or more unit/application storage IDs, 36 | as output by "juju storage". The storage will remain in the model until it is 37 | removed by an operator. 38 | 39 | Detaching storage may fail but under some circumstances, Juju user may need 40 | to force storage detachment despite operational errors. -------------------------------------------------------------------------------- /tmp/t/command-juju-list-actions.md: -------------------------------------------------------------------------------- 1 | (command-juju-list-actions)= 2 | # Command 'juju list-actions' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`run `, {ref}`show-action ` 12 | **Alias:** actions 13 | 14 | ## Summary 15 | List actions defined for an application. 16 | 17 | ## Usage 18 | ```juju list-actions [options] ``` 19 | 20 | ### Options 21 | | Flag | Default | Usage | 22 | | --- | --- | --- | 23 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 24 | | `--format` | default | Specify output format (default|json|tabular|yaml) | 25 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 26 | | `-o`, `--output` | | Specify an output file | 27 | | `--schema` | false | Display the full action schema | 28 | 29 | ## Examples 30 | 31 | juju actions postgresql 32 | juju actions postgresql --format yaml 33 | juju actions postgresql --schema 34 | 35 | 36 | ## Details 37 | 38 | List the actions available to run on the target application, with a short 39 | description. To show the full schema for the actions, use --schema. -------------------------------------------------------------------------------- /tmp/t/endpoint.md: -------------------------------------------------------------------------------- 1 | (endpoint)= 2 | # Endpoint 3 | 4 | In Juju, an **endpoint** is a struct defined in an {ref}`application `'s {ref}`charm `'s `metadata.yaml` / (since Charmcraft 2.5) `charmcraft.yaml` consisting of 5 | - a name (charm-specific), 6 | - a role (one of `provides`, `requires` = 'can use', or `peers`), and 7 | - an interface 8 | 9 | whose purpose is to help define a {ref}`relation (integration) `. 10 | 11 | For example, the MySQL application deployed from the `mysql` charm has an endpoint called `mysql` with role `provides` and interface `mysql` and this can be used to form a {ref}`non-subordinate <5462md>` relation with WordPress. 12 | 13 | > See more: [GitHub | `mysql-operator` > `metadata.yaml`](https://github.com/canonical/mysql-operator/blob/2bd2bcc65590937dab18d1d9b0fe21a445557bb6/metadata.yaml#L35), [Charmhub | `mysql`](https://charmhub.io/mysql/integrations#mysql) 14 | 15 | All charms have an implicit (not in their `metadata.yaml` / `charmcraft.yaml`) endpoint with name `juju-info`, role `provides`, and interface `juju-info` which can be used to form {ref}`subordinate <5462md>` relations with subordinate charms that have an explicit endpoint with name `juju-info`, role `requires`, and interface `juju-info` (e.g., [`mysql-router`](https://charmhub.io/mysql-router/integrations#juju-info)). -------------------------------------------------------------------------------- /tmp/t/yaml-anchors-and-aliases.md: -------------------------------------------------------------------------------- 1 | (yaml-anchors-and-aliases)= 2 | # YAML anchors and aliases 3 | 4 | YAML *anchors* and *aliases* can be used to stipulate values for certain kinds of objects (usually charm options) in a central place in a bundle file where they can then be referred to elsewhere in the file. 5 | 6 | An anchor is a string prefixed with an ampersand (&) and an alias is the same string but prefixed with an asterisk (*). The object's value is set with the anchor and that value is manifested with the alias. For this to work, anchors must be set before the alias is parsed. For simplicity, just put all the anchors at the very top of the file under an element called `variables`. Here is an example: 7 | 8 | ```yaml 9 | variables: 10 | openstack-origin: &openstack-origin cloud:bionic-stein 11 | osd-devices: &osd-devices /dev/sdb /dev/vdb 12 | . 13 | . 14 | . 15 | applications: 16 | ceph-osd: 17 | charm: ceph-osd 18 | num_units: 3 19 | options: 20 | osd-devices: *osd-devices 21 | source: *openstack-origin 22 | to: 23 | - '1' 24 | - '2' 25 | - '3' 26 | . 27 | . 28 | . 29 | ``` 30 | 31 | So in the above excerpt, the `options` section would effectively be treated as: 32 | 33 | ```yaml 34 | options: 35 | osd-devices: /dev/sdb /dev/vdb 36 | source: cloud:bionic-stein 37 | ``` -------------------------------------------------------------------------------- /tmp/t/command-juju-show-storage.md: -------------------------------------------------------------------------------- 1 | (command-juju-show-storage)= 2 | # Command 'juju show-storage' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`storage `, {ref}`attach-storage `, {ref}`detach-storage `, {ref}`remove-storage ` 12 | 13 | ## Summary 14 | Shows storage instance information. 15 | 16 | ## Usage 17 | ```juju show-storage [options] [...]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--format` | yaml | Specify output format (json|yaml) | 24 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 25 | | `-o`, `--output` | | Specify an output file | 26 | 27 | ## Examples 28 | 29 | juju show-storage storage-id 30 | 31 | 32 | ## Details 33 | 34 | Show extended information about storage instances. 35 | Storage instances to display are specified by storage IDs. 36 | Storage IDs are positional arguments to the command and do not need to be comma 37 | separated when more than one ID is desired. -------------------------------------------------------------------------------- /tmp/t/library-pytest-operator.md: -------------------------------------------------------------------------------- 1 | (library-pytest-operator)= 2 | # Library 'pytest-operator' 3 | 4 | The `pytest-operator` library is a Python library that provides Juju plugins for the generic Python 5 | library `pytest` to facilitate the {ref}`integration testing <12818md>` of {ref}`charms `. 6 | 7 | > See more: [`pytest-operator`](https://github.com/charmed-kubernetes/pytest-operator) 8 | 9 | It builds a fixture called `ops_test` that helps you interact with Juju through constructs that wrap around [`python-libjuju` ](https://pypi.org/project/juju/). 10 | 11 | > See more: 12 | > - [`pytest-operator` > `ops_test`](https://github.com/charmed-kubernetes/pytest-operator/blob/main/docs/reference.md#ops_test) 13 | > - [`pytest` > Fixtures](https://docs.pytest.org/en/6.2.x/fixture.html) 14 | 15 | It also provides convenient markers and command line parameters (e.g., the `@pytest.mark.skip_if_deployed` marker in combination with the `--no-deploy` configuration helps you skip, e.g., a deployment test in the case where you already have a deployment). 16 | 17 | 18 | > See more: 19 | > - [`pytest-operator` > Markers](https://github.com/charmed-kubernetes/pytest-operator/blob/main/docs/reference.md#markers) 20 | > - [`pytest-operator` > Command line parameters](https://github.com/charmed-kubernetes/pytest-operator/blob/main/docs/reference.md#command-line-parameters) -------------------------------------------------------------------------------- /tmp/t/the-microsoft-aks-cloud-and-juju.md: -------------------------------------------------------------------------------- 1 | (the-microsoft-aks-cloud-and-juju)= 2 | # The Microsoft AKS cloud and Juju 3 | 4 | 5 | 6 | > {ref}`List of supported clouds ` > Microsoft AKS 7 | 8 | This document describes details specific to using your existing Microsoft AKS cloud with Juju. 9 | 10 | > See more: [Microsoft AKS](https://azure.microsoft.com/en-us/products/kubernetes-service) 11 | 12 | When using the Microsoft AKS cloud with Juju, it is important to keep in mind that it is a (1) {ref}`Kubernetes cloud <3301md>` and (2) {ref}`not some other cloud <3301md>`. 13 | 14 | > See more: {ref}`Cloud differences in Juju <3301md>`, {ref}`Kubernetes clouds and Juju ` 15 | 16 | As the differences related to (1) are already documented generically in our {ref}`Tutorial `, {ref}`How-to guides `, and {ref}`Reference ` docs, here we record just those that follow from (2). 17 | 18 | ## Notes on `add-k8s` 19 | 20 | Starting with Juju 3.0, because of the fact that the `juju` client snap is strictly confined but the AKS cloud CLI snap is not, you must run the `add-k8s` command with the 'raw' client. See note in {ref}`How to add a Kubernetes cloud <3301md>`. -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-resource-revisions.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-resource-revisions)= 2 | # Command 'charmcraft resource-revisions' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft resource-revisions [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Show size and date for each resource revision in Charmhub. 12 | 13 | For example: 14 | 15 | ```text 16 | $ charmcraft resource-revisions my-charm my-resource 17 | Revision Created at Size 18 | 1 2020-11-15 T11:13:15Z 183151 19 | ``` 20 | 21 | Listing revisions will take you through login if needed. 22 | 23 | ## Options: 24 | | | | 25 | |-|-| 26 | | `-h, --help` | Show this help message and exit | 27 | | `-v, --verbose` | Show debug information and be more verbose | 28 | | `-q, --quiet` | Only show warnings and errors, not progress | 29 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 30 | | `-V, --version` | Show the application version and exit | 31 | | `-p, --project-dir` | Specify the project's directory (defaults to current) | 32 | | `--format` | Produce the result in the specified format (currently only 'json') | 33 | 34 | ## See also: 35 | - `close` 36 | - `promote-bundle` 37 | - `release` 38 | - `resources` 39 | - `revisions` 40 | - `set-resource-architectures` 41 | - `status` 42 | - `upload` 43 | - `upload-resource` -------------------------------------------------------------------------------- /tmp/t/command-juju-set-firewall-rule.md: -------------------------------------------------------------------------------- 1 | (command-juju-set-firewall-rule)= 2 | # Command 'juju set-firewall-rule' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`firewall-rules ` 12 | 13 | ## Summary 14 | Sets a firewall rule. 15 | 16 | ## Usage 17 | ```juju set-firewall-rule [options] , --allowlist [,...]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `--allowlist` | | list of subnets to allowlist | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | | `--whitelist` | | | 25 | 26 | ## Examples 27 | 28 | juju set-firewall-rule ssh --allowlist 192.168.1.0/16 29 | 30 | 31 | ## Details 32 | 33 | Firewall rules control ingress to a well known services 34 | within a Juju model. A rule consists of the service name 35 | and a allowlist of allowed ingress subnets. 36 | The currently supported services are: 37 | - ssh 38 | - juju-application-offer 39 | 40 | DEPRECATION WARNING: Firewall rules have been moved to model-config settings "ssh-allow" and 41 | "saas-ingress-allow". This command is deprecated in favour of 42 | reading/writing directly to these settings. -------------------------------------------------------------------------------- /tmp/t/command-juju-storage.md: -------------------------------------------------------------------------------- 1 | (command-juju-storage)= 2 | # Command 'juju storage' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`show-storage `, {ref}`add-storage `, {ref}`remove-storage ` 12 | 13 | ## Summary 14 | Lists storage details. 15 | 16 | ## Usage 17 | ```juju storage [options] ...``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--filesystem` | false | List filesystem storage(deprecated) | 24 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 25 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 26 | | `-o`, `--output` | | Specify an output file | 27 | | `--volume` | false | List volume storage(deprecated) | 28 | 29 | ## Examples 30 | 31 | List all storage: 32 | 33 | juju storage 34 | 35 | List only filesystem storage: 36 | 37 | juju storage --filesystem 38 | 39 | List only volume storage: 40 | 41 | juju storage --volume 42 | 43 | 44 | ## Details 45 | 46 | List information about storage. -------------------------------------------------------------------------------- /tmp/t/jhack.md: -------------------------------------------------------------------------------- 1 | (jhack)= 2 | # 'jhack' 3 | 4 | > {ref}`Developer tools <8047md>` > {ref}`Tools for debugging <8047md>` > `jhack` 5 | > 6 | > See also upstream: [`jhack`](https://github.com/PietroPasotti/jhack) 7 | 8 | `jhack` is an opinionated CLI tool to make charm development and debugging easier. For example, with `jhack show-relation` you can pretty-print databags from two related applications and with `jhack tail` you can watch what events are being fired on what units in real time. 9 | 10 | `jhack` can be installed [as a snap](https://snapcraft.io/jhack) or [from sources](https://github.com/PietroPasotti/jhack). 11 | ```{note} 12 | 13 | If you install the snap, you'll need to 14 | `sudo snap connect jhack:dot-local-share-juju snapd ` to give jhack read/write access to your `~/.local/share/juju` juju data folder. 15 | 16 | If you are running LXD models, you will also need to provide jhack access to your ssh keys so it can run `juju ssh` on your behalf: 17 | `sudo snap connect jhack:ssh-read snapd:ssh-keys`. 18 | 19 | ``` 20 | Run `jhack` without any argument to see a list of toplevel commands and some subcommands. 21 | 22 | > See more: 23 | > - {ref}``jhack tail` ` 24 | > - {ref}``jhack show-relation` ` 25 | > - [all `jhack` topics on Discourse](https://discourse.charmhub.io/tag/jhack) -------------------------------------------------------------------------------- /tmp/t/command-juju-agree.md: -------------------------------------------------------------------------------- 1 | (command-juju-agree)= 2 | # Command 'juju agree' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`agreements ` 12 | 13 | ## Summary 14 | Agree to terms. 15 | 16 | ## Usage 17 | ```juju agree [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-c`, `--controller` | | Controller to operate in | 24 | | `--yes` | false | Agree to terms non interactively | 25 | 26 | ## Examples 27 | 28 | Displays terms for somePlan revision 1 and prompts for agreement: 29 | 30 | juju agree somePlan/1 31 | 32 | Displays the terms for revision 1 of somePlan, revision 2 of otherPlan, and prompts for agreement: 33 | 34 | juju agree somePlan/1 otherPlan/2 35 | 36 | Agree to the terms without prompting: 37 | 38 | juju agree somePlan/1 otherPlan/2 --yes 39 | 40 | 41 | ## Details 42 | 43 | Agree to the terms required by a charm. 44 | 45 | When deploying a charm that requires agreement to terms, use 'juju agree' to 46 | view the terms and agree to them. Then the charm may be deployed. 47 | 48 | Once you have agreed to terms, you will not be prompted to view them again. -------------------------------------------------------------------------------- /tmp/t/the-microk8s-cloud-and-juju.md: -------------------------------------------------------------------------------- 1 | (the-microk8s-cloud-and-juju)= 2 | # The MicroK8s cloud and Juju 3 | 4 | 5 | 6 | > {ref}`List of supported clouds ` > MicroK8s 7 | 8 | This document describes details specific to using your a MicroK8s cloud with Juju. 9 | 10 | > See more: [Getting started on Microk8s](https://microk8s.io/docs/getting-started) 11 | 12 | When using the MicroK8s cloud with Juju, it is important to keep in mind that it is a (1) {ref}`Kubernetes cloud <1194md>` and (2) {ref}`not some other cloud <1194md>`. 13 | 14 | > See more: {ref}`Cloud differences in Juju <1194md>`, {ref}`Kubernetes clouds and Juju ` 15 | 16 | As the differences related to (1) are already documented generically in our {ref}`Tutorial `, {ref}`How-to guides `, and {ref}`Reference ` docs, here we record just those that follow from (2). 17 | 18 | ## Requirements 19 | 20 | ### MicroK8s snap 21 | 22 | Juju 3.x requires MicroK8s to operate in strict mode. 23 | > See more: [MicroK8s | Strict MicroK8s](https://microk8s.io/docs/install-strict) 24 | 25 | ### Services that must enabled 26 | 27 | - `dns` 28 | - `hostpath-storage` 29 | 30 |
31 | 32 | > **Contributors:** @tmihoc, @wideawakening -------------------------------------------------------------------------------- /tmp/t/command-juju-models.md: -------------------------------------------------------------------------------- 1 | (command-juju-models)= 2 | # Command 'juju models' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-model ` 12 | 13 | ## Summary 14 | Lists models a user can access on a controller. 15 | 16 | ### Options 17 | | Flag | Default | Usage | 18 | | --- | --- | --- | 19 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 20 | | `--all` | false | Lists all models, regardless of user accessibility (administrative users only) | 21 | | `-c`, `--controller` | | Controller to operate in | 22 | | `--exact-time` | false | Use full timestamps | 23 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 24 | | `-o`, `--output` | | Specify an output file | 25 | | `--user` | | The user to list models for (administrative users only) | 26 | | `--uuid` | false | Display UUID for models | 27 | 28 | ## Examples 29 | 30 | juju models 31 | juju models --user bob 32 | 33 | 34 | ## Details 35 | 36 | The models listed here are either models you have created yourself, or 37 | models which have been shared with you. Default values for user and 38 | controller are, respectively, the current user and the current controller. 39 | The active model is denoted by an asterisk. -------------------------------------------------------------------------------- /tmp/t/command-juju-spaces.md: -------------------------------------------------------------------------------- 1 | (command-juju-spaces)= 2 | # Command 'juju spaces' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-space `, {ref}`reload-spaces ` 12 | 13 | ## Summary 14 | List known spaces, including associated subnets. 15 | 16 | ## Usage 17 | ```juju spaces [options] [--short] [--format yaml|json] [--output ]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 24 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 25 | | `-o`, `--output` | | Specify an output file | 26 | | `--short` | false | only display spaces. | 27 | 28 | ## Examples 29 | 30 | List spaces and their subnets: 31 | 32 | juju spaces 33 | 34 | List spaces: 35 | 36 | juju spaces --short 37 | 38 | 39 | ## Details 40 | Displays all defined spaces. By default both spaces and their subnets are displayed. 41 | Supplying the --short option will list just the space names. 42 | The --output argument allows the command's output to be redirected to a file. -------------------------------------------------------------------------------- /tmp/t/event-storage-name-storage-detaching.md: -------------------------------------------------------------------------------- 1 | (event-storage-name-storage-detaching)= 2 | # Event '-storage-detaching' 3 | 4 | > {ref}`Event ` > {ref}`List of events ` > {ref}`Storage events ` > `-storage-detaching` 5 | 6 | 7 | This document describes the `-storage-detaching` event. The event allows a charm to perform cleanup tasks on a storage volume before that storage is dismounted and possibly destroyed. 8 | 9 | **Contents:** 10 | - [Emission sequence](#heading--emission-sequence) 11 | - [Observing this event in Ops](#heading--observing-this-event-in-ops) 12 | 13 | 14 |

Emission sequence

15 | 16 | This event is emitted when a request to detach storage has been processed. After the hook completes, the storage will be removed, and the charm will not have further opportunities to interact with it. 17 | 18 |

Observing this event in Ops

19 | 20 | In `ops`, you can observe the `remove` event like you would any other: 21 | 22 | ``` 23 | self.framework.observe(self.on.-storage-detaching, self._on_-storage-detaching) 24 | ``` 25 | 26 | The event object contains information about which volume was detached. -------------------------------------------------------------------------------- /tmp/t/scaling.md: -------------------------------------------------------------------------------- 1 | (scaling)= 2 | # Scaling 3 | 4 | > See also: {ref}`How to scale an application <13137md>` 5 | 6 | In the context of a cloud deployment in general, **scaling** means modifying the amount of resources thrown at an application, which can be done *vertically* (modifying the memory, CPU, or disk for a cloud resource) or *horizontally* (modifying the number of resources), where each can be *up* (more) or down (*less*). In the context of Juju, scaling means exactly the same, with the mention that 7 | 8 | - Vertical scaling is handled through {ref}`constraints ` and horizontal scaling through {ref}`units `. 9 | - Horizontal scaling up can be used to achieve {ref}`high availability (HA) ` -- though, depending on whether the charm delivering the application supports HA natively or not, you may also have to perform additional steps. 10 | 11 | 12 | -------------------------------------------------------------------------------- /tmp/t/juju-stash.md: -------------------------------------------------------------------------------- 1 | (juju-stash)= 2 | # `juju-stash` 3 | 4 | Switching between models and controllers can be laborious, as you have to remember what the previous model or controller name was. I suggested on IRC that `juju switch` should have `-`, similar to `git checkout -` or `cd -`. Rather than giving Juju the ability to remember, make a plugin and you can do what you want... 5 | 6 | [`juju stash`](https://github.com/SimonRichardson/juju-stash) is a {ref}`plugin ` for Juju, which allows you to jump between models as if you have a stack; pushing and popping between models. 7 | 8 | To switch to a model: 9 | ```console 10 | juju stash push modelB 11 | ``` 12 | 13 | To switch back to the previous model: 14 | ```console 15 | juju stash pop 16 | ``` 17 | 18 | To see what's in your history: 19 | ```console 20 | juju stash list 21 | ``` 22 | 23 | If you want to ping-pong between models, you can do the following: 24 | ```console 25 | juju stash pop --store 26 | ``` 27 | This will store the popped model into the history. Calling it multiple times will mean you can ping-pong between `modelA` and `modelB` with out having to remember their names. 28 | 29 | Supplying `--status` along with the `pop` command will also dump the `juju status` into the stdout so you can keep track of what's happening where! 30 | 31 | 32 | ## See also: 33 | - {ref}`Plugin ` 34 | - {ref}`List of Juju plugins ` -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-close.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-close)= 2 | # Command 'charmcraft close' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft close [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Close the specified channel for a charm or bundle. 12 | 13 | The channel is made up of `track/risk/branch` with both the track and the branch as optional items, so formally: 14 | 15 | ```text 16 | [track/]risk[/branch] 17 | ``` 18 | 19 | Channel risk must be one of stable, candidate, beta or edge. The track defaults to `latest` and branch has no default. 20 | 21 | Closing a channel will take you through login if needed. 22 | 23 | ## Options: 24 | | | | 25 | |-|-| 26 | | `-h, --help` | Show this help message and exit | 27 | | `-v, --verbose` | Show debug information and be more verbose | 28 | | `-q, --quiet` | Only show warnings and errors, not progress | 29 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 30 | | `-p, --project-dir` | Specify the project's directory (defaults to current) | 31 | 32 | ## See also: 33 | - `create-lib` 34 | - `fetch-lib` 35 | - `list-lib` 36 | - `login` 37 | - `logout` 38 | - `names` 39 | - `promote-bundle` 40 | - `publish-lib` 41 | - `register` 42 | - `register-bundle` 43 | - `release` 44 | - `resource-revisions` 45 | - `resources` 46 | - `revisions` 47 | - `status` 48 | - `unregister` 49 | - `upload` 50 | - `upload-resource` 51 | - `whoami` -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-revisions.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-revisions)= 2 | # Command 'charmcraft revisions' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft revisions [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | Show version, date and status for each revision in Charmhub. 12 | 13 | For example: 14 | 15 | ```text 16 | $ charmcraft revisions mycharm 17 | Revision Version Created at Status 18 | 1 1 2020-11-15T11:13:15Z released 19 | ``` 20 | 21 | Listing revisions will take you through login if needed. 22 | 23 | ## Options: 24 | | | | 25 | |-|-| 26 | | `-h, --help` | Show this help message and exit | 27 | | `-v, --verbose` | Show debug information and be more verbose | 28 | | `-q, --quiet` | Only show warnings and errors, not progress | 29 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 30 | | `-p, --project-dir` | Specify the project's directory (defaults to current) | 31 | | `--format` | Produce the result in the specified format (currently only 'json') | 32 | 33 | ## See also: 34 | - `close` 35 | - `create-lib` 36 | - `fetch-lib` 37 | - `list-lib` 38 | - `login` 39 | - `logout` 40 | - `names` 41 | - `promote-bundle` 42 | - `publish-lib` 43 | - `register` 44 | - `register-bundle` 45 | - `release` 46 | - `resource-revisions` 47 | - `resources` 48 | - `status` 49 | - `unregister` 50 | - `upload` 51 | - `upload-resource` 52 | - `whoami` -------------------------------------------------------------------------------- /tmp/t/command-juju-remove-offer.md: -------------------------------------------------------------------------------- 1 | (command-juju-remove-offer)= 2 | # Command 'juju remove-offer' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`find-offers `, {ref}`offer ` 12 | 13 | ## Summary 14 | Removes one or more offers specified by their URL. 15 | 16 | ## Usage 17 | ```juju remove-offer [options] ...``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-c`, `--controller` | | Controller to operate in | 24 | | `--force` | false | remove the offer as well as any relations to the offer | 25 | | `-y`, `--yes` | false | Do not prompt for confirmation | 26 | 27 | ## Examples 28 | 29 | juju remove-offer prod.model/hosted-mysql 30 | juju remove-offer prod.model/hosted-mysql --force 31 | juju remove-offer hosted-mysql 32 | 33 | 34 | ## Details 35 | 36 | Remove one or more application offers. 37 | 38 | If the --force option is specified, any existing relations to the 39 | offer will also be removed. 40 | 41 | Offers to remove are normally specified by their URL. 42 | It's also possible to specify just the offer name, in which case 43 | the offer is considered to reside in the current model. -------------------------------------------------------------------------------- /tmp/t/command-juju-list-storage.md: -------------------------------------------------------------------------------- 1 | (command-juju-list-storage)= 2 | # Command 'juju list-storage' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`show-storage `, {ref}`add-storage `, {ref}`remove-storage ` 12 | **Alias:** storage 13 | 14 | ## Summary 15 | Lists storage details. 16 | 17 | ## Usage 18 | ```juju list-storage [options] ...``` 19 | 20 | ### Options 21 | | Flag | Default | Usage | 22 | | --- | --- | --- | 23 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 24 | | `--filesystem` | false | List filesystem storage(deprecated) | 25 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 26 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 27 | | `-o`, `--output` | | Specify an output file | 28 | | `--volume` | false | List volume storage(deprecated) | 29 | 30 | ## Examples 31 | 32 | List all storage: 33 | 34 | juju storage 35 | 36 | List only filesystem storage: 37 | 38 | juju storage --filesystem 39 | 40 | List only volume storage: 41 | 42 | juju storage --volume 43 | 44 | 45 | ## Details 46 | 47 | List information about storage. -------------------------------------------------------------------------------- /tmp/t/command-juju-logout.md: -------------------------------------------------------------------------------- 1 | (command-juju-logout)= 2 | # Command 'juju logout' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`change-user-password `, {ref}`login ` 12 | 13 | ## Summary 14 | Logs a Juju user out of a controller. 15 | 16 | ### Options 17 | | Flag | Default | Usage | 18 | | --- | --- | --- | 19 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 20 | | `-c`, `--controller` | | Controller to operate in | 21 | | `--force` | false | Force logout when a locally recorded password is detected | 22 | 23 | ## Examples 24 | 25 | juju logout 26 | 27 | 28 | ## Details 29 | 30 | If another client has logged in as the same user, they will remain logged 31 | in. This command only affects the local client. 32 | 33 | The command will fail if the user has not yet set a password 34 | (`juju change-user-password`). This scenario is only possible after 35 | `juju bootstrap`since `juju register` sets a password. The 36 | failing behaviour can be overridden with the '--force' option. 37 | 38 | If the same user is logged in with another client system, that user session 39 | will not be affected by this command; it only affects the local client. 40 | 41 | By default, the controller is the current controller. -------------------------------------------------------------------------------- /tmp/t/command-juju-ssh-keys.md: -------------------------------------------------------------------------------- 1 | (command-juju-ssh-keys)= 2 | # Command 'juju ssh-keys' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-ssh-key `, {ref}`remove-ssh-key ` 12 | 13 | ## Summary 14 | Lists the currently known SSH keys for the current (or specified) model. 15 | 16 | ### Options 17 | | Flag | Default | Usage | 18 | | --- | --- | --- | 19 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 20 | | `--full` | false | Show full key instead of just the fingerprint | 21 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 22 | 23 | ## Examples 24 | 25 | juju ssh-keys 26 | 27 | To examine the full key, use the '--full' option: 28 | 29 | juju ssh-keys -m jujutest --full 30 | 31 | 32 | ## Details 33 | Juju maintains a per-model cache of SSH keys which it copies to each newly 34 | created unit. 35 | This command will display a list of all the keys currently used by Juju in 36 | the current model (or the model specified, if the '-m' option is used). 37 | By default a minimal list is returned, showing only the fingerprint of 38 | each key and its text identifier. By using the '--full' option, the entire 39 | key may be displayed. -------------------------------------------------------------------------------- /tmp/t/command-juju-list-models.md: -------------------------------------------------------------------------------- 1 | (command-juju-list-models)= 2 | # Command 'juju list-models' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-model ` 12 | **Alias:** models 13 | 14 | ## Summary 15 | Lists models a user can access on a controller. 16 | 17 | ### Options 18 | | Flag | Default | Usage | 19 | | --- | --- | --- | 20 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 21 | | `--all` | false | Lists all models, regardless of user accessibility (administrative users only) | 22 | | `-c`, `--controller` | | Controller to operate in | 23 | | `--exact-time` | false | Use full timestamps | 24 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 25 | | `-o`, `--output` | | Specify an output file | 26 | | `--user` | | The user to list models for (administrative users only) | 27 | | `--uuid` | false | Display UUID for models | 28 | 29 | ## Examples 30 | 31 | juju models 32 | juju models --user bob 33 | 34 | 35 | ## Details 36 | 37 | The models listed here are either models you have created yourself, or 38 | models which have been shared with you. Default values for user and 39 | controller are, respectively, the current user and the current controller. 40 | The active model is denoted by an asterisk. -------------------------------------------------------------------------------- /tmp/t/command-juju-list-spaces.md: -------------------------------------------------------------------------------- 1 | (command-juju-list-spaces)= 2 | # Command 'juju list-spaces' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-space `, {ref}`reload-spaces ` 12 | **Alias:** spaces 13 | 14 | ## Summary 15 | List known spaces, including associated subnets. 16 | 17 | ## Usage 18 | ```juju list-spaces [options] [--short] [--format yaml|json] [--output ]``` 19 | 20 | ### Options 21 | | Flag | Default | Usage | 22 | | --- | --- | --- | 23 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 24 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 25 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 26 | | `-o`, `--output` | | Specify an output file | 27 | | `--short` | false | only display spaces. | 28 | 29 | ## Examples 30 | 31 | List spaces and their subnets: 32 | 33 | juju spaces 34 | 35 | List spaces: 36 | 37 | juju spaces --short 38 | 39 | 40 | ## Details 41 | Displays all defined spaces. By default both spaces and their subnets are displayed. 42 | Supplying the --short option will list just the space names. 43 | The --output argument allows the command's output to be redirected to a file. -------------------------------------------------------------------------------- /tmp/t/command-juju-regions.md: -------------------------------------------------------------------------------- 1 | (command-juju-regions)= 2 | # Command 'juju regions' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-cloud `, {ref}`clouds `, {ref}`show-cloud `, {ref}`update-cloud `, {ref}`update-public-clouds ` 12 | 13 | ## Summary 14 | Lists regions for a given cloud. 15 | 16 | ## Usage 17 | ```juju regions [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-c`, `--controller` | | Controller to operate in | 24 | | `--client` | false | Client operation | 25 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 26 | | `-o`, `--output` | | Specify an output file | 27 | 28 | ## Examples 29 | 30 | juju regions aws 31 | juju regions aws --controller mycontroller 32 | juju regions aws --client 33 | juju regions aws --client --controller mycontroller 34 | 35 | 36 | ## Details 37 | 38 | List regions for a given cloud. 39 | 40 | Use --controller option to list regions from the cloud from a controller. 41 | 42 | Use --client option to list regions known locally on this client. -------------------------------------------------------------------------------- /tmp/t/command-juju-find.md: -------------------------------------------------------------------------------- 1 | (command-juju-find)= 2 | # Command 'juju find' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`info `, {ref}`download ` 12 | 13 | ## Summary 14 | Queries the CharmHub store for available charms or bundles. 15 | 16 | ## Usage 17 | ```juju find [options] [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `--category` | | filter by a category name | 23 | | `--channel` | | filter by channel" | 24 | | `--charmhub-url` | https://api.charmhub.io | specify the Charmhub URL for querying the store | 25 | | `--columns` | nbvps | display the columns associated with a find search. The following columns are supported: - n: Name - b: Bundle - v: Version - p: Publisher - s: Summary - a: Architecture - o: OS - S: Supports | 26 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 27 | | `-o`, `--output` | | Specify an output file | 28 | | `--publisher` | | search by a given publisher | 29 | | `--type` | | search by a given type <charm|bundle> | 30 | 31 | ## Examples 32 | 33 | juju find wordpress 34 | 35 | 36 | ## Details 37 | 38 | The find command queries the CharmHub store for available charms or bundles. -------------------------------------------------------------------------------- /tmp/t/file-pyprojecttoml.md: -------------------------------------------------------------------------------- 1 | (file-pyprojecttoml)= 2 | # File 'pyproject.toml' 3 | 4 | The `pyproject.toml` file in your charm's root directory is a typical Python `pyproject.toml` file. 5 | 6 | > See more: [`pip` | `pyproject.toml`](https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml/) 7 | 8 | This file is generated automatically by `charmcraft init` with the contents below: 9 | 10 | ```text 11 | # Testing tools configuration 12 | [tool.coverage.run] 13 | branch = true 14 | 15 | [tool.coverage.report] 16 | show_missing = true 17 | 18 | [tool.pytest.ini_options] 19 | minversion = "6.0" 20 | log_cli_level = "INFO" 21 | 22 | # Formatting tools configuration 23 | [tool.black] 24 | line-length = 99 25 | target-version = ["py38"] 26 | 27 | # Linting tools configuration 28 | [tool.ruff] 29 | line-length = 99 30 | select = ["E", "W", "F", "C", "N", "D", "I001"] 31 | extend-ignore = [ 32 | "D203", 33 | "D204", 34 | "D213", 35 | "D215", 36 | "D400", 37 | "D404", 38 | "D406", 39 | "D407", 40 | "D408", 41 | "D409", 42 | "D413", 43 | ] 44 | ignore = ["E501", "D107"] 45 | extend-exclude = ["__pycache__", "*.egg_info"] 46 | per-file-ignores = {"tests/*" = ["D100","D101","D102","D103","D104"]} 47 | 48 | [tool.ruff.mccabe] 49 | max-complexity = 10 50 | 51 | [tool.codespell] 52 | skip = "build,lib,venv,icon.svg,.tox,.git,.mypy_cache,.ruff_cache,.coverage" 53 | 54 | [tool.pyright] 55 | include = ["src/**.py"] 56 | ``` -------------------------------------------------------------------------------- /tmp/t/python-libjuju-juju-client.md: -------------------------------------------------------------------------------- 1 | (python-libjuju-juju-client)= 2 | # python-libjuju (Juju client) 3 | 4 | ```{caution} 5 | 6 | **When Juju 4.0 is released, if you upgrade your `juju` client to 4+:** That will introduce a change that will break the `python-libjuju` client. This issue will be addressed in an upcoming `python-libjuju` release. Stay tuned and make sure to update! See more: [Discourse | Juju 4.0 AllWatcher API changes](https://discourse.charmhub.io/t/juju-4-0-allwatcher-api-changes/14614). 7 | 8 | 9 | ``` 10 | 11 | `python-libjuju` is one of the {ref}`client ` libraries of Juju that allows interaction with a Juju controller via Python scripts. 12 | 13 | Install it on your Python setup (e.g. `pip install juju`), and you have the full control of your infrastructure that you can control via your scripts. `python-libjuju` often proves to be very useful in automated testing, as well as quick interactions with Juju entities using just the Python repl. 14 | 15 | > Source: [GitHub | `python-libjuju`](https://github.com/juju/python-libjuju) 16 | > 17 | > Example uses: [GitHub | python-libjuju/examples](https://github.com/juju/python-libjuju/tree/master/examples) 18 | > 19 | > Reference docs: [Read the docs | `python-libjuju`](https://pythonlibjuju.readthedocs.io/en/latest/) 20 | > 21 | > Project: [PyPi Project | Juju](https://pypi.org/project/juju/) 22 | 23 |
24 | 25 | > **Contributors:** @cderici, @simonrichardson , @tmihoc -------------------------------------------------------------------------------- /tmp/t/the-juju-web-cli.md: -------------------------------------------------------------------------------- 1 | (the-juju-web-cli)= 2 | # The Juju web CLI 3 | 4 | The Juju web CLI gives you access to model level Juju CLI commands from within the Juju Dashboard when viewing a model’s detail page. 5 | 6 | > This feature is only available in Juju 2.9 and above. 7 | 8 | When viewing the model details page, along the bottom you’ll see an input where you can enter Juju CLI commands: 9 | 10 | ![cli|690x38](upload://a6SvUMe1OaBzk8sFE81wunIsmAd.png) 11 | 12 | You can view a list of the available commands by running `help commands` in this prompt. 13 | 14 | As this prompt only allows you to execute a subset of the Juju CLI you do not need to prefix your command with `juju`. 15 | 16 | > This feature respects all the same ACL levels as your local Juju CLI and as such you won’t be able to perform any actions here you wouldn’t be able to perform elsewhere. 17 | 18 | The output of your commands will be shown in a height adjustable panel that will open above the input. This output will be cleared with every new command entered. 19 | 20 | ![cli-command|690x299](upload://2UO4U9Wqpa7IuBybY43K2QdjbIE.gif) 21 | 22 | ### Features 23 | 24 | To resize the output click and drag the top of the output element to the desired size. 25 | 26 | ![cli-resize|690x299](upload://aq4WQjfSiSlrh6YQ7XcJrv0uGWT.gif) 27 | 28 | The link to these docs can be found by clicking the help icon to the right of the input. 29 | 30 | ![17%20PM|51x41](upload://54rqzTETDUMEna3e8YMqyr3fyg3.png) -------------------------------------------------------------------------------- /tmp/t/promotion.md: -------------------------------------------------------------------------------- 1 | (promotion)= 2 | # Promotion 3 | 4 | In the context of a charm or a bundle, just as in the context of a snap, **promotion** refers to the association of a {ref}`revision ` to a higher-ranking {ref}`channel ` risk level of the same track. 5 | 6 | For example, in the (partial) output of `juju info mongodb` below, revision `100` has been promoted from `3.6/edge` through `3.6/beta` and `3.6/candidate` all the way to `3.6/stable`. (The up arrow next to `3.6/beta` indicates that that channel has been closed and, if you try `juju deploy --channel 3.6/beta`, what you'll get is the next higher-ranking risk level of the same track, that is, `3.6/candidate`.) 7 | 8 | ```text 9 | channels: | 10 | 5/stable: 117 2023-04-20 (117) 12MB amd64 ubuntu@22.04 11 | 5/candidate: 117 2023-04-20 (117) 12MB amd64 ubuntu@22.04 12 | 5/beta: ↑ 13 | 5/edge: 118 2023-05-03 (118) 13MB amd64 ubuntu@22.04 14 | 3.6/stable: 100 2023-04-28 (100) 860kB amd64 ubuntu@20.04, ubuntu@18.04 15 | 3.6/candidate: 100 2023-04-13 (100) 860kB amd64 ubuntu@20.04, ubuntu@18.04 16 | 3.6/beta: ↑ 17 | 3.6/edge: 100 2023-02-03 (100) 860kB amd64 ubuntu@20.04, ubuntu@18.04 18 | ``` 19 | 20 | Charm promotion is done at release time by specifying the revision number and the channel `[track/]risk` level that you want to associate it with (e.g., `charmcraft release --revision 118 --channel=5/candidate`). -------------------------------------------------------------------------------- /tmp/t/visualize-relation-data-with-show-relation.md: -------------------------------------------------------------------------------- 1 | (visualize-relation-data-with-show-relation)= 2 | # Visualize relation data with `show-relation` 3 | 4 | [`jhack`](https://snapcraft.io/jhack) `show-relation` is a command that allows you to visualize the databags of two related Juju applications. 5 | 6 | For example, the `ingress-per-unit` relation between a Traefik unit and a Prometheus unit on kubernetes: 7 | ![image|690x291](upload://vfpyQmXEOVFDVG4rmSXRHoRU2PK.png) 8 | 9 | This command is very useful when developing integrations or debugging related charms. You can also make it tail the contents with `-w`: the table will remain visible and update itself as the databag contents change. 10 | 11 | # Additional features 12 | 13 | - support for **peer relations** (!) 14 | ![image|690x221](upload://tvu9ERQ20c7lNh38XO8udepGVyc.png) 15 | - support for showing relations in models other than the current one (`-m`) 16 | - optional suppression of empty databags (`-s`) 17 | - command promoted to toplevel jhack: it used to be nested under `utils`. Now you can simply do `jhack show-relation`. 18 | - better cli help and shortcuts for lazy/busy typers. 19 | - support for "show me the *n*th relation" instead of having to type out the whole `app-name:endpoint` thing: if you have 3 relations in your model, you can simply do `jhack show-relation -n 1` and jhack will print out the 2nd relation from the top (of the same list appearing when you do `juju status --relations`, that is. -------------------------------------------------------------------------------- /tmp/t/command-juju-find-offers.md: -------------------------------------------------------------------------------- 1 | (command-juju-find-offers)= 2 | # Command 'juju find-offers' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`show-offer ` 12 | 13 | ## Summary 14 | Find offered application endpoints. 15 | 16 | ### Options 17 | | Flag | Default | Usage | 18 | | --- | --- | --- | 19 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 20 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 21 | | `--interface` | | return results matching the interface name | 22 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 23 | | `-o`, `--output` | | Specify an output file | 24 | | `--offer` | | return results matching the offer name | 25 | | `--url` | | return results matching the offer URL | 26 | 27 | ## Examples 28 | 29 | juju find-offers 30 | juju find-offers mycontroller: 31 | juju find-offers fred/prod 32 | juju find-offers --interface mysql 33 | juju find-offers --url fred/prod.db2 34 | juju find-offers --offer db2 35 | 36 | 37 | 38 | ## Details 39 | 40 | Find which offered application endpoints are available to the current user. 41 | 42 | This command is aimed for a user who wants to discover what endpoints are available to them. -------------------------------------------------------------------------------- /tmp/t/command-juju-list-ssh-keys.md: -------------------------------------------------------------------------------- 1 | (command-juju-list-ssh-keys)= 2 | # Command 'juju list-ssh-keys' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-ssh-key `, {ref}`remove-ssh-key ` 12 | **Alias:** ssh-keys 13 | 14 | ## Summary 15 | Lists the currently known SSH keys for the current (or specified) model. 16 | 17 | ### Options 18 | | Flag | Default | Usage | 19 | | --- | --- | --- | 20 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 21 | | `--full` | false | Show full key instead of just the fingerprint | 22 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 23 | 24 | ## Examples 25 | 26 | juju ssh-keys 27 | 28 | To examine the full key, use the '--full' option: 29 | 30 | juju ssh-keys -m jujutest --full 31 | 32 | 33 | ## Details 34 | Juju maintains a per-model cache of SSH keys which it copies to each newly 35 | created unit. 36 | This command will display a list of all the keys currently used by Juju in 37 | the current model (or the model specified, if the '-m' option is used). 38 | By default a minimal list is returned, showing only the fingerprint of 39 | each key and its text identifier. By using the '--full' option, the entire 40 | key may be displayed. -------------------------------------------------------------------------------- /tmp/t/command-juju-suspend-relation.md: -------------------------------------------------------------------------------- 1 | (command-juju-suspend-relation)= 2 | # Command 'juju suspend-relation' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`integrate `, {ref}`offers `, {ref}`remove-relation `, {ref}`resume-relation ` 12 | 13 | ## Summary 14 | Suspends a relation to an application offer. 15 | 16 | ## Usage 17 | ```juju suspend-relation [options] [ ...]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | | `--message` | | reason for suspension | 25 | 26 | ## Examples 27 | 28 | juju suspend-relation 123 29 | juju suspend-relation 123 --message "reason for suspending" 30 | juju suspend-relation 123 456 --message "reason for suspending" 31 | 32 | 33 | ## Details 34 | 35 | A relation between an application in another model and an offer in this model will be suspended. 36 | The relation-departed and relation-broken hooks will be run for the relation, and the relation 37 | status will be set to suspended. The relation is specified using its id. -------------------------------------------------------------------------------- /tmp/t/command-juju-list-regions.md: -------------------------------------------------------------------------------- 1 | (command-juju-list-regions)= 2 | # Command 'juju list-regions' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-cloud `, {ref}`clouds `, {ref}`show-cloud `, {ref}`update-cloud `, {ref}`update-public-clouds ` 12 | **Alias:** regions 13 | 14 | ## Summary 15 | Lists regions for a given cloud. 16 | 17 | ## Usage 18 | ```juju list-regions [options] ``` 19 | 20 | ### Options 21 | | Flag | Default | Usage | 22 | | --- | --- | --- | 23 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 24 | | `-c`, `--controller` | | Controller to operate in | 25 | | `--client` | false | Client operation | 26 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 27 | | `-o`, `--output` | | Specify an output file | 28 | 29 | ## Examples 30 | 31 | juju regions aws 32 | juju regions aws --controller mycontroller 33 | juju regions aws --client 34 | juju regions aws --client --controller mycontroller 35 | 36 | 37 | ## Details 38 | 39 | List regions for a given cloud. 40 | 41 | Use --controller option to list regions from the cloud from a controller. 42 | 43 | Use --client option to list regions known locally on this client. -------------------------------------------------------------------------------- /tmp/t/file-testsunittest_charmpy.md: -------------------------------------------------------------------------------- 1 | (file-testsunittest_charmpy)= 2 | # File 'tests/unit/test_charm.py' 3 | 4 | > {ref}`List of files in the charm project ` > `tests/test_charm.py` 5 | > 6 | > See also: {ref}`How to test a charm ` 7 | 8 | The `tests/unit/test_charm.py` file is the companion to `src/charm.py` for unit testing. It is pre-populated with standard constructs used by `unittest` and Harness. 9 | 10 | This file is created automatically by `charmcraft init` and it is pre-populated with standard constructs used by `unittest` and `Harness`, along the lines below: 11 | 12 | ```text 13 | 14 | # Copyright 2023 Ubuntu 15 | # See LICENSE file for licensing details. 16 | # 17 | # Learn more about testing at: https://juju.is/docs/sdk/testing 18 | 19 | import unittest 20 | 21 | import ops 22 | import ops.testing 23 | from charm import MyK8SCharmCharm 24 | 25 | 26 | class TestCharm(unittest.TestCase): 27 | def setUp(self): 28 | self.harness = ops.testing.Harness(MyK8SCharmCharm) 29 | self.addCleanup(self.harness.cleanup) 30 | self.harness.begin() 31 | 32 | def test_pebble_ready(self): 33 | # Simulate the container coming up and emission of pebble-ready event 34 | self.harness.container_pebble_ready("some-container") 35 | # Ensure we set an ActiveStatus with no message 36 | self.assertEqual(self.harness.model.unit.status, ops.ActiveStatus()) 37 | ``` -------------------------------------------------------------------------------- /tmp/t/command-juju-consume.md: -------------------------------------------------------------------------------- 1 | (command-juju-consume)= 2 | # Command 'juju consume' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`integrate `, {ref}`offer `, {ref}`remove-saas ` 12 | 13 | ## Summary 14 | Add a remote offer to the model. 15 | 16 | ## Usage 17 | ```juju consume [options] []``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | 25 | ## Examples 26 | 27 | juju consume othermodel.mysql 28 | juju consume owner/othermodel.mysql 29 | juju consume anothercontroller:owner/othermodel.mysql 30 | 31 | 32 | ## Details 33 | Adds a remote offer to the model. Relations can be created later using "juju relate". 34 | 35 | The path to the remote offer is formatted as follows: 36 | 37 | [:][/]. 38 | 39 | If the controller name is omitted, Juju will use the currently active 40 | controller. Similarly, if the model owner is omitted, Juju will use the user 41 | that is currently logged in to the controller providing the offer. -------------------------------------------------------------------------------- /tmp/t/command-juju-dashboard.md: -------------------------------------------------------------------------------- 1 | (command-juju-dashboard)= 2 | # Command 'juju dashboard' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | 12 | ## Summary 13 | Print the Juju Dashboard URL, or open the Juju Dashboard in the default browser. 14 | 15 | ### Options 16 | | Flag | Default | Usage | 17 | | --- | --- | --- | 18 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 19 | | `--browser` | false | Open the web browser, instead of just printing the Juju Dashboard URL | 20 | | `--hide-credential` | false | Do not show admin credential to use for logging into the Juju Dashboard | 21 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 22 | | `--port` | 31666 | Local port used to serve the dashboard | 23 | 24 | ## Examples 25 | 26 | Print the Juju Dashboard URL and show admin credential to use to log into it: 27 | 28 | juju dashboard 29 | 30 | Print the Juju Dashboard URL only: 31 | 32 | juju dashboard --hide-credential 33 | 34 | Open the Juju Dashboard in the default browser and show admin credential to use to log into it: 35 | 36 | juju dashboard --browser 37 | 38 | Open the Juju Dashboard in the default browser without printing the login credential: 39 | 40 | juju dashboard --hide-credential --browser 41 | 42 | An error is returned if the Juju Dashboard is not running. -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-list-lib.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-list-lib)= 2 | # Command 'charmcraft list-lib' 3 | 4 | ## Usage: 5 | ```text 6 | charmcraft list-lib [options] 7 | ``` 8 | 9 | ## Summary: 10 | 11 | List all libraries from a charm. 12 | 13 | For each library, it will show the name and the api and patch versions for its tip. 14 | 15 | For example: 16 | 17 | ```text 18 | $ charmcraft list-lib my-charm 19 | Library name API Patch 20 | my_great_lib 0 3 21 | my_great_lib 1 0 22 | other_lib 0 5 23 | ``` 24 | 25 | To fetch one of the shown libraries you can use the `fetch-lib` command. 26 | 27 | ## Options: 28 | | | | 29 | |-|-| 30 | | `-h, --help` | Show this help message and exit | 31 | | `-v, --verbose` | Show debug information and be more verbose | 32 | | `-q, --quiet` | Only show warnings and errors, not progress | 33 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 34 | | `-p, --project-dir` | Specify the project's directory (defaults to current) | 35 | | `--format` | Produce the result in the specified format (currently only 'json') | 36 | 37 | ## See also: 38 | - `close` 39 | - `create-lib` 40 | - `fetch-lib` 41 | - `login` 42 | - `logout` 43 | - `names` 44 | - `promote-bundle` 45 | - `publish-lib` 46 | - `register` 47 | - `register-bundle` 48 | - `release` 49 | - `resource-revisions` 50 | - `resources` 51 | - `revisions` 52 | - `status` 53 | - `unregister` 54 | - `upload` 55 | - `upload-resource` 56 | - `whoami` -------------------------------------------------------------------------------- /tmp/t/the-amazon-eks-cloud-and-juju.md: -------------------------------------------------------------------------------- 1 | (the-amazon-eks-cloud-and-juju)= 2 | # The Amazon EKS cloud and Juju 3 | 4 | 5 | 6 | > {ref}`List of supported clouds ` > Amazon EKS 7 | 8 | This document describes details specific to using your existing Amazon EKS cloud with Juju. 9 | 10 | > See more: [Amazon EKS](https://docs.aws.amazon.com/eks/index.html) 11 | 12 | When using the Amazon EKS cloud with Juju, it is important to keep in mind that it is a (1) {ref}`Kubernetes cloud <3352md>` and (2) {ref}`not some other cloud <3352md>`. 13 | 14 | > See more: {ref}`Cloud differences in Juju <3352md>`, {ref}`Kubernetes clouds and Juju ` 15 | 16 | As the differences related to (1) are already documented generically in our {ref}`Tutorial `, {ref}`How-to guides `, and {ref}`Reference ` docs, here we record just those that follow from (2). 17 | 18 | ## Notes on `add-k8s` 19 | 20 | Starting with Juju 3.0, because of the fact that the `juju` client snap is strictly confined but the EKS cloud CLI snap is not, you must run the `add-k8s` command with the 'raw' client. See note in {ref}`How to add a Kubernetes cloud <3352md>`. 21 | 22 | ------------------------- 23 | 24 | pedroleaoc | 2021-06-08 18:06:32 UTC | #5 25 | 26 | 27 | 28 | ------------------------- 29 | 30 | pedroleaoc | 2022-10-14 11:31:57 UTC | #6 -------------------------------------------------------------------------------- /tmp/t/command-juju-remove-ssh-key.md: -------------------------------------------------------------------------------- 1 | (command-juju-remove-ssh-key)= 2 | # Command 'juju remove-ssh-key' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`ssh-keys `, {ref}`add-ssh-key `, {ref}`import-ssh-key ` 12 | 13 | ## Summary 14 | Removes a public SSH key (or keys) from a model. 15 | 16 | ## Usage 17 | ```juju remove-ssh-key [options] ...``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 24 | 25 | ## Examples 26 | 27 | juju remove-ssh-key ubuntu@ubuntu 28 | juju remove-ssh-key 45:7f:33:2c:10:4e:6c:14:e3:a1:a4:c8:b2:e1:34:b4 29 | juju remove-ssh-key bob@ubuntu carol@ubuntu 30 | 31 | 32 | ## Details 33 | Juju maintains a per-model cache of public SSH keys which it copies to 34 | each unit. This command will remove a specified key (or space separated 35 | list of keys) from the model cache and all current units deployed in that 36 | model. The keys to be removed may be specified by the key's fingerprint, 37 | or by the text label associated with them. Invalid keys in the model cache 38 | can be removed by specifying the key verbatim. -------------------------------------------------------------------------------- /tmp/t/command-juju-users.md: -------------------------------------------------------------------------------- 1 | (command-juju-users)= 2 | # Command 'juju users' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-user `, {ref}`register `, {ref}`show-user `, {ref}`disable-user `, {ref}`enable-user ` 12 | 13 | ## Summary 14 | Lists Juju users allowed to connect to a controller or model. 15 | 16 | ## Usage 17 | ```juju users [options] [model-name]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `--all` | false | Include disabled users | 23 | | `-c`, `--controller` | | Controller to operate in | 24 | | `--exact-time` | false | Use full timestamp for connection times | 25 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 26 | | `-o`, `--output` | | Specify an output file | 27 | 28 | ## Examples 29 | 30 | Print the users relevant to the current controller: 31 | 32 | juju users 33 | 34 | Print the users relevant to the controller "another": 35 | 36 | juju users -c another 37 | 38 | Print the users relevant to the model "mymodel": 39 | 40 | juju users mymodel 41 | 42 | 43 | ## Details 44 | When used without a model name argument, users relevant to a controller are printed. 45 | When used with a model name, users relevant to the specified model are printed. -------------------------------------------------------------------------------- /tmp/t/command-juju-export-bundle.md: -------------------------------------------------------------------------------- 1 | (command-juju-export-bundle)= 2 | # Command 'juju export-bundle' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | 12 | ## Summary 13 | Exports the current model configuration as a reusable bundle. 14 | 15 | ### Options 16 | | Flag | Default | Usage | 17 | | --- | --- | --- | 18 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 19 | | `--filename` | | Bundle file | 20 | | `--include-charm-defaults` | false | Whether to include charm config default values in the exported bundle | 21 | | `--include-series` | false | Comaptibility option. Set to include series in the bundle alongside bases | 22 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 23 | 24 | ## Examples 25 | 26 | juju export-bundle 27 | juju export-bundle --filename mymodel.yaml 28 | juju export-bundle --include-charm-defaults 29 | juju export-bundle --include-series 30 | 31 | 32 | ## Details 33 | 34 | Exports the current model configuration as a reusable bundle. 35 | 36 | If --filename is not used, the configuration is printed to stdout. 37 | --filename specifies an output file. 38 | 39 | If --include-series is used, the exported bundle will include the OS series 40 | alongside bases. This should be used as a compatibility option for older 41 | versions of Juju before bases were added. -------------------------------------------------------------------------------- /tmp/t/charmcraft-charmcraft.md: -------------------------------------------------------------------------------- 1 | (charmcraft-charmcraft)= 2 | # Charmcraft (`charmcraft`) 3 | 4 | > See also: {ref}`How to manage Charmcraft ` 5 | > 6 | > See more: {ref}`List of Charmcraft commands ` 7 | 8 | Charmcraft (`charmcraft`) is a command line tool used to simplify the creation, building, and publication of a charm. 9 | 10 | 13 | 14 | With Charmcraft you can: 15 | 16 | - Init a new charm file structure 17 | - Build your operator into a charm for distribution 18 | - Register your charm name on [Charmhub](https://charmhub.io/) 19 | - Upload your charms to [Charmhub](https://charmhub.io/) 20 | - Release your charms into channels 21 | 22 | You can use Charmcraft with charms written in any language. However, for ease of development and collaboration, we recommend you use it with charms written in Python using {ref}`Ops `. 23 | 24 | 27 | 28 | -------------------------------------------------------------------------------- /tmp/t/command-juju-add-user.md: -------------------------------------------------------------------------------- 1 | (command-juju-add-user)= 2 | # Command 'juju add-user' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`register `, {ref}`grant `, {ref}`users `, {ref}`show-user `, {ref}`disable-user `, {ref}`enable-user `, {ref}`change-user-password `, {ref}`remove-user ` 12 | 13 | ## Summary 14 | Adds a Juju user to a controller. 15 | 16 | ## Usage 17 | ```juju add-user [options] []``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `-c`, `--controller` | | Controller to operate in | 24 | 25 | ## Examples 26 | 27 | juju add-user bob 28 | juju add-user --controller mycontroller bob 29 | 30 | 31 | ## Details 32 | 33 | The user's details are stored within the controller and will be removed when 34 | the controller is destroyed. 35 | 36 | A user unique registration string will be printed. This registration string 37 | must be used by the newly added user as supplied to complete the registration 38 | process. 39 | 40 | Some machine providers will require the user to be in possession of certain 41 | credentials in order to create a model. -------------------------------------------------------------------------------- /tmp/t/command-juju-list-users.md: -------------------------------------------------------------------------------- 1 | (command-juju-list-users)= 2 | # Command 'juju list-users' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-user `, {ref}`register `, {ref}`show-user `, {ref}`disable-user `, {ref}`enable-user ` 12 | **Alias:** users 13 | 14 | ## Summary 15 | Lists Juju users allowed to connect to a controller or model. 16 | 17 | ## Usage 18 | ```juju list-users [options] [model-name]``` 19 | 20 | ### Options 21 | | Flag | Default | Usage | 22 | | --- | --- | --- | 23 | | `--all` | false | Include disabled users | 24 | | `-c`, `--controller` | | Controller to operate in | 25 | | `--exact-time` | false | Use full timestamp for connection times | 26 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 27 | | `-o`, `--output` | | Specify an output file | 28 | 29 | ## Examples 30 | 31 | Print the users relevant to the current controller: 32 | 33 | juju users 34 | 35 | Print the users relevant to the controller "another": 36 | 37 | juju users -c another 38 | 39 | Print the users relevant to the model "mymodel": 40 | 41 | juju users mymodel 42 | 43 | 44 | ## Details 45 | When used without a model name argument, users relevant to a controller are printed. 46 | When used with a model name, users relevant to the specified model are printed. -------------------------------------------------------------------------------- /tmp/t/command-juju-charm-resources.md: -------------------------------------------------------------------------------- 1 | (command-juju-charm-resources)= 2 | # Command 'juju charm-resources' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`resources `, {ref}`attach-resource ` 12 | 13 | ## Summary 14 | Display the resources for a charm in a repository. 15 | 16 | ## Usage 17 | ```juju charm-resources [options] ``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `-B`, `--no-browser-login` | false | Do not use web browser for authentication | 23 | | `--channel` | stable | the channel of the charm | 24 | | `--format` | tabular | Specify output format (json|tabular|yaml) | 25 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 26 | | `-o`, `--output` | | Specify an output file | 27 | 28 | ## Examples 29 | 30 | Display charm resources for the postgresql charm: 31 | 32 | juju charm-resources postgresql 33 | 34 | Display charm resources for mycharm in the 2.0/edge channel: 35 | 36 | juju charm-resources mycharm --channel 2.0/edge 37 | 38 | 39 | 40 | ## Details 41 | 42 | This command will report the resources and the current revision of each 43 | resource for a charm in a repository. 44 | 45 | Channel can be specified with --channel. If not provided, stable is used. 46 | 47 | Where a channel is not supplied, stable is used. -------------------------------------------------------------------------------- /tmp/t/command-charmcraft-remote-build.md: -------------------------------------------------------------------------------- 1 | (command-charmcraft-remote-build)= 2 | # Command 'charmcraft remote-build' 3 | 4 | > Starting with Charmcraft 3+ 5 | 6 | ## Usage: 7 | ```text 8 | charmcraft remote-build {ref}`options] 9 | ``` 10 | 11 | ## Summary: 12 | 13 | Command remote-build sends the current project to be built remotely. After the build is complete, packages for each architecture are retrieved and will be available in the local filesystem. 14 | 15 | Interrupted remote builds can be resumed using the `--recover` option, followed by the build number informed when the remote build was originally dispatched. The current state of the remote build for each architecture can be checked using the `--status` option. 16 | 17 | To set a timeout on the remote-build command, use the option ``--launchpad-timeout=``. The timeout is local, so the build on launchpad will continue even if the local instance is interrupted or times out. 18 | 19 | ## Options: 20 | | | | 21 | |-|-| 22 | | `-h, --help` | Show this help message and exit | 23 | | `-v, --verbose` | Show debug information and be more verbose | 24 | | `-q, --quiet` | Only show warnings and errors, not progress | 25 | | `--verbosity` | Set the verbosity level to 'quiet', 'brief', 'verbose', 'debug' or 'trace' | 26 | | `--recover` | recover an interrupted build | 27 | | `--launchpad-accept-public-upload` | acknowledge that uploaded code will be publicly available. | 28 | | `--launchpad-timeout` | Time in seconds to wait for Launchpad to build. | 29 | 30 | 31 | ## See also: 32 | - [`pack` ` -------------------------------------------------------------------------------- /tmp/t/command-juju-move-to-space.md: -------------------------------------------------------------------------------- 1 | (command-juju-move-to-space)= 2 | # Command 'juju move-to-space' 3 | 4 | ```{caution} 5 | 6 | The information in this doc is based on Juju version 3.5.5, 7 | and may not accurately reflect other versions of Juju. 8 | 9 | ``` 10 | 11 | > See also: {ref}`add-space `, {ref}`spaces `, {ref}`reload-spaces `, {ref}`rename-space `, {ref}`show-space `, {ref}`remove-space ` 12 | 13 | ## Summary 14 | Update a network space's CIDR. 15 | 16 | ## Usage 17 | ```juju move-to-space [options] [--format yaml|json] [ ...]``` 18 | 19 | ### Options 20 | | Flag | Default | Usage | 21 | | --- | --- | --- | 22 | | `--force` | false | Allow to force a move of subnets to a space even if they are in use on another machine. | 23 | | `--format` | human | Specify output format (human|json|tabular|yaml) | 24 | | `-m`, `--model` | | Model to operate in. Accepts [<controller name>:]<model name>|<model UUID> | 25 | | `-o`, `--output` | | Specify an output file | 26 | 27 | ## Examples 28 | 29 | Move a list of CIDRs from their space to a new space: 30 | 31 | juju move-to-space db-space 172.31.1.0/28 172.31.16.0/20 32 | 33 | 34 | ## Details 35 | Replaces the list of associated subnets of the space. Since subnets 36 | can only be part of a single space, all specified subnets (using their 37 | CIDRs) "leave" their current space and "enter" the one we're updating. -------------------------------------------------------------------------------- /tmp/t/commands-available-on-a-juju-machine.md: -------------------------------------------------------------------------------- 1 | (commands-available-on-a-juju-machine)= 2 | # Commands available on a Juju machine 3 | 4 | Commands available on a machine provisioned by Juju: 5 | 6 | juju-dumplogs 7 | juju-introspect 8 | juju-run 9 | 10 | 11 | 12 | 13 | 14 | The `juju-introspect` command accepts a wide range of options. Since it can be tedious to type them up, you can use instead the following aliases: 15 | 16 | 17 | 18 | * juju_cpu_profile 19 | * [juju_engine_report](https://juju.is/docs/dev/agent-introspection-juju-engine-report) 20 | * [juju_goroutines](https://juju.is/docs/dev/agent-introspection-juju-goroutines) 21 | * [juju_heap_profile](https://juju.is/docs/dev/agent-introspection-juju-heap-profile) 22 | * [juju_machine_lock](https://juju.is/docs/dev/agent-introspection-juju-machine-lock) (since 2.3.9, 2.4.2) 23 | * [juju_metrics](https://juju.is/docs/dev/agent-introspection-juju-metrics) 24 | * juju_pubsub_report (since 2.3) 25 | * juju_presence_report (since 2.4) 26 | * [juju_start_unit](https://juju.is/docs/dev/agent-introspection-juju-start-unit) (since 2.9) 27 | * juju_statepool_report 28 | * juju_statetracker_report 29 | * [juju_stop_unit](https://juju.is/docs/dev/agent-introspection-juju-stop-unit) (since 2.9) 30 | * [juju_unit_status](https://juju.is/docs/dev/agent-introspection-juju-unit-status) (since 2.9) -------------------------------------------------------------------------------- /tmp/t/storage-events.md: -------------------------------------------------------------------------------- 1 | (storage-events)= 2 | # Storage events 3 | 4 | > {ref}`Event ` > {ref}`List of events `> Storage events 5 | > 6 | > See also: {ref}`A charm's life `, {ref}`How to access storage <6499md>` 7 | 8 | Storage events are those events that are about the lifecycle of juju storage. 9 | 10 | **Contents:** 11 | - [Complete list of storage events](#heading--complete-list-of-storage-events) 12 | - [Storage event triggers](#heading--storage-event-triggers) 13 | - [Storage events in `ops`](#heading--storage-events-in-ops) 14 | 15 |

Complete list of storage events

16 | 17 | - {ref}``-storage-attached` `; emitted when a storage mount is attached. 18 | - {ref}``-storage-detaching` `; emitted when a storage mount is detached. 19 | 20 | 21 |

Storage event triggers

22 | 23 | TO BE ADDED 24 | 25 |

Storage events in `ops`

26 | 27 | In `ops`, all storage events inherit from [`ops.charm.StorageEvent`](https://ops.readthedocs.io/en/latest/index.html?highlight=storageevent#ops.charm.StorageEvent), which gives them the following attributes: 28 | - {ref}``storage` <6499md>`: the `ops.model.Storage` instance this event is about. --------------------------------------------------------------------------------