summaryrefslogtreecommitdiff
path: root/terraform/main.tf
diff options
context:
space:
mode:
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
+}