From 55fb76058f0fb91094ab204673ed6d398467951f Mon Sep 17 00:00:00 2001 From: ElderMatt <18527012+ElderMatt@users.noreply.github.com> Date: Fri, 4 Oct 2024 13:29:18 +0200 Subject: [PATCH 01/10] feat: updated versions --- versions.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/versions.yaml b/versions.yaml index 363880183f..7d571d9d41 100644 --- a/versions.yaml +++ b/versions.yaml @@ -1,4 +1,4 @@ -api: APL-132-prometheus-ha -console: APL-132-prometheus-ha +api: main +console: apl-134 tasks: 3.2.0 tools: 2.7.0 From d2cafeb0d42fcd74f19253a4ce04786d95b7549f Mon Sep 17 00:00:00 2001 From: ElderMatt <18527012+ElderMatt@users.noreply.github.com> Date: Mon, 7 Oct 2024 08:39:21 +0200 Subject: [PATCH 02/10] feat: versions --- versions.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions.yaml b/versions.yaml index 7d571d9d41..dad0337c4d 100644 --- a/versions.yaml +++ b/versions.yaml @@ -1,4 +1,4 @@ -api: main +api: apl-134 console: apl-134 tasks: 3.2.0 tools: 2.7.0 From b84f5dbd287ace433369223861b62772fa9fae13 Mon Sep 17 00:00:00 2001 From: ElderMatt <18527012+ElderMatt@users.noreply.github.com> Date: Wed, 9 Oct 2024 14:35:49 +0200 Subject: [PATCH 03/10] feat: ispreinstalled flag --- .github/workflows/integration.yml | 13 ++++++++++++- core.yaml | 4 ++-- values-schema.yaml | 3 +++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 389522ad12..b9b8c8bbc4 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -42,6 +42,9 @@ on: type: string description: Should a unique password be generated? default: 'yes' + isPreInstalled: + type: string + default: 'false' workflow_dispatch: inputs: cloud_provider: @@ -121,6 +124,12 @@ on: - 'yes' - 'no' default: 'yes' + isPreInstalled: + type: choice + description: Fake if Otomi is preInstalled by Installer + options: + - 'true' + - 'false' env: CACHE_REGISTRY: ghcr.io CACHE_REPO: linode/apl-core @@ -463,7 +472,9 @@ jobs: [[ '${{ inputs.oidc }}' == 'az_oidc' ]] && echo "$AZ_OIDC" >> values.yaml [[ '${{ inputs.certificate }}' == 'letsencrypt_staging' ]] && echo "$LETSENCRYPT_STAGING" >> values.yaml [[ '${{ inputs.certificate }}' == 'letsencrypt_production' ]] && echo "$LETSENCRYPT_PRODUCTION" >> values.yaml - + if [[ '${{ inputs.isPreInstalled }}' == 'true']]; then + otomi: + isPreInstalled: true if [[ '${{ inputs.kms }}' == 'age' ]]; then cat <> values.yaml kms: diff --git a/core.yaml b/core.yaml index 1b5e675408..ec359b41c6 100644 --- a/core.yaml +++ b/core.yaml @@ -289,7 +289,7 @@ adminApps: auth: true - name: loki tags: [logging, telemetry, observability] - deps: [grafana, prometheus, minio] + deps: [grafana, prometheus] useHost: grafana path: /explore?orgId=1&left=%7B"datasource":"loki","queries":%5B%7B"refId":"A"%7D%5D,"range":%7B"from":"now-1h","to":"now"%7D%7D - name: minio @@ -332,7 +332,7 @@ adminApps: ownHost: true - name: tempo tags: [tracing] - deps: [prometheus, grafana, minio] + deps: [prometheus, grafana] useHost: grafana path: /explore?orgId=1&left=%7B"datasource":"tempo","queries":%5B%7B"refId":"A","datasource":%7B"type":"tempo","uid":"tempo"%7D,"queryType":"clear","limit":20%7D%5D,"range":%7B"from":"now-1h","to":"now"%7D%7D - name: otel diff --git a/values-schema.yaml b/values-schema.yaml index 94758b20fb..b48082256a 100644 --- a/values-schema.yaml +++ b/values-schema.yaml @@ -2925,6 +2925,9 @@ properties: adminPassword: type: string x-secret: '{{ randAlphaNum 20 }}' + isPreInstalled: + type: boolean + default: false globalPullSecret: title: Global pullsecret description: Will be connected to each "default" service account in all otomi app namespaces. From d8e21c90b7bf960550dc545e17a83e1fde49eea2 Mon Sep 17 00:00:00 2001 From: ElderMatt <18527012+ElderMatt@users.noreply.github.com> Date: Wed, 9 Oct 2024 14:44:06 +0200 Subject: [PATCH 04/10] fix: remove license option --- .github/workflows/integration.yml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index b9b8c8bbc4..d6bf275cf8 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -38,10 +38,6 @@ on: type: string description: Select certificate issuer default: gen_custom_ca - license: - type: string - description: Should a unique password be generated? - default: 'yes' isPreInstalled: type: string default: 'false' @@ -117,13 +113,6 @@ on: - letsencrypt_staging - letsencrypt_production default: gen_custom_ca - license: - type: choice - description: Should a predefined Otomi license be injected? - options: - - 'yes' - - 'no' - default: 'yes' isPreInstalled: type: choice description: Fake if Otomi is preInstalled by Installer @@ -299,11 +288,9 @@ jobs: AZ_OIDC: ${{ secrets.AZ_OIDC }} LETSENCRYPT_STAGING: ${{ secrets.LETSENCRYPT_STAGING }} LETSENCRYPT_PRODUCTION: ${{ secrets.LETSENCRYPT_PRODUCTION }} - OTOMI_LICENSE: ${{ secrets.OTOMI_LICENSE }} run: | domainSuffix='' touch values.yaml - [[ '${{ inputs.license }}' == 'yes' ]] && echo "$OTOMI_LICENSE" >> values.yaml [[ '${{ inputs.dns }}' == 'az_dns' ]] && echo "$AZ_DNS" >> values.yaml && domainSuffix='--set cluster.domainSuffix=tst-${{ github.run_id }}.aks.redkubes.net' [[ '${{ inputs.kms }}' == 'az_kms' ]] && echo "$AZ_KMS" >> values.yaml [[ '${{ inputs.oidc }}' == 'az_oidc' ]] && echo "$AZ_OIDC" >> values.yaml @@ -462,11 +449,9 @@ jobs: AZ_OIDC: ${{ secrets.AZ_OIDC }} LETSENCRYPT_STAGING: ${{ secrets.LETSENCRYPT_STAGING }} LETSENCRYPT_PRODUCTION: ${{ secrets.LETSENCRYPT_PRODUCTION }} - OTOMI_LICENSE: ${{ secrets.OTOMI_LICENSE }} run: | domainSuffix='' touch values.yaml - [[ '${{ inputs.license }}' == 'yes' ]] && echo "$OTOMI_LICENSE" >> values.yaml [[ '${{ inputs.dns }}' == 'az_dns' ]] && echo "$AZ_DNS" >> values.yaml && domainSuffix="--set cluster.domainSuffix=tst-${{ github.run_id }}.aks.redkubes.net" [[ '${{ inputs.kms }}' == 'az_kms' ]] && echo "$AZ_KMS" >> values.yaml [[ '${{ inputs.oidc }}' == 'az_oidc' ]] && echo "$AZ_OIDC" >> values.yaml From dc6b3963dc598d63281754024bb855a35421abf2 Mon Sep 17 00:00:00 2001 From: ElderMatt <18527012+ElderMatt@users.noreply.github.com> Date: Wed, 9 Oct 2024 15:17:08 +0200 Subject: [PATCH 05/10] fix: values insert --- .github/workflows/integration.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index d6bf275cf8..19d4189679 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -119,6 +119,7 @@ on: options: - 'true' - 'false' + default: 'false' env: CACHE_REGISTRY: ghcr.io CACHE_REPO: linode/apl-core @@ -458,8 +459,11 @@ jobs: [[ '${{ inputs.certificate }}' == 'letsencrypt_staging' ]] && echo "$LETSENCRYPT_STAGING" >> values.yaml [[ '${{ inputs.certificate }}' == 'letsencrypt_production' ]] && echo "$LETSENCRYPT_PRODUCTION" >> values.yaml if [[ '${{ inputs.isPreInstalled }}' == 'true']]; then + cat <> values.yaml otomi: isPreInstalled: true + EOF + fi if [[ '${{ inputs.kms }}' == 'age' ]]; then cat <> values.yaml kms: From 3c8ecca0805a6eda4024b1901139db46cccea685 Mon Sep 17 00:00:00 2001 From: ElderMatt <18527012+ElderMatt@users.noreply.github.com> Date: Wed, 9 Oct 2024 15:31:11 +0200 Subject: [PATCH 06/10] fix: if statement --- .github/workflows/integration.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 19d4189679..75028e4d66 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -458,12 +458,14 @@ jobs: [[ '${{ inputs.oidc }}' == 'az_oidc' ]] && echo "$AZ_OIDC" >> values.yaml [[ '${{ inputs.certificate }}' == 'letsencrypt_staging' ]] && echo "$LETSENCRYPT_STAGING" >> values.yaml [[ '${{ inputs.certificate }}' == 'letsencrypt_production' ]] && echo "$LETSENCRYPT_PRODUCTION" >> values.yaml - if [[ '${{ inputs.isPreInstalled }}' == 'true']]; then + + if [[ '${{ inputs.isPreInstalled }}' == 'true' ]]; then cat <> values.yaml otomi: isPreInstalled: true EOF fi + if [[ '${{ inputs.kms }}' == 'age' ]]; then cat <> values.yaml kms: From 30aa509fd055cb75f667df3b5e783295fe998a94 Mon Sep 17 00:00:00 2001 From: ElderMatt <18527012+ElderMatt@users.noreply.github.com> Date: Wed, 9 Oct 2024 16:33:13 +0200 Subject: [PATCH 07/10] fix: dependencies --- apps.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps.yaml b/apps.yaml index b325fa00a5..a102a8e984 100644 --- a/apps.yaml +++ b/apps.yaml @@ -253,7 +253,7 @@ appsInfo: - https://apl-docs.net/docs/apps/loki - https://grafana.com/docs/loki/latest/ license: AGPL-3.0 - dependencies: Prometheus, Grafana, Minio (if no external Object Storage is used) + dependencies: Prometheus, Grafana about: Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost effective and easy to operate. It does not index the contents of the logs, but rather a set of labels for each log stream. integration: Loki can be activated to aggregate all the container logs on the platform and store them in a storage endpoint of choice (defaults to PVC). When APL is configured in multi-tenancy mode, logs will be split-up between team namespaces and made available for team members only. APL shortcuts can be used to provide selections of logs based on interest. minio: @@ -288,7 +288,7 @@ appsInfo: - https://github.com/rabbitmq/cluster-operator - https://www.rabbitmq.com license: MPL-2.0 license - dependencies: '' + dependencies: None about: RabbitMQ is the most widely deployed open source message broker. integration: APL install the RabbitMQ-Cluster-Kubernetes-Operator, afterwards users can use the RabbitMQ Catalog item to create RabbitMQ-cluster with queues and policies. isBeta: true @@ -311,7 +311,7 @@ appsInfo: relatedLinks: - https://grafana.com/docs/tempo/latest/ license: AGPL-3.0 - dependencies: Prometheus, Grafana, Minio (if no external Object Storage is used), Otel + dependencies: Prometheus, Grafana, Otel about: Grafana Tempo is an open source, easy-to-use and high-scale distributed tracing backend. Tempo is cost-efficient, requiring only object storage to operate, and is deeply integrated with Grafana, Prometheus, and Loki. integration: APL installs and configures Tempo based on best-practices defaults. By default storage is configured to use the tempo bucket of the local Minio instance. For each team a Grafana agent is installed and configured to enable writes to the Tempo cluster. thanos: @@ -323,7 +323,7 @@ appsInfo: - https://apl-docs/docs/apps/thanos - https://thanos.io license: Apache 2.0 - dependencies: Prometheus, Grafana, Minio (if no external Object Storage is used) + dependencies: Prometheus, Grafana about: Thanos is a tool to set up a Highly Available Prometheus with long-term storage capabilities. integration: APL installs and configures Thanos using sidecars ans leverages the central object storage configuration. trivy: @@ -360,6 +360,6 @@ appsInfo: - https://velero.io/docs/v1.9/ - https://velero.io/docs/main/restic/ license: Apache 2.0 - dependencies: Minio (if no external Object Storage is used) + dependencies: None about: Velero is a tool to back up and restore Kubernetes cluster resources and persistent volumes. integration: When enabled, Velero can be used to automatically create backups of APL platform services. Based on the selected provider, APL installs required plug-ins. APL also installs the Restic integration for Velero to back up and restore almost any type of Kubernetes volume. From 583a0332f1010a742208e10eb78dfa87735bacd0 Mon Sep 17 00:00:00 2001 From: ElderMatt <18527012+ElderMatt@users.noreply.github.com> Date: Mon, 14 Oct 2024 13:15:36 +0200 Subject: [PATCH 08/10] feat: added ispreinstalled description --- values-schema.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/values-schema.yaml b/values-schema.yaml index b48082256a..5732f1b981 100644 --- a/values-schema.yaml +++ b/values-schema.yaml @@ -2927,6 +2927,7 @@ properties: x-secret: '{{ randAlphaNum 20 }}' isPreInstalled: type: boolean + description: Defines if APL is installed and managed by Linode default: false globalPullSecret: title: Global pullsecret From bd3717a6f1b05a5fc005cf7ce616391d28ef5c66 Mon Sep 17 00:00:00 2001 From: ElderMatt <18527012+ElderMatt@users.noreply.github.com> Date: Mon, 14 Oct 2024 17:06:30 +0200 Subject: [PATCH 09/10] fix: versions tasks to main --- versions.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions.yaml b/versions.yaml index dad0337c4d..13d2f593f7 100644 --- a/versions.yaml +++ b/versions.yaml @@ -1,4 +1,4 @@ api: apl-134 console: apl-134 -tasks: 3.2.0 +tasks: main tools: 2.7.0 From 1067507dff5f1de9d8afc7587db95b4d4aa1b9e3 Mon Sep 17 00:00:00 2001 From: ElderMatt <18527012+ElderMatt@users.noreply.github.com> Date: Wed, 16 Oct 2024 10:36:41 +0200 Subject: [PATCH 10/10] fix: removed merge conflict lines that got added back --- .github/workflows/integration.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 1b55b50d28..804bb9cb63 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -97,7 +97,7 @@ on: - 'true' - 'false' default: 'false' - + env: CACHE_REGISTRY: ghcr.io CACHE_REPO: linode/apl-core @@ -286,9 +286,6 @@ jobs: CLIENT_SECRET: ${{ secrets.EDGEDNS_CLIENT_SECRET }} run: | touch values.yaml - [[ '${{ inputs.dns }}' == 'az_dns' ]] && echo "$AZ_DNS" >> values.yaml && domainSuffix="--set cluster.domainSuffix=tst-${{ github.run_id }}.aks.redkubes.net" - [[ '${{ inputs.kms }}' == 'az_kms' ]] && echo "$AZ_KMS" >> values.yaml - [[ '${{ inputs.oidc }}' == 'az_oidc' ]] && echo "$AZ_OIDC" >> values.yaml adminPassword=welcomeotomi [[ '${{ inputs.certificate }}' == 'letsencrypt_staging' ]] && echo "$LETSENCRYPT_STAGING" >> values.yaml [[ '${{ inputs.certificate }}' == 'letsencrypt_production' ]] && echo "$LETSENCRYPT_PRODUCTION" >> values.yaml