From 5250e73722b46142935a289af33fdd57e1b21273 Mon Sep 17 00:00:00 2001 From: Nilstrieb <48135649+Nilstrieb@users.noreply.github.com> Date: Sat, 13 Jul 2024 17:18:00 +0200 Subject: [PATCH] separate workspaces --- tf-infra/{ => aws}/.gitignore | 0 tf-infra/{ => aws}/.terraform.lock.hcl | 0 tf-infra/aws/README.md | 12 +++++++ tf-infra/{ => aws}/backup.tf | 0 tf-infra/{ => aws}/backup_personal.tf | 0 tf-infra/aws/state.sh | 15 +++++++++ tf-infra/{ => aws}/state.tf | 0 tf-infra/{ => aws}/versions.tf | 4 --- tf-infra/contabo/.gitignore | 4 +++ tf-infra/contabo/.terraform.lock.hcl | 43 ++++++++++++++++++++++++++ tf-infra/{ => contabo}/README.md | 3 -- tf-infra/{ => contabo}/contabo.tf | 0 tf-infra/contabo/state.sh | 15 +++++++++ tf-infra/contabo/versions.tf | 8 +++++ tf-infra/state.sh | 15 --------- 15 files changed, 97 insertions(+), 22 deletions(-) rename tf-infra/{ => aws}/.gitignore (100%) rename tf-infra/{ => aws}/.terraform.lock.hcl (100%) create mode 100644 tf-infra/aws/README.md rename tf-infra/{ => aws}/backup.tf (100%) rename tf-infra/{ => aws}/backup_personal.tf (100%) create mode 100755 tf-infra/aws/state.sh rename tf-infra/{ => aws}/state.tf (100%) rename tf-infra/{ => aws}/versions.tf (66%) create mode 100644 tf-infra/contabo/.gitignore create mode 100644 tf-infra/contabo/.terraform.lock.hcl rename tf-infra/{ => contabo}/README.md (86%) rename tf-infra/{ => contabo}/contabo.tf (100%) create mode 100755 tf-infra/contabo/state.sh create mode 100644 tf-infra/contabo/versions.tf delete mode 100755 tf-infra/state.sh diff --git a/tf-infra/.gitignore b/tf-infra/aws/.gitignore similarity index 100% rename from tf-infra/.gitignore rename to tf-infra/aws/.gitignore diff --git a/tf-infra/.terraform.lock.hcl b/tf-infra/aws/.terraform.lock.hcl similarity index 100% rename from tf-infra/.terraform.lock.hcl rename to tf-infra/aws/.terraform.lock.hcl diff --git a/tf-infra/aws/README.md b/tf-infra/aws/README.md new file mode 100644 index 0000000..a32a495 --- /dev/null +++ b/tf-infra/aws/README.md @@ -0,0 +1,12 @@ +# terraform + +Terraform files for my setup. + +The state can be found in an s3 bucket that is not managed via terraform and looks like it might contain it + +This uses the following environment variables: + +``` +export AWS_ACCESS_KEY_ID="" +export AWS_SECRET_ACCESS_KEY="" +``` diff --git a/tf-infra/backup.tf b/tf-infra/aws/backup.tf similarity index 100% rename from tf-infra/backup.tf rename to tf-infra/aws/backup.tf diff --git a/tf-infra/backup_personal.tf b/tf-infra/aws/backup_personal.tf similarity index 100% rename from tf-infra/backup_personal.tf rename to tf-infra/aws/backup_personal.tf diff --git a/tf-infra/aws/state.sh b/tf-infra/aws/state.sh new file mode 100755 index 0000000..fb07b30 --- /dev/null +++ b/tf-infra/aws/state.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +BUCKET="nilstrieb-states" + +case "$1" in + download) + aws s3api get-object --bucket "$BUCKET" --key "aws-terraform.tfstate" "terraform.tfstate" + ;; + upload) + aws s3api put-object --bucket "$BUCKET" --key "aws-terraform.tfstate" --body "terraform.tfstate" + ;; + *) + echo "subcommand download or upload required" + exit 1 +esac diff --git a/tf-infra/state.tf b/tf-infra/aws/state.tf similarity index 100% rename from tf-infra/state.tf rename to tf-infra/aws/state.tf diff --git a/tf-infra/versions.tf b/tf-infra/aws/versions.tf similarity index 66% rename from tf-infra/versions.tf rename to tf-infra/aws/versions.tf index 4bbe46a..f50db5f 100644 --- a/tf-infra/versions.tf +++ b/tf-infra/aws/versions.tf @@ -1,9 +1,5 @@ terraform { required_providers { - contabo = { - source = "contabo/contabo" - version = "~> 0.1.23" - } aws = { source = "hashicorp/aws" version = "~> 5.35.0" diff --git a/tf-infra/contabo/.gitignore b/tf-infra/contabo/.gitignore new file mode 100644 index 0000000..93bec2b --- /dev/null +++ b/tf-infra/contabo/.gitignore @@ -0,0 +1,4 @@ +/.terraform +/.env +# Copy to secrets +/terraform.tfstate* diff --git a/tf-infra/contabo/.terraform.lock.hcl b/tf-infra/contabo/.terraform.lock.hcl new file mode 100644 index 0000000..5f91722 --- /dev/null +++ b/tf-infra/contabo/.terraform.lock.hcl @@ -0,0 +1,43 @@ +# This file is maintained automatically by "tofu init". +# Manual edits may be lost in future updates. + +provider "registry.opentofu.org/contabo/contabo" { + version = "0.1.23" + constraints = "0.1.23" + hashes = [ + "h1:8350dn6n8R149cCE6DzDoZtSs8uceTXqJKt5k4AFdtw=", + "zh:19bcf3660ac7545103cf999e0066442f9d6350db9654e1496726520cef287246", + "zh:28548ce7218bc36ce43ed3cdb6bf21a6313ded17ce924ea62a161f95f013211f", + "zh:41169b396e293e34550949ff217414eb168d3c049b5d0d773cbbd9e40242e98d", + "zh:4acbdfb227e635565974f6c2152e172a781000a2afe0216cdbf32baa1fd5482a", + "zh:63c007e7eaa0b0878728e25f5d5dc31de8fc700ccd4df75013d059319caaee94", + "zh:7505443485041c5d65b0c664d962e1fd379a05bb473e8fd2ac4f95d3984c5294", + "zh:954a8a497ab516342c00e80f3a12927928c1437267af9ca7d822ce58063224a8", + "zh:b57737d85aed73ec84c9c709d7a23985d6c61497bf082c1633eaacfb89bbaf53", + "zh:c009f0e49fac46684482f2c6acf5fee50b41cdad6e8883c22a9e95e38afe5dba", + "zh:c02eb8033be219219a72991e76f50af0d115d8c4a482dc6035c58a47cac285c1", + "zh:c5d79f17bf97f67d3d9b0aaa3fbaf14f3e8c690e06f11f099a6610583ef2cf74", + "zh:cf3ea5db022e8198a9510014cadd3bf97307401c3475e7b80e6ec5e494bac77d", + "zh:dbd20779f01363bb59c9376202bf15eab25ee5720d573502778d88935253e000", + "zh:df529bf335c867a6e34c5ac79fcafd062b812ddbc9871695bf2052efde657a3d", + "zh:ef297c827635430079154fce3d0c5258988893c2e4096cd48487cf7950ac9aec", + ] +} + +provider "registry.opentofu.org/hashicorp/aws" { + version = "5.35.0" + constraints = "~> 5.35.0" + hashes = [ + "h1:3DYZFl/JAWxYkn2xkoRVyMJrnVQmNTWqfWlwkMEiJOc=", + "zh:32ef60b3b130199a94a61958d7ebaf67ed0e05866e66a08fcc9c311380fdbf55", + "zh:3c28d9f265d06a328a82fb894a867d7fd7dd27646bdff09e262b156fbd1269b2", + "zh:4a6b58668bba4c17e88982aa7b14ce8c1f7de3501b231a82656c6e8d16222300", + "zh:550f4acb06d71a7f3d24f09ed20e3f271575b7bc7911de24d7e28fcf7759173d", + "zh:64b62a8139ccbf08a093e834b6d2de00358a2ea514d666cd0cbe0e0c782666c0", + "zh:6f89d6d7550ce4e6a345b7f48ee373833b154bac6c4496d198a14c87d7421fc7", + "zh:9fe6c4346d86448cf0bbd715c65cc4d3e7abc15bf3d2d1163d0f5663601e4634", + "zh:baa76b247ee4c4559e51b03557f4b464794926f1ddf597d84bc2374b417ffc72", + "zh:cefb2910843031bd658aa2bc4d0d7a98b2b1f4c0b2ef6b2f7b974e1869d8cec0", + "zh:dab3f13e0f400d4cf6bf95a3dd9883a6afe859c2f8df2ad24d5b27d9653f8f9a", + ] +} diff --git a/tf-infra/README.md b/tf-infra/contabo/README.md similarity index 86% rename from tf-infra/README.md rename to tf-infra/contabo/README.md index 5d8dabb..750f139 100644 --- a/tf-infra/README.md +++ b/tf-infra/contabo/README.md @@ -12,7 +12,4 @@ export CNTB_OAUTH2_CLIENT_ID="id" export CNTB_OAUTH2_CLIENT_SECRET="secret" export CNTB_OAUTH2_USER="email" export CNTB_OAUTH2_PASS="password" -export AWS_ACCESS_KEY_ID="" -export AWS_SECRET_ACCESS_KEY="" - ``` diff --git a/tf-infra/contabo.tf b/tf-infra/contabo/contabo.tf similarity index 100% rename from tf-infra/contabo.tf rename to tf-infra/contabo/contabo.tf diff --git a/tf-infra/contabo/state.sh b/tf-infra/contabo/state.sh new file mode 100755 index 0000000..1dff13a --- /dev/null +++ b/tf-infra/contabo/state.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +BUCKET="nilstrieb-states" + +case "$1" in + download) + aws s3api get-object --bucket "$BUCKET" --key "contabo-terraform.tfstate" "terraform.tfstate" + ;; + upload) + aws s3api put-object --bucket "$BUCKET" --key "contabo-terraform.tfstate" --body "terraform.tfstate" + ;; + *) + echo "subcommand download or upload required" + exit 1 +esac diff --git a/tf-infra/contabo/versions.tf b/tf-infra/contabo/versions.tf new file mode 100644 index 0000000..4ddb0cd --- /dev/null +++ b/tf-infra/contabo/versions.tf @@ -0,0 +1,8 @@ +terraform { + required_providers { + contabo = { + source = "contabo/contabo" + version = "~> 0.1.23" + } + } +} diff --git a/tf-infra/state.sh b/tf-infra/state.sh deleted file mode 100755 index ebf2abc..0000000 --- a/tf-infra/state.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash - -BUCKET="nilstrieb-states" - -case "$1" in - download) - aws s3api get-object --bucket "$BUCKET" --key "terraform.tfstate" "terraform.tfstate" - ;; - upload) - aws s3api put-object --bucket "$BUCKET" --key "terraform.tfstate" --body "terraform.tfstate" - ;; - *) - echo "subcommand download or upload required" - exit 1 -esac