Juju documentation


Welcome to the home of Juju documentation.

Most of this documentation can be discussed and changed on a per-page basis in the Juju forum.
See the Documentation guidelines if you’d like to contribute.



Using Juju

Administering Juju

Advanced topics




Mapping table
Topic Path
A multi-user cloud /multi-user-cloud
Actions for the charm author /charm-writing/actions
Adding a model /adding-a-model
Additional LXD resources /lxd-resources
[Appendix] Installing a GKE cluster /appendix-gke
Application configuration /charm-writing/application-config
Application groups /application-groups
Application high availability /ha-applications
Application metrics /metrics-applications
Applications and charms /applications-and-charms
Basic client usage - tutorial /client-usage-tutorial
Benchmarking Juju applications /charm-writing/benchmarks
Best practice for charm authors /charm-writing/best-practice
Bundle reference /bundle-reference
Charm bundles /charm-bundles
Charm hooks /charm-hooks
Charm Layer.yaml Reference /charm-layer-yaml-reference
Charm metadata /charm-metadata
Charm Network Primitives /charm-network-primitives
Charm promulgation /charm-writing/promulgation
Charm review process /charm-review-process
Charm store policy /charm-store-policy
Charm tools /charm-tools
Charm unit status and their meanings /charm-unit-status-and-their-meanings
Charm writing /charm-writing
Charms and MySQL interfaces /charms-and-mysql-interfaces
Client /client
Cloud image metadata /cloud-image-metadata
Clouds /clouds
CMR scenario #1 /cmr-scenario-1
CMR scenario #2 /cmr-scenario-2
Collecting Juju metrics /collecting-juju-metrics
Command changes from 1.25 to 2.0 /command-changes-from-1-25-to-2-0
Components of a charm /components-of-a-charm
Concepts and terms /concepts-and-terms
Configuring applications /configuring-applications
Configuring controllers /configuring-controllers
Configuring Juju for offline usage /configuring-offline-usage
Configuring models /configuring-models
Contact us /contact-us
Controller backups /controller-backups
Controller high availability /controller-high-availability
Controller logins /controller-logins
Controllers /controllers
Create a Google Compute Engine controller /create-a-google-compute-engine-controller
Creating a controller /creating-a-controller
[Appendix] Creating an AWS VPC /appendix-creating-an-aws-vpc
Creating config.yaml and configuring charms /creating-config-yaml-and-configuring-charms
Creating icons for charms /creating-icons-for-charms
Creating SSH Keypairs on Windows /creating-ssh-keypairs-on-windows
Credentials /credentials
Cross model relations /cross-model-relations
Dealing with errors encountered by charm hooks /charm-writing/hook-errors
Debugging building layers /debugging-building-layers
Debugging charm hooks /charm-writing/hook-debug
Deploying applications - advanced /deploying-advanced-applications
Deploying applications /deploying-applications
Deploying charms offline /deploying-charms-offline
DHX: A Customized Hook Debugging Environment Plugin /charm-writing/hook-debug-dhx
Disabling commands /disabling-commands
Event Cycle /event-cycle
Fan container networking /fan-container-networking
Getting Started with charm development /getting-started-with-charm-development
Getting started with Juju /getting-started-with-juju
Hook tools /charm-writing/hook-tools
How to become a Juju charm author /charm-writing/howto-author
Implementing leadership /implementing-leadership
Implementing relations /charm-writing/relations
[Appendix] Installing Ceph /appendix-installing-ceph
Installing Juju /installing
Installing snaps offline /installing-snaps-offline
Instance naming and tagging in clouds /instance-naming-and-tagging-in-clouds
Interface layers /interface-layers
Introducing Juju 2.0 /introducing-juju-2-0
Introduction to Juju charms /introduction-to-juju-charms
Juju constraints /constraints-reference
Juju environment variables /juju-environment-variables
Juju GUI /gui
Juju logs /logs
Juju plugins /juju-plugins
Juju Resources /juju-resources
Juju support for CentOS7 /centos
Language details - Contributing to Juju docs /language-details-contributing-to-juju-docs
Layers for charm authoring /layers-for-charm-authoring
Leadership howtos /leadership-howtos
Machine authentication /machine-auth
Managed solutions /managed-solutions
Managing relations /relations
Metric collecting charms /metric-collecting-charms
Migrating models /migrating-models
Models /models
Multi-user basic setup - tutorial /multi-user-basic-tutorial
Multi-user external setup - tutorial /multi-user-external-tutorial
Network spaces /spaces
Notes on upgrading Juju software /notes-on-upgrading-juju-software
Offline mode strategies /offline-mode-strategies
Persistent storage and Kubernetes /persistent-storage-and-kubernetes
Reference documents /reference
Release Notes Index /release-notes
Removing things /removing-things
Running multiple versions of Juju /running-multiple-versions-of-juju
Sample command usage and output interpretation /sample-command-usage-and-output-interpretation
Scaling applications /scaling-applications
Setting up static Kubernetes storage - tutorial /k8s-static-pv-tutorial
Subordinate applications /charm-writing/subordinates
The hook environment, hook tools and how hooks are run /charm-writing/hook-env
The Juju charm store /charm-writing/store
The lifecycle of charm relations /charm-writing/relations-lifecycle
Tools /tools
Troubleshooting additions /help-additions
Troubleshooting clouds /help-clouds
Troubleshooting model upgrades /help-model-upgrades
Troubleshooting removals /help-removals
Troubleshooting /help
[Tutorial] Installing Kubernetes with CDK and using auto-configured storage /k8s-cdk-autostorage-tutorial
[Tutorial] Multi-cloud controller with GKE and auto-configured storage /k8s-multicloud-gke-autostorage-tutorial
Tutorials /tutorials
Understanding Kubernetes charms - tutorial /k8s-charms-tutorial
Unmaintained charms /unmaintained-charms
Upgrading a charm /charm-writing/upgrading
Upgrading a machine series /upgrading-series
Upgrading applications /upgrading-applications
Upgrading models /upgrading-models
Upgrading /upgrading
User types and abilities /user-types-and-abilities
Using Amazon AWS with Juju /aws-cloud
Using bundles with the GUI /using-bundles-with-the-gui
Using constraints /constraints
Using Docker in charms /using-docker-in-charms
Using Google GCE with Juju /gce-cloud
Using Joyent with Juju /joyent-cloud
Using Juju storage /storage
Using Juju with MicroK8s - tutorial /microk8s-cloud
Using Kubernetes with Juju /k8s-cloud
Using LXD with Juju - advanced /lxd-cloud-advanced
Using LXD with Juju /lxd-cloud
Using MAAS with Juju /maas-cloud
Using Microsoft Azure with Juju - advanced /advanced-azure-cloud
Using Microsoft Azure with Juju /azure-cloud
Using OpenStack with Juju /openstack-cloud
Using Oracle OCI with Juju /oci-cloud
Using Rackspace with Juju /rackspace-cloud
Using resources | Developer guide /using-resources-developer-guide
Using the aws-integrator charm - tutorial /k8s-aws-integrator-tutorial
Using the localhost cloud offline /using-the-localhost-cloud-offline
Using the Manual cloud with Juju /manual-cloud
Using VMware vSphere with Juju /vsphere-cloud
What is Juju? /what-is-juju
What's new in 2.6 /whats-new-2-6
Working offline /working-offline
Working with actions /working-with-actions
Working with multiple users /working-with-multiple-users
Writing a layer by example /writing-a-layer-by-example
Writing charm tests /writing-charm-tests
Writing charms that use storage /writing-charms-that-use-storage
Writing charms that use terms /writing-charms-that-use-terms
Writing your first Juju charm /writing-your-first-juju-charm


