Additional Terraform resources for working with AWS KMS

This is a (hopefully temporary) Terraform provider for working with AWS KMS, particularly for generating data keys. It attempts to correct a deficiency in the AWS Terraform provider in this area.

As this is not intended to be a permanent provider, it is not particularly general-purpose. We will accept reasonable PRs to expand the provider's scope, however large-scale surgery is beyond the intended scope.

Installation

It should, ideally, be as simple as telling your Terraform module to use the provider:

terraform {
  required_providers {
    kms = {
      source  = "cipherstash/kms"
      version = "~> 0.1"
    }
  }
}

Then a quick terraform init should see it installed and ready to use.

Usage

See the registry docs for all the gory details.

Contributing

Please see CONTRIBUTING.md.

Licence

Unless otherwise stated, everything in this repo is covered by the following copyright notice:

Copyright (C) 2021  CipherStash Pty Ltd.

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License version 3, as
published by the Free Software Foundation.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
Owner
CipherStash
Searchable Encrypted Data Platform
CipherStash
Similar Resources

Simple tool to move Azure resources based on Terraform state

aztfmove Simple tool to move Azure resources based on Terraform state Goal It is sometimes inevitable to move Azure resources to a new subscription or

Dec 29, 2022

Terraform utility provider for constructing bash scripts that use data from a Terraform module

Terraform Bash Provider This is a Terraform utility provider which aims to robustly generate Bash scripts which refer to data that originated in Terra

Sep 6, 2022

Terraform Provider for Azure (Resource Manager)Terraform Provider for Azure (Resource Manager)

Terraform Provider for Azure (Resource Manager)Terraform Provider for Azure (Resource Manager)

Terraform Provider for Azure (Resource Manager) Version 2.x of the AzureRM Provider requires Terraform 0.12.x and later, but 1.0 is recommended. Terra

Oct 16, 2021

Quick start repository for creating a Terraform provider using terraform-plugin-framework

Terraform Provider Scaffolding (Terraform Plugin Framework) This template repository is built on the Terraform Plugin Framework. The template reposito

Dec 15, 2022

Terraform-provider-mailcow - Terraform provider for Mailcow

Terraform Provider Scaffolding (Terraform Plugin SDK) This template repository i

Dec 31, 2021

Terraform-provider-buddy - Terraform Buddy provider For golang

Terraform Provider for Buddy Documentation Requirements Terraform = 1.0.11 Go

Jan 5, 2022

Terraform-provider-vercel - Terraform Vercel Provider With Golang

Vercel Terraform Provider Website: https://www.terraform.io Documentation: https

Dec 14, 2022

Terraform-grafana-dashboard - Grafana dashboard Terraform module

terraform-grafana-dashboard terraform-grafana-dashboard for project Requirements

May 2, 2022

Puccini-terraform - Enable TOSCA for Terraform using Puccini

(work in progress) TOSCA for Terraform Enable TOSCA for Terraform using Puccini.

Jun 27, 2022
Comments
  • The resource name is not properly defined in the docs which makes it unable to locate the kms provider

    The resource name is not properly defined in the docs which makes it unable to locate the kms provider

    When trying the resource name shown in the doc an error is returned:

    <11:01:40> [aws:0.1.0-SNAPSHOT@host] [/workspace] # terraform version
    Terraform v1.3.6
    on linux_amd64
    + provider registry.terraform.io/cipherstash/kms v0.1.0
    + provider registry.terraform.io/hashicorp/aws v4.11.0
    + provider registry.terraform.io/hashicorp/http v3.2.1
    + provider registry.terraform.io/hashicorp/local v2.2.3
    + provider registry.terraform.io/hashicorp/tls v4.0.2
    + provider registry.terraform.io/nbering/ansible v1.0.4
    <11:01:57> [eos-aws:0.3.0-SNAPSHOT@kampe-host] [/workspace] # terraform plan
    ╷
    │ Error: Invalid resource type
    │ 
    │   on kms_key.tf line 12, in resource "aws_kms_data_key_without_plaintext" "my_key":
    │   12: resource "aws_kms_data_key_without_plaintext" "my_key" {
    │ 
    │ The provider hashicorp/aws does not support resource type "aws_kms_data_key_without_plaintext".
    ╵
    <11:02:09> [aws:0.1.0-SNAPSHOT@host] [/workspace] #
    

    I checked into your code and this is the right name, in fact it is working now

A Terraform module that creates AWS alerts billing for your resources.

terraform-aws-billing-alarms terraform-aws-billing-alarms for project Replace name project to New Project agr 'terraform-aws-billing-alarms' 'new-pr

Oct 20, 2021
Infrastructure testing helper for AWS Resources that uses AWS SSM to remotely execute commands on EC2 machines.
Infrastructure testing helper for AWS Resources that uses AWS SSM to remotely execute commands on EC2 machines.

Infrastructure testing helper for AWS Resources that uses AWS SSM to remotely execute commands on EC2 machines, to enable infrastructure engineering teams to write tests that validate behaviour.

Sep 5, 2022
Terraform-equinix-migration-tool - Tool to migrate code from Equinix Metal terraform provider to Equinix terraform provider

Equinix Terraform Provider Migration Tool This tool targets a terraform working

Feb 15, 2022
Terraform-in-Terraform: Execute Modules directly from the Terraform Registry

Terraform-In-Terraform Provider This provider allows running Terraform in Terraform. This might seem insane but there are some edge cases where it com

Dec 25, 2022
A Terraform module to manage cluster authentication (aws-auth) for an Elastic Kubernetes (EKS) cluster on AWS.

Archive Notice The terraform-aws-modules/eks/aws v.18.20.0 release has brought back support aws-auth configmap! For this reason, I highly encourage us

Dec 4, 2022
OpenAPI Terraform Provider that configures itself at runtime with the resources exposed by the service provider (defined in a swagger file)
OpenAPI Terraform Provider that configures itself at runtime with the resources exposed by the service provider (defined in a swagger file)

Terraform Provider OpenAPI This terraform provider aims to minimise as much as possible the efforts needed from service providers to create and mainta

Dec 26, 2022
A tool to bring existing Azure resources under Terraform's management

Azure Terrafy A tool to bring your existing Azure resources under the management of Terraform. Install go install github.com/magodo/aztfy@latest Usage

Dec 9, 2021
A Terraform provider for managing Pi-hole resources

terraform-provider-pihole Pi-hole is an ad blocking application which acts as a DNS proxy that returns empty responses when DNS requests for known adv

Dec 28, 2022
A tool to bring existing Azure resources under Terraform's management

Azure Terrafy A tool to bring your existing Azure resources under the management of Terraform. Goal Azure Terrafy imports the resources inside a resou

Jan 1, 2023