Git Product home page Git Product logo

hcp-vault-docker-enterprise's Introduction

title description
HashiCorp Vault Enterprise on Docker
Vault Enterprise Cluster on Docker

tags:

  • docker
  • arm64
  • hashicorp
  • hcp-vault
  • vault
  • hcp-terraform
  • terraform
  • raft
  • dr
  • tech alias:
  • Vault Enterprise Raft Cluster


INFRA // Vault Enterprise on Docker - Raft Cluster

Vault Enterprise Cluster with Raft Storage Backend on Docker.

Introduction

Credit goes to nicklhw@github as these Terraform templates are based off nicklhw's design, research, and scripts to stand up a local Docker VAULT Enterprise Cluster.

This spins up:

  • 3 Node (Container) Vault Cluster

Basics

  • HCLIC: You will need to provide your own Vault Enterprise License File
    • e.g. ~/docker-vault/terraform/data/vault/shared/vault.hclic
  • Network:
    • e.g. ~/docker-vault/terraform/01.network.tf
  • Storage:
    • e.g. ~/docker-vault/terraform/02.storaget.tf

Usage

  • Spin up Vault
    # cd docker-vault
    # make -f Makefile vault-all
  • Remove Vault
    # cd docker-vault
    # make -f Makefile clean-vault-all

Files

.
├── LICENSE
├── README.md
├── assets
├── docker-vault
│   ├── Makefile
│   └── terraform
│       ├── 00.variables.tf
│       ├── 00.versions.tf
│       ├── 01.network.tf
│       ├── 02.storage.tf
│       ├── 03.vault.tf
│       ├── 99.outputs.tf
│       ├── data
│       │   ├── scripts
│       │   │   ├── api_addr.sh
│       │   │   ├── init.sh
│       │   │   ├── pass_insert.sh
│       │   │   ├── unseal-cli.sh
│       │   │   └── vault.json
│       │   └── vault
│       │       ├── shared
│       │       │   ├── licenseplaceholder
│       │       │   └── vault.hclic
│       │       ├── vault_s1
│       │       │   ├── addr.hcl
│       │       │   └── vault-server.hcl
│       │       ├── vault_s2
│       │       │   ├── addr.hcl
│       │       │   └── vault-server.hcl
│       │       └── vault_s3
│       │           ├── addr.hcl
│       │           └── vault-server.hcl
│       ├── terraform.tfstate
│       └── terraform.tfstate.backup
└── utility

Requirements

  • Docker
  • Terraform
  • jq
  • GPG / PGP / Pass

Providers

Name Version
hashicorp/local >=2.1.0
kreuzwerker/docker >=2.16.0

Modules

No modules.

Resources

Name Type
docker.docker_container resource
docker.docker_image resource
docker.docker_network resource
local.local_file resource

Inputs

Name Description Type Default Required
path_vault_s1_config Specify path on local disk to mount Vault Container /vault/config /var/tmp/volume/vault-ent/vault_s1/config yes
path_vault_s1_data Specify path on local disk to mount Vault Container /vault/data /var/tmp/volume/vault-ent/vault_s1/data yes
path_vault_s2_config Specify path on local disk to mount Vault Container /vault/config /var/tmp/volume/vault-ent/vault_s1/config yes
path_vault_s2_data Specify path on local disk to mount Vault Container /vault/data /var/tmp/volume/vault-ent/vault_s1/data yes
path_vault_s3_config Specify path on local disk to mount Vault Container /vault/config /var/tmp/volume/vault-ent/vault_s1/config yes
path_vault_s3_data Specify path on local disk to mount Vault Container /vault/data /var/tmp/volume/vault-ent/vault_s1/data yes
path_vault_log Specify path on local disk to mount SHARED Vault Container /var/log/vault /var/tmp/volume/vault-ent/log yes
container_image_vault Image Name of Vault Container hashicorp/vault-enterprise yes
container_tag_vault Image Tag of Vault Container {{VAULT_VERSION}} no
container_name_vault_s1 Name of Vault Container vault_s1 yes
container_name_vault_s2 Name of Vault Container vault_s2 yes
container_name_vault_s3 Name of Vault Container vault_s3 yes
docker_port_internal_vault Internal Port for Vault Container 8200 no
docker_port_external_vault_s1 External Port for Vault S1 Container 18200 yes
docker_port_external_vault_s2 External Port for Vault S2 Container 28200 yes
docker_port_external_vault_s3 External Port for Vault S3 Container 38200 yes
docker_restart_vault Restart Policy for Vault Container unless-stopped no
vault_root_token Root Token for Vault Service no

Outputs

Name Description
container_image_vault_id n/a
network_name n/a
network_id n/a
network_ipam n/a
container_name_vault_s1 n/a
container_name_vault_s2 n/a
container_name_vault_s3 n/a
container_ip_vault_s1 n/a
container_ip_vault_s2 n/a
container_ip_vault_s3 n/a
container_port_internal_vault_s1 n/a
container_port_internal_vault_s2 n/a
container_port_internal_vault_s3 n/a
container_port_external_vault_s1 n/a
container_port_external_vault_s2 n/a
container_port_external_vault_s3 n/a

Appendix

References

[[]]

hcp-vault-docker-enterprise's People

Contributors

f0otsh0t avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.