Juju Documentation

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 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 tutorials Tutorial
2 get-started-with-juju Get started with Juju
1 how-to How-to guides
2 upgrade-your-juju-deployment-from-2-9-to-3-x Upgrade your Juju deployment from 2.9 to 3.x
2 manage-juju Manage juju
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-integrations Manage integrations
3 manage-same-model-integrations Same-model
3 manage-cross-model-integrations Cross-model
2 manage-charms Manage charms
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 control-application-network-ingress Control application network ingress
3 collecting-juju-metrics Collect metrics about a controller
3 configure-juju-for-offline-usage Configure Juju for offline usage
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 manage-a-lxd-cloud Manage a LXD cloud
3 use-lxd-clustering Use LXD clustering
3 use-the-localhost-cloud-offline Use the localhost cloud offline
3 use-lxd-profiles Tailor your application for a LXD cloud
3 fan-container-networking Fan container networking
3 offline-mode-strategies Offline mode strategies
3 supported-features Supported features
1 reference Reference
2 action Action
3 task Task
3 operation Operation
2 agent Agent
3 controller-agent Controller 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 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 integration Integration
3 cross-model-integration Cross-model integration
2 the-juju-client juju CLI client
3 juju-cli-commands juju CLI commands
3 environment-variables juju environment variables
2 juju-version-compatibility-matrix Juju version compatibility matrix
2 jujud-binary jujud (binary)
2 the-juju-dashboard Juju dashboard
2 the-juju-web-cli juju web CLI
2 leader Leader
2 log Log
2 machine Machine
2 metric Metric
2 model Model
2 placement-directive Placement directive
2 plugins Plugin
3 list-of-known-plugins List of known plugins
3 plugin-flags Plugin flags
2 removing-things Removing things
2 charm-resource Resource (charm)
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 telemetry-and-juju Telemetry
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
roadmap Roadmap & Releases
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 command (aliases list below)
juju-actions actions
juju-add-cloud add-cloud
juju-add-credential add-credential
juju-add-k8s add-k8s
juju-add-machine add-machine
juju-add-model add-model
juju-add-secret-backend add-secret-backend
juju-add-space add-space
juju-add-ssh-key add-ssh-key
juju-add-storage add-storage
juju-add-unit add-unit
juju-add-user add-user
juju-agree agree
juju-agreements agreements
juju-attach-resource attach-resource
juju-attach-storage attach-storage
juju-autoload-credentials autoload-credentials
juju-bind bind
juju-bootstrap bootstrap
juju-cancel-task cancel-task
juju-change-user-password change-user-password
juju-charm-resources charm-resources
juju-clouds clouds
juju-collect-metrics collect-metrics
juju-config config
juju-constraints constraints
juju-consume consume
juju-controller-config controller-config
juju-controllers controllers
juju-create-backup create-backup
juju-create-storage-pool create-storage-pool
juju-credentials credentials
juju-dashboard dashboard
juju-debug-code debug-code
juju-debug-hooks debug-hooks
juju-debug-log debug-log
juju-default-credential default-credential
juju-default-region default-region
juju-deploy deploy
juju-destroy-controller destroy-controller
juju-destroy-model destroy-model
juju-detach-storage detach-storage
juju-diff-bundle diff-bundle
juju-disable-command disable-command
juju-disable-user disable-user
juju-disabled-commands disabled-commands
juju-download download
juju-download-backup download-backup
juju-enable-command enable-command
juju-enable-destroy-controller enable-destroy-controller
juju-enable-ha enable-ha
juju-enable-user enable-user
juju-exec exec
juju-export-bundle export-bundle
juju-expose expose
juju-find find
juju-find-offers find-offers
juju-firewall-rules firewall-rules
juju-grant grant
juju-grant-cloud grant-cloud
juju-help help
juju-help-tool help-tool
juju-import-filesystem import-filesystem
juju-import-ssh-key import-ssh-key
juju-info info
juju-integrate integrate
juju-kill-controller kill-controller
juju-login login
juju-logout logout
juju-machines machines
juju-metrics metrics
juju-migrate migrate
juju-model-config model-config
juju-model-constraints model-constraints
juju-model-defaults model-defaults
juju-models models
juju-move-to-space move-to-space
juju-offer offer
juju-offers offers
juju-operations operations
juju-payloads payloads
juju-refresh refresh
juju-regions regions
juju-register register
juju-reload-spaces reload-spaces
juju-remove-application remove-application
juju-remove-cloud remove-cloud
juju-remove-credential remove-credential
juju-remove-k8s remove-k8s
juju-remove-machine remove-machine
juju-remove-offer remove-offer
juju-remove-relation remove-relation
juju-remove-saas remove-saas
juju-remove-secret-backend remove-secret-backend
juju-remove-space remove-space
juju-remove-ssh-key remove-ssh-key
juju-remove-storage remove-storage
juju-remove-storage-pool remove-storage-pool
juju-remove-unit remove-unit
juju-remove-user remove-user
juju-rename-space rename-space
juju-resolved resolved
juju-resources resources
juju-resume-relation resume-relation
juju-retry-provisioning retry-provisioning
juju-revoke revoke
juju-revoke-cloud revoke-cloud
juju-run run
juju-scale-application scale-application
juju-scp scp
juju-secret-backends secret-backends
juju-secrets secrets
juju-set-application-base set-application-base
juju-set-constraints set-constraints
juju-set-credential set-credential
juju-set-firewall-rule set-firewall-rule
juju-set-meter-status set-meter-status
juju-set-model-constraints set-model-constraints
juju-show-action show-action
juju-show-application show-application
juju-show-cloud show-cloud
juju-show-controller show-controller
juju-show-credential show-credential
juju-show-machine show-machine
juju-show-model show-model
juju-show-offer show-offer
juju-show-operation show-operation
juju-show-secret show-secret
juju-show-secret-backend show-secret-backend
juju-show-space show-space
juju-show-status-log show-status-log
juju-show-storage show-storage
juju-show-task show-task
juju-show-unit show-unit
juju-show-user show-user
juju-spaces spaces
juju-ssh ssh
juju-ssh-keys ssh-keys
juju-status status
juju-storage storage
juju-storage-pools storage-pools
juju-subnets subnets
juju-suspend-relation suspend-relation
juju-switch switch
juju-sync-agent-binary sync-agent-binary
juju-trust trust
juju-unexpose unexpose
juju-unregister unregister
juju-update-cloud update-cloud
juju-update-credential update-credential
juju-update-k8s update-k8s
juju-update-public-clouds update-public-clouds
juju-update-secret-backend update-secret-backend
juju-update-storage-pool update-storage-pool
juju-upgrade-controller upgrade-controller
juju-upgrade-machine upgrade-machine
juju-upgrade-model upgrade-model
juju-users users
juju-version version
juju-wait-for juju wait-for
juju-whoami whoami
juju CLI command aliases
juju-debug-hook debug-hook
juju-list-actions list-actions
juju-list-agreements list-agreements
juju-list-charm-resources list-charm-resources
juju-list-clouds list-clouds
juju-list-controllers list-controllers
juju-list-credentials list-credentials
juju-list-disabled-commands list-disabled-commands
juju-list-firewall-rules list-firewall-rules
juju-list-machines list-machines
juju-list-models list-models
juju-list-offers list-offers
juju-list-operations list-operations
juju-list-payloads list-payloads
juju-list-regions list-regions
juju-list-resources list-resources
juju-list-secret-backends list-secret-backends
juju-list-secrets list-secrets
juju-list-spaces list-spaces
juju-list-ssh-keys list-ssh-keys
juju-list-storage list-storage
juju-list-storage-pools list-storage-pools
juju-list-subnets list-subnets
juju-list-users list-users
juju-list-wallets list-wallets
juju-model-default model-default
juju-relate relate
juju-resolve resolve
juju-set-default-credentials set-default-credentials
juju-set-default-region set-default-region
juju-show-credentials show-credentials
juju-update-credentials update-credentials
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/get-started-with-juju
/docs/juju/get-started-on-kubernetes /docs/juju/get-started-with-juju
/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/get-started-with-juju
/docs/aws-cloud /docs/juju/amazon-ec2

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