secmgmt

0opsops/secmgmt/vault

Terraform Module HCL VAULT

Terraform module to manage HashiCorp Vault Secrets!

Install
module "secmgmt" {
source = "0opsops/secmgmt/vault"
version = "3.9.7"
}
plain text: /constructs/tfmod-0opsops-secmgmt-vault/install.txt
⭐ Source on GitHub 📦 Registry page
README

Managing HashiCorp Vault Secrets with Terraform Multi Kubernetes clusters authentication and Multi AWS accounts assumed_role and Generating IAM Users for CI/CD purpose on the top of pre-existing Vault! Just like this! Auth Methods - USERPASS (UI) - OIDC (UI) - AWS - JWT (GitLab, GitHub) - KUBERNETES Secrets Engines - KV-V2 - AWS THIS MODULE DOWNSIDE IS ALL SECRETS VALUES WOULD BE INSIDE TERRAFORM.TFVARS THAT AIN'T PRETTY GOOD AND REALLY HARD MANAGING SECRETS IN LARGE SCALE! (WELL.... WHATEVER... YOU KNOW VERY WELL WHAT YOU DOING!) ________________________________________________________________ Requirements | Name | Version | |------|---------| | terraform | >= v1.6.5 | | vault | >= 4.2.0 | Providers | Name | Version | |------|---------| | vault | >= 4.2.0 | Modules No modules. Resources |

Inputs (50)
NameTypeDescriptionDefault
create_kv_engineboolEnable KV version 2 secret engine required
create_kv_v2boolCreate KV Version 2 Secrets required
create_userpassboolAuthenticate Vault with Username/Password required
enabled_gl_jwt_backendboolEnable GitLab JWT Auth Method or not required
create_gh_acc_roleboolEnable Account Role for GitHub JWT Auth Method required
create_aws_auth_backend_userboolEnable AWS Auth method or not required
create_gh_secret_roleboolFor GHA, Enable Secrets JWT Auth Method Role or not required
create_policyboolEnable Vault policy or not required
create_gl_secret_roleboolFor GitLab, Enable Secrets JWT Auth Method Role or not required
region_userstringRegion that Vault residing"us-east-1"
auth_backend_role_usermap(object({ account_id = If enabled, This Role that will be used by Vault authenticating and performing n{ "key": { "account_id": 134567890
aws_auth_pathstringAWS Authentication Methods path"aws"
auth_backend_rolemap(object({ account_id = Role that will be used by Vault authenticating AWS{ "key": { "account_id": 123456789
secret_backend_rolemap(object({ name = sCreate and use STS Assumed Role by Vault performing necessary actions respective{ "key": { "name": "aws", "rol
default_ttl_gl_jwtstringDefault Time To Live"1h"
max_ttl_gl_jwtstringMaximum Time To Live"2h"
gl_acc_bound_claimsmap(object({ role_name JWT/OIDC auth Method role for AWS Account in a Vault server{ "key": { "bound_claims": {
gh_secret_token_policieslist(string)Secrets policy name[ "default" ]
gl_secret_bound_claimsmap(object({ role_name JWT/OIDC auth Method role for Secrets values in a Vault server{ "key": { "bound_claims": {
k8s_configmap(object({ backend Kubernetes Auth Backend configuration{ "dev-k8s": { "backend": "dev-k8s
kv_v2_pathstringKV-V2 secret engine path"infra"
delete_version_afternumberOld secrets version will be deleted after this seconds (7 days)604800
max_ttl_awsstringMaximum Time To Live for Assumed role3600
aws_secret_pathstringAWS Secret Engine path for Assumed Role"aws"
gh_acc_bound_audlist(string)URL of the repository owner, eg: `https://github.com/OWNER`, such as the organiz[ "" ]
oidc_auth_pathmap(object({ oidc_path OIDC mount path{ "gmail": { "oidc_client_id": "12
credential_typestringAWS STS Assumed Role type"assumed_role"
access_key_userstringAWS Access Key with necessary permissions"ACCESS_KEY"
gl_jwt_token_typestring`service` token or `batch` token? Default is `service` token"service"
… and 10 more inputs
Resources (14)
vault_auth_backendvault_aws_auth_backend_sts_rolevault_aws_secret_backendvault_aws_secret_backend_rolevault_generic_endpointvault_identity_groupvault_identity_group_aliasvault_jwt_auth_backendvault_jwt_auth_backend_rolevault_kubernetes_auth_backend_configvault_kubernetes_auth_backend_rolevault_kv_secret_v2vault_mountvault_policy
Details
FrameworkTerraform Module
LanguageHCL
Version3.9.7
Cloud VAULT
★ Stars0
Forks0
Total downloads471
Inputs50
Resources14
Examples1
Namespace0opsops
Updated