Skip to content

Commit e498b48

Browse files
feat: ispreinstalled flag (#1760)
Co-authored-by: jeho <[email protected]>
1 parent 570061d commit e498b48

File tree

5 files changed

+40
-9
lines changed

5 files changed

+40
-9
lines changed

.github/workflows/integration.yml

+27
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ on:
2222
description: 'Select certificate issuer'
2323
type: string
2424
default: letsencrypt_production
25+
is_pre_installed:
26+
description: Fake if Otomi is pre-installed by Installer
27+
type: string
28+
default: 'false'
2529
workflow_dispatch:
2630
inputs:
2731
kubernetes_versions:
@@ -63,6 +67,13 @@ on:
6367
- letsencrypt_staging
6468
- letsencrypt_production
6569
default: letsencrypt_production
70+
is_pre_installed:
71+
type: choice
72+
description: Fake if Otomi is pre-installed by Installer
73+
options:
74+
- 'true'
75+
- 'false'
76+
default: 'false'
6677

6778
env:
6879
CACHE_REGISTRY: ghcr.io
@@ -88,6 +99,7 @@ jobs:
8899
echo 'kms: ${{ inputs.kms }}'
89100
echo 'domain_zone: ${{ inputs.domain_zone }}'
90101
echo 'certificate: ${{ inputs.certificate }}'
102+
echo 'is_pre_installed: ${{ inputs.is_pre_installed }}'
91103
92104
preprocess-linode-input:
93105
needs: preprocess-input
@@ -265,6 +277,21 @@ jobs:
265277
[[ '${{ inputs.certificate }}' == 'letsencrypt_production' ]] && echo "$LETSENCRYPT_PRODUCTION" >> values.yaml
266278
[[ '${{ inputs.kms }}' == 'age' ]] && kms="--set kms.sops.provider=age"
267279
280+
if [[ '${{ inputs.is_pre_installed }}' == 'true' ]]; then
281+
cat <<EOF >> values.yaml
282+
otomi:
283+
isPreInstalled: true
284+
EOF
285+
fi
286+
287+
if [[ '${{ inputs.kms }}' == 'age' ]]; then
288+
cat <<EOF >> values.yaml
289+
kms:
290+
sops:
291+
provider: age
292+
EOF
293+
fi
294+
268295
install_args="otomi chart/apl --wait --wait-for-jobs --timeout 90m0s \
269296
--values tests/integration/${{ inputs.install_profile }}.yaml \
270297
--values values-container-registry.yaml \

apps.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ appsInfo:
253253
- https://apl-docs.net/docs/apps/loki
254254
- https://grafana.com/docs/loki/latest/
255255
license: AGPL-3.0
256-
dependencies: Prometheus, Grafana, Minio (if no external Object Storage is used)
256+
dependencies: Prometheus, Grafana
257257
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.
258258
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.
259259
minio:
@@ -288,7 +288,7 @@ appsInfo:
288288
- https://github.com/rabbitmq/cluster-operator
289289
- https://www.rabbitmq.com
290290
license: MPL-2.0 license
291-
dependencies: ''
291+
dependencies: None
292292
about: RabbitMQ is the most widely deployed open source message broker.
293293
integration: APL install the RabbitMQ-Cluster-Kubernetes-Operator, afterwards users can use the RabbitMQ Catalog item to create RabbitMQ-cluster with queues and policies.
294294
isBeta: true
@@ -311,7 +311,7 @@ appsInfo:
311311
relatedLinks:
312312
- https://grafana.com/docs/tempo/latest/
313313
license: AGPL-3.0
314-
dependencies: Prometheus, Grafana, Minio (if no external Object Storage is used), Otel
314+
dependencies: Prometheus, Grafana, Otel
315315
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.
316316
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.
317317
thanos:
@@ -323,7 +323,7 @@ appsInfo:
323323
- https://apl-docs/docs/apps/thanos
324324
- https://thanos.io
325325
license: Apache 2.0
326-
dependencies: Prometheus, Grafana, Minio (if no external Object Storage is used)
326+
dependencies: Prometheus, Grafana
327327
about: Thanos is a tool to set up a Highly Available Prometheus with long-term storage capabilities.
328328
integration: APL installs and configures Thanos using sidecars ans leverages the central object storage configuration.
329329
trivy:
@@ -360,6 +360,6 @@ appsInfo:
360360
- https://velero.io/docs/v1.9/
361361
- https://velero.io/docs/main/restic/
362362
license: Apache 2.0
363-
dependencies: Minio (if no external Object Storage is used)
363+
dependencies: None
364364
about: Velero is a tool to back up and restore Kubernetes cluster resources and persistent volumes.
365365
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.

core.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ adminApps:
295295
auth: true
296296
- name: loki
297297
tags: [logging, telemetry, observability]
298-
deps: [grafana, prometheus, minio]
298+
deps: [grafana, prometheus]
299299
useHost: grafana
300300
path: /explore?orgId=1&left=%7B"datasource":"loki","queries":%5B%7B"refId":"A"%7D%5D,"range":%7B"from":"now-1h","to":"now"%7D%7D
301301
- name: minio
@@ -338,7 +338,7 @@ adminApps:
338338
ownHost: true
339339
- name: tempo
340340
tags: [tracing]
341-
deps: [prometheus, grafana, minio]
341+
deps: [prometheus, grafana]
342342
useHost: grafana
343343
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
344344
- name: otel

values-schema.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -3005,6 +3005,10 @@ properties:
30053005
adminPassword:
30063006
type: string
30073007
x-secret: '{{ randAlphaNum 20 }}'
3008+
isPreInstalled:
3009+
type: boolean
3010+
description: Defines if APL is installed and managed by Linode
3011+
default: false
30083012
globalPullSecret:
30093013
title: Global pullsecret
30103014
description: Will be connected to each "default" service account in all otomi app namespaces.

versions.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
api: main
2-
console: main
1+
api: apl-134
2+
console: apl-134
33
tasks: main
44
tools: 2.7.0

0 commit comments

Comments
 (0)