Juju Documentation

This is the documentation for Juju 3.3.

To find out what’s new, see Roadmap & Releases.

To upgrade from 2.9, see How to upgrade your Juju deployment from 2.9 to 3.x.

Welcome to Juju, your entrypoint into the Juju universe!

Juju is an open source orchestration engine for software operators that enables the deployment, integration and lifecycle management of applications at any scale, on any infrastructure, using special software operators called ‘charms’.

Juju provides a declarative and model-driven way to install, provision, maintain, update, upgrade, and integrate applications on and across Kubernetes containers, Linux containers, virtual machines, and bare metal machines, on public or private cloud.

As such, Juju makes it simple, intuitive, and efficient to manage the full lifecycle of complex applications in hybrid cloud.

For system operators and DevOps who manage applications in the cloud, Juju simplifies code; for CIOs, it helps align code with business decisions.

For a collection of existing charms, see Charmhub. To build your own charm, see the Charm SDK docs.


In this documentation

Tutorial
Get started - a hands-on introduction to Juju for new users
How-to guides
Step-by-step guides covering key operations and common tasks
Explanation
Discussion and clarification of key topics
Reference
Technical information - specifications, APIs, architecture

Project and community

Juju is an open source project that warmly welcomes community projects, contributions, suggestions, fixes and constructive feedback.

Navigation

