Terraform Modules

Github Project Stars Travis CI build status Documentation Status Github Issue Tracking Github LatestRelease

Repository for Shared, reuseable Terraform Modules. At the Moment the modules only useable for the hetzner.de/cloud, with the terraform Provider.

Usage

module "private_access_key" {
    source = "git::https://github.com/nolte/terraform-infrastructure-modules.git//[module_name]?ref=v0.0.5.dev"
    ...
}

Modules

module

description

project_access_elements

Handle the Accees Keys from a Project (wrapper for the hcloud_ssh_key).

storage_elements

Handle Storage Volumes (wrapper for hcloud_volume).

computing_elements

Handle Computing Instances (wrapper for hcloud_server), execute a preconfiguration with CloudInit.

Development

virtualenv -p python3 ~/venvs/development
source ~/venvs/development/bin/activate
pip install -r requirements.txt
pre-commit install

Add Required asdf Plugin Repositories for install additional tools.

asdf plugin-add terraform-docs https://github.com/looztra/asdf-terraform-docs
asdf plugin-add task https://github.com/nolte/asdf-task.git
asdf install

List Existing tasks

$ task -l

task: Available tasks for this project:
* default:                              Generate All Module Readme Files
* tfdocs_computing_elements:            Readme for Computing Elements
* tfdocs_project_access_elements:       Readme for Project Access Elements
* tfdocs_storage_elements:              Readme for Storage Elements

Testing

export PASSWORD_STORE_DIR=~/.password-store
export HCLOUD_TOKEN=$(pass internet/hetzner.com/projects/minecraft/terraform-token)
export TF_machine_access_pass_path=private/keyfiles/ssh/online/onlineSecond_rsa.pub

go test -v -timeout 30m

Docs

tox -e docs