aboutsummaryrefslogtreecommitdiff
path: root/terraform/main.tf
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2021-01-08 16:54:04 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2021-01-08 16:54:36 +0100
commit5b1279c3dd28a2c0252624c36e937c59db15270d (patch)
tree2a14ab954a3fac6fde17c05b5821f65c5bd4ba3b /terraform/main.tf
parent9e4e02fdfb5a9e038c5e09a38fa51b457164156b (diff)
downloadinfra-5b1279c3dd28a2c0252624c36e937c59db15270d.tar.gz
infra-5b1279c3dd28a2c0252624c36e937c59db15270d.tar.bz2
infra-5b1279c3dd28a2c0252624c36e937c59db15270d.tar.xz
infra-5b1279c3dd28a2c0252624c36e937c59db15270d.zip
minio
Diffstat (limited to 'terraform/main.tf')
-rw-r--r--terraform/main.tf75
1 files changed, 75 insertions, 0 deletions
diff --git a/terraform/main.tf b/terraform/main.tf
new file mode 100644
index 0000000..853a87d
--- /dev/null
+++ b/terraform/main.tf
@@ -0,0 +1,75 @@
+terraform {
+ required_version = ">= 0.13"
+
+ backend "local" {
+ path = "../state/dns"
+ }
+
+ required_providers {
+ linode = {
+ version = "~> 1.13"
+ source = "linode/linode"
+ }
+
+ ansiblevault = {
+ version = "~> 2.2"
+ source = "MeilleursAgents/ansiblevault"
+ }
+
+ minio = {
+ source = "tidalf/minio"
+ version = "1.1.1"
+ }
+ }
+}
+
+provider "ansiblevault" {
+ root_folder = "../ansible"
+}
+
+#################################################
+# Linode
+
+data "ansiblevault_path" "linode_token" {
+ path = "group_vars/all/linode-dns.yml"
+ key = "linode_token_v4"
+}
+
+provider "linode" {
+ token = data.ansiblevault_path.linode_token.value
+}
+
+#################################################
+# Minio
+
+data "ansiblevault_path" "minio_access_key" {
+ path = "minio/group_vars/all/vault.yml"
+ key = "MINIO_ROOT_USER"
+}
+
+data "ansiblevault_path" "minio_secret_key" {
+ path = "minio/group_vars/all/vault.yml"
+ key = "MINIO_ROOT_PASSWORD"
+}
+
+provider "minio" {
+ minio_server = "minio.trygvis.io:443"
+ minio_ssl = "true"
+ minio_access_key = data.ansiblevault_path.minio_access_key.value
+ minio_secret_key = data.ansiblevault_path.minio_secret_key.value
+}
+
+#################################################
+# Modules
+
+module "dns" {
+ source = "./dns"
+}
+
+module "minio" {
+ source = "./minio"
+}
+
+output "secret" {
+ value = module.minio.secret
+}