Navigation
Level Path Navlink
1 Juju documentation
1 tutorial Tutorial
1 how-to How-to guides
2 upgrade-your-juju-deployment-from-2-9-to-3-x Upgrade your deployment from 2.9 to 3.x
2 manage-juju Manage the client
3 install-juju Install juju
3 use-juju Use juju
3 back-up-juju Back up juju
3 upgrade-juju Upgrade juju
2 manage-the-juju-dashboard Manage the dashboard
2 manage-clouds Manage clouds
2 manage-credentials Manage credentials
2 manage-controllers Manage controllers
2 manage-models Manage models
2 manage-applications Manage applications
2 manage-relations Manage relations
2 manage-offers Manage offers
2 manage-charms Manage charms
2 manage-charm-bundles Manage charm bundles
2 manage-charm-resources Manage charm resources
2 manage-machines Manage machines
2 manage-storage Manage storage
2 manage-storage-pools Manage storage pools
2 manage-subnets Manage subnets
2 manage-spaces Manage spaces
2 manage-logs Manage agent logs
2 manage-units Manage units
2 manage-actions Manage actions
2 manage-ssh-keys Manage SSH keys
2 manage-users Manage users
2 manage-secrets Manage secrets
2 manage-secret-backends Manage secret backends
2 manage-plugins Manage plugins
2 unsorted Unsorted
3 cloud-image-metadata Configure machine image metadata for your OpenStack cloud
3 define-instance-tags Define instance tags in a cloud
3 collecting-juju-metrics Collect metrics about a controller
3 fan-container-networking Fan container networking
3 troubleshooting Gather information for troubleshooting
3 troubleshoot-clouds Troubleshoot a cloud
3 troubleshoot-model-upgrades Troubleshoot model upgrades
3 troubleshoot-additions Troubleshoot additions
3 troubleshoot-removals Troubleshoot removals
3 working-offline Work offline
3 use-the-localhost-cloud-offline Use the localhost cloud offline
3 configure-juju-for-offline-usage Configure Juju for offline usage
3 offline-mode-strategies Offline mode strategies
3 supported-features Supported features
1 reference Reference
2 action Action
2 agent Agent
2 application Application
2 base Base
2 binding Binding
2 bootstrapping Bootstrapping
2 bundle Bundle
2 channel Channel
2 charmed-operator Charm(ed operator)
2 client Client
2 cloud Cloud
3 juju-supported-clouds List of supported clouds
2 configuration Configuration
3 list-of-controller-configuration-keys List of controller configuration keys
3 list-of-model-configuration-keys List of model configuration keys
2 constraint Constraint
2 containeragent-binary containeragent (binary)
2 controller Controller
2 credential Credential
2 deployment Deployment
2 endpoint Endpoint
2 high-availability High-availability
2 Juju
3 roadmap Juju roadmap & releases
3 juju-version-compatibility-matrix Juju version compatibility matrix
2 the-juju-client juju CLI (Juju client)
2 juju-cli-commands juju CLI commands
3 environment-variables juju environment variables
2 the-juju-dashboard juju-dashboard (the Juju dashboard)
2 the-juju-web-cli juju web CLI
2 jujuc-binary jujuc (binary)
2 jujud-binary jujud (binary)
2 leader Leader
2 log Log
2 machine Machine
2 metric Metric
2 model Model
2 offer Offer
2 operation Operation (script execution)
2 placement-directive Placement directive
2 plugins Plugin
3 list-of-known-plugins List of known plugins
3 plugin-flags Plugin flags
2 python-libjuju-client python-libjuju (Juju client)
2 removing-things Removing things
2 relation Relation (integration)
2 charm-resource Resource (charm)
2 scaling Scaling
2 secret Secret
3 secret-backend Secret backend
2 network-spaces Space
2 ssh-key SSH key
2 status Status
2 storage Storage
3 storage-constraint Storage constraint
3 storage-pool Storage pool
3 storage-provider Storage provider
3 dynamic-storage Dynamic storage
3 storage-support Storage support
2 subnet Subnet
2 task Task (script execution)
2 telemetry-and-juju Telemetry
2 terraform-cli-client terraform CLI (Juju client)
2 unit Unit
2 upgrading Upgrading things
2 user User
3 user-permissions User access levels
2 worker Worker
2 availability-zone Zone
1 explanation Explanation
2 application-modelling Application modelling
2 juju-performance Performance with Juju
2 juju-security Security with Juju
2 kubernetes-in-juju Kubernetes in Juju
Supported clouds
amazon-ec2 Amazon AWS
amazon-eks Amazon EKS
equinix-metal Equinix Metal
google-gce Google GCE
google-gke Google GKE
lxd LXD
maas MAAS
manual Manual setup
microk8s MicroK8s
microsoft-azure Microsoft Azure
microsoft-aks Microsoft AKS
openstack OpenStack
oracle-oci Oracle
vmware-vsphere VMware vSphere
juju CLI commands
juju-actions juju actions
juju-add-cloud juju add-cloud
juju-add-credential juju add-credential
juju-add-k8s juju add-k8s
juju-add-machine juju add-machine
juju-add-model juju add-model
juju-add-secret juju add-secret
juju-add-secret-backend juju add-secret-backend
juju-add-space juju add-space
juju-add-ssh-key juju add-ssh-key
juju-add-storage juju add-storage
juju-add-unit juju add-unit
juju-add-user juju add-user
juju-agree juju agree
juju-agreements juju agreements
juju-attach-resource juju attach-resource
juju-attach-storage juju attach-storage
juju-autoload-credentials juju autoload-credentials
juju-bind juju bind
juju-bootstrap juju bootstrap
juju-cancel-task juju cancel-task
juju-change-user-password juju change-user-password
juju-charm-resources juju charm-resources
juju-clouds juju clouds
juju-collect-metrics juju collect-metrics
juju-config juju config
juju-constraints juju constraints
juju-consume juju consume
juju-controller-config juju controller-config
juju-controllers juju controllers
juju-create-backup juju create-backup
juju-create-storage-pool juju create-storage-pool
juju-credentials juju credentials
juju-dashboard juju dashboard
juju-debug-code juju debug-code
juju-debug-hook juju debug-hook
juju-debug-hooks juju debug-hooks
juju-debug-log juju debug-log
juju-default-credential juju default-credential
juju-default-region juju default-region
juju-deploy juju deploy
juju-destroy-controller juju destroy-controller
juju-destroy-model juju destroy-model
juju-detach-storage juju detach-storage
juju-diff-bundle juju diff-bundle
juju-disable-command juju disable-command
juju-disable-user juju disable-user
juju-disabled-commands juju disabled-commands
juju-documentation juju documentation
juju-download juju download
juju-download-backup juju download-backup
juju-enable-command juju enable-command
juju-enable-destroy-controlle juju enable-destroy-controller
juju-enable-ha juju enable-ha
juju-enable-user juju enable-user
juju-exec juju exec
juju-export-bundle juju export-bundle
juju-expose juju expose
juju-find juju find
juju-find-offers juju find-offers
juju-firewall-rules juju firewall-rules
juju-grant juju grant
juju-grant-cloud juju grant-cloud
juju-grant-secret juju grant-secret
juju-help juju help
juju-help-tool juju help-tool
juju-import-filesystem juju import-filesystem
juju-import-ssh-key juju import-ssh-key
juju-info juju info
juju-integrate juju integrate
juju-kill-controller juju kill-controller
juju-list-actions juju list-actions
juju-list-agreements juju list-agreements
juju-list-charm-resources juju list-charm-resources
juju-list-clouds juju list-clouds
juju-list-controllers juju list-controllers
juju-list-credentials juju list-credentials
juju-list-disabled-commands juju list-disabled-commands
juju-list-firewall-rules juju list-firewall-rules
juju-list-machines juju list-machines
juju-list-models juju list-models
juju-list-offers juju list-offers
juju-list-operations juju list-operations
juju-list-payloads juju list-payloads
juju-list-regions juju list-regions
juju-list-resources juju list-resources
juju-list-secret-backends juju list-secret-backends
juju-list-secrets juju list-secrets
juju-list-spaces juju list-spaces
juju-list-ssh-keys juju list-ssh-keys
juju-list-storage juju list-storage
juju-list-storage-pools juju list-storage-pools
juju-list-subnets juju list-subnets
juju-list-users juju list-users
juju-login juju login
juju-logout juju logout
juju-machines juju machines
juju-metrics juju metrics
juju-migrate juju migrate
juju-model-config juju model-config
juju-model-constraints juju model-constraints
juju-model-default juju model-default
juju-model-defaults juju model-defaults
juju-models juju models
juju-move-to-space juju move-to-space
juju-offer juju offer
juju-offers juju offers
juju-operations juju operations
juju-payloads juju payloads
juju-refresh juju refresh
juju-regions juju regions
juju-register juju register
juju-relate juju relate
juju-reload-spaces juju reload-spaces
juju-remove-application juju remove-application
juju-remove-cloud juju remove-cloud
juju-remove-credential juju remove-credential
juju-remove-k8s juju remove-k8s
juju-remove-machine juju remove-machine
juju-remove-offer juju remove-offer
juju-remove-relation juju remove-relation
juju-remove-saas juju remove-saas
juju-remove-secret juju remove-secret
juju-remove-secret-backend juju remove-secret-backend
juju-remove-space juju remove-space
juju-remove-ssh-key juju remove-ssh-key
juju-remove-storage juju remove-storage
juju-remove-storage-pool juju remove-storage-pool
juju-remove-unit juju remove-unit
juju-remove-user juju remove-user
juju-rename-space juju rename-space
juju-resolve juju resolve
juju-resolved juju resolved
juju-resources juju resources
juju-resume-relation juju resume-relation
juju-retry-provisioning juju retry-provisioning
juju-revoke juju revoke
juju-revoke-cloud juju revoke-cloud
juju-revoke-secret juju revoke-secret
juju-run juju run
juju-scale-application juju scale-application
juju-scp juju scp
juju-secret-backends juju secret-backends
juju-secrets juju secrets
juju-set-application-base juju set-application-base
juju-set-constraints juju set-constraints
juju-set-credential juju set-credential
juju-set-default-credentials juju set-default-credentials
juju-set-default-region juju set-default-region
juju-set-firewall-rule juju set-firewall-rule
juju-set-meter-status juju set-meter-status
juju-set-model-constraints juju set-model-constraints
juju-show-action juju show-action
juju-show-application juju show-application
juju-show-cloud juju show-cloud
juju-show-controller juju show-controller
juju-show-credential juju show-credential
juju-show-credentials juju show-credentials
juju-show-machine juju show-machine
juju-show-model juju show-model
juju-show-offer juju show-offer
juju-show-operation juju show-operation
juju-show-secret juju show-secret
juju-show-secret-backend juju show-secret-backend
juju-show-space juju show-space
juju-show-status-log juju show-status-log
juju-show-storage juju show-storage
juju-show-task juju show-task
juju-show-unit juju show-unit
juju-show-user juju show-user
juju-spaces juju spaces
juju-ssh juju ssh
juju-ssh-keys juju ssh-keys
juju-status juju status
juju-storage juju storage
juju-storage-pools juju storage-pools
juju-subnets juju subnets
juju-suspend-relation juju suspend-relation
juju-switch juju switch
juju-sync-agent-binary juju sync-agent-binary
juju-trust juju trust
juju-unexpose juju unexpose
juju-unregister juju unregister
juju-update-cloud juju update-cloud
juju-update-credential juju update-credential
juju-update-credentials juju update-credentials
juju-update-k8s juju update-k8s
juju-update-public-clouds juju update-public-clouds
juju-update-secret juju update-secret
juju-update-secret-backend juju update-secret-backend
juju-update-storage-pool juju update-storage-pool
juju-upgrade-controller juju upgrade-controller
juju-upgrade-machine juju upgrade-machine
juju-upgrade-model juju upgrade-model
juju-users juju users
juju-wait-for juju wait-for
juju-whoami juju whoami
Known juju plugins
juju-metadata juju-metadata
juju-stash juju-stash
Controller configuration keys
audit-log-exclude-methods audit-log-exclude-methods
juju-ha-space juju-ha-space
juju-mgmt-space juju-mgmt-space

