An open API service indexing awesome lists of open source software.

https://github.com/drone-plugins/drone-terraform-compliance

drone-terraform-compliance
https://github.com/drone-plugins/drone-terraform-compliance

Last synced: 4 months ago
JSON representation

drone-terraform-compliance

Awesome Lists containing this project

README

          

# drone-terraform-compliance

Plugin wrapper for https://terraform-compliance.com

## Usage

### Build the image

Navigate to the Dockerfile directory and run the following command to build the Docker image:

```
docker build -t .
```

### Setting up Environment

Ensure that inside the Terraform files' directory, you have a Terraform plan file named `plan.out` and a directory named `features` containing compliance feature files. These feature files specify the conditions to be enforced during compliance checks.

### Run the container

Navigate to Terraform files' directory and execute the following command to run the Docker image and perform Terraform test:

```
docker run -v $(pwd):/app
```

This command mounts the current directory `($(pwd))` as `/app` inside the Docker container and runs compliance checks on that directory.

### Environment Variable (optional)

You can set the `PLUGIN_ARGS` environment variable to provide additional flags or options when running the Terraform Compliance tool.

```
usage: docker run -v $(pwd):/app -e PLUGIN_ARGS='[options]'

options:
--help, -h show this help message and exit
--terraform [terraform_file], -t [terraform_file] The absolute path to the terraform executable.
--features feature directory, -f feature director Directory (or git repository with "git:" prefix) consists of BDD features
--planfile plan_file, -p plan_file Plan output file generated by Terraform
--quit-early, -q Stops executing any more steps in a scenario on first failure.
--no-failure, -n Skip all the tests that is failed, but giving proper failure message
--silent, -S Do not output any scenarios, just write results or failures
--identity [ssh private key], -i [ssh private key] SSH Private key that will be use on git authentication.
--debug, -d Turns on debugging mode
--version, -v show program's version number and exit
```