From 5526a7d20aad9a9b311850bbf919c0752c175398 Mon Sep 17 00:00:00 2001 From: Kalin Daskalov <kalin.daskalov@vereign.com> Date: Fri, 15 Dec 2023 17:22:40 +0200 Subject: [PATCH 1/2] Add automatic tag fetching from remote repo --- .gitlab-ci.yml | 19 +++++--- Chart.yaml | 4 +- README.md | 117 +++++++++++++++++++++++++------------------------ app | 2 +- 4 files changed, 76 insertions(+), 66 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e85adbc..b1fa1e5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,9 +4,12 @@ variables: HELM_HELPERS_FILE: helm-eclipse.yml APP_HELM_NAME: infohub DOCKER_FILE: app/deployment/ci/Dockerfile + GIT_SUBMODULE_STRATEGY: recursive + GIT_SUBMODULE_UPDATE_FLAGS: --remote --init --recursive stages: - test + - getinfo - build - manifest - lint @@ -15,11 +18,10 @@ stages: include: - project: "${HELPERS_PATH}" - file: 'build-eclipse.yml' + file: "build-eclipse.yml" - template: "Workflows/Branch-Pipelines.gitlab-ci.yml" - project: "${HELPERS_PATH}" - file: 'helm-eclipse.yml' - + file: "helm-eclipse.yml" lint: image: golangci/golangci-lint:latest @@ -34,7 +36,7 @@ lint: - cd /go/src/gitlab.com/${CI_PROJECT_PATH}/app unit tests: - image: golang:1.21.3 + image: golang:1.21.4 stage: test tags: - amd64-docker @@ -48,7 +50,7 @@ unit tests: coverage: '/total:\s+\(statements\)\s+(\d+.\d+\%)/' govulncheck: - image: golang:1.21.3 + image: golang:1.21.4 stage: test tags: - amd64-docker @@ -60,6 +62,11 @@ govulncheck: - go install golang.org/x/vuln/cmd/govulncheck@latest - govulncheck ./... +check_commit: + extends: .check_commit + stage: getinfo + tags: + - amd64-docker amd64: extends: .docker-build stage: build @@ -67,7 +74,7 @@ amd64: - amd64-docker manifest: - extends: .manifest-amd64 + extends: .manifest stage: manifest cloud: diff --git a/Chart.yaml b/Chart.yaml index d37b825..a9e154f 100644 --- a/Chart.yaml +++ b/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 -appVersion: v1.2.2 +appVersion: v1.3.0 description: infohub deployment name: infohub -version: 1.2.2 +version: 1.3.0 icon: "https://www.vereign.com/wp-content/themes/vereign2020/images/vereign-logo.svg" diff --git a/README.md b/README.md index c81870d..ee626a4 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ -# infohub + + + -  +# infohub ## Deployment @@ -9,64 +11,65 @@ The pipeline in this repo builds image from the source code repo in eclipse as a ### From main branch When changes to helm or the app are made and deployment is needed, execute the following steps: -1. Clone the repo and start working on a new branch. -2. Execute `git submode update --remote --recursive -init` to update source to latest commit on eclipse main branch. + 1. Edit `Chart.yaml` with the new chart version (example: 1.4.3) and app version it's intended to use (example: v1.4.3). -2. Create a new tag with the intended app version (v1.4.3) -3. Wait for pipelines to finish and manually trigger deployment to either `dev-ssi` or `prod-ssi(vault)` clusters. +2. Create merge request from the update branch. +3. Create a new tag from main branch with the intended chart version (1.4.3) +4. Wait for pipelines to finish and manually trigger deployment to either `dev-ssi` or `prod-ssi(vault)` clusters. ## Values -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| addresses.cache | string | `"http://cache:8080"` | | -| addresses.issuerUri | string | `"did:web:123"` | | -| addresses.policy | string | `"http://policy:8080"` | | -| addresses.signer | string | `"http://signer:8080"` | | -| autoscaling.enabled | bool | `false` | Enable autoscaling | -| autoscaling.maxReplicas | int | `3` | Maximum replicas | -| autoscaling.minReplicas | int | `1` | Minimum replicas | -| autoscaling.targetCPUUtilizationPercentage | int | `70` | CPU target for autoscaling trigger | -| autoscaling.targetMemoryUtilizationPercentage | int | `70` | Memory target for autoscaling trigger | -| image.name | string | `"gaiax/infohub"` | Image name | -| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | -| image.pullSecrets | string | `"deployment-key-light"` | Image pull secret when internal image is used | -| image.repository | string | `"eu.gcr.io/vrgn-infra-prj"` | | -| image.sha | string | `""` | Image sha, usually generated by the CI Uses image.tag if empty | -| image.tag | string | `""` | Image tag Uses .Chart.AppVersion if empty | -| infohub.http.host | string | `""` | | -| infohub.http.port | int | `8080` | | -| infohub.http.timeout.idle | string | `"120s"` | | -| infohub.http.timeout.read | string | `"10s"` | | -| infohub.http.timeout.write | string | `"10s"` | | -| ingress.annotations."cert-manager.io/cluster-issuer" | string | `"letsencrypt-production-http"` | | -| ingress.annotations."kubernetes.io/ingress.class" | string | `"nginx"` | | -| ingress.annotations."kubernetes.io/ingress.global-static-ip-name" | string | `"dev-light-public"` | | -| ingress.annotations."nginx.ingress.kubernetes.io/rewrite-target" | string | `"/$2"` | | -| ingress.enabled | bool | `true` | | -| ingress.frontendDomain | string | `"gaiax.vereign.com"` | | -| ingress.frontendTlsSecretName | string | `"cert-manager-tls"` | | -| ingress.tlsEnabled | bool | `true` | | -| log.encoding | string | `"json"` | | -| log.level | string | `"debug"` | | -| metrics.enabled | bool | `true` | Enable prometheus metrics | -| metrics.port | int | `2112` | Port for prometheus metrics | -| mongo.addr | string | `"mongodb://mongodb-mongodb-replicaset.mongo:27017/infohub?replicaSet=rs0&authSource=admin"` | | -| mongo.dbname | string | `"infohub"` | | -| mongo.pass | string | `""` | | -| mongo.user | string | `""` | | -| name | string | `"infohub"` | Application name | -| nameOverride | string | `""` | Ovverwrites application name | -| podAnnotations | object | `{}` | | -| replicaCount | int | `1` | Default number of instances to start | -| resources.limits.cpu | string | `"150m"` | | -| resources.limits.memory | string | `"128Mi"` | | -| resources.requests.cpu | string | `"25m"` | | -| resources.requests.memory | string | `"64Mi"` | | -| security.runAsGid | int | `0` | Group used by the apps | -| security.runAsNonRoot | bool | `false` | by default, apps run as non-root | -| security.runAsUid | int | `0` | User used by the apps | -| service.port | int | `8080` | | +| Key | Type | Default | Description | +| ----------------------------------------------------------------- | ------ | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | +| addresses.cache | string | `"http://cache:8080"` | | +| addresses.issuerUri | string | `"did:web:123"` | | +| addresses.policy | string | `"http://policy:8080"` | | +| addresses.signer | string | `"http://signer:8080"` | | +| autoscaling.enabled | bool | `false` | Enable autoscaling | +| autoscaling.maxReplicas | int | `3` | Maximum replicas | +| autoscaling.minReplicas | int | `1` | Minimum replicas | +| autoscaling.targetCPUUtilizationPercentage | int | `70` | CPU target for autoscaling trigger | +| autoscaling.targetMemoryUtilizationPercentage | int | `70` | Memory target for autoscaling trigger | +| image.name | string | `"gaiax/infohub"` | Image name | +| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | +| image.pullSecrets | string | `"deployment-key-light"` | Image pull secret when internal image is used | +| image.repository | string | `"eu.gcr.io/vrgn-infra-prj"` | | +| image.sha | string | `""` | Image sha, usually generated by the CI Uses image.tag if empty | +| image.tag | string | `""` | Image tag Uses .Chart.AppVersion if empty | +| infohub.http.host | string | `""` | | +| infohub.http.port | int | `8080` | | +| infohub.http.timeout.idle | string | `"120s"` | | +| infohub.http.timeout.read | string | `"10s"` | | +| infohub.http.timeout.write | string | `"10s"` | | +| ingress.annotations."cert-manager.io/cluster-issuer" | string | `"letsencrypt-production-http"` | | +| ingress.annotations."kubernetes.io/ingress.class" | string | `"nginx"` | | +| ingress.annotations."kubernetes.io/ingress.global-static-ip-name" | string | `"dev-light-public"` | | +| ingress.annotations."nginx.ingress.kubernetes.io/rewrite-target" | string | `"/$2"` | | +| ingress.enabled | bool | `true` | | +| ingress.frontendDomain | string | `"gaiax.vereign.com"` | | +| ingress.frontendTlsSecretName | string | `"cert-manager-tls"` | | +| ingress.tlsEnabled | bool | `true` | | +| log.encoding | string | `"json"` | | +| log.level | string | `"debug"` | | +| metrics.enabled | bool | `true` | Enable prometheus metrics | +| metrics.port | int | `2112` | Port for prometheus metrics | +| mongo.addr | string | `"mongodb://mongodb-mongodb-replicaset.mongo:27017/infohub?replicaSet=rs0&authSource=admin"` | | +| mongo.dbname | string | `"infohub"` | | +| mongo.pass | string | `""` | | +| mongo.user | string | `""` | | +| name | string | `"infohub"` | Application name | +| nameOverride | string | `""` | Ovverwrites application name | +| podAnnotations | object | `{}` | | +| replicaCount | int | `1` | Default number of instances to start | +| resources.limits.cpu | string | `"150m"` | | +| resources.limits.memory | string | `"128Mi"` | | +| resources.requests.cpu | string | `"25m"` | | +| resources.requests.memory | string | `"64Mi"` | | +| security.runAsGid | int | `0` | Group used by the apps | +| security.runAsNonRoot | bool | `false` | by default, apps run as non-root | +| security.runAsUid | int | `0` | User used by the apps | +| service.port | int | `8080` | | + +--- ----------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.10.0](https://github.com/norwoodj/helm-docs/releases/v1.10.0) diff --git a/app b/app index 8f92322..86f5bf7 160000 --- a/app +++ b/app @@ -1 +1 @@ -Subproject commit 8f923225d4c63bb8f0a415b6ba8b260935ae2d40 +Subproject commit 86f5bf771a954c9819e2322342a58a0ecf6e0366 -- GitLab From 1c5254ace4787f07a8ccbbfb3646e129b58b4184 Mon Sep 17 00:00:00 2001 From: Kalin Daskalov <kalin.daskalov@vereign.com> Date: Tue, 19 Dec 2023 16:10:38 +0200 Subject: [PATCH 2/2] update tag and go version for tests --- .gitlab-ci.yml | 4 ++-- Chart.yaml | 4 ++-- app | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b1fa1e5..3014bad 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,7 +36,7 @@ lint: - cd /go/src/gitlab.com/${CI_PROJECT_PATH}/app unit tests: - image: golang:1.21.4 + image: golang:1.21.5 stage: test tags: - amd64-docker @@ -50,7 +50,7 @@ unit tests: coverage: '/total:\s+\(statements\)\s+(\d+.\d+\%)/' govulncheck: - image: golang:1.21.4 + image: golang:1.21.5 stage: test tags: - amd64-docker diff --git a/Chart.yaml b/Chart.yaml index a9e154f..12a15c9 100644 --- a/Chart.yaml +++ b/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 -appVersion: v1.3.0 +appVersion: v1.3.1 description: infohub deployment name: infohub -version: 1.3.0 +version: 1.3.1 icon: "https://www.vereign.com/wp-content/themes/vereign2020/images/vereign-logo.svg" diff --git a/app b/app index 86f5bf7..918cab5 160000 --- a/app +++ b/app @@ -1 +1 @@ -Subproject commit 86f5bf771a954c9819e2322342a58a0ecf6e0366 +Subproject commit 918cab5783ea11b2292a7f71cc1947a297abc53a -- GitLab