Redirects

Mapping table
Location Path
/docs/juju/manage-relations /docs/juju/relations
/docs/juju/manage-controllers /docs/juju/controllers
/docs/juju/manage-clouds /docs/juju/clouds
/docs/juju/manage-models /docs/juju/models
/docs/juju/the-juju-web-cli /docs/juju/using-the-juju-web-cli
/docs/juju/the-juju-dashboard /docs/juju/using-the-dashboard
/docs/juju/constraints /docs/juju/about-constraints
/docs/juju/user-types-and-abilities /docs/juju/about-user-types-and-abilities
/docs/juju/manage-the-client /docs/juju/upgrading-client
/docs/juju/migrate-a-model /docs/juju/migrating-models
/docs/juju/configure-a-model /docs/juju/configuring-models
/docs/juju/additional-how-to-guides /docs/juju/other-tutorials
/docs/sdk /t/charm-bundles/1058
/docs/sdk /t/juju-resources/1074
/docs/sdk /t/writing-a-kubernetes-v1-charm-updated/3976
/docs/sdk /t/charm-writing/1260
/docs/sdk /t/tools/1181
/docs/sdk /t/hook-tools/1163
/docs/sdk /t/charm-metadata/1043
/docs/sdk /t/bundle-reference/1158
/t/advanced-application-deployment /t/deploying-advanced-applications
http://discourse.charmhub.io/ /docs/juju/community-help
http://discourse.charmhub.io/ /docs/contact-us
http://discourse.charmhub.io/ /docs/juju/community-help
/docs/juju/accessing-the-dashboard /docs/juju/accessing-juju’s-web-interface
/docs/juju/basic-concepts /docs/juju/reference
/docs/juju/quick-reference /docs/juju/reference
/docs/juju/glossary /docs/juju/reference
/docs/juju/deploying-applications /docs/juju/manage-applications/
/t/5458 /t/1158
/docs/juju/get-started-on-a-localhost /docs/juju/tutorial
/docs/juju/get-started-on-kubernetes /docs/juju/tutorial
/docs/juju/add-a-relation /docs/juju/manage-same-model-relations
/docs/juju/remove-a-relation /docs/juju/manage-same-model-relations
/docs/juju/cross-model-relations /docs/juju/manage-cross-model-relations
/docs/juju/juju-update-clouds /docs/juju/juju-update-cloud
/docs/juju/working-with-multiple-users /docs/juju/manage-users
/docs/juju/applications-and-charmed-operators /docs/juju/applications
/docs/juju/deploy-charms-offline /docs/juju/manage-applications
/docs/juju/juju-sync-agent-binaries /docs/juju/juju-sync-agent-binary
/docs/juju/list-of-available-plugins /docs/juju/list-of-known-plugins
/docs/juju/plugins-wait-for /docs/juju/juju-wait-for
/docs/juju/configure-a-controller#heading–excluding-information-from-the-audit-log /docs/juju/audit-log-exclude-methods
/docs/juju/defining-and-using-persistent-storage /docs/juju/manage-storage
/docs/juju/remove-storage /docs/juju/manage-storage
/docs/juju/juju-show-units /docs/juju/juju-show-unit
/docs/juju/remove-units /docs/juju/manage-units
/docs/juju/working-with-actions /docs/juju/manage-actions
/docs/juju/juju-add-subnet /docs/juju/add-unit
/docs/juju/commands /docs/juju/juju-cli-commands
/docs/juju/juju-add-relation /docs/juju/juju-cli-commands
/docs/juju/juju-add-subnet /docs/juju/juju-cli-commands
/docs/juju/juju-budget /docs/juju/juju-cli-commands
/docs/juju/juju-cached-images /docs/juju/juju-cli-commands
/docs/juju/juju-cancel-action /docs/juju/juju-cli-commands
/docs/juju/juju-create-wallet /docs/juju/juju-cli-commands
/docs/juju/juju-get-constraints /docs/juju/juju-cli-commands
/docs/juju/juju-get-model-constraints /docs/juju/juju-cli-commands
/docs/juju/juju-gui /docs/juju/juju-cli-commands
/docs/juju/juju-hook-tool /docs/juju/juju-cli-commands
/docs/juju/juju-hook-tools /docs/juju/juju-cli-commands
/docs/juju/juju-list-cached-images /docs/juju/juju-cli-commands
/docs/juju/juju-list-plans /docs/juju/juju-cli-commands
/docs/juju/juju-plans /docs/juju/juju-cli-commands
/docs/juju/juju-remove-cached-images /docs/juju/juju-cli-commands
/docs/juju/juju-run-action /docs/juju/juju-cli-commands
/docs/juju/juju-set-plan /docs/juju/juju-cli-commands
/docs/juju/juju-set-series /docs/juju/juju-cli-commands
/docs/juju/juju-set-wallet /docs/juju/juju-cli-commands
/docs/juju/juju-show-action-output /docs/juju/juju-cli-commands
/docs/juju/juju-show-action-status /docs/juju/juju-cli-commands
/docs/juju/juju-show-status /docs/juju/juju-cli-commands
/docs/juju/juju-show-wallet /docs/juju/juju-cli-commands
/docs/juju/juju-sla /docs/juju/juju-cli-commands
/docs/juju/juju-sync-tools /docs/juju/juju-cli-commands
/docs/juju/juju-upgrade-charm /docs/juju/juju-cli-commands
/docs/juju/juju-upgrade-dashboard /docs/juju/juju-cli-commands
/docs/juju/juju-upgrade-gui /docs/juju/juju-cli-commands
/docs/juju/juju-upgrade-series /docs/juju/juju-cli-commands
/docs/juju/juju-wallets /docs/juju/juju-cli-commands
/docs/juju/juju-attach /docs/juju/juju-cli-commands
/docs/juju/juju-charm /docs/juju/juju-cli-commands
/docs/juju/juju-remove-consumed-application /docs/juju/juju-cli-commands
/docs/juju/juju-upgrade-juju /docs/juju/juju-cli-commands
/docs/juju/manage-relations /docs/juju/manage-integrations
/docs/juju/manage-same-model-relations /docs/juju/manage-same-model-integrations
/docs/juju/manage-cross-model-relations /docs/juju/manage-cross-model-integrations
/docs/juju/relations /docs/juju/integration
/docs/juju cross-model-relation /docs/juju cross-model-integration
/docs/juju/install-snaps-offline /docs/juju/install-juju
/docs/juju/manage-the-client /docs/juju/manage-juju
/docs/juju/installing-juju /docs/juju/install-juju
/docs/juju/use-the-client /docs/juju/use-juju
/docs/juju/back-up-the-juju-client /docs/juju/back-up-juju
/docs/juju/upgrade-the-juju-client /docs/juju/upgrade-juju
/docs/juju/accessing-individual-machines-with-ssh /docs/juju/manage-machines
/docs/juju/set-constraints-for-a-machine /docs/juju/manage-machines
/docs/juju/upgrade-a-machines-series /docs/juju/manage-machines
/docs/juju/remove-a-machine /docs/juju/manage-machines
/docs/juju/juju-set-default-credential /docs/juju/juju-set-default-credentials
/docs/juju/upgrade-the-dashboard /docs/juju/manage-the-juju-dashboard
/docs/juju/accessing-the-dashboard /docs/juju/manage-the-juju-dashboard
/docs/juju/restore-a-controller-from-a-backup /docs/juju/controller-backups
/docs/juju/manage-constraints /docs/juju/constraint
/docs/juju/constraints /docs/juju/constraint
/docs/juju/controllers /docs/juju/controller
/docs/juju/credentials /docs/juju/credential
/docs/juju/endpoints /docs/juju/endpoint
/docs/juju/agents /docs/juju/agent
/docs/juju/bundles /docs/juju/bundle
/docs/juju/clouds /docs/juju/cloud
/docs/juju/leaders /docs/juju/leader
/docs/juju/machines /docs/juju/machine
/docs/juju/models /docs/juju/model
/docs/juju/units /docs/juju/unit
/docs/juju/create-a-controller /docs/juju/manage-controllers
/docs/juju/configure-a-controller /docs/juju/manage-controllers
/docs/juju/set-constraints-for-a-controller /docs/juju/manage-controllers
/docs/juju/controller-backups /docs/juju/manage-controllers
/docs/juju/high-availability-juju-controller /docs/juju/manage-controllers
/docs/juju/remove-a-controller /docs/juju/manage-controllers
/docs/juju/applications /docs/juju/application
/docs/juju/add-a-model /docs/juju/manage-models
/docs/juju/get-information-about-a-model /docs/juju/manage-models
/docs/juju/configure-a-model /docs/juju/manage-models
/docs/juju/set-constraints-for-a-model /docs/juju/manage-models
/docs/juju/switch-to-a-different-model /docs/juju/manage-models
/docs/juju/migrate-a-model /docs/juju/manage-models
/docs/juju/upgrade-models /docs/juju/manage-models
/docs/juju/remove-a-model /docs/juju/manage-models
/docs/juju/disabling-commands /docs/juju/manage-models
/docs/juju/monitor-elasticsearch-with-elasticsearch-and-kibana /docs/juju/how-to
/docs/juju/additional-how-to-guides /docs/juju/how-to
/docs/juju/deploy-postgres-on-ubuntu-server /docs/juju/how-to
/docs/juju/deploy-rabbitmq-cluster-on-ubuntu-server /docs/juju/how-to
/docs/juju/get-started-charmed-kubernetes /docs/juju/how-to
/docs/juju/using-gitlab-as-a-container-registry /docs/juju/how-to
/docs/juju/streaming-hadoop-analysis /docs/juju/how-to
/docs/juju/charmed-kubernetes-kata-containers /docs/juju/how-to
/docs/juju/get-started-hadoop-spark /docs/juju/how-to
/docs/juju/kubeapps-on-canonical-kubernetes /docs/juju/how-to
/docs/juju/deploying-storageos-on-kubernetes /docs/juju/how-to
/docs/juju/charmed-osm-get-started /docs/juju/how-to
/docs/juju/lma-light /docs/juju/how-to
/docs/juju/deploy-a-charm-from-charmhub /docs/juju/manage-applications
/docs/juju/deploy-an-application-from-a-local-charm /docs/juju/manage-applications
/docs/juju/deploy-to-a-lxd-container /docs/juju/manage-applications
/docs/juju/deploy-an-application-with-a-specific-series /docs/juju/manage-applications
/docs/juju/deploy-to-a-specific-machine /docs/juju/manage-applications
/docs/juju/deploy-to-a-specific-availability-zone /docs/juju/manage-applications
/docs/juju/deploy-to-a-network-space /docs/juju/manage-applications
/docs/juju/trust-an-application-with-a-credential /docs/juju/manage-applications
/docs/juju/expose-a-deployed-application /docs/juju/manage-applications
/docs/juju/configure-an-application /docs/juju/manage-applications
/docs/juju/set-constraints-for-an-application /docs/juju/manage-applications
/docs/juju/scale-an-application /docs/juju/manage-applications
/docs/juju/upgrade-applications /docs/juju/manage-applications
/docs/juju/remove-an-application /docs/juju/manage-applications
/docs/juju/debug-charm-hooks https://juju.is/docs/sdk/debug-a-charm
/docs/juju/test /docs/sdk/debug-a-charm
/docs/juju/juju-logs /docs/juju/log
/docs/juju/adding-clouds /docs/juju/manage-clouds
/docs/juju/view-the-available-clouds /docs/juju/manage-clouds
/docs/juju/view-the-available-cloud-regions /docs/juju/manage-clouds
/docs/juju/change-the-default-region-for-a-cloud /docs/juju/manage-clouds
/docs/juju/view-detailed-information-about-a-cloud /docs/juju/manage-clouds
/docs/juju/update-the-definition-of-a-cloud /docs/juju/manage-clouds
/docs/juju/remove-a-cloud /docs/juju/manage-clouds
/docs/juju/charmed-operators /docs/juju/charmed-operator
/docs/juju/user-types-and-abilities /docs/juju/user
/docs/juju/add-credentials /docs/juju/manage-credentials
/docs/juju/list-credentials /docs/juju/manage-credentials
/docs/juju/set-the-default-credential-for-a-cloud /docs/juju/manage-credentials
/docs/juju/relate-a-credential-to-a-model /docs/juju/manage-credentials
/docs/juju/query-a-credential-related-to-a-model /docs/juju/manage-credentials
/docs/juju/update-a-credential /docs/juju/manage-credentials
/docs/juju/remove-a-credential /docs/juju/manage-credentials
/docs/juju/log-in-to-a-controller /docs/juju/manage-users
/docs/juju/remove-a-user-from-a-controller /docs/juju/manage-users
/docs/juju/status-values /docs/juju/status
/docs/juju/deployment-of-juju-agents /docs/juju/deployment
/docs/juju/agent-version /docs/juju/list-of-model-configuration-keys
/docs/juju/apt-mirror /docs/juju/list-of-model-configuration-keys
/docs/juju/automatically-retry-hooks /docs/juju/list-of-model-configuration-keys
/docs/juju/cloudinit-userdata /docs/juju/list-of-model-configuration-keys
/docs/juju/container-inherit-properties /docs/juju/list-of-model-configuration-keys
/docs/juju/disable-network-management /docs/juju/list-of-model-configuration-keys
/docs/juju/enable-os-refresh-update /docs/juju/list-of-model-configuration-keys
/docs/juju/enable-os-upgrade /docs/juju/list-of-model-configuration-keys
/docs/juju/firewall-mode /docs/juju/list-of-model-configuration-keys
/docs/juju/image-stream /docs/juju/list-of-model-configuration-keys
/docs/juju/provisioner-harvest-mode /docs/juju/list-of-model-configuration-keys
/docs/juju/amazon-aws /docs/juju/amazon-ec2
/docs/juju/amazon-elastic-kubernetes-service-(amazon-eks) /docs/juju/amazon-eks
/docs/juju/google-kubernetes-engine-(gke) /docs/juju/google-gke
/docs/juju/azure /docs/juju/microsoft-azure
/docs/juju/azure-kubernetes-service-(azure-aks) /docs/juju/microsoft-aks
/docs/juju/oracle /docs/juju/oracle-oci
/docs/juju/manual-setup /docs/juju/manual
/docs/juju/agent-binary /docs/juju/jujud-binary
/docs/juju/other-clusters /docs/juju/tutorial
/docs/aws-cloud /docs/juju/amazon-ec2
/docs/juju/tutorials /docs/juju/tutorial
/docs/juju/get-started-with-juju /docs/juju/tutorial
/docs/juju/use-lxd-clustering /docs/juju/lxd
/docs/juju/manage-a-lxd-cloud /docs/juju/lxd
/docs/juju/use-lxd-profiles https://juju.is/docs/sdk/lxd-profile-yaml
/docs/juju/control-application-network-ingress /docs/juju/manage-applications
/docs/juju/manage-same-model-integrations /docs/juju/manage-integrations
/docs/juju/manage-cross-model-integrations /docs/juju/manage-offers
/docs/juju/controller-agent /docs/juju/agent
/docs/juju/cross-model-integration /docs/juju/relation
/docs/juju/integration /docs/juju/relation
/docs/juju/manage-integrations /docs/juju/manage/relations

Question for @anthonydillon, @nottrobin & @pmatulis - would changing the title of this post impact negatively downstream? If it’s being pinned globally, I believe it should be inviting. (Also, why is it being pinned globally?)

“Juju documentation” makes it hard to know whether it’s worth clicking on. If it’s changed to “Need help? Links to Juju’s documentation”.

The introduction should also be more welcoming, in my opinion. It reads to me as “you’ve come to the wrong place”:

Yes, you can happily change the title, that won’t have any impact on the system.

The thinking behind it being pinned is that it provides effectively the navigation table for the documentation system. But I don’t think it needs to be pinned globally, that seems like a mistake.

But I consider it very much your call whether it’s the right decision to pin it at all. You can happily unpin it, again without having any impact on the documentation system.

The content above the “Navigation” title is also currently not used by the docs site, so you can change it to whatever you like for the time being. However, in other documentation sets - docs.snapcraft.io and the soon-to-be created maas.io/docs, the content above the “Navigation” title in that topic forms the content of the docs homepage, so we might want to move this way in Juju too before too long.

Does that all make sense?

Thanks for the response Robin. I’ll pin this thread to the #docs category, rather than globally. That way it can still be useful as an index for people writing documentation.

1 Like

Heads up, the following pages under the Reference section are missing actual links:

  • Juju commands
  • Environment variables

FYI, I very much like this page pinned to the Docs category. Helps me a lot. :slight_smile:

This currently links to Getting started with Juju - the same target as “Getting started on traditional infrastructure” which is highly confusing until you notice it.

As a minimum it should probably link to Using Kubernetes with Juju and be moved lower (because that document references Getting started with Juju as a prerequisite)

Thanks for raising this @doismellburning. I will get this addressed very shortly :slight_smile:

Edit: updated

I found these 404 broken links:

That’s strange… I must have edited the index incorrectly. I will take a look now.

Edit: the problem was that I had edited the titles of those URLs. Discourse is not sensitive to these changes (it only cares about the post ID).

relate link is broken
(4. Relate applications:)
I believe it should point to Managing relations

1 Like