aboutsummaryrefslogtreecommitdiff
path: root/terraform/main.tf
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2021-01-09 12:33:17 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2021-01-09 12:33:17 +0100
commit16795884f3e915ed6d8b086fd5b6b93fc4858a27 (patch)
tree2043154f60fd396e5ee9f572df0dc9112f46feff /terraform/main.tf
parent4dd314376968d99abe67e1c49ad8032d3a2b96c2 (diff)
parent5b1279c3dd28a2c0252624c36e937c59db15270d (diff)
downloadinfra-16795884f3e915ed6d8b086fd5b6b93fc4858a27.tar.gz
infra-16795884f3e915ed6d8b086fd5b6b93fc4858a27.tar.bz2
infra-16795884f3e915ed6d8b086fd5b6b93fc4858a27.tar.xz
infra-16795884f3e915ed6d8b086fd5b6b93fc4858a27.zip
Merge branch 'master' of trygvis.io:git/infra
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
+}