Warning The provider is under active development and will initially support only some Juju functionality. Use releases at your own risk.
The provider can be used to interact with Juju - an open source orchestration engine.
Today this provider allows you to manage the following via resources:
- Applications and deploy charms
- Credentials for existing clouds
- Integrations
- Machines
- Models
- Model ssh keys
- Offers
- Users
and refer to the following via data sources:
- Machines
- Models
- Offers
Note: These features may not have functional parity with the juju CLI at this time.
-
Clone the repository
-
Enter the repository directory
-
Build the provider dependencies using the make
install-dependencies
target:make install-dependencies
-
Build the provider using the make
go-install
target:make go-install
-
Install in ~/.terraform.d/plugins with
make install
Please run make
to see other targets available, including formatting, linting and static analysis.
Please, refer to the Terraform docs for the Juju provider.
Please see the Developing wiki
To debug, setup environment variables:
export TF_LOG_PROVIDER=TRACE ; export TF_LOG_PATH=./terraform.log
Run your terraform commands.
To find logs specific to the juju provider code:
grep "@module=juju.resource" ./terraform.log
grep "@module=juju.datasource" ./terraform.log
To find logs specific to the juju client talking to juju itself:
grep "@module=juju.client" ./terraform.log