<a id="home"></a>

# Terraform Provider for Juju documentation

The Terraform Provider for Juju is a [Terraform Provider](https://developer.hashicorp.com/terraform/language/providers) that extends [Terraform](https://developer.hashicorp.com/terraform) with [Juju](https://documentation.ubuntu.com/juju) and [JAAS](https://documentation.ubuntu.com/jaas) functionality.

When you’re putting together your Terraform plan, if you specify `juju` as the provider, you can connect to a pre-existing Juju controller or JIMM controller and then go ahead and use it to do Juju things – easy deploy, configure, integrate, scale, etc., infrastructure and applications on any Juju-supported cloud (Kubernetes or otherwise) using charms.

The Terraform Provider for Juju combines the power of Terraform – comprehensive infrastructure management, declaratively – with the power of Juju – easy systems management, from Day 0 to Day n.

Like all of Juju, the Terraform Provider for Juju is for SREs, or anyone looking to take control of cloud.

## In this documentation

- **Set up the Terraform Provider for Juju:** [Install](https://documentation.ubuntu.com/terraform-provider-juju/latest/howto/manage-the-terraform-provider-for-juju.md#install-the-terraform-provider-for-juju) • [Connect a controller](https://documentation.ubuntu.com/terraform-provider-juju/latest/howto/manage-controllers.md#manage-controllers) • [Connect a cloud](https://documentation.ubuntu.com/terraform-provider-juju/latest/howto/manage-clouds.md#manage-clouds)
- **Handle authentication and authorization:** [Manage users](https://documentation.ubuntu.com/terraform-provider-juju/latest/howto/manage-users.md#manage-users) • [Manage service accounts](https://documentation.ubuntu.com/terraform-provider-juju/latest/howto/manage-service-accounts.md#manage-service-accounts)
- **Deploy infrastructure and applications:** [Deploy](https://documentation.ubuntu.com/terraform-provider-juju/latest/howto/manage-applications.md#deploy-an-application) • [Configure](https://documentation.ubuntu.com/terraform-provider-juju/latest/howto/manage-applications.md#configure-an-application) • [Integrate](https://documentation.ubuntu.com/terraform-provider-juju/latest/howto/manage-applications.md#integrate-an-application-with-another-application) • [Scale](https://documentation.ubuntu.com/terraform-provider-juju/latest/howto/manage-applications.md#scale-an-application) • [Upgrade](https://documentation.ubuntu.com/terraform-provider-juju/latest/howto/manage-applications.md#upgrade-an-application)

## How this documentation is organised

This documentation uses the [Diátaxis documentation structure](https://diataxis.fr/).

- The [Tutorial](https://canonical.com/juju/docs/ops/latest/tutorial/#tutorial) takes you step-by-step through using the provider to deploy an application.
- [How-to guides](https://documentation.ubuntu.com/terraform-provider-juju/latest/howto.md#howtos) assume you have basic familiarity with Terraform and Juju.
- [Reference](https://documentation.ubuntu.com/terraform-provider-juju/latest/reference.md#reference) provides technical specifications for provider resources and data sources.
- [Explanation](https://documentation.ubuntu.com/terraform-provider-juju/latest/explanation.md#explanation) includes security models and integration patterns.

## Project and community

The Terraform Provider for Juju is a member of the Ubuntu family. It’s an open source project that warmly welcomes community contributions, suggestions, fixes and constructive feedback.

### Get involved

* [Join our chat](https://matrix.to/#/#terraform-provider-juju:ubuntu.com)
* [Join our forum](https://discourse.charmhub.io/)
* [Report a bug](https://github.com/juju/terraform-provider-juju/issues/new?title=doc%3A+ADD+A+TITLE&amp;body=DESCRIBE+THE+ISSUE%0A%0A---%0ADocument:%20index.md)
* [Contribute](https://github.com/juju/terraform-provider-juju/blob/main/CONTRIBUTING.md)
* [Visit our careers page](https://canonical.com/careers/engineering)

### Releases

* [Release notes](https://github.com/juju/terraform-provider-juju/releases)

### Governance and policies

* [Code of conduct](https://ubuntu.com/community/ethos/code-of-conduct)

### Commercial support

Thinking about using the Terraform Provider for Juju for your next project? [Get in touch!](https://canonical.com/contact-us)