Mapping table
Path Location
/clouds-lxd-resources /lxd-resources
/applications/groups /application-groups
/applications/ha /ha-applications
/applications/metrics /application-metrics
/tutorials/client-basic /client-usage-tutorial
/applications/configuring /configuring-applications
/applications/deploying-advanced /deploying-advanced-applications
/applications/deploying /deploying-applications
/reference/constraints /constraints-reference
/tutorials/multi-user-basic /multi-user-basic-tutorial
/tutorials/multi-user-external /multi-user-external-tutorial
/applications/scaling /scaling-applications
/tutorials/k8s-static-pv /k8s-static-pv-tutorial
/tutorials/k8s-charms /k8s-charms-tutorial
/applications/upgrading /upgrading-applications
/clouds-aws /aws-cloud
/clouds-gce /gce-cloud
/clouds-joyent /joyent-cloud
/tutorials/k8s-microk8s /microk8s-cloud
/clouds-k8s /k8s-cloud
/clouds-lxd-advanced /lxd-cloud-advanced
/clouds-lxd /lxd-cloud
/clouds-maas /maas-cloud
/clouds-azure-advanced /advanced-azure-cloud
/clouds-azure /azure-cloud
/clouds-openstack /openstack-cloud
/clouds-oci /oci-cloud
/clouds-rackspace /rackspace-cloud
/tutorials/k8s-aws-integrator /k8s-aws-integrator-tutorial
/clouds-manual /manual-cloud
/clouds-vsphere /vsphere-cloud
/tutorials/k8s-cdk-autostorage /k8s-cdk-autostorage-tutorial
/tutorials/k8s-multicloud-gke-autostorage /k8s-multicloud-gke-autostorage-tutorial