Skip to content

Commit

Permalink
Update charts and create Grafana stack chart (#33)
Browse files Browse the repository at this point in the history
* Add DevOpsDays Geneva 2023 sample (Fleet)

* Update Wordpress chart to upstream 19.2.5 (6.4.3)

Dump chart version to 0.2.0

* Update OpenTelemetry collector chart to upstream 0.80.1 (0.93.0)

Dump version to 0.2.1

* Update Prometheus chart from upstream 25.11.1 (v2.49.1)

Dump version to 0.2.0

* Create Grafana Stack chart
  • Loading branch information
devpro authored Feb 12, 2024
1 parent c0987db commit 52d4530
Show file tree
Hide file tree
Showing 30 changed files with 4,741 additions and 30 deletions.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,11 @@ Helm charts to ease the deployment of containers on Kubernetes clusters and get
* [Rancher Cluster Templates](charts/rancher-cluster-templates/README.md) 🗸
* Observability
* [Elastic Stack](charts/elastic-stack/README.md)
* [Grafana](charts/grafana/README.md)
* [Grafana Stack](charts/grafana-stack/README.md) 🗸
* [OpenTelemetry Collector](charts/opentelemetry-collector/README.md) 🗸
* [Prometheus](charts/prometheus/README.md) 🗸
* [Grafana](charts/grafana/README.md)
* Splunk
* Platforms
* [Epinio](charts/epinio/README.md) 🗸
* Secrets
Expand Down Expand Up @@ -99,6 +101,7 @@ Limitation: [Helm Chart Releaser](https://github.com/helm/chart-releaser) doesn'

## Samples

* [DevOpsDays Geneva 2023](samples/devopsdays-geneva-2023/README.md)
* [SUSE Exchange Paris 2023](samples/suse-exchange-paris-2023/README.md)

## Usage
Expand Down
12 changes: 12 additions & 0 deletions charts/grafana-stack/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
dependencies:
- name: grafana
repository: https://grafana.github.io/helm-charts
version: 7.3.0
- name: loki
repository: https://grafana.github.io/helm-charts
version: 5.42.2
- name: tempo
repository: https://grafana.github.io/helm-charts
version: 1.7.1
digest: sha256:e919e1e0aa7e42fca6345e467b9e83db2df55aa9e73f38866dcfbe3a6de22f00
generated: "2024-02-12T15:05:39.167125367+01:00"
20 changes: 20 additions & 0 deletions charts/grafana-stack/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
apiVersion: v2
name: grafana-stack
description: Helm chart for managing Grafana Stack
type: application
version: "0.2.0"
appVersion: "10.3.1"
dependencies:
- name: grafana
version: 7.3.0 # appVersion: 10.3.1
repository: https://grafana.github.io/helm-charts
- name: loki
version: 5.42.2 # appVersion: 2.9.4
repository: https://grafana.github.io/helm-charts
- name: tempo
version: 1.7.1 # appVersion: 2.3.0
repository: https://grafana.github.io/helm-charts
maintainers:
- name: devpro
email: bertrand@devpro.fr
home: https://github.com/devpro/helm-charts/tree/main/charts/grafana-stack
32 changes: 32 additions & 0 deletions charts/grafana-stack/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Helm chart for Grafana

This Helm chart will install [Grafana stack](https://grafana.com/about/grafana-stack/) ([GitHub org](https://github.com/grafana)) on a Kubernetes cluster.
It is based on the [community Helm charts](https://github.com/grafana/helm-charts).

See also:

- [CNCF Live Webinar: Intro to open source observability with Grafana, Prometheus, Loki, and Tempo](https://community.cncf.io/events/details/cncf-cncf-online-programs-presents-cncf-live-webinar-intro-to-open-source-observability-with-grafana-prometheus-loki-and-tempo/) - November 16, 2021

## How to use

```bash
# install with default parameters
helm upgrade --install grafana-stack devpro/grafana-stack --create-namespace --namespace grafana

# checks all pods are running after some time
kubectl get pod -n grafana
```

## How to update the chart

```bash
# searches for the latest version
helm search repo grafana/grafana
helm search repo grafana/loki
helm search repo grafana/tempo

# manual: update version number in Chart.yaml

# updates Chart.lock
helm dependency update
```
18 changes: 18 additions & 0 deletions charts/grafana-stack/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml
grafana: {}
# ingress:
# enabled: false
# ingressClassName: nginx
# annotations: {}
# hosts:
# - chart-example.local
# tls:
# - secretName: grafana-tls
# hosts:
# - grafana.local

# https://github.com/grafana/loki/blob/main/production/helm/loki/values.yaml
loki: {}

# https://github.com/grafana/helm-charts/blob/main/charts/tempo/values.yaml
tempo: {}
4 changes: 2 additions & 2 deletions charts/grafana/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Grafana Stack
# Grafan

[CNCF Live Webinar: Intro to open source observability with Grafana, Prometheus, Loki, and Tempo](https://community.cncf.io/events/details/cncf-cncf-online-programs-presents-cncf-live-webinar-intro-to-open-source-observability-with-grafana-prometheus-loki-and-tempo/) - November 16, 2021
This Helm chart will install [Grafana](https://grafana.com/) ([GitHub org](https://github.com/grafana)) on a Kubernetes cluster.
6 changes: 3 additions & 3 deletions charts/opentelemetry-collector/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies:
- name: opentelemetry-collector
repository: https://open-telemetry.github.io/opentelemetry-helm-charts
version: 0.79.0
digest: sha256:a95b6c83f7195b277bbe4e1297ba44878658d52f2d4949c88a4f4e1528c96b0f
generated: "2024-02-07T22:51:21.784227316+01:00"
version: 0.80.1
digest: sha256:af954f7c73578491ff653fad69148b57f983d67180fb4a78fead63ffdb2cbea7
generated: "2024-02-12T14:32:43.391983924+01:00"
6 changes: 3 additions & 3 deletions charts/opentelemetry-collector/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ apiVersion: v2
name: opentelemetry-collector
description: Helm chart for managing OpenTelemetry Collector
type: application
version: "0.2.0"
appVersion: "0.92.0"
version: "0.2.1"
appVersion: "0.93.0"
dependencies:
- name: opentelemetry-collector
version: 0.79.0
version: 0.80.1
repository: https://open-telemetry.github.io/opentelemetry-helm-charts
maintainers:
- name: devpro
Expand Down
2 changes: 1 addition & 1 deletion charts/opentelemetry-collector/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ helm dependency update
```bash
# creates the release from the local files
helm upgrade --install opentelemetry-collector . -f values.yaml --create-namespace \
--namespace opentelemetry-collector
--namespace opentelemetry-collector

# (optional) forwards port for local access
kubectl port-forward daemonsets/opentelemetry-collector-agent 4317:4317 -n opentelemetry-collector
Expand Down
6 changes: 3 additions & 3 deletions charts/prometheus/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies:
- name: prometheus
repository: https://prometheus-community.github.io/helm-charts
version: 21.0.0
digest: sha256:5dbae68ca9560b3f3233874866449aad456a23d03b11fa0419717ddedf8e9b08
generated: "2023-05-22T18:04:09.766855582+02:00"
version: 25.11.1
digest: sha256:ea4b9353ddcbe8735a0e8805979092afa71f429a68785d3bcbfe073db13024e7
generated: "2024-02-12T14:37:12.367203355+01:00"
6 changes: 3 additions & 3 deletions charts/prometheus/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ apiVersion: v2
name: prometheus
description: Helm chart for managing Prometheus
type: application
version: "0.1.0"
appVersion: "2.43.0"
version: "0.2.0"
appVersion: "v2.49.1"
dependencies:
- name: prometheus
version: 21.0.0
version: 25.11.1
repository: https://prometheus-community.github.io/helm-charts
maintainers:
- name: devpro
Expand Down
6 changes: 3 additions & 3 deletions charts/prometheus/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ See [README](../../README.md#from-helm-cli) for requirements.
```bash
# install with default parameters
helm upgrade --install prometheus devpro/prometheus --create-namespace \
--namespace prometheus
--namespace prometheus

# checks all pods are running after some time
kubectl get pod -n prometheus
Expand All @@ -29,7 +29,7 @@ helm dependency update

# checks the Kubernetes objects generated from the chart
helm template prometheus . -f values.yaml \
--namespace prometheus > temp.yaml
--namespace prometheus > temp.yaml
```

## How to deploy manually from the sources
Expand All @@ -39,7 +39,7 @@ helm template prometheus . -f values.yaml \
```bash
# applies the manifest (add "--debug > output.yaml" in case of issue)
helm upgrade --install prometheus . -f values.yaml --create-namespace \
--namespace prometheus
--namespace prometheus

# forwards service port for local access
kubectl port-forward service/prometheus-server 9090:80 -n prometheus
Expand Down
6 changes: 3 additions & 3 deletions charts/wordpress/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies:
- name: wordpress
repository: https://charts.bitnami.com/bitnami
version: 15.2.14
digest: sha256:324def068032f735f3cfbbd36b2aa191a3677047d65ef1b8cd96c4801202d5d1
generated: "2022-11-15T17:45:45.287449082+01:00"
version: 19.2.5
digest: sha256:9ecd8b6020982dfb58440e219ed45aadb2856be4c8719b94b364f85fc079e557
generated: "2024-02-12T14:30:03.809171695+01:00"
6 changes: 3 additions & 3 deletions charts/wordpress/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ apiVersion: v2
name: wordpress
description: Helm chart for managing WordPress
type: application
version: "0.1.1"
appVersion: "6.1.0"
version: "0.2.0"
appVersion: "6.4.3"
dependencies:
- name: wordpress
version: 15.2.14
version: 19.2.5
repository: https://charts.bitnami.com/bitnami
maintainers:
- name: devpro
Expand Down
10 changes: 5 additions & 5 deletions charts/wordpress/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ NGINX_PUBLIC_IP=`kubectl get service -n ingress-nginx ingress-nginx-controller -

# applies the manifest (add "--debug > output.yaml" in case of issue)
helm upgrade --install -f values.yaml --create-namespace \
--set ingress.enabled=true \
--set ingress.ingressClassName=nginx \
--set ingress.selfSigned=true \
--set ingress.hostname=wordpress.${NGINX_PUBLIC_IP}.sslip.io \
--namespace sample-apps wordpress .
--set ingress.enabled=true \
--set ingress.ingressClassName=nginx \
--set ingress.selfSigned=true \
--set ingress.hostname=wordpress.${NGINX_PUBLIC_IP}.sslip.io \
--namespace sample-apps wordpress .

# looks
kubectl get all -n sample-apps
Expand Down
7 changes: 7 additions & 0 deletions samples/devopsdays-geneva-2023/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# DevOpsDays Geneva 2023 workshop

This folder provide the fleet definitions in the workshop done at DevOpsDays Geneva 2023.

## Content

* `fleet`: YAML definitions
20 changes: 20 additions & 0 deletions samples/devopsdays-geneva-2023/fleet/cert-manager/fleet.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# ref: https://github.com/devpro/helm-charts/tree/main/charts/cert-manager
defaultNamespace: cert-manager
helm:
repo: https://devpro.github.io/helm-charts
chart: cert-manager
version: 0.1.4
releaseName: cert-manager
labels:
app: cert-manager
dependsOn:
- selector:
matchLabels:
app: crds
diff:
comparePatches:
- apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
name: cert-manager-webhook
operations:
- { "op": "remove", "path": "/webhooks/0" }
24 changes: 24 additions & 0 deletions samples/devopsdays-geneva-2023/fleet/cow-demo/fleet.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# ref: https://github.com/devpro/helm-charts/tree/main/charts/cow-demo
defaultNamespace: sample-apps
helm:
repo: https://devpro.github.io/helm-charts
chart: cow-demo
version: 0.1.1
releaseName: cow-demo
values:
ingress:
enabled: true
annotations:
cert-manager.io/cluster-issuer: selfsigned-cluster-issuer
tls:
secretName: "cow-demo-tls"
targetCustomizations:
- name: demo
# TODO: update W.X.Y.Z to your external IP address (look at Ingress Controller)
helm:
values:
replicaCount: 1
host: cow-demo.W.X.Y.Z.sslip.io
cow:
color: red
clusterName: demo
8 changes: 8 additions & 0 deletions samples/devopsdays-geneva-2023/fleet/crds/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Custom Resource Definitions

## How to update the files

```bash
# /!\ review the cert-manager version that will be deployed
wget -O cert-manager.crds.yaml https://github.com/cert-manager/cert-manager/releases/download/v1.10.0/cert-manager.crds.yaml
```
Loading

0 comments on commit 52d4530

Please sign in to comment.