diff --git a/hosts/idols-ai/impermanence.nix b/hosts/idols-ai/impermanence.nix index 047a1546..ad4ad1ae 100644 --- a/hosts/idols-ai/impermanence.nix +++ b/hosts/idols-ai/impermanence.nix @@ -79,6 +79,7 @@ ".pki" ".steam" # steam games ".var" # flatpak app's data + ".terraform.d/plugin-cache" # terraform's plugin cache # cloud native { diff --git a/infra/minio/loki/.terraform.lock.hcl b/infra/minio/loki/.terraform.lock.hcl new file mode 100644 index 00000000..a7c7f027 --- /dev/null +++ b/infra/minio/loki/.terraform.lock.hcl @@ -0,0 +1,22 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/aminueza/minio" { + version = "3.5.2" + constraints = "3.5.2" + hashes = [ + "h1:3G/Q/dlf4ItE5tvE1zvSDUW4bYvwdCMVsHNAhMq9328=", + "zh:5513c7b20eac89b7bc27b1f762ff03058b4c75456523d5065c41be170fc1ce53", + "zh:597ec8ab8169ab4d044b7d442e65b03bbce2516c15f718510e8c80b5fc451be6", + "zh:608ff0eb5929b840c11efee1da0273b81d21a8149d8f2d259989597068b48253", + "zh:71bee58a6ba43d2a2aadd604c0e04f621fa67cb82ab3633fc5d1366689a5be6b", + "zh:9871556bcc3d5daab3cd8e302d1d07bc5693038e1abf8bd11aaf07a439d67a0b", + "zh:a3272fbb1ac7dff2481e778284709a5d8b85eda61f26239867eaed9ede57e90a", + "zh:a5048a378d5b075a6afac14197fc0fc57f97788cd697749621c07cec7156344c", + "zh:a8f28d070653cbd78ca85f9e54d9391a164828de598d481ed53d04882944dcb7", + "zh:cbf6895d80828f66fdaa234c6fcf87c329c41eb72391a6d29056b917bce65426", + "zh:cd48186b94cee7757a59f848dd6a2bd1d2faa76738a849261ca7cf14e7ca76c2", + "zh:cdefdf9bb591ab19c3176c7c8796762e2626ebde0d49971b49393f6bf28533ba", + "zh:ef16beff601be117a837cd47a1813be24ee0463d4f36a5d5f7e42a19d6c02b3d", + ] +} diff --git a/infra/minio/loki/README.md b/infra/minio/loki/README.md new file mode 100644 index 00000000..ab653fe7 --- /dev/null +++ b/infra/minio/loki/README.md @@ -0,0 +1,3 @@ +# Buckets for Grafana Loki + +Store Log data. diff --git a/infra/minio/loki/loki.tf b/infra/minio/loki/loki.tf new file mode 100644 index 00000000..0eafa980 --- /dev/null +++ b/infra/minio/loki/loki.tf @@ -0,0 +1,90 @@ +# ============================================== +# Buckets +# ============================================== + +resource "minio_s3_bucket" "k3s-test-1-loki-chunks" { + bucket = "k3s-test-1-loki-chunks" + acl = "private" +} + +resource "minio_s3_bucket" "k3s-test-1-loki-ruler" { + bucket = "k3s-test-1-loki-ruler" + acl = "private" +} + +resource "minio_s3_bucket" "k3s-test-1-loki-admin" { + bucket = "k3s-test-1-loki-admin" + acl = "private" +} + +# ============================================== +# User & Permission +# ============================================== + + +resource "minio_iam_user" "loki" { + name = "loki" + force_destroy = true + tags = { + env = "prod" + managedBy = "terraform" + } +} + +resource "minio_iam_service_account" "loki" { + target_user = minio_iam_user.loki.name +} + +resource "minio_iam_policy" "loki" { + name = "loki" + policy = <