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
+![GitLab tag (self-managed)](https://img.shields.io/gitlab/v/tag/eclipse%2Fxfsc%2Ftsa%2Finfohub?gitlab_url=https%3A%2F%2Fgitlab.eclipse.org&logo=gitlab&label=Latest%20Eclipse%20Tag)
+
+![GitLab tag (self-managed)](https://img.shields.io/gitlab/v/tag/gaiax%2Ftsa%2Finfohub-helm?gitlab_url=https%3A%2F%2Fcode.vereign.com&logo=gitlab&label=Latest%20Local%20Tag&labelColor=grey&color=orange)
 
-![Version: 1.0.1](https://img.shields.io/badge/Version-1.0.1-informational?style=flat-square) ![AppVersion: v1.0.1-rc](https://img.shields.io/badge/AppVersion-v1.0.1--rc-informational?style=flat-square)
+# 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