From f73facc52a36dc0a3cd8ce8c26ad1b3fd3779e7e Mon Sep 17 00:00:00 2001 From: faergestad Date: Thu, 27 Jun 2024 15:20:50 +0200 Subject: [PATCH 01/39] Migrate to common-services --- .circleci/config.yml | 131 +++++++----- .deployment/config.yaml | 16 ++ apps/docs/Dockerfile | 1 - .../portable-text/LinkableHeading.tsx | 2 +- apps/docs/entrypoint.sh | 5 - apps/docs/terraform/prod/main.tf | 42 ++-- apps/docs/terraform/service/.envrc | 2 + apps/docs/terraform/service/main.tf | 23 ++ apps/docs/terraform/template/main.tf | 197 ++---------------- apps/docs/terraform/template/variables.tf | 9 +- apps/studio/sanity.config.ts | 2 +- 11 files changed, 165 insertions(+), 265 deletions(-) create mode 100644 .deployment/config.yaml delete mode 100755 apps/docs/entrypoint.sh create mode 100644 apps/docs/terraform/service/.envrc create mode 100644 apps/docs/terraform/service/main.tf diff --git a/.circleci/config.yml b/.circleci/config.yml index 13be29a1b..cae360803 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,77 +1,96 @@ version: 2.1 +orbs: + deployment: vydev/deployment@0.7.0 + terraform: circleci/terraform@3.2.1 + aws-ecr: circleci/aws-ecr@9.1.0 + aws-cli: circleci/aws-cli@4.1.3 + parameters: ecr_repo_name: type: string - default: "digitalekanaler-spor" - ecr_endpoint: + default: "spor" + pipeline_name: + type: string + default: "spor-delivery-pipeline" + terraform_version: + type: string + default: "1.8.4" + terraform_artifact_name: type: string - default: "635004941268.dkr.ecr.eu-west-1.amazonaws.com" + default: "spor-tf" jobs: - validate-terraform: + build-and-push-docker: + parameters: + tags: + type: string + default: "${CIRCLE_SHA1:0:7}" docker: - - image: vydev/terraform:1.0.8 + - image: cimg/base:stable steps: - - checkout: - path: ~/repo - - run: - name: Validate terraform code - command: | - printf "Validating terraform code\n" - cd ~/repo/apps/docs/terraform/prod - terraform init -backend=false && terraform validate + - checkout + - attach_workspace: + at: . + - setup_remote_docker + - aws-ecr/build_and_push_image: + attach_workspace: true + region: eu-west-1 + repo: << pipeline.parameters.ecr_repo_name >> + tag: "latest,commit-${CIRCLE_SHA1:0:7},${CIRCLE_BRANCH}-branch" + auth: + - aws-cli/setup: + region: eu-west-1 - build-docker: - parameters: - ecr_repo_name: - type: string - description: "The name of the ECR repository to push Docker images to" - ecr_endpoint: - type: string - description: "The ECR endpoint to use (note: the CircleCI project environment variable ECR_ENDPOINT takes higher precedence than this parameter)." - default: "" + upload-terraform-artifacts: docker: - - image: 'vydev/circleci-ecr:latest' - auth: - username: $DOCKERHUB_USERNAME - password: $DOCKERHUB_PASSWORD - working_directory: /tmp/workspace/apps/docs + - image: cimg/base:stable steps: - - setup_remote_docker: - version: 19.03.13 - docker_layer_caching: true - - checkout: - path: ../../ - - run: - name: "Build Docker image" - command: | - ECR_ENDPOINT="${ECR_ENDPOINT:-<< parameters.ecr_endpoint >>}" - if [ -z "$ECR_ENDPOINT" ]; then - echo "ECR endpoint has not been set" - exit 1 - fi - aws ecr get-login-password --region eu-west-1 \ - | docker login --username AWS --password-stdin "$ECR_ENDPOINT" - SHORT_SHA1=`echo ${CIRCLE_SHA1}|cut -c1-7` - docker build -t ${ECR_ENDPOINT}/<< parameters.ecr_repo_name >> -f Dockerfile . - docker tag ${ECR_ENDPOINT}/<< parameters.ecr_repo_name >> "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:commit-${SHORT_SHA1}" - docker push "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:commit-${SHORT_SHA1}" - docker tag ${ECR_ENDPOINT}/<< parameters.ecr_repo_name >> "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:latest" - docker push "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:latest" + - checkout + - deployment/zip-and-upload-artifact: + application-name: << pipeline.parameters.terraform_artifact_name >> + source-directory: ./apps/docs/ + source: terraform workflows: version: 2 build: jobs: - - validate-terraform - - build-docker: - context: omnikanal - ecr_repo_name: << pipeline.parameters.ecr_repo_name >> - ecr_endpoint: << pipeline.parameters.ecr_endpoint >> + - terraform/validate: + tag: << pipeline.parameters.terraform_version >> + checkout: true + backend: false + matrix: + parameters: + path: + - apps/docs/terraform/service + - apps/docs/terraform/prod + + - build-and-push-docker: + tags: "latest,<< pipeline.git.branch >>-branch,${CIRCLE_SHA1:0:7}" + context: + - digital-common-services + requires: + - terraform/validate + filters: + branches: + only: migrate-to-common-services + + - upload-terraform-artifacts: + context: + - digital-common-services + requires: + - build-and-push-docker + filters: + branches: + only: migrate-to-common-services + + - deployment/trigger-deployment: + context: + - digital-common-services requires: - - validate-terraform + - upload-terraform-artifacts + - build-and-push-docker filters: branches: - only: - - main + only: migrate-to-common-services diff --git a/.deployment/config.yaml b/.deployment/config.yaml new file mode 100644 index 000000000..c406426bc --- /dev/null +++ b/.deployment/config.yaml @@ -0,0 +1,16 @@ +artifacts: + - name: spor-tf + branch: migrate-to-common-services + location: s3 + - name: graphs + branch: migrate-to-common-services + location: ecr + +steps: + - terraform: + artifact: graphs-frontend-tf + version: 1.8.4 + +environments: + - [service] + - [prod] \ No newline at end of file diff --git a/apps/docs/Dockerfile b/apps/docs/Dockerfile index b716cc44d..49c9279df 100644 --- a/apps/docs/Dockerfile +++ b/apps/docs/Dockerfile @@ -57,5 +57,4 @@ COPY --from=build /app/build/server /app/build/server COPY --from=build /app/build/client /app/build/client ADD . . -ENTRYPOINT ["./entrypoint.sh"] CMD ["npm", "run", "start"] \ No newline at end of file diff --git a/apps/docs/app/features/portable-text/LinkableHeading.tsx b/apps/docs/app/features/portable-text/LinkableHeading.tsx index 5dc11420b..1228429b6 100644 --- a/apps/docs/app/features/portable-text/LinkableHeading.tsx +++ b/apps/docs/app/features/portable-text/LinkableHeading.tsx @@ -23,7 +23,7 @@ export const LinkableHeading = ({ const text = getChildrenAsString(props.children); const id = props.id || slugify(text as string); const { onCopy, hasCopied } = useClipboard( - `https://spor.vy.no${location.pathname}#${id}`, + `https://spor.digital-common-services.vydev.io${location.pathname}#${id}`, ); return ( record } - - name = each.value.name - records = [ - each.value.value - ] - ttl = 3600 - type = each.value.type - zone_id = data.aws_route53_zone.zone.zone_id -} diff --git a/apps/docs/terraform/template/variables.tf b/apps/docs/terraform/template/variables.tf index 1b0e841e5..f766e13de 100644 --- a/apps/docs/terraform/template/variables.tf +++ b/apps/docs/terraform/template/variables.tf @@ -8,8 +8,7 @@ variable "application_name" { type = string } -variable "tags" { - description = "A map of tags (key-value pairs) passed to resources." - type = map(string) - default = {} -} +variable "environment" { + description = "The environment the application is running in." + type = string +} \ No newline at end of file diff --git a/apps/studio/sanity.config.ts b/apps/studio/sanity.config.ts index 458fedef0..166e53c42 100644 --- a/apps/studio/sanity.config.ts +++ b/apps/studio/sanity.config.ts @@ -23,7 +23,7 @@ export default defineConfig({ const configuredClient = getClient({ apiVersion: "2022-10-06" }); const host = window.location.href?.includes("localhost") ? "http://localhost:3000" - : "https://spor.vy.no"; + : "https://spor.digital-common-services.vydev.io"; if (document._type === "article") { if (!document.category) { From bbea1c4c647935541f1fb7309e9df0fff4379638 Mon Sep 17 00:00:00 2001 From: faergestad Date: Thu, 27 Jun 2024 15:34:10 +0200 Subject: [PATCH 02/39] Update terraform --- apps/docs/terraform/prod/.envrc | 2 +- apps/docs/terraform/prod/.terraform.lock.hcl | 39 ------------------- .../terraform/service/.terraform.lock.hcl | 24 ++++++++++++ apps/docs/terraform/template/main.tf | 4 +- apps/docs/terraform/template/variables.tf | 5 --- 5 files changed, 27 insertions(+), 47 deletions(-) delete mode 100644 apps/docs/terraform/prod/.terraform.lock.hcl create mode 100644 apps/docs/terraform/service/.terraform.lock.hcl diff --git a/apps/docs/terraform/prod/.envrc b/apps/docs/terraform/prod/.envrc index 3d2f4e5b5..5c14fa53d 100644 --- a/apps/docs/terraform/prod/.envrc +++ b/apps/docs/terraform/prod/.envrc @@ -1,2 +1,2 @@ -export AWS_PROFILE=omni-admin +export AWS_PROFILE=common-prod-admin export AWS_REGION=eu-west-1 diff --git a/apps/docs/terraform/prod/.terraform.lock.hcl b/apps/docs/terraform/prod/.terraform.lock.hcl deleted file mode 100644 index a4da271ac..000000000 --- a/apps/docs/terraform/prod/.terraform.lock.hcl +++ /dev/null @@ -1,39 +0,0 @@ -# This file is maintained automatically by "terraform init". -# Manual edits may be lost in future updates. - -provider "registry.terraform.io/hashicorp/aws" { - version = "3.65.0" - constraints = "3.65.0" - hashes = [ - "h1:GCDkcISN83t+JK2U+ie3vaECnyxK0Sr6GjO7IrBOVeo=", - "zh:108aeaf5e18087d9ac852737a5be1347a28e40825817cc1a29ec523d40268294", - "zh:1a719c0c9754f906b2220d3bbf90d483ec0a74cf87768a464d2d657b7901ec6b", - "zh:21acdc35ae70a626cbc81eff06181a78843f1ddc2d9200f80fabf2e0466ecbda", - "zh:28846628e1a4227a1f2db256d6b22ed36922f37632999af7404aa74703cd9bfb", - "zh:32455550dbf86ae07d9782650e86d23c4fa13d7872e48680044692894e8da6ea", - "zh:4241246274627c752f9aef2806e810053306001e80fc5b51d27cbe997f75f95e", - "zh:5ca0fab3ceb3f41a97c1ebd29561a034cb83fda04da35fd5f8c3c5cb97bb3ea8", - "zh:5fed3b79d4ed6424055e8bbfb7a4393e8db5102cdba04b4590f8e0f4194637fb", - "zh:99a0bc325b0a59ded1152546c004953a2bb0e110978bf0cc55e1804384941bdb", - "zh:e74f9190a417c891992210f9af937ef55749d86a04762d982260fbbc989342a7", - "zh:fb6984405ca63d0373bd992ce157e933b8ae9dd94d74b1c5691632f062fe60b2", - ] -} - -provider "registry.terraform.io/hashicorp/random" { - version = "3.1.0" - hashes = [ - "h1:rKYu5ZUbXwrLG1w81k7H3nce/Ys6yAxXhWcbtk36HjY=", - "zh:2bbb3339f0643b5daa07480ef4397bd23a79963cc364cdfbb4e86354cb7725bc", - "zh:3cd456047805bf639fbf2c761b1848880ea703a054f76db51852008b11008626", - "zh:4f251b0eda5bb5e3dc26ea4400dba200018213654b69b4a5f96abee815b4f5ff", - "zh:7011332745ea061e517fe1319bd6c75054a314155cb2c1199a5b01fe1889a7e2", - "zh:738ed82858317ccc246691c8b85995bc125ac3b4143043219bd0437adc56c992", - "zh:7dbe52fac7bb21227acd7529b487511c91f4107db9cc4414f50d04ffc3cab427", - "zh:a3a9251fb15f93e4cfc1789800fc2d7414bbc18944ad4c5c98f466e6477c42bc", - "zh:a543ec1a3a8c20635cf374110bd2f87c07374cf2c50617eee2c669b3ceeeaa9f", - "zh:d9ab41d556a48bd7059f0810cf020500635bfc696c9fc3adab5ea8915c1d886b", - "zh:d9e13427a7d011dbd654e591b0337e6074eef8c3b9bb11b2e39eaaf257044fd7", - "zh:f7605bd1437752114baf601bdf6931debe6dc6bfe3006eb7e9bb9080931dca8a", - ] -} diff --git a/apps/docs/terraform/service/.terraform.lock.hcl b/apps/docs/terraform/service/.terraform.lock.hcl new file mode 100644 index 000000000..5461a445e --- /dev/null +++ b/apps/docs/terraform/service/.terraform.lock.hcl @@ -0,0 +1,24 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "5.55.0" + hashes = [ + "h1:vChl08zNYLVzuSzfxz3wp3wNSx+vjwl/jPuyPbg59Ks=", + "zh:06fbb1cc4b61b9d6370d391bf7538aa6ef8b60b91c67d125a6be60a70b1d49f0", + "zh:1d52acd2184f379433a0fce2c29d5ed8fc7958d6a9d1b403310dcc36b2a3f626", + "zh:290bbce092f8836a1db530ac86d933cfea27d52b827639974a81bc48dfba8c34", + "zh:3531f2822c2de3ba837381c4ee4816c5b437fd204c07d659526a04d9154a65e8", + "zh:56d70db4c8c6c0ec1b665380b87726275f4ab3665b4b78ac86dc90e1010c0fe3", + "zh:8251d713c0b2c8c51b6858e51c70d083b484342ff9782a88c39e7eaa966c3da2", + "zh:9a7d1f7207e51382a7dd139dfd5786e7e905edf9bf89bbee4b59ad41365e87be", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:a529c78dfc60063289524690af78794e99a768835b88e27cdfec15bc85439f7c", + "zh:b6da1843355db05c5d412126406fd97db2a6ff9edc166b81c1cea2994535b4eb", + "zh:bfc08cd23b1556b3287d1b28ac7f12c7d459471d97a0592bf2579ea68d11bae7", + "zh:c382088faf05894191636b57861069a21de10a5ff4eb8f7cc122e764ccf7a4a8", + "zh:e27f99f389921314ee428b24990d3a829057ce532b2beb33c69387458722edd9", + "zh:ef11285eedb45ffc3fb2ecdfefa206e64eb2760a87fff15c44dee42de9703436", + "zh:fedc4ebee0d6fe196691127004db5d1ff8bd22e3b667a74026bb92c607589b6c", + ] +} diff --git a/apps/docs/terraform/template/main.tf b/apps/docs/terraform/template/main.tf index 88b862747..43e46ce6f 100644 --- a/apps/docs/terraform/template/main.tf +++ b/apps/docs/terraform/template/main.tf @@ -4,11 +4,11 @@ # # ################################## resource "aws_kms_key" "application_key" { - description = "Key for ${var.name_prefix}-${var.application_name}" + description = "Key for ${var.application_name}" } resource "aws_kms_alias" "application_key_alias" { - name = "alias/${var.name_prefix}-${var.application_name}" + name = "alias/${var.application_name}" target_key_id = aws_kms_key.application_key.id } diff --git a/apps/docs/terraform/template/variables.tf b/apps/docs/terraform/template/variables.tf index f766e13de..dc4cbd939 100644 --- a/apps/docs/terraform/template/variables.tf +++ b/apps/docs/terraform/template/variables.tf @@ -1,8 +1,3 @@ -variable "name_prefix" { - description = "A prefix used for naming resources." - type = string -} - variable "application_name" { description = "The name of the application -- used together with name_prefix to name application-specific resources." type = string From 078605912c2ca5908aa1d0941496b788e72e1928 Mon Sep 17 00:00:00 2001 From: faergestad Date: Thu, 27 Jun 2024 18:49:09 +0200 Subject: [PATCH 03/39] Add terraform lock --- apps/docs/terraform/prod/.terraform.lock.hcl | 48 ++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 apps/docs/terraform/prod/.terraform.lock.hcl diff --git a/apps/docs/terraform/prod/.terraform.lock.hcl b/apps/docs/terraform/prod/.terraform.lock.hcl new file mode 100644 index 000000000..80aa77871 --- /dev/null +++ b/apps/docs/terraform/prod/.terraform.lock.hcl @@ -0,0 +1,48 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "5.54.1" + constraints = ">= 5.39.1, 5.54.1" + hashes = [ + "h1:+aq386lQCaPX7wR6EPf3PPZvCiI6dRwnjb1wR6lNa8E=", + "zh:37c09b9a0a0a2f7854fe52c6adb15f71593810b458a8283ed71d68036af7ba3a", + "zh:42fe11d87723d4e43b9c6224ae6bacdcb53faee8abc58f0fc625a161d1f71cb1", + "zh:57c6dfc46f28c9c2737559bd84acbc05aeae90431e731bb72a0024028a2d2412", + "zh:5ba9665a4ca0e182effd75575b19a4d47383ec02662024b9fe26f78286c36619", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:b55980be0237644123a02a30b56d4cc03863ef29036c47d6e8ab5429ab45adf5", + "zh:b81e7664f10855a3a6fc234a18b4c4f1456273126a40c41516f2061696fb9870", + "zh:bd09736ffafd92af104c3c34b5add138ae8db4402eb687863ce472ca7e5ff2e2", + "zh:cc2eb1c62fba2a11d1f239e650cc2ae94bcab01c907384dcf2e213a6ee1bd5b2", + "zh:e5dc40205d9cf6f353c0ca532ae29afc6c83928bc9bcca47d74b640d3bb5a38c", + "zh:ebf1acdcd13f10db1b9c85050ddaadc70ab269c47c5a240753362446442d8371", + "zh:f2fc28a4ad94af5e6144a7309286505e3eb7a94d9dc106722b506c372ff7f591", + "zh:f49445e8435944df122aa89853260a2716ba8b73d6a6a70cae1661554926d5a2", + "zh:fc3b5046e60ae7cab20715be23de8436eb12736136fd6d0f0cc1549ebda6cc73", + "zh:fdb98a53500e245a3b5bec077b994da6959dba8fc4eb7534528658d820e06bd5", + ] +} + +provider "registry.terraform.io/nsbno/vy" { + version = "0.4.0" + constraints = "0.4.0" + hashes = [ + "h1:FyUwgd/9ECAbpmf+dWKhe5ngMpCT2NHH5oWiwOlA59s=", + "zh:022668bd37a050f1e563f1cb07428f21662512bcdcd57b85340f879c2d816aef", + "zh:13488df8419bc7e17976881e57946d08910882e51dd66ab83b73c332dbcb34fb", + "zh:3291aeed2b8f61715de0ef21ee71d80cd55fcff76a65a1c24d8f74ec50e37365", + "zh:353f03d08ef49b141430f7021b1e3382a9571e24d23e981f466de2b65a95f295", + "zh:4f42246eaa2520c604abe742ee77614851f61f28a602b33bd1573e266eb7e1cc", + "zh:63afc0c7e8faa58835747815e0074fc0770d155830bdbf46ee6df94aeb74608e", + "zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f", + "zh:8e2e77194f9f10724b804daf65b3526a03e4cbac883f3fca62f316505922f396", + "zh:98860758eb362fe81d09e9ead630bc31fa6820e036e221c2cae299640551ddd8", + "zh:a9eca30e2c19e3ec285a937212bca387a34e201f76b40686e961f6b1e48c437c", + "zh:c2f8f0831bed1787c77db3134fd27fa62428b254b75c86d6b4941721640757f9", + "zh:ce9edc9a642052b4e2744961c42883640205463e7c10bc0ca5bcbeebcda35998", + "zh:d63bfbe1f9001c092045e71021b35ae2ea38fd46b9480c8c425631c01e0fa7ab", + "zh:f968fa1fa3acfbfc61d806c8ac6f9b4258f15998434dbe48efaefde1e330ad36", + "zh:fda1f91718674062047483b12230f674895a8a21f581358e349ed0e4282bcdc7", + ] +} From e93f9be7f957229aa13c83b7832ea4b9ec15cb58 Mon Sep 17 00:00:00 2001 From: faergestad Date: Fri, 28 Jun 2024 08:08:33 +0200 Subject: [PATCH 04/39] Update path to dockerfile --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cae360803..44febc1b3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -30,7 +30,7 @@ jobs: steps: - checkout - attach_workspace: - at: . + at: ./apps/docs - setup_remote_docker - aws-ecr/build_and_push_image: attach_workspace: true From ed0eb488ca78bb428e3587601e53563a7c84bf3b Mon Sep 17 00:00:00 2001 From: faergestad Date: Fri, 28 Jun 2024 08:54:48 +0200 Subject: [PATCH 05/39] update docker job with dockerfile parameter --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 44febc1b3..0c1f4fbcf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -30,10 +30,11 @@ jobs: steps: - checkout - attach_workspace: - at: ./apps/docs + at: . - setup_remote_docker - aws-ecr/build_and_push_image: attach_workspace: true + dockerfile: apps/docs/Dockerfile region: eu-west-1 repo: << pipeline.parameters.ecr_repo_name >> tag: "latest,commit-${CIRCLE_SHA1:0:7},${CIRCLE_BRANCH}-branch" From 65e508f2969058c996bc5d759b05894e8a57a2fb Mon Sep 17 00:00:00 2001 From: faergestad Date: Fri, 28 Jun 2024 12:19:15 +0200 Subject: [PATCH 06/39] Change docker image in circleCI config --- .circleci/config.yml | 2 +- package-lock.json | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0c1f4fbcf..b04e0d152 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -26,7 +26,7 @@ jobs: type: string default: "${CIRCLE_SHA1:0:7}" docker: - - image: cimg/base:stable + - image: 'vydev/circleci-ecr:latest' steps: - checkout - attach_workspace: diff --git a/package-lock.json b/package-lock.json index 3d5d252bb..6228e4a1f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ }, "apps/docs": { "name": "@vygruppen/docs", - "version": "0.0.40", + "version": "0.0.41", "license": "MIT", "dependencies": { "@chakra-ui/react": "^2.8.2", @@ -40,10 +40,10 @@ "@remix-run/serve": "^2.9.2", "@sanity/groq-store": "^1.1.5", "@sanity/image-url": "^1.0.2", - "@vygruppen/spor-design-tokens": "^3.8.0", + "@vygruppen/spor-design-tokens": "^3.8.1", "@vygruppen/spor-icon": "^2.9.0", "@vygruppen/spor-icon-react": "^3.9.0", - "@vygruppen/spor-react": "^9.14.0", + "@vygruppen/spor-react": "^9.14.1", "archiver": "^5.3.2", "deepmerge": "^4.3.1", "framer-motion": "^8.5.5", @@ -32015,7 +32015,7 @@ }, "packages/spor-design-tokens": { "name": "@vygruppen/spor-design-tokens", - "version": "3.8.0", + "version": "3.8.1", "license": "MIT", "devDependencies": { "json-to-ts": "^1.7.0", @@ -32967,7 +32967,7 @@ }, "packages/spor-react": { "name": "@vygruppen/spor-react", - "version": "9.14.0", + "version": "9.14.1", "license": "MIT", "dependencies": { "@chakra-ui/react": "^2.8.2", From b774ec755384288a418fc82191352eb91f443285 Mon Sep 17 00:00:00 2001 From: faergestad Date: Fri, 28 Jun 2024 12:26:15 +0200 Subject: [PATCH 07/39] add esbuild to dockerfile --- .circleci/config.yml | 2 +- apps/docs/Dockerfile | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b04e0d152..0c1f4fbcf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -26,7 +26,7 @@ jobs: type: string default: "${CIRCLE_SHA1:0:7}" docker: - - image: 'vydev/circleci-ecr:latest' + - image: cimg/base:stable steps: - checkout - attach_workspace: diff --git a/apps/docs/Dockerfile b/apps/docs/Dockerfile index 49c9279df..e1ebb70cc 100644 --- a/apps/docs/Dockerfile +++ b/apps/docs/Dockerfile @@ -15,6 +15,8 @@ ADD package.json ./ # (even when NODE_ENV=production) RUN npm install --production=false +RUN npm install esbuild + # Setup production node_modules FROM base as production-deps From ee7e0b224e6241e8cf706be71b4e3c501eb86ec8 Mon Sep 17 00:00:00 2001 From: faergestad Date: Mon, 29 Jul 2024 09:03:55 +0200 Subject: [PATCH 08/39] update build config --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 950d0a015..ed6fe635e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ }, "apps/docs": { "name": "@vygruppen/docs", - "version": "0.0.44", + "version": "0.0.45", "license": "MIT", "dependencies": { "@chakra-ui/react": "^2.8.2", @@ -43,7 +43,7 @@ "@vygruppen/spor-design-tokens": "^3.8.1", "@vygruppen/spor-icon": "^2.9.0", "@vygruppen/spor-icon-react": "^3.9.0", - "@vygruppen/spor-react": "^10.2.0", + "@vygruppen/spor-react": "^10.3.0", "archiver": "^5.3.2", "deepmerge": "^4.3.1", "framer-motion": "^8.5.5", @@ -32967,7 +32967,7 @@ }, "packages/spor-react": { "name": "@vygruppen/spor-react", - "version": "10.2.0", + "version": "10.3.0", "license": "MIT", "dependencies": { "@chakra-ui/react": "^2.8.2", From 294ae9ca3e7f35f37b9f6cd868cfe66980c0ee2c Mon Sep 17 00:00:00 2001 From: faergestad Date: Mon, 29 Jul 2024 09:10:21 +0200 Subject: [PATCH 09/39] Add turbo to step in dockerfile --- apps/docs/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/Dockerfile b/apps/docs/Dockerfile index e1ebb70cc..553e724fc 100644 --- a/apps/docs/Dockerfile +++ b/apps/docs/Dockerfile @@ -15,7 +15,7 @@ ADD package.json ./ # (even when NODE_ENV=production) RUN npm install --production=false -RUN npm install esbuild +RUN npm i turbo # Setup production node_modules FROM base as production-deps From 44fe9141b41b0f75f75682fcde4bbeb58552d232 Mon Sep 17 00:00:00 2001 From: faergestad Date: Mon, 29 Jul 2024 11:00:13 +0200 Subject: [PATCH 10/39] Remove turbo from dockerfile --- apps/docs/Dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/docs/Dockerfile b/apps/docs/Dockerfile index 553e724fc..49c9279df 100644 --- a/apps/docs/Dockerfile +++ b/apps/docs/Dockerfile @@ -15,8 +15,6 @@ ADD package.json ./ # (even when NODE_ENV=production) RUN npm install --production=false -RUN npm i turbo - # Setup production node_modules FROM base as production-deps From 98e1308a04ee7fa405f0f7f92a9f30e722271c07 Mon Sep 17 00:00:00 2001 From: faergestad Date: Mon, 29 Jul 2024 14:43:20 +0200 Subject: [PATCH 11/39] Fix linting warning in dockerfile --- apps/docs/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/docs/Dockerfile b/apps/docs/Dockerfile index 49c9279df..79df90c85 100644 --- a/apps/docs/Dockerfile +++ b/apps/docs/Dockerfile @@ -1,5 +1,5 @@ # base node image -FROM node:20-alpine as base +FROM node:20-alpine AS base # set for base and all that inherit from it ENV NODE_ENV=production @@ -16,7 +16,7 @@ ADD package.json ./ RUN npm install --production=false # Setup production node_modules -FROM base as production-deps +FROM base AS production-deps RUN mkdir /app WORKDIR /app @@ -28,7 +28,7 @@ ADD package.json ./ RUN npm prune --omit=dev # Build the app -FROM base as build +FROM base AS build RUN mkdir /app WORKDIR /app @@ -39,7 +39,7 @@ ADD . . RUN npm run build # Finally, build the production image with minimal footprint -FROM base as final +FROM base AS final ENV NODE_ENV=production From c5089c6b282ebc6fd860c89ea735847cb6312397 Mon Sep 17 00:00:00 2001 From: faergestad Date: Tue, 30 Jul 2024 12:24:46 +0200 Subject: [PATCH 12/39] Add back entrypoint script to match main branch --- apps/docs/Dockerfile | 1 + apps/docs/entrypoint.sh | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 apps/docs/entrypoint.sh diff --git a/apps/docs/Dockerfile b/apps/docs/Dockerfile index 79df90c85..edff1d424 100644 --- a/apps/docs/Dockerfile +++ b/apps/docs/Dockerfile @@ -57,4 +57,5 @@ COPY --from=build /app/build/server /app/build/server COPY --from=build /app/build/client /app/build/client ADD . . +ENTRYPOINT ["./entrypoint.sh"] CMD ["npm", "run", "start"] \ No newline at end of file diff --git a/apps/docs/entrypoint.sh b/apps/docs/entrypoint.sh new file mode 100644 index 000000000..254aad4b8 --- /dev/null +++ b/apps/docs/entrypoint.sh @@ -0,0 +1,5 @@ +#!/bin/sh +if [ -z "$AWS_REGION" ] && [ -z "$AWS_DEFAULT_REGION" ]; then +export AWS_REGION="eu-west-1" +fi +exec /usr/local/bin/aws-env exec "$@" \ No newline at end of file From ac815a855e048c65c06bc8b318f17fc33136a472 Mon Sep 17 00:00:00 2001 From: faergestad Date: Tue, 30 Jul 2024 13:08:32 +0200 Subject: [PATCH 13/39] Update circleci config --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0c1f4fbcf..51b808176 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -27,10 +27,10 @@ jobs: default: "${CIRCLE_SHA1:0:7}" docker: - image: cimg/base:stable + working_directory: /tmp/workspace/apps/docs steps: - - checkout - - attach_workspace: - at: . + - checkout: + path: ../../ - setup_remote_docker - aws-ecr/build_and_push_image: attach_workspace: true From c0a653c02cacd5f7244f5ca15ea6ac4cb07d30e4 Mon Sep 17 00:00:00 2001 From: faergestad Date: Tue, 30 Jul 2024 13:32:43 +0200 Subject: [PATCH 14/39] Add path to dockerfile in docker job --- .circleci/config.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 51b808176..db355991f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -29,12 +29,11 @@ jobs: - image: cimg/base:stable working_directory: /tmp/workspace/apps/docs steps: - - checkout: - path: ../../ + - checkout - setup_remote_docker - aws-ecr/build_and_push_image: attach_workspace: true - dockerfile: apps/docs/Dockerfile + path: apps/docs/ region: eu-west-1 repo: << pipeline.parameters.ecr_repo_name >> tag: "latest,commit-${CIRCLE_SHA1:0:7},${CIRCLE_BRANCH}-branch" From 446bf9e1bfb46d7747dd3c696de471bbf149ef26 Mon Sep 17 00:00:00 2001 From: faergestad Date: Tue, 30 Jul 2024 13:37:34 +0200 Subject: [PATCH 15/39] Add build path to build_and_push_image step --- .circleci/config.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index db355991f..285227ca0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -27,13 +27,12 @@ jobs: default: "${CIRCLE_SHA1:0:7}" docker: - image: cimg/base:stable - working_directory: /tmp/workspace/apps/docs steps: - checkout - setup_remote_docker - aws-ecr/build_and_push_image: attach_workspace: true - path: apps/docs/ + build_path: apps/docs/ region: eu-west-1 repo: << pipeline.parameters.ecr_repo_name >> tag: "latest,commit-${CIRCLE_SHA1:0:7},${CIRCLE_BRANCH}-branch" From 85b85dc0d767f5ac3e7cc82aea5534696cafd9d6 Mon Sep 17 00:00:00 2001 From: faergestad Date: Tue, 30 Jul 2024 13:40:50 +0200 Subject: [PATCH 16/39] Remove setup of remote docker --- .circleci/config.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 285227ca0..040e872a6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -28,11 +28,10 @@ jobs: docker: - image: cimg/base:stable steps: - - checkout - - setup_remote_docker - aws-ecr/build_and_push_image: + checkout: true attach_workspace: true - build_path: apps/docs/ + path: apps/docs/ region: eu-west-1 repo: << pipeline.parameters.ecr_repo_name >> tag: "latest,commit-${CIRCLE_SHA1:0:7},${CIRCLE_BRANCH}-branch" From 6502cd0e465b4f4d3e5aedf8371edcf186b936bc Mon Sep 17 00:00:00 2001 From: faergestad Date: Tue, 30 Jul 2024 13:45:59 +0200 Subject: [PATCH 17/39] Run docker commands from the path of the dockerfile --- .circleci/config.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 040e872a6..b79944c6c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -28,10 +28,11 @@ jobs: docker: - image: cimg/base:stable steps: + - checkout + - run: + command: cd apps/docs/ - aws-ecr/build_and_push_image: - checkout: true attach_workspace: true - path: apps/docs/ region: eu-west-1 repo: << pipeline.parameters.ecr_repo_name >> tag: "latest,commit-${CIRCLE_SHA1:0:7},${CIRCLE_BRANCH}-branch" From 1f171fff0734a53b219a17c3ec1ce8a98497623f Mon Sep 17 00:00:00 2001 From: faergestad Date: Tue, 30 Jul 2024 14:54:50 +0200 Subject: [PATCH 18/39] merge old and new circleci config --- .circleci/config.yml | 76 +++++++++++++++++++++++++++++--------------- 1 file changed, 50 insertions(+), 26 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b79944c6c..ee7aac1d1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,6 +9,9 @@ parameters: ecr_repo_name: type: string default: "spor" + ecr_endpoint: + type: string + default: "637423315721.dkr.ecr.eu-west-1.amazonaws.com" pipeline_name: type: string default: "spor-delivery-pipeline" @@ -25,31 +28,51 @@ jobs: tags: type: string default: "${CIRCLE_SHA1:0:7}" + ecr_repo_name: + type: string + description: "The name of the ECR repository to push Docker images to" + ecr_endpoint: + type: string + description: "The ECR endpoint to use (note: the CircleCI project environment variable ECR_ENDPOINT takes higher precedence than this parameter)." + default: "" docker: - - image: cimg/base:stable + - image: 'vydev/circleci-ecr:latest' + auth: + username: $DOCKERHUB_USERNAME + password: $DOCKERHUB_PASSWORD + working_directory: /tmp/workspace/apps/docs steps: - - checkout + - setup_remote_docker: + version: 19.03.13 + docker_layer_caching: true + - checkout: + path: ../../ - run: - command: cd apps/docs/ - - aws-ecr/build_and_push_image: - attach_workspace: true - region: eu-west-1 - repo: << pipeline.parameters.ecr_repo_name >> - tag: "latest,commit-${CIRCLE_SHA1:0:7},${CIRCLE_BRANCH}-branch" - auth: - - aws-cli/setup: - region: eu-west-1 + name: "Build Docker image" + command: | + ECR_ENDPOINT="${ECR_ENDPOINT:-<< parameters.ecr_endpoint >>}" + if [ -z "$ECR_ENDPOINT" ]; then + echo "ECR endpoint has not been set" + exit 1 + fi + aws ecr get-login-password --region eu-west-1 \ + | docker login --username AWS --password-stdin "$ECR_ENDPOINT" + SHORT_SHA1=`echo ${CIRCLE_SHA1}|cut -c1-7` + docker build -t ${ECR_ENDPOINT}/<< parameters.ecr_repo_name >> -f Dockerfile . + docker tag ${ECR_ENDPOINT}/<< parameters.ecr_repo_name >> "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:commit-${SHORT_SHA1}" + docker push "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:commit-${SHORT_SHA1}" + docker tag ${ECR_ENDPOINT}/<< parameters.ecr_repo_name >> "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:latest" + docker push "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:latest" upload-terraform-artifacts: - docker: - - image: cimg/base:stable - steps: - - checkout - - deployment/zip-and-upload-artifact: - application-name: << pipeline.parameters.terraform_artifact_name >> - source-directory: ./apps/docs/ - source: terraform - + docker: + - image: cimg/base:stable + steps: + - checkout + - deployment/zip-and-upload-artifact: + application-name: << pipeline.parameters.terraform_artifact_name >> + source-directory: ./apps/docs/ + source: terraform workflows: version: 2 @@ -66,14 +89,15 @@ workflows: - apps/docs/terraform/prod - build-and-push-docker: - tags: "latest,<< pipeline.git.branch >>-branch,${CIRCLE_SHA1:0:7}" - context: - - digital-common-services + context: digital-common-services + ecr_repo_name: << pipeline.parameters.ecr_repo_name >> + ecr_endpoint: << pipeline.parameters.ecr_endpoint >> requires: - - terraform/validate + - validate-terraform filters: branches: - only: migrate-to-common-services + only: + - main - upload-terraform-artifacts: context: @@ -92,4 +116,4 @@ workflows: - build-and-push-docker filters: branches: - only: migrate-to-common-services + only: migrate-to-common-services \ No newline at end of file From c88a6d726dc9da3f46e7c2c7bcce391fafa08a84 Mon Sep 17 00:00:00 2001 From: faergestad Date: Tue, 30 Jul 2024 14:56:15 +0200 Subject: [PATCH 19/39] update deployment config --- .circleci/config.yml | 2 +- .deployment/config.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ee7aac1d1..ac2bc62b4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -97,7 +97,7 @@ workflows: filters: branches: only: - - main + - migrate-to-common-services - upload-terraform-artifacts: context: diff --git a/.deployment/config.yaml b/.deployment/config.yaml index c406426bc..94e70b632 100644 --- a/.deployment/config.yaml +++ b/.deployment/config.yaml @@ -2,13 +2,13 @@ artifacts: - name: spor-tf branch: migrate-to-common-services location: s3 - - name: graphs + - name: spor branch: migrate-to-common-services location: ecr steps: - terraform: - artifact: graphs-frontend-tf + artifact: spor-tf version: 1.8.4 environments: From cac45dbe1b2876fa093ab859ee53dce1921f85cf Mon Sep 17 00:00:00 2001 From: faergestad Date: Tue, 30 Jul 2024 14:58:47 +0200 Subject: [PATCH 20/39] fix indentation in circleci config --- .circleci/config.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ac2bc62b4..198f835cd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -65,14 +65,14 @@ jobs: docker push "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:latest" upload-terraform-artifacts: - docker: - - image: cimg/base:stable - steps: - - checkout - - deployment/zip-and-upload-artifact: - application-name: << pipeline.parameters.terraform_artifact_name >> - source-directory: ./apps/docs/ - source: terraform + docker: + - image: cimg/base:stable + steps: + - checkout + - deployment/zip-and-upload-artifact: + application-name: << pipeline.parameters.terraform_artifact_name >> + source-directory: ./apps/docs/ + source: terraform workflows: version: 2 @@ -93,7 +93,7 @@ workflows: ecr_repo_name: << pipeline.parameters.ecr_repo_name >> ecr_endpoint: << pipeline.parameters.ecr_endpoint >> requires: - - validate-terraform + - terraform/validate filters: branches: only: From 5e7591c69c08de5beaaceb51587362014b4f6353 Mon Sep 17 00:00:00 2001 From: faergestad Date: Tue, 30 Jul 2024 15:11:53 +0200 Subject: [PATCH 21/39] Add image tagging as expected by the deployment pipeline --- .circleci/config.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 198f835cd..70bea68bc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -57,12 +57,15 @@ jobs: fi aws ecr get-login-password --region eu-west-1 \ | docker login --username AWS --password-stdin "$ECR_ENDPOINT" - SHORT_SHA1=`echo ${CIRCLE_SHA1}|cut -c1-7` docker build -t ${ECR_ENDPOINT}/<< parameters.ecr_repo_name >> -f Dockerfile . - docker tag ${ECR_ENDPOINT}/<< parameters.ecr_repo_name >> "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:commit-${SHORT_SHA1}" - docker push "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:commit-${SHORT_SHA1}" docker tag ${ECR_ENDPOINT}/<< parameters.ecr_repo_name >> "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:latest" docker push "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:latest" + docker tag ${ECR_ENDPOINT}/<< parameters.ecr_repo_name >> "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:commit-${CIRCLE_SHA1:0:7}" + docker push "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:commit-${CIRCLE_SHA1:0:7}" + docker tag ${ECR_ENDPOINT}/<< parameters.ecr_repo_name >> "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:<< pipeline.git.branch >>-branch" + docker push "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:<< pipeline.git.branch >>-branch" + docker tag ${ECR_ENDPOINT}/<< parameters.ecr_repo_name >> "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:${CIRCLE_SHA1:0:7}" + docker push "${ECR_ENDPOINT}/<< parameters.ecr_repo_name >>:${CIRCLE_SHA1:0:7}" upload-terraform-artifacts: docker: From 82edee9e52eb0794c4daa748ef41701d7989c509 Mon Sep 17 00:00:00 2001 From: faergestad Date: Tue, 30 Jul 2024 15:26:06 +0200 Subject: [PATCH 22/39] test terraform module bugfix for auto scaling configuration name --- apps/docs/terraform/template/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/terraform/template/main.tf b/apps/docs/terraform/template/main.tf index 43e46ce6f..cb82c3f36 100644 --- a/apps/docs/terraform/template/main.tf +++ b/apps/docs/terraform/template/main.tf @@ -46,7 +46,7 @@ resource "aws_ssm_parameter" "sanity_preview_secret" { # # ################################## module "app_runner" { - source = "github.com/nsbno/terraform-digitalekanaler-modules//apprunner-internal?ref=2.2.3" + source = "github.com/nsbno/terraform-digitalekanaler-modules?ref=autoscaling-name-bug-fix//apprunner-internal" application_port = 3000 application_name = var.application_name ecr_repository_name = var.application_name From 4dbfe9b1869cb3cf1508d1b1170d720ecc7d86c9 Mon Sep 17 00:00:00 2001 From: faergestad Date: Tue, 30 Jul 2024 15:46:54 +0200 Subject: [PATCH 23/39] remove kms key alias --- apps/docs/terraform/template/main.tf | 5 ----- 1 file changed, 5 deletions(-) diff --git a/apps/docs/terraform/template/main.tf b/apps/docs/terraform/template/main.tf index cb82c3f36..785b0dbae 100644 --- a/apps/docs/terraform/template/main.tf +++ b/apps/docs/terraform/template/main.tf @@ -7,11 +7,6 @@ resource "aws_kms_key" "application_key" { description = "Key for ${var.application_name}" } -resource "aws_kms_alias" "application_key_alias" { - name = "alias/${var.application_name}" - target_key_id = aws_kms_key.application_key.id -} - ################################## # # # Application config # From 0598236474b4e748ad2fd973a9fcf03846098770 Mon Sep 17 00:00:00 2001 From: faergestad Date: Tue, 30 Jul 2024 16:31:52 +0200 Subject: [PATCH 24/39] Fix typo in aws iam policy document --- apps/docs/terraform/template/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/terraform/template/main.tf b/apps/docs/terraform/template/main.tf index 785b0dbae..ee70efba3 100644 --- a/apps/docs/terraform/template/main.tf +++ b/apps/docs/terraform/template/main.tf @@ -60,7 +60,7 @@ module "app_runner" { ################################## data "aws_iam_policy_document" "task_policy" { statement { - actions = ["ssm:GetParameter"] + actions = ["ssm:GetParameters"] resources = [ aws_ssm_parameter.sanity_preview_api_token.arn, From 2083d8cfda824027e0bbd57bed23d585b3328417 Mon Sep 17 00:00:00 2001 From: faergestad Date: Tue, 30 Jul 2024 16:48:19 +0200 Subject: [PATCH 25/39] Remove entrypoint.sh from Dockerfile --- apps/docs/Dockerfile | 1 - apps/docs/entrypoint.sh | 5 ----- 2 files changed, 6 deletions(-) delete mode 100644 apps/docs/entrypoint.sh diff --git a/apps/docs/Dockerfile b/apps/docs/Dockerfile index edff1d424..79df90c85 100644 --- a/apps/docs/Dockerfile +++ b/apps/docs/Dockerfile @@ -57,5 +57,4 @@ COPY --from=build /app/build/server /app/build/server COPY --from=build /app/build/client /app/build/client ADD . . -ENTRYPOINT ["./entrypoint.sh"] CMD ["npm", "run", "start"] \ No newline at end of file diff --git a/apps/docs/entrypoint.sh b/apps/docs/entrypoint.sh deleted file mode 100644 index 254aad4b8..000000000 --- a/apps/docs/entrypoint.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -if [ -z "$AWS_REGION" ] && [ -z "$AWS_DEFAULT_REGION" ]; then -export AWS_REGION="eu-west-1" -fi -exec /usr/local/bin/aws-env exec "$@" \ No newline at end of file From a9458cd57652d4ee93f712208c529b6a0b11728c Mon Sep 17 00:00:00 2001 From: faergestad Date: Wed, 31 Jul 2024 10:29:18 +0200 Subject: [PATCH 26/39] Disable vpc connector, since spor is meant to be publicly accessible --- apps/docs/terraform/template/main.tf | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/docs/terraform/template/main.tf b/apps/docs/terraform/template/main.tf index ee70efba3..dcb49ca90 100644 --- a/apps/docs/terraform/template/main.tf +++ b/apps/docs/terraform/template/main.tf @@ -47,6 +47,7 @@ module "app_runner" { ecr_repository_name = var.application_name service_account_id = "637423315721" environment = var.environment + use_vpc_connector = false environment_secrets = { SANITY_PREVIEW_API_TOKEN = aws_ssm_parameter.sanity_preview_api_token.arn SANITY_PREVIEW_SECRET = aws_ssm_parameter.sanity_preview_secret.arn From e256bcc27c72a8380324f57aa385ed578d4bf252 Mon Sep 17 00:00:00 2001 From: faergestad Date: Wed, 31 Jul 2024 12:26:27 +0200 Subject: [PATCH 27/39] place spor in public subnet --- apps/docs/terraform/template/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/terraform/template/main.tf b/apps/docs/terraform/template/main.tf index dcb49ca90..e5f051662 100644 --- a/apps/docs/terraform/template/main.tf +++ b/apps/docs/terraform/template/main.tf @@ -47,7 +47,7 @@ module "app_runner" { ecr_repository_name = var.application_name service_account_id = "637423315721" environment = var.environment - use_vpc_connector = false + subnet_placement = "public" environment_secrets = { SANITY_PREVIEW_API_TOKEN = aws_ssm_parameter.sanity_preview_api_token.arn SANITY_PREVIEW_SECRET = aws_ssm_parameter.sanity_preview_secret.arn From a691394a97feb6d733d2972e4bb50a16f944a43b Mon Sep 17 00:00:00 2001 From: faergestad Date: Wed, 31 Jul 2024 13:20:35 +0200 Subject: [PATCH 28/39] Remove subnet placement --- apps/docs/terraform/template/main.tf | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs/terraform/template/main.tf b/apps/docs/terraform/template/main.tf index e5f051662..ee70efba3 100644 --- a/apps/docs/terraform/template/main.tf +++ b/apps/docs/terraform/template/main.tf @@ -47,7 +47,6 @@ module "app_runner" { ecr_repository_name = var.application_name service_account_id = "637423315721" environment = var.environment - subnet_placement = "public" environment_secrets = { SANITY_PREVIEW_API_TOKEN = aws_ssm_parameter.sanity_preview_api_token.arn SANITY_PREVIEW_SECRET = aws_ssm_parameter.sanity_preview_secret.arn From 60fbde3ec4bf5cf7946a04166b1d65d4a91e5f08 Mon Sep 17 00:00:00 2001 From: faergestad Date: Wed, 31 Jul 2024 14:04:01 +0200 Subject: [PATCH 29/39] Add security group rule to allow all outgoing traffic from spor --- apps/docs/terraform/template/main.tf | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/apps/docs/terraform/template/main.tf b/apps/docs/terraform/template/main.tf index ee70efba3..88e3e795a 100644 --- a/apps/docs/terraform/template/main.tf +++ b/apps/docs/terraform/template/main.tf @@ -53,6 +53,15 @@ module "app_runner" { } } +resource "aws_security_group_rule" "allow_all_outgoing_traffic_from_apprunner" { + security_group_id = module.app_runner.security_group_id + type = "egress" + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] +} + ################################## # # # App Runner task policy # From b84471faa182e62abfc20101a99b0518238f135d Mon Sep 17 00:00:00 2001 From: faergestad Date: Wed, 31 Jul 2024 14:16:34 +0200 Subject: [PATCH 30/39] Update branch triggers to main branch --- .circleci/config.yml | 6 +++--- .deployment/config.yaml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 70bea68bc..6052fd209 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -100,7 +100,7 @@ workflows: filters: branches: only: - - migrate-to-common-services + - main - upload-terraform-artifacts: context: @@ -109,7 +109,7 @@ workflows: - build-and-push-docker filters: branches: - only: migrate-to-common-services + only: main - deployment/trigger-deployment: context: @@ -119,4 +119,4 @@ workflows: - build-and-push-docker filters: branches: - only: migrate-to-common-services \ No newline at end of file + only: main \ No newline at end of file diff --git a/.deployment/config.yaml b/.deployment/config.yaml index 94e70b632..7cb6f01d0 100644 --- a/.deployment/config.yaml +++ b/.deployment/config.yaml @@ -1,9 +1,9 @@ artifacts: - name: spor-tf - branch: migrate-to-common-services + branch: main location: s3 - name: spor - branch: migrate-to-common-services + branch: main location: ecr steps: From ec55a24d29046711d3b54e825d8aaa777e833316 Mon Sep 17 00:00:00 2001 From: faergestad Date: Thu, 1 Aug 2024 09:30:10 +0200 Subject: [PATCH 31/39] Update apprunner module version --- apps/docs/terraform/template/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/terraform/template/main.tf b/apps/docs/terraform/template/main.tf index 88e3e795a..eaf0cb98f 100644 --- a/apps/docs/terraform/template/main.tf +++ b/apps/docs/terraform/template/main.tf @@ -41,7 +41,7 @@ resource "aws_ssm_parameter" "sanity_preview_secret" { # # ################################## module "app_runner" { - source = "github.com/nsbno/terraform-digitalekanaler-modules?ref=autoscaling-name-bug-fix//apprunner-internal" + source = "github.com/nsbno/terraform-digitalekanaler-modules//apprunner-internal?ref=2.3.1" application_port = 3000 application_name = var.application_name ecr_repository_name = var.application_name From ef3e637cfd9f838d9531b8abbde2f2b9ee822d0a Mon Sep 17 00:00:00 2001 From: faergestad Date: Thu, 1 Aug 2024 09:37:49 +0200 Subject: [PATCH 32/39] Deploy route53 hosted zone change to the new account, so we can access spor from the vylabs domain --- .circleci/config.yml | 6 +++--- .deployment/config.yaml | 4 ++-- apps/docs/terraform/template/main.tf | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6052fd209..70bea68bc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -100,7 +100,7 @@ workflows: filters: branches: only: - - main + - migrate-to-common-services - upload-terraform-artifacts: context: @@ -109,7 +109,7 @@ workflows: - build-and-push-docker filters: branches: - only: main + only: migrate-to-common-services - deployment/trigger-deployment: context: @@ -119,4 +119,4 @@ workflows: - build-and-push-docker filters: branches: - only: main \ No newline at end of file + only: migrate-to-common-services \ No newline at end of file diff --git a/.deployment/config.yaml b/.deployment/config.yaml index 7cb6f01d0..94e70b632 100644 --- a/.deployment/config.yaml +++ b/.deployment/config.yaml @@ -1,9 +1,9 @@ artifacts: - name: spor-tf - branch: main + branch: migrate-to-common-services location: s3 - name: spor - branch: main + branch: migrate-to-common-services location: ecr steps: diff --git a/apps/docs/terraform/template/main.tf b/apps/docs/terraform/template/main.tf index eaf0cb98f..45b89a7d5 100644 --- a/apps/docs/terraform/template/main.tf +++ b/apps/docs/terraform/template/main.tf @@ -41,7 +41,7 @@ resource "aws_ssm_parameter" "sanity_preview_secret" { # # ################################## module "app_runner" { - source = "github.com/nsbno/terraform-digitalekanaler-modules//apprunner-internal?ref=2.3.1" + source = "github.com/nsbno/terraform-digitalekanaler-modules?ref=vylabs-for-apprunner//apprunner-internal" application_port = 3000 application_name = var.application_name ecr_repository_name = var.application_name From 68e04992b1577fa95a301d62f217ef3f31fa4a12 Mon Sep 17 00:00:00 2001 From: faergestad Date: Thu, 22 Aug 2024 08:48:04 +0200 Subject: [PATCH 33/39] Update version for remote docker in circleCi config, due to deprecation and an upcoming 24 hour brownout --- .circleci/config.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 70bea68bc..3a42c0d2e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -43,8 +43,7 @@ jobs: working_directory: /tmp/workspace/apps/docs steps: - setup_remote_docker: - version: 19.03.13 - docker_layer_caching: true + version: docker24 - checkout: path: ../../ - run: From 45da6a4dae62a161ca47fe19252d266973d35be6 Mon Sep 17 00:00:00 2001 From: faergestad Date: Thu, 22 Aug 2024 08:57:06 +0200 Subject: [PATCH 34/39] Update app runner module version --- apps/docs/terraform/template/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/terraform/template/main.tf b/apps/docs/terraform/template/main.tf index 45b89a7d5..eaf0cb98f 100644 --- a/apps/docs/terraform/template/main.tf +++ b/apps/docs/terraform/template/main.tf @@ -41,7 +41,7 @@ resource "aws_ssm_parameter" "sanity_preview_secret" { # # ################################## module "app_runner" { - source = "github.com/nsbno/terraform-digitalekanaler-modules?ref=vylabs-for-apprunner//apprunner-internal" + source = "github.com/nsbno/terraform-digitalekanaler-modules//apprunner-internal?ref=2.3.1" application_port = 3000 application_name = var.application_name ecr_repository_name = var.application_name From 3a7d8126ab8355f28890def56e5b51f906313f33 Mon Sep 17 00:00:00 2001 From: faergestad Date: Thu, 5 Sep 2024 08:13:45 +0200 Subject: [PATCH 35/39] Upgrade app runner module --- apps/docs/terraform/service/main.tf | 7 ++++++- apps/docs/terraform/template/main.tf | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/docs/terraform/service/main.tf b/apps/docs/terraform/service/main.tf index 85a4f8c18..401628392 100644 --- a/apps/docs/terraform/service/main.tf +++ b/apps/docs/terraform/service/main.tf @@ -15,9 +15,14 @@ locals { prod_account = "471112960535" } -module "ecr_railyard" { +module "ecr" { source = "github.com/nsbno/terraform-aws-ecr?ref=1.4.1" name_prefix = local.ecr_repository_name trusted_accounts = [local.prod_account, local.service_account] max_images_retained = 10 } + +moved { + from = module.ecr_railyard + to = module.ecr +} \ No newline at end of file diff --git a/apps/docs/terraform/template/main.tf b/apps/docs/terraform/template/main.tf index eaf0cb98f..a88e15a69 100644 --- a/apps/docs/terraform/template/main.tf +++ b/apps/docs/terraform/template/main.tf @@ -41,7 +41,7 @@ resource "aws_ssm_parameter" "sanity_preview_secret" { # # ################################## module "app_runner" { - source = "github.com/nsbno/terraform-digitalekanaler-modules//apprunner-internal?ref=2.3.1" + source = "github.com/nsbno/terraform-digitalekanaler-apprunner-internal?ref=1.0.0" application_port = 3000 application_name = var.application_name ecr_repository_name = var.application_name From aa0d4f392e2270281c35b3c0bb063f75e98cb207 Mon Sep 17 00:00:00 2001 From: faergestad Date: Thu, 5 Sep 2024 08:15:53 +0200 Subject: [PATCH 36/39] Bump circleci orbs --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3a42c0d2e..404a57035 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,8 +2,8 @@ version: 2.1 orbs: deployment: vydev/deployment@0.7.0 terraform: circleci/terraform@3.2.1 - aws-ecr: circleci/aws-ecr@9.1.0 - aws-cli: circleci/aws-cli@4.1.3 + aws-ecr: circleci/aws-ecr@9.3.1 + aws-cli: circleci/aws-cli@5.0.0 parameters: ecr_repo_name: From 4f6d324a50120c1826f38917c16e32fa2386cf78 Mon Sep 17 00:00:00 2001 From: faergestad Date: Thu, 5 Sep 2024 08:32:30 +0200 Subject: [PATCH 37/39] Cleanup moved statement --- apps/docs/terraform/service/main.tf | 5 ----- 1 file changed, 5 deletions(-) diff --git a/apps/docs/terraform/service/main.tf b/apps/docs/terraform/service/main.tf index 401628392..938692631 100644 --- a/apps/docs/terraform/service/main.tf +++ b/apps/docs/terraform/service/main.tf @@ -21,8 +21,3 @@ module "ecr" { trusted_accounts = [local.prod_account, local.service_account] max_images_retained = 10 } - -moved { - from = module.ecr_railyard - to = module.ecr -} \ No newline at end of file From 0572848ef27211831e5c941d6cbd112e6367ad08 Mon Sep 17 00:00:00 2001 From: faergestad Date: Fri, 6 Sep 2024 16:43:48 +0200 Subject: [PATCH 38/39] Change back urls to spor.vy.no --- apps/docs/app/features/portable-text/LinkableHeading.tsx | 2 +- apps/studio/sanity.config.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/docs/app/features/portable-text/LinkableHeading.tsx b/apps/docs/app/features/portable-text/LinkableHeading.tsx index 1228429b6..5dc11420b 100644 --- a/apps/docs/app/features/portable-text/LinkableHeading.tsx +++ b/apps/docs/app/features/portable-text/LinkableHeading.tsx @@ -23,7 +23,7 @@ export const LinkableHeading = ({ const text = getChildrenAsString(props.children); const id = props.id || slugify(text as string); const { onCopy, hasCopied } = useClipboard( - `https://spor.digital-common-services.vydev.io${location.pathname}#${id}`, + `https://spor.vy.no${location.pathname}#${id}`, ); return ( Date: Fri, 6 Sep 2024 16:49:16 +0200 Subject: [PATCH 39/39] Update branch filter to main --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 404a57035..501562855 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -99,7 +99,7 @@ workflows: filters: branches: only: - - migrate-to-common-services + - main - upload-terraform-artifacts: context: @@ -108,7 +108,7 @@ workflows: - build-and-push-docker filters: branches: - only: migrate-to-common-services + only: main - deployment/trigger-deployment: context: @@ -118,4 +118,4 @@ workflows: - build-and-push-docker filters: branches: - only: migrate-to-common-services \ No newline at end of file + only: main \ No newline at end of file