Yuki Takei 3 лет назад
Родитель
Сommit
0761b32d8b
2 измененных файлов с 101 добавлено и 6 удалено
  1. 23 1
      packages/app/docker/codebuild/main.tf
  2. 78 5
      packages/app/docker/codebuild/terraform.tfstate

+ 23 - 1
packages/app/docker/codebuild/main.tf

@@ -23,6 +23,23 @@ resource "aws_s3_bucket_acl" "s3_bucket_acl" {
   acl    = "private"
   acl    = "private"
 }
 }
 
 
+resource "aws_s3_bucket_lifecycle_configuration" "s3_bucket_lifecycle" {
+  bucket = aws_s3_bucket.s3_bucket.id
+
+  rule {
+    id     = "auto-expire"
+    status = "Enabled"
+
+    expiration {
+      days = 60
+    }
+    noncurrent_version_expiration {
+      noncurrent_days = 3
+    }
+  }
+
+}
+
 resource "aws_iam_role" "iam_role" {
 resource "aws_iam_role" "iam_role" {
   name = "growi-official-image-builder"
   name = "growi-official-image-builder"
 
 
@@ -145,4 +162,9 @@ resource "aws_codebuild_project" "codebuild" {
   }
   }
   source_version = "refs/heads/support/build-with-codebuild"
   source_version = "refs/heads/support/build-with-codebuild"
 
 
-}
+  cache {
+    type  = "LOCAL"
+    modes = ["LOCAL_DOCKER_LAYER_CACHE", "LOCAL_CUSTOM_CACHE"]
+  }
+
+}

+ 78 - 5
packages/app/docker/codebuild/terraform.tfstate

@@ -1,7 +1,7 @@
 {
 {
   "version": 4,
   "version": 4,
   "terraform_version": "1.3.7",
   "terraform_version": "1.3.7",
-  "serial": 61,
+  "serial": 64,
   "lineage": "7413839f-c67c-02f5-4933-fcb84251bb29",
   "lineage": "7413839f-c67c-02f5-4933-fcb84251bb29",
   "outputs": {},
   "outputs": {},
   "resources": [
   "resources": [
@@ -217,7 +217,29 @@
             ],
             ],
             "hosted_zone_id": "Z2M4EHUR26P7ZW",
             "hosted_zone_id": "Z2M4EHUR26P7ZW",
             "id": "growi-official-image-builder-cache",
             "id": "growi-official-image-builder-cache",
-            "lifecycle_rule": [],
+            "lifecycle_rule": [
+              {
+                "abort_incomplete_multipart_upload_days": 0,
+                "enabled": true,
+                "expiration": [
+                  {
+                    "date": "",
+                    "days": 60,
+                    "expired_object_delete_marker": false
+                  }
+                ],
+                "id": "auto-expire",
+                "noncurrent_version_expiration": [
+                  {
+                    "days": 3
+                  }
+                ],
+                "noncurrent_version_transition": [],
+                "prefix": "",
+                "tags": {},
+                "transition": []
+              }
+            ],
             "logging": [],
             "logging": [],
             "object_lock_configuration": [],
             "object_lock_configuration": [],
             "object_lock_enabled": false,
             "object_lock_enabled": false,
@@ -290,6 +312,59 @@
         }
         }
       ]
       ]
     },
     },
+    {
+      "mode": "managed",
+      "type": "aws_s3_bucket_lifecycle_configuration",
+      "name": "s3_bucket_lifecycle",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "bucket": "growi-official-image-builder-cache",
+            "expected_bucket_owner": "",
+            "id": "growi-official-image-builder-cache",
+            "rule": [
+              {
+                "abort_incomplete_multipart_upload": [],
+                "expiration": [
+                  {
+                    "date": "",
+                    "days": 60,
+                    "expired_object_delete_marker": false
+                  }
+                ],
+                "filter": [
+                  {
+                    "and": [],
+                    "object_size_greater_than": "",
+                    "object_size_less_than": "",
+                    "prefix": "",
+                    "tag": []
+                  }
+                ],
+                "id": "auto-expire",
+                "noncurrent_version_expiration": [
+                  {
+                    "newer_noncurrent_versions": "",
+                    "noncurrent_days": 3
+                  }
+                ],
+                "noncurrent_version_transition": [],
+                "prefix": "",
+                "status": "Enabled",
+                "transition": []
+              }
+            ]
+          },
+          "sensitive_attributes": [],
+          "private": "bnVsbA==",
+          "dependencies": [
+            "aws_s3_bucket.s3_bucket"
+          ]
+        }
+      ]
+    },
     {
     {
       "mode": "managed",
       "mode": "managed",
       "type": "aws_secretsmanager_secret",
       "type": "aws_secretsmanager_secret",
@@ -335,9 +410,7 @@
             "secret_id": "arn:aws:secretsmanager:ap-northeast-1:259692501178:secret:growi/official-image-builder-9sraQN",
             "secret_id": "arn:aws:secretsmanager:ap-northeast-1:259692501178:secret:growi/official-image-builder-9sraQN",
             "secret_string": "CHANGE THIS",
             "secret_string": "CHANGE THIS",
             "version_id": "032079BF-5A86-42F2-BBA0-CCDCA4F53CBC",
             "version_id": "032079BF-5A86-42F2-BBA0-CCDCA4F53CBC",
-            "version_stages": [
-              "AWSPREVIOUS"
-            ]
+            "version_stages": []
           },
           },
           "sensitive_attributes": [],
           "sensitive_attributes": [],
           "private": "bnVsbA==",
           "private": "bnVsbA==",