Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CI to install chart #122

Draft
wants to merge 15 commits into
base: main
Choose a base branch
from
76 changes: 38 additions & 38 deletions .github/workflows/helm-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,48 +20,48 @@ jobs:
- name: Lint Yaml
run: make helm-lint

# call-test:
# name: Test Helm Chart
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# with:
# fetch-depth: 0
call-test:
name: Test Helm Chart
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

# - name: Set up Helm
# uses: azure/setup-helm@v3
# with:
# version: v3.8.2
- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: v3.14.0

# # Python is required because `ct lint` runs Yamale (https://github.com/23andMe/Yamale) and
# # yamllint (https://github.com/adrienverge/yamllint) which require Python
# - name: Set up Python
# uses: actions/setup-python@v4
# with:
# python-version: 3.9
# Python is required because `ct lint` runs Yamale (https://github.com/23andMe/Yamale) and
# yamllint (https://github.com/adrienverge/yamllint) which require Python
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.9

# - name: Set up chart-testing
# uses: helm/chart-testing-action@v2
- name: Set up chart-testing
uses: helm/chart-testing-action@v2

# - name: Run chart-testing (list-changed)
# id: list-changed
# run: |
# changed=$(ct list-changed --config "${CT_CONFIGFILE}")
# if [[ -n "$changed" ]]; then
# echo "changed=true" >> $GITHUB_OUTPUT
# fi
- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --config "${CT_CONFIGFILE}")
if [[ -n "$changed" ]]; then
echo "changed=true" >> $GITHUB_OUTPUT
fi

# - name: Run chart-testing (lint)
# run: ct lint --config "${CT_CONFIGFILE}" --check-version-increment=false
- name: Run chart-testing (lint)
run: ct lint --config "${CT_CONFIGFILE}" --check-version-increment=false

# - name: Create kind cluster
# uses: helm/kind-action@v1
# if: steps.list-changed.outputs.changed == 'true'
# with:
# config: "${{ github.workspace }}/.github/configs/cluster-config.yaml"
- name: Create kind cluster
uses: helm/kind-action@v1
if: steps.list-changed.outputs.changed == 'true'
with:
config: "${{ github.workspace }}/.github/configs/cluster-config.yaml"

# - name: Run chart-testing (install)
# run: |
# changed=$(ct list-changed --config "${CT_CONFIGFILE}")
# ct install --config "${CT_CONFIGFILE}"
- name: Run chart-testing (install)
run: |
changed=$(ct list-changed --config "${CT_CONFIGFILE}")
ct install --config "${CT_CONFIGFILE}"
116 changes: 116 additions & 0 deletions charts/meta-monitoring/ci/local-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
namespacesToMonitor:
- loki

local:
grafana:
enabled: true
logs:
enabled: true
metrics:
enabled: true
traces:
enabled: true
minio:
enabled: true
createSecret: false

cloud:
logs:
enabled: false
secret: logs
metrics:
enabled: false
secret: metrics
traces:
enabled: false
secret: traces

grafana:
ingress:
hosts:
- host: monitoring.example.com
paths:
- path: /
pathType: Prefix

minio:
existingSecret: ""
rootUser: "abcdefghi"
rootPassword: "defghijkl"

loki:
deploymentMode: SingleBinary
singleBinary:
replicas: 1
resources:
limits:
cpu: 3
memory: 4Gi
requests:
cpu: 2
memory: 2Gi
extraEnv:
# Keep a little bit lower than memory limits
- name: GOMEMLIMIT
value: 3750MiB

chunksCache:
# default is 500MB, with limited memory keep this smaller
writebackSizeLimit: 10MB

# Zero out replica counts of other deployment modes
backend:
replicas: 0
read:
replicas: 0
write:
replicas: 0

ingester:
replicas: 0
querier:
replicas: 0
queryFrontend:
replicas: 0
queryScheduler:
replicas: 0
distributor:
replicas: 0
compactor:
replicas: 0
indexGateway:
replicas: 0
bloomCompactor:
replicas: 0
bloomGateway:
replicas: 0

mimir-distributed:
minio:
enabled: false
global:
extraEnvFrom:
- secretRef:
name: "meta-minio"

tempo-distributed:
distributor:
extraEnvFrom:
- secretRef:
name: "meta-minio"
ingester:
extraEnvFrom:
- secretRef:
name: "meta-minio"
compactor:
extraEnvFrom:
- secretRef:
name: "meta-minio"
querier:
extraEnvFrom:
- secretRef:
name: "meta-minio"
queryFrontend:
extraEnvFrom:
- secretRef:
name: "meta-minio"

Check failure on line 116 in charts/meta-monitoring/ci/local-values.yaml

View workflow job for this annotation

GitHub Actions / Test Helm Chart

116:27 [new-line-at-end-of-file] no new line character at the end of file
1 change: 0 additions & 1 deletion charts/meta-monitoring/ct.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,5 @@ chart-dirs:
chart-repos:
- grafana=https://grafana.github.io/helm-charts
- minio=https://charts.min.io
helm-extra-args: --timeout 1200s
check-version-increment: false
validate-maintainers: false
13 changes: 13 additions & 0 deletions charts/meta-monitoring/templates/minio/secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{{- if .Values.local.minio.createSecret }}
apiVersion: v1
kind: Secret
metadata:
name: minio
namespace: {{ $.Release.Namespace }}
annotations:
"helm.sh/hook": pre-install
"helm.sh/hook-weight": "-5"
data:
rootUser: dmFsdWUtMg0KDQo=
rootPassword: dmFsdWUtMg0KDQo=
{{- end }}
4 changes: 4 additions & 0 deletions charts/meta-monitoring/templates/ruler/ruler.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,11 @@ spec:
protocol: TCP
envFrom:
- secretRef:
{{- if .Values.local.minio.enabled }}
name: {{ $.Release.Namespace }}-minio
{{- else }}
name: minio
{{- end }}
readinessProbe:
failureThreshold: 3
httpGet:
Expand Down
1 change: 1 addition & 0 deletions charts/meta-monitoring/templates/validate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,4 @@
{{- if empty .Values.metrics.retain -}}
{{- fail "All metrics will be collected, please specify some in metrics.retain" -}}
{{- end -}}

7 changes: 4 additions & 3 deletions charts/meta-monitoring/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ local:
traces:
enabled: false
minio:
enabled: false # This should be set to true if any of the previous is enabled
enabled: false # This should be set to true if any of the previous is enabled
createSecret: false # This is used for testing, do not use in production
grafana:
version: 10.4.2
# Gateway ingress configuration
Expand All @@ -52,14 +53,14 @@ grafana:
# port:
# number: TODO
# -- TLS configuration for the gateway ingress. Hosts passed through the `tpl` function to allow templating
#tls:
# tls:
# - secretName: grafana-tls
# hosts:
# - monitoring.example.com
logs:
# Adding regexes here will add a stage.replace block for logs. For more information see
# https://grafana.com/docs/agent/latest/flow/reference/components/loki.process/#stagereplace-block
piiRegexes: null # This example replaces the word after password with *****
piiRegexes: null # This example replaces the word after password with *****
# - expression: "password (\\\\S+)"
# source: "" # Empty uses the log message
# replace: "*****""
Expand Down
Loading