From d40e3bd71a267bc39abe4b2677d2444be2c39863 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Fri, 12 May 2023 11:21:24 -0700 Subject: ops: remove everything under ops I don't use terraform anymore and GCP services, so I can get rid of everything there. --- ops/gcp-backups/.gitignore | 3 - ops/gcp-backups/default.nix | 28 -------- ops/gcp-backups/main.tf | 164 -------------------------------------------- ops/gcp-backups/readme.org | 5 -- 4 files changed, 200 deletions(-) delete mode 100644 ops/gcp-backups/.gitignore delete mode 100644 ops/gcp-backups/default.nix delete mode 100644 ops/gcp-backups/main.tf delete mode 100644 ops/gcp-backups/readme.org (limited to 'ops/gcp-backups') diff --git a/ops/gcp-backups/.gitignore b/ops/gcp-backups/.gitignore deleted file mode 100644 index 112bb96..0000000 --- a/ops/gcp-backups/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# ignore the various terraform files that are generate. The state is -# stored in a GCS bucket. -.terraform* diff --git a/ops/gcp-backups/default.nix b/ops/gcp-backups/default.nix deleted file mode 100644 index 0e9ed07..0000000 --- a/ops/gcp-backups/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ pkgs }: -let - terraform = pkgs.terraform.withPlugins (p: [ - p.google - ]); -in -pkgs.stdenv.mkDerivation rec { - name = "tf-gcp-backups"; - src = ./.; - - init = pkgs.writeShellScriptBin "tf-gcp-backups-init" '' - set -ueo pipefail - cd $(git rev-parse --show-toplevel)/ops/gcp-backups - ${terraform}/bin/terraform init - ''; - - plan = pkgs.writeShellScriptBin "tf-gcp-backups-plan" '' - set -ueo pipefail - cd $(git rev-parse --show-toplevel)/ops/gcp-backups - ${terraform}/bin/terraform plan - ''; - - apply = pkgs.writeShellScriptBin "tf-gcp-backups-apply" '' - set -ueo pipefail - cd $(git rev-parse --show-toplevel)/ops/gcp-backups - ${terraform}/bin/terraform apply - ''; -} diff --git a/ops/gcp-backups/main.tf b/ops/gcp-backups/main.tf deleted file mode 100644 index f12e9cd..0000000 --- a/ops/gcp-backups/main.tf +++ /dev/null @@ -1,164 +0,0 @@ -locals { - terraform_service_account = "terraform@fcuny-homelab.iam.gserviceaccount.com" -} - -provider "google" { - alias = "impersonation" - scopes = [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/userinfo.email", - ] -} - -data "google_service_account_access_token" "default" { - provider = google.impersonation - target_service_account = local.terraform_service_account - scopes = ["userinfo-email", "cloud-platform"] - lifetime = "1200s" -} - -provider "google" { - project = "fcuny-backups" - region = "us-west1" - zone = "us-west1-c" - access_token = data.google_service_account_access_token.default.access_token - request_timeout = "60s" -} - -terraform { - backend "gcs" { - bucket = "world-tf-state" - prefix = "backups/state" - impersonate_service_account = "terraform@fcuny-homelab.iam.gserviceaccount.com" - } -} - -resource "google_service_account" "restic" { - account_id = "restic" - description = "For backups with restic" - display_name = "Restic Service Account" -} - -resource "google_storage_bucket" "archives" { - name = "fcuny-archives" - location = "US" - storage_class = "NEARLINE" - uniform_bucket_level_access = true - versioning { - enabled = false - } - lifecycle_rule { - action { - type = "SetStorageClass" - storage_class = "ARCHIVE" - } - condition { - matches_storage_class = ["NEARLINE"] - age = 10 - } - } -} - -resource "google_storage_bucket" "backups-systems" { - name = "fcuny-backups-systems" - location = "US" - storage_class = "NEARLINE" - uniform_bucket_level_access = true - versioning { - enabled = false - } -} - -resource "google_storage_bucket_iam_member" "backups-systems" { - bucket = google_storage_bucket.backups-systems.name - role = "roles/storage.objectAdmin" - member = "serviceAccount:${google_service_account.restic.email}" -} - -resource "google_storage_bucket_iam_binding" "backups-systems-create" { - bucket = google_storage_bucket.backups-systems.name - role = "roles/storage.objectCreator" - members = [ - "serviceAccount:${google_service_account.restic.email}", - ] -} - -resource "google_storage_bucket_iam_binding" "backups-systems-view" { - bucket = google_storage_bucket.backups-systems.name - role = "roles/storage.objectViewer" - members = [ - "serviceAccount:${google_service_account.restic.email}", - ] -} - -resource "google_storage_bucket" "backups-users" { - name = "fcuny-backups-users" - location = "US" - storage_class = "NEARLINE" - uniform_bucket_level_access = true - versioning { - enabled = false - } -} - -resource "google_storage_bucket_iam_member" "backups-users" { - bucket = google_storage_bucket.backups-users.name - role = "roles/storage.objectAdmin" - member = "serviceAccount:${google_service_account.restic.email}" -} - -resource "google_storage_bucket_iam_binding" "backups-users-create" { - bucket = google_storage_bucket.backups-users.name - role = "roles/storage.objectCreator" - members = [ - "serviceAccount:${google_service_account.restic.email}", - ] -} - -resource "google_storage_bucket_iam_binding" "backups-users-view" { - bucket = google_storage_bucket.backups-users.name - role = "roles/storage.objectViewer" - members = [ - "serviceAccount:${google_service_account.restic.email}", - ] -} - -resource "google_storage_bucket" "restic" { - name = "fcuny-restic" - location = "US" - storage_class = "COLDLINE" - uniform_bucket_level_access = true - versioning { - enabled = false - } - lifecycle_rule { - action { - type = "SetStorageClass" - storage_class = "ARCHIVE" - } - condition { - matches_storage_class = ["COLDLINE"] - age = 30 - } - } -} - -resource "google_storage_bucket" "repositories" { - name = "fcuny-repositories" - location = "US" - storage_class = "COLDLINE" - uniform_bucket_level_access = true - versioning { - enabled = false - } - lifecycle_rule { - action { - type = "SetStorageClass" - storage_class = "ARCHIVE" - } - condition { - matches_storage_class = ["COLDLINE"] - age = 30 - } - } -} diff --git a/ops/gcp-backups/readme.org b/ops/gcp-backups/readme.org deleted file mode 100644 index c0f4288..0000000 --- a/ops/gcp-backups/readme.org +++ /dev/null @@ -1,5 +0,0 @@ -This terraform configuration set up the various buckets in GCP that I used for different backups. - -Run =nix run .#ops.gcp-backups.setup= to apply the configuration. - -You might need to run =gcloud auth application-default login= first. -- cgit 1.4.1