This repository contains the source code for the Terraform MAAS provider.
The Terraform Provider for MAAS repository now lives under the Canonical GitHub organisation with a new name github.com/canonical/terraform-provider-maas
.
Ensure you are pointing at the new provider name inside your Terraform module(s), which is canonical/maas
:
Manually update the list of required providers in your Terraform module(s):
terraform {
required_providers {
maas = {
- source = "maas/maas"
+ source = "canonical/maas"
version = "~>2.0"
}
}
}
Upgrade your provider dependencies to add the canonical/maas
provider info:
terraform init -upgrade
Replace the provider reference in your state:
terraform state replace-provider maas/maas canonical/maas
Upgrade your provider dependencies to remove the maas/maas
provider info:
terraform init -upgrade
References:
Clone the repository
Enter the repository directory
Build the provider with:
make build
(Optional): Install the freshly built provider with:
make install
The provider accepts the following config options:
2.0
.maas
provider "maas" {
api_version = "2.0"
api_key = "YOUR MAAS API KEY"
api_url = "http://<MAAS_SERVER>[:MAAS_PORT]/MAAS"
}
The docs section contains details about each supported Terraform resource and data source.
Create a new branch from master
as release-vX.X.X
git branch release-vX.X.X master
git push -u origin release-vX.X.X
Update the CHANGELOG.md
with your release version, date and change details and push the changes to the new branch. New changes between previous release vY.Y.Y and current one vX.X.X can be found with the following command:
git log --oneline vY.Y.Y..vX.X.X
Raise a PR on Github, title of the PR should be in the following format
Release vX.X.X
Merge the PR into master, taking a note of the merge commit which is created
Go to Releases on Github
Click Draft a new release
On Target
choose the latest merge commit you want to release for
Set the tag
to create a new tag for the version in the format "vX.X.X"
Set the release title
to the release version, for example v1.0.1
Copy and paste the relevant CHANGELOG.md entries to the release description
Click Publish release
The new version should be available on the Releases page
Unit tests run with every pull request and merge to master. The end to end tests run on a nightly basis against a hosted MAAS deployment, results can be found here and are checked on each PR, with a warning if failed.