All Projects → cyralinc → terraform-provider-cyral

cyralinc / terraform-provider-cyral

Licence: Apache-2.0 license
Cyral Terraform Provider

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to terraform-provider-cyral

terraform-provider-vmc
Terraform provider for VMware Cloud on AWS
Stars: ✭ 16 (+33.33%)
Mutual labels:  terraform-provider
terraform-provider-nsx
A Terraform provider for VMware NSX.
Stars: ✭ 20 (+66.67%)
Mutual labels:  terraform-provider
terraform-provider-vagrant
A Vagrant provider for terraform.
Stars: ✭ 43 (+258.33%)
Mutual labels:  terraform-provider
terraform-provider-ddcloud
Terraform provider for Dimension Data cloud compute.
Stars: ✭ 17 (+41.67%)
Mutual labels:  terraform-provider
terraform-provider-sonarqube
Terraform provider for managing Sonarqube configuration
Stars: ✭ 26 (+116.67%)
Mutual labels:  terraform-provider
terraform-provider-carvel
Carvel Terraform provider with resources for ytt and kapp to template and deploy to Kubernetes
Stars: ✭ 40 (+233.33%)
Mutual labels:  terraform-provider
terraform-provider-dnsimple
Terraform DNSimple provider
Stars: ✭ 15 (+25%)
Mutual labels:  terraform-provider
terraform-provider-nomad
Terraform Nomad provider
Stars: ✭ 91 (+658.33%)
Mutual labels:  terraform-provider
terraform-provider-aci
Terraform Cisco ACI provider
Stars: ✭ 68 (+466.67%)
Mutual labels:  terraform-provider
terraform-provider-sumologic
This project is done. It has been integrated into https://github.com/SumoLogic/sumologic-terraform-provider
Stars: ✭ 13 (+8.33%)
Mutual labels:  terraform-provider
terraform-provider-ansiblevault
Read ansible vault from Terraform
Stars: ✭ 70 (+483.33%)
Mutual labels:  terraform-provider
terraform-provider-proxmox
terraform provider for proxmox
Stars: ✭ 28 (+133.33%)
Mutual labels:  terraform-provider
datadog-to-terraform
Converts Datadog resource JSON into Terraform alarm code.
Stars: ✭ 191 (+1491.67%)
Mutual labels:  terraform-provider
terraform-provider-ncloud
Terraform NaverCloud provider
Stars: ✭ 25 (+108.33%)
Mutual labels:  terraform-provider
terraform-provider-mssql
Terraform provider for Microsoft SQL Server
Stars: ✭ 18 (+50%)
Mutual labels:  terraform-provider
terraform-provider-jumpcloud
A Terraform provider for JumpCloud
Stars: ✭ 17 (+41.67%)
Mutual labels:  terraform-provider
terraform-provider-ad
Automates the Active Directory resource creation during Infrastructure build using Terraform Provider.
Stars: ✭ 64 (+433.33%)
Mutual labels:  terraform-provider
terraform-provider-hetznerdns
Terraform provider for Hetzner DNS
Stars: ✭ 78 (+550%)
Mutual labels:  terraform-provider
terraform-provider-icinga2
Terraform Icinga2 provider
Stars: ✭ 13 (+8.33%)
Mutual labels:  terraform-provider
TerraformPluginDotNet
Write Terraform providers in C#.
Stars: ✭ 17 (+41.67%)
Mutual labels:  terraform-provider

Cyral Terraform Provider

The Cyral Terraform Provider contains resources that can be used to interact with the Cyral API through Terraform code. It allows customers to maintain a history of changes in Cyral environment by transforming configurations into code and use Terraform to control state changes.

Our provider uses the same naming conventions and organization as stated in Terraform guidelines for writing custom providers.

Documentation

Full and comprehensive documentation for this provider is available on the provider documentation index.

Change Log

The Change Log keeps track of features, bug fixes and Control Plane compatibility of this provider.

Guides

See below a list of guides that can be used to deploy some predefined scenarios:

Building, Documenting and Testing

Build Instructions

In order to build this repository, follow the steps below:

  1. Clone terraform-provider-cyral repo from GitHub;

  2. Go to the root directory of the cloned repo using Linux shell and execute make. The build process will create binaries in directory out for both darwin and linux 64 bits. These binaries will be copied automatically to the local Terraform registry to be used by Terraform 13 and later.

Alternatively, you can use the dockerfile to build the image using make docker-compose/build

To use the local provider, the module must be configured to use the local provider path as follows:

terraform {
  required_providers {
    cyral = {
      source = "local/terraform/cyral"
    }
  }
}

Updating the Documentation

This project uses terraform-plugin-docs. Add the attribute Description to the Schema in order to allow the documentation to be created automatically and following Terraform good practices. See any of the resources in folder cyral for guidance on how to document the Schema. See also folders examples and templates for more information on where and how to store examples and define templates for documentation artifacts.

To create the documentation automatically, run the commands:

# Creates the documentation files from the source code
make docker-compose/docs
# Runs the pre-commit linter
pre-commit run --show-diff-on-failure --color=always --all-files

Test Instructions

The test framework requires basic configuration before it can be executed as follows:

  1. Set the configuration environment variables:
# Set the control plane DNS name and port (default 8000):
export CYRAL_TF_CONTROL_PLANE=mycp.cyral.com:8000

# Set client and secret ID:
export CYRAL_TF_CLIENT_ID=?
export CYRAL_TF_CLIENT_SECRET=?

# Initialize Terraform acceptance tests variable
export TF_ACC=true
  1. Run make

Commit instructions

This project uses pre-commit to automatically lint changes during the commit process.

Before committing a change, you will need to install pre-commit and then install the hooks by running the following command in the root of the repository:

pre-commit install

Running Project Built Locally

Terraform v0.12

Copy the desired binary file created in directory out (see Build Instructions) to the root folder containing those .tf files that will be used to handle Cyral Terraform provider resources.

Run terraform init and proceed with terraform apply normally to execute your Terraform scripts.

Terraform v0.13+

Build the project using steps in Build Instructions, then proceed normally with terraform init and terraform apply commands.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].