
The Terraform SaltStack provider is a plugin for Terraform that allows to create and accept SaltStack minion keys.
This provider is maintained by Imperva Operations Engineering Team.
See: Official documentation in the Terraform registry.
Requirements
Supported Salt Master versions
The provider is tested with versions 3005, 3004.2, 3004.1, 3004.1, 3004, 3003.5", 3003.4, 3003.3, 3003.2, 3003.1, 3003, 3002.9, 3002.8, 3002.7, 3002.6, 3002.5, 3002.4, 3002.3, 3002.2, 3002.1, 3002. It is also possible to work with older versions.
Building The Provider
- Clone the repository
- Change to the repository directory
- Build the provider using the
make install command:
$ make install
Using the provider
Here is a short example on how to use this provider:
terraform {
required_providers {
saltstack = {
version = "0.1.0"
source = "imperva/saltstack",
}
}
}
provider saltstack {
host = "10.20.30.40"
port = 8000
username = "saltstack-api-user"
password = "strongpassword"
}
resource saltstack_minion_key_pair single_minion_key {
minion_id = "db-1.domain.com"
key_size = 2048
}
resource saltstack_minion_key_pair few_minion_keys {
count = 5
minion_id = "web-${count.index+1}.domain.com"
key_size = 2048
}
Developing the Provider
If you wish to work on the provider, you need Go installed on your machine (see Requirements above).
To compile the provider, run make install. This will build the provider and put the provider binary in the ~/.terraform.d/plugins/registry.terraform.io/imperva/saltstack/<VERSION>/<OS_ARCH> directory.
To generate or update documentation, run go generate.
In order to run the suite of unit tests, run make test.
In order to run the full suite of acceptance tests, run make testacc.
Note: Acceptance tests create a docker compose stack on port 8000.