diff --git a/clusters/dev/flux-system/base.yaml b/clusters/dev/flux-system/base.yaml
new file mode 100644
index 00000000..311ff606
--- /dev/null
+++ b/clusters/dev/flux-system/base.yaml
@@ -0,0 +1,13 @@
+apiVersion: kustomize.toolkit.fluxcd.io/v1
+kind: Kustomization
+metadata:
+ name: dev-cluster
+ namespace: default
+spec:
+ interval: 1m0s
+ path: ./clusters/dev
+ prune: true
+ sourceRef:
+ kind: GitRepository
+ name: observability
+ namespace: default
\ No newline at end of file
diff --git a/clusters/dev/flux-system/gitrepository.yaml b/clusters/dev/flux-system/gitrepository.yaml
new file mode 100644
index 00000000..c80a9648
--- /dev/null
+++ b/clusters/dev/flux-system/gitrepository.yaml
@@ -0,0 +1,11 @@
+---
+apiVersion: source.toolkit.fluxcd.io/v1
+kind: GitRepository
+metadata:
+ name: observability
+ namespace: default
+spec:
+ url: https://github.com/lieberlois/observability-workshop.git
+ ref:
+ branch: flux
+ interval: 1m0s
\ No newline at end of file
diff --git a/clusters/dev/helmrepository.yaml b/clusters/dev/helmrepository.yaml
new file mode 100644
index 00000000..566f8259
--- /dev/null
+++ b/clusters/dev/helmrepository.yaml
@@ -0,0 +1,73 @@
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta2
+kind: HelmRepository
+metadata:
+ name: grafana
+ namespace: default
+spec:
+ interval: 5m
+ url: https://grafana.github.io/helm-charts
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta2
+kind: HelmRepository
+metadata:
+ name: ingress-nginx
+ namespace: default
+spec:
+ interval: 5m
+ url: https://kubernetes.github.io/ingress-nginx
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta2
+kind: HelmRepository
+metadata:
+ name: istio
+ namespace: default
+spec:
+ interval: 5m
+ url: https://istio-release.storage.googleapis.com/charts
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta2
+kind: HelmRepository
+metadata:
+ name: kiali
+ namespace: default
+spec:
+ interval: 5m
+ url: https://kiali.org/helm-charts
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta2
+kind: HelmRepository
+metadata:
+ name: elastic
+ namespace: default
+spec:
+ interval: 5m
+ url: https://helm.elastic.co
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta2
+kind: HelmRepository
+metadata:
+ name: fluent
+ namespace: default
+spec:
+ interval: 5m
+ url: https://fluent.github.io/helm-charts
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta2
+kind: HelmRepository
+metadata:
+ name: lebenitza
+ namespace: default
+spec:
+ interval: 5m
+ url: https://lebenitza.github.io/charts
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta2
+kind: HelmRepository
+metadata:
+ name: prometheus-community
+ namespace: default
+spec:
+ interval: 5m
+ url: https://prometheus-community.github.io/helm-charts
+---
\ No newline at end of file
diff --git a/clusters/dev/infrastructure.yaml b/clusters/dev/infrastructure.yaml
new file mode 100644
index 00000000..1088eb80
--- /dev/null
+++ b/clusters/dev/infrastructure.yaml
@@ -0,0 +1,13 @@
+apiVersion: kustomize.toolkit.fluxcd.io/v1
+kind: Kustomization
+metadata:
+ name: infrastructure
+ namespace: default
+spec:
+ interval: 1m0s
+ path: ./local/kubernetes/infrastructure
+ prune: true
+ sourceRef:
+ kind: GitRepository
+ name: observability
+ namespace: default
diff --git a/clusters/dev/ingress.yaml b/clusters/dev/ingress.yaml
new file mode 100644
index 00000000..5c1453b8
--- /dev/null
+++ b/clusters/dev/ingress.yaml
@@ -0,0 +1,21 @@
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: nginx-ingress
+ namespace: ingress
+spec:
+ interval: 5m
+ chart:
+ spec:
+ chart: ingress-nginx
+ sourceRef:
+ kind: HelmRepository
+ name: ingress-nginx
+ namespace: default
+ interval: 5m
+ values:
+ controller:
+ replicaCount: 1
+ service:
+ type: ClusterIP
\ No newline at end of file
diff --git a/clusters/dev/istio.yaml b/clusters/dev/istio.yaml
new file mode 100644
index 00000000..a75b84e6
--- /dev/null
+++ b/clusters/dev/istio.yaml
@@ -0,0 +1,82 @@
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: istio-base
+ namespace: istio-system
+spec:
+ interval: 5m
+ chart:
+ spec:
+ chart: base
+ sourceRef:
+ kind: HelmRepository
+ name: istio
+ namespace: default
+ interval: 5m
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: istiod
+ namespace: istio-system
+spec:
+ dependsOn:
+ - name: istio-base
+ interval: 5m
+ chart:
+ spec:
+ chart: istiod
+ sourceRef:
+ kind: HelmRepository
+ name: istio
+ namespace: default
+ interval: 5m
+ values:
+ meshConfig:
+ defaultConfig:
+ tracing:
+ sampling: 100.0
+ defaultProviders:
+ tracing:
+ - zipkin
+ enableTracing: true
+ extensionProviders:
+ - name: "tempo"
+ zipkin:
+ service: "tempo-distributor.monitoring.svc.cluster.local"
+ port: 9411
+ maxTagLength: 56
+ - name: "zipkin"
+ zipkin:
+ service: "zipkin.istio-system.svc.cluster.local"
+ port: 9411
+ maxTagLength: 56
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: kiali-server
+ namespace: istio-system
+spec:
+ interval: 5m
+ chart:
+ spec:
+ chart: kiali-server
+ sourceRef:
+ kind: HelmRepository
+ name: kiali
+ namespace: default
+ interval: 5m
+ values:
+ auth:
+ strategy: anonymous
+ server:
+ web_fqdn: localhost
+ external_services:
+ prometheus:
+ url: "http://prometheus-server.monitoring/"
+ grafana:
+ enabled: true
+ in_cluster_url: "http://grafana.monitoring/"
+ url: "http://localhost:8080/grafana"
\ No newline at end of file
diff --git a/clusters/dev/jaeger.yaml b/clusters/dev/jaeger.yaml
new file mode 100644
index 00000000..f494ccd2
--- /dev/null
+++ b/clusters/dev/jaeger.yaml
@@ -0,0 +1,13 @@
+apiVersion: kustomize.toolkit.fluxcd.io/v1
+kind: Kustomization
+metadata:
+ name: jaeger
+ namespace: istio-system
+spec:
+ interval: 1m0s
+ path: ./local/kubernetes/tools/istio
+ prune: true
+ sourceRef:
+ kind: GitRepository
+ name: observability
+ namespace: default
diff --git a/clusters/dev/logging-elastic.yaml b/clusters/dev/logging-elastic.yaml
new file mode 100644
index 00000000..b1007cb1
--- /dev/null
+++ b/clusters/dev/logging-elastic.yaml
@@ -0,0 +1,392 @@
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: elasticsearch
+ namespace: logging
+spec:
+ interval: 5m
+ chart:
+ spec:
+ chart: elasticsearch
+ version: 7.17.3
+ sourceRef:
+ kind: HelmRepository
+ name: elastic
+ namespace: default
+ interval: 5m
+ values:
+ replicas: 1
+ resources:
+ requests:
+ cpu: "250m"
+ memory: "1000Mi"
+ limits:
+ cpu: "500m"
+ memory: "1500Mi"
+ secret:
+ enabled: true
+ password: "changeme"
+ clusterHealthCheckParams: "wait_for_status=yellow&timeout=1s"
+ volumeClaimTemplate:
+ resources:
+ requests:
+ storage: 10Gi
+ lifecycle:
+ postStart:
+ exec:
+ command:
+ - bash
+ - -c
+ - |
+ #!/bin/bash
+ RETENTION=2d
+ echo "applying index lifecycle management with retention period of $RETENTION days to"
+ ES_URL=http://localhost:9200
+ while [[ "$(curl -s -o /dev/null -w '%{http_code}\n' $ES_URL)" != "200" ]]; do sleep 1; done
+ curl -XPUT "$ES_URL/_ilm/policy/logs_policy" -H 'Content-Type: application/json' -d'{"policy":{"phases":{"delete":{"min_age":"$RETENTION","actions":{"delete":{}}}}}}'
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: prometheus-elasticsearch-exporter
+ namespace: logging
+spec:
+ interval: 5m
+ chart:
+ spec:
+ chart: prometheus-elasticsearch-exporter
+ sourceRef:
+ kind: HelmRepository
+ name: prometheus-community
+ namespace: default
+ interval: 5m
+ values:
+ es:
+ uri: http://elasticsearch-master:9200
+ service:
+ annotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/path: /metrics
+ prometheus.io/port: "9108"
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: elasticsearch-curator
+ namespace: logging
+spec:
+ interval: 5m
+ chart:
+ spec:
+ chart: elasticsearch-curator
+ sourceRef:
+ kind: HelmRepository
+ name: lebenitza
+ namespace: default
+ interval: 5m
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: fluentd
+ namespace: logging
+spec:
+ dependsOn:
+ - name: elasticsearch
+ interval: 5m
+ chart:
+ spec:
+ chart: fluentd
+ sourceRef:
+ kind: HelmRepository
+ name: fluent
+ namespace: default
+ interval: 5m
+ values:
+ podSecurityPolicy:
+ enabled: false
+ plugins:
+ - fluent-plugin-elasticsearch-5.2.5
+ - fluent-plugin-prometheus
+ - fluent-plugin-rewrite-tag-filter
+ fileConfigs:
+ 01_sources.conf: |-
+ ## logs from podman
+
+ @type tail
+ @id in_tail_container_logs
+ @label @KUBERNETES
+ path /var/log/containers/*.log
+ pos_file /var/log/fluentd-containers.log.pos
+ tag kubernetes.*
+ read_from_head true
+ skip_refresh_on_startup true
+
+ @type multi_format
+
+ format json
+ time_key time
+ time_type string
+ time_format "%Y-%m-%dT%H:%M:%S.%NZ"
+ keep_time_key false
+
+
+ format regexp
+ expression /^(?
+
+ emit_unmatched_lines true
+
+ 02_filters.conf: |-
+
+ 03_dispatch.conf: |-
+
+ 04_outputs.conf: |-
+
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: kibana
+ namespace: logging
+spec:
+ interval: 5m
+ chart:
+ spec:
+ chart: kibana
+ version: 7.17.3
+ sourceRef:
+ kind: HelmRepository
+ name: elastic
+ namespace: default
+ interval: 5m
+ values:
+ kibanaConfig:
+ kibana.yml: |
+ elasticsearch.username: elastic
+ elasticsearch.password: changeme
+ server.publicBaseUrl: http://localhost:8080/kibana
+ server.basePath: /kibana
+
+ resources:
+ requests:
+ cpu: "100m"
+ memory: "1Gi"
+ limits:
+ cpu: "250m"
+ memory: "1Gi"
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: apm-server
+ namespace: logging
+spec:
+ interval: 5m
+ chart:
+ spec:
+ chart: apm-server
+ version: 7.17.3
+ sourceRef:
+ kind: HelmRepository
+ name: elastic
+ namespace: default
+ interval: 5m
\ No newline at end of file
diff --git a/clusters/dev/logging-loki.yaml b/clusters/dev/logging-loki.yaml
new file mode 100644
index 00000000..10dd7f21
--- /dev/null
+++ b/clusters/dev/logging-loki.yaml
@@ -0,0 +1,83 @@
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: loki
+ namespace: logging
+spec:
+ interval: 5m
+ chart:
+ spec:
+ chart: loki
+ sourceRef:
+ kind: HelmRepository
+ name: grafana
+ namespace: default
+ interval: 5m
+ values:
+ enterprise:
+ enabled: false
+ minio:
+ enabled: false
+ loki:
+ auth_enabled: false
+ commonConfig:
+ path_prefix: /var/loki
+ replication_factor: 1
+ podAnnotations:
+ prometheus.io/scrape: "true"
+ read:
+ replicas: 1
+ write:
+ replicas: 1
+ gateway:
+ replicas: 1
+ backend:
+ replicas: 1
+ test:
+ enabled: false
+ monitoring:
+ dashboards:
+ namespace: monitoring
+ labels:
+ grafana_dashboard: ""
+ annotations:
+ grafana_folder: "loki"
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: promtail
+ namespace: logging
+spec:
+ interval: 5m
+ chart:
+ spec:
+ chart: promtail
+ sourceRef:
+ kind: HelmRepository
+ name: grafana
+ namespace: default
+ interval: 5m
+ values:
+ config:
+ clients:
+ - url: http://loki-gateway.logging.svc.cluster.local/loki/api/v1/push
+ snippets:
+ pipelineStages:
+ - cri: {}
+ - json:
+ expressions:
+ time: '"@timestamp"'
+ message: message
+ level: level
+ trace_id: traceId
+ span_id: spanId
+ - labels:
+ level: level
+ trace_id: trace_id
+ - timestamp:
+ format: RFC3339
+ source: "time"
+ - output:
+ source: message
\ No newline at end of file
diff --git a/clusters/dev/monitoring.yaml b/clusters/dev/monitoring.yaml
new file mode 100644
index 00000000..74d359b0
--- /dev/null
+++ b/clusters/dev/monitoring.yaml
@@ -0,0 +1,245 @@
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: prometheus
+ namespace: monitoring
+spec:
+ interval: 5m
+ chart:
+ spec:
+ chart: prometheus
+ sourceRef:
+ kind: HelmRepository
+ name: prometheus-community
+ namespace: default
+ interval: 5m
+ values:
+ server:
+ prefixURL: /prometheus
+ extraArgs:
+ web.external-url: "http://localhost:8080/prometheus/"
+ # web.route-prefix: "/"
+ alertmanager:
+ enabled: false
+ kube-state-metrics:
+ enabled: true
+ image:
+ # use compatible version, see https://github.com/kubernetes/kube-state-metrics#compatibility-matrix
+ tag: v2.6.0
+ selfMonitor:
+ enabled: true
+ telemetryPort: 8081
+ podAnnotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/port: "8081"
+ prometheus-node-exporter:
+ enabled: true
+ prometheus-pushgateway:
+ enabled: false
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: grafana
+ namespace: monitoring
+spec:
+ interval: 5m
+ chart:
+ spec:
+ chart: grafana
+ sourceRef:
+ kind: HelmRepository
+ name: grafana
+ namespace: default
+ interval: 5m
+ values:
+ adminUser: grafana
+ adminPassword: changeme
+ dashboards:
+ infra:
+ kubernetes:
+ gnetId: 13332
+ revision: 12
+ datasource: Prometheus
+ springboot:
+ gnetId: 17175
+ revision: 1
+ datasource:
+ - name: DS_PROMETHEUS
+ value: Prometheus
+ - name: DS_LOKI
+ value: loki
+ tools:
+ prometheus-stats:
+ gnetId: 3662
+ revision: 2
+ datasource: Prometheus
+ ingress-nginx:
+ gnetId: 9614
+ revision: 1
+ datasource: Prometheus
+ elasticsearch:
+ gnetId: 13071
+ revision: 1
+ datasource: Prometheus
+ jaeger:
+ gnetId: 12535
+ revision: 1
+ datasource: Prometheus
+ istio:
+ istio-performance-dashboard:
+ gnetId: 11829
+ revision: 158
+ datasource: Prometheus
+ istio-pilot-dashboard:
+ gnetId: 12154
+ revision: 158
+ datasource: Prometheus
+ istio-workload-dashboard:
+ gnetId: 7630
+ revision: 158
+ datasource: Prometheus
+ istio-service-dashboard:
+ gnetId: 7636
+ revision: 158
+ datasource: Prometheus
+ istio-mesh-dashboard:
+ gnetId: 7639
+ revision: 158
+ datasource: Prometheus
+ istio-controlplane-dashboard:
+ gnetId: 7645
+ revision: 158
+ datasource: Prometheus
+ dashboardProviders:
+ dashboardproviders.yaml:
+ apiVersion: 1
+ providers:
+ - disableDeletion: true
+ folder: infra
+ name: infra
+ editable: false
+ options:
+ path: /var/lib/grafana/dashboards/infra
+ orgId: 1
+ type: file
+ - disableDeletion: true
+ folder: tools
+ name: tools
+ editable: false
+ options:
+ path: /var/lib/grafana/dashboards/tools
+ orgId: 1
+ type: file
+ - disableDeletion: false
+ folder: istio
+ name: istio
+ options:
+ path: /var/lib/grafana/dashboards/istio
+ orgId: 1
+ type: file
+ datasources:
+ datasources.yaml:
+ apiVersion: 1
+ datasources:
+ - access: proxy
+ editable: true
+ isDefault: true
+ jsonData:
+ timeInterval: 5s
+ name: Prometheus
+ orgId: 1
+ type: prometheus
+ url: http://prometheus-server:80
+ - access: 'proxy'
+ editable: true
+ isDefault: false
+ name: 'Loki'
+ orgId: 1
+ type: 'loki'
+ url: 'http://loki-gateway.logging.svc.cluster.local'
+ - name: 'Elasticsearch'
+ type: 'elasticsearch'
+ access: 'proxy'
+ orgId: 1
+ url: 'http://elasticsearch-master.logging:9200'
+ isDefault: false
+ editable: true
+ basicAuth: true
+ basicAuthUser: elastic
+ secureJsonData:
+ basicAuthPassword: changeme
+ database: "[logs-]YYYY.MM.DD"
+ jsonData:
+ interval: Daily
+ timeField: "@timestamp"
+ esVersion: "7.10+"
+ logMessageField: message
+ logLevelField: level
+ - name: 'Tempo'
+ access: 'proxy'
+ editable: true
+ isDefault: false
+ orgId: 1
+ type: 'tempo'
+ url: 'http://tempo-gateway.monitoring.svc.cluster.local'
+ deploymentStrategy:
+ type: Recreate
+ grafana.ini:
+ analytics:
+ check_for_updates: true
+ grafana_net:
+ url: https://grafana.net
+ log:
+ mode: console
+ console:
+ format: json
+ paths:
+ data: /var/lib/grafana/
+ logs: /var/log/grafana
+ plugins: /var/lib/grafana/plugins
+ provisioning: /etc/grafana/provisioning
+ server:
+ serve_from_sub_path: true
+ root_url: http://localhost:8080/grafana/
+ plugins:
+ - "raintank-worldping-app"
+ - "jdbranham-diagram-panel"
+ resources:
+ limits:
+ cpu: 100m
+ memory: 128Mi
+ requests:
+ cpu: 80m
+ memory: 128Mi
+ persistence:
+ enabled: "true"
+ size: 5Gi
+ sidecar:
+ dashboards:
+ enabled: "true"
+ folderAnnotation: "grafana_folder"
+ searchNamespace: "monitoring"
+ provider:
+ foldersFromFilesStructure: true
+ service:
+ labels:
+ sidecar.istio.io/inject: "false"
+ annotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/path: /metrics
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1
+kind: Kustomization
+metadata:
+ name: grafana-dashboards
+ namespace: monitoring
+spec:
+ interval: 1m0s
+ path: ./stack/kubernetes/tools/monitoring/dashboards
+ prune: true
+ sourceRef:
+ kind: GitRepository
+ name: observability
+ namespace: default
diff --git a/clusters/dev/tempo.yaml b/clusters/dev/tempo.yaml
new file mode 100644
index 00000000..230bf521
--- /dev/null
+++ b/clusters/dev/tempo.yaml
@@ -0,0 +1,31 @@
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: tempo
+ namespace: monitoring
+spec:
+ interval: 5m
+ chart:
+ spec:
+ chart: tempo-distributed
+ sourceRef:
+ kind: HelmRepository
+ name: grafana
+ namespace: default
+ interval: 5m
+ values:
+ ingester:
+ replicas: 1
+ distributor:
+ replicas: 1
+ minio:
+ enabled: false
+ storage:
+ trace:
+ backend: local
+ traces:
+ zipkin:
+ enabled: true
+ gateway:
+ enabled: true
\ No newline at end of file
diff --git a/local/README.md b/local/README.md
index 3076aa82..97f18bae 100644
--- a/local/README.md
+++ b/local/README.md
@@ -8,10 +8,12 @@ The deployment scripts and configuration mimick the remote ones from [../stack/k
## Preqrequisites
-To startup the local setup, you need the tool [k3d](https://k3d.io/) by Rancher, which deploys a lightweight k3s cluster in your local setup using docker containers.
+To startup the local setup, you need the tool [kind](https://kind.sigs.k8s.io/), which deploys a lightweight kubernetes cluster in your local setup using docker containers. Also you will need the [Flux CLI](https://fluxcd.io/flux/cmd/) installed on your machine.
## Setup
-First, startup your k3d cluster using the script [00_setup_k3d.sh](./kubernetes/00_setup_k3d.sh). Once the setup is complete, you can deploy the application services using the scripts [10_build_dima.sh](./kubernetes/10_build_dima.sh) and [11_deploy_dima.sh](./kubernetes/11_deploy_dima.sh). Depending on which infrastructure components you want to deploy, run the rest of the bash scripts.
+First, startup your kind cluster using the script [00_setup_kind.sh](./kubernetes/00_setup_kind.sh). Flux will automatically deploy the infrastructure.
-Make sure to also run [30_deploy_ingress.sh](./kubernetes/30_deploy_ingress.sh) which deploys the ingress controller and exposes your application at http://localhost:8080.
\ No newline at end of file
+Once the setup is complete, you can deploy the application services using the scripts [10_build_dima.sh](./kubernetes/10_build_dima.sh) and [11_deploy_dima.sh](./kubernetes/11_deploy_dima.sh).
+
+To access the system, you need to port-forward the ingress controller service to your host machine using the command `kubectl port-forward -n ingress svc/nginx-ingress-ingress-nginx-controller 8080:80`.
\ No newline at end of file
diff --git a/local/kubernetes/00_setup_k3d.sh b/local/kubernetes/00_setup_k3d.sh
deleted file mode 100755
index 4fb42e6b..00000000
--- a/local/kubernetes/00_setup_k3d.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-
-CLUSTER_NAME=o11y-stack
-
-echo "Setting up k3d cluster '$CLUSTER_NAME'"
-
-if k3d cluster list | grep $CLUSTER_NAME > /dev/null; then
- echo "Cluster already exists, skipping ..."
-else
- k3d cluster create $CLUSTER_NAME \
- -p "8080:80@loadbalancer" \
- --k3s-arg "--disable=traefik@server:0" \
- --agents 0
-fi
-
-kubectl apply -f infrastructure/namespaces.yaml
diff --git a/local/kubernetes/00_setup_kind.sh b/local/kubernetes/00_setup_kind.sh
new file mode 100755
index 00000000..59e11085
--- /dev/null
+++ b/local/kubernetes/00_setup_kind.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+echo "=== Setting up kubernetes cluster"
+echo "--- create cluster using kind"
+
+if kind get clusters | grep kind > /dev/null; then
+ echo "Cluster already exists, skipping ..."
+else
+ kind create cluster
+fi
+
+echo "--- create namespaces"
+kubectl apply -f namespaces.yaml
+
+echo "--- install flux"
+flux install
+
+echo "--- deploy flux configurations"
+kubectl apply -f ../../clusters/dev/flux-system
diff --git a/local/kubernetes/11_deploy_dima.sh b/local/kubernetes/11_deploy_dima.sh
index f38f48ff..05f2e695 100755
--- a/local/kubernetes/11_deploy_dima.sh
+++ b/local/kubernetes/11_deploy_dima.sh
@@ -4,20 +4,18 @@ set -euo pipefail
REGISTRY=local
NAMESPACE=dima
IMAGE_TAG="$(git rev-parse --short HEAD)-snapshot"
-CLUSTER_NAME=o11y-stack
echo "=== Deploy application stack with image tag ${IMAGE_TAG} in namespace ${NAMESPACE}"
echo "--- import images into k3d"
for app in frontend imageorchestrator imageholder imagerotator imagegrayscale imageresize imageflip imagethumbnail trafficgen; do
- k3d image import -c "$CLUSTER_NAME" "$REGISTRY/dima-$app:$IMAGE_TAG"
+ kind load docker-image "$REGISTRY/dima-$app:$IMAGE_TAG"
done
echo "--- create dima namespace"
kubectl get namespace "$NAMESPACE" || kubectl create namespace "$NAMESPACE"
echo "--- deploy dima"
-helm upgrade --install -f ../application/values.yaml -n "$NAMESPACE" \
+helm upgrade --install -f ../../stack/kubernetes/application/values_local.yaml -n "$NAMESPACE" \
--set global.image.tag="$IMAGE_TAG" \
- --set global.tls.enabled=false \
dima ../../stack/kubernetes/application
\ No newline at end of file
diff --git a/local/kubernetes/20_deploy_istio.sh b/local/kubernetes/20_deploy_istio.sh
deleted file mode 100755
index f2f5113c..00000000
--- a/local/kubernetes/20_deploy_istio.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env bash
-set -eu -o pipefail
-
-NAMESPACE=istio-system
-echo "=== Deploy service mesh (istio) stack in namespace ${NAMESPACE}"
-
-echo "--- install and update helm repos"
-helm repo add istio https://istio-release.storage.googleapis.com/charts
-helm repo add kiali https://kiali.org/helm-charts
-helm repo update
-
-echo "--- install istio"
-helm upgrade --install -n "$NAMESPACE" --create-namespace istio-base istio/base -n istio-system
-helm upgrade --install -f "tools/istio/istiod.yaml" -n "$NAMESPACE" istiod istio/istiod -n istio-system --wait
-
-# kiali
-echo "--- install kiali"
-helm upgrade --install -f "tools/istio/kiali.yaml" --namespace "$NAMESPACE" kiali-server kiali/kiali-server
-
-echo "--- install jaeger"
-kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.17/samples/addons/jaeger.yaml
\ No newline at end of file
diff --git a/local/kubernetes/21_deploy_monitoring.sh b/local/kubernetes/21_deploy_monitoring.sh
deleted file mode 100755
index c8369773..00000000
--- a/local/kubernetes/21_deploy_monitoring.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env bash
-set -eu -o pipefail
-
-NAMESPACE=monitoring
-
-echo "=== Deploy monitoring stack in namespace ${NAMESPACE}"
-
-echo "--- install and update helm repos"
-helm repo add grafana https://grafana.github.io/helm-charts
-helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
-helm repo update
-
-echo "--- install prometheus"
-helm upgrade --install -f "tools/monitoring/prometheus.yaml" -n "$NAMESPACE" --create-namespace prometheus prometheus-community/prometheus
-
-echo "--- install grafana"
-helm upgrade --install -f "tools/monitoring/grafana.yaml" -n "$NAMESPACE" --create-namespace grafana grafana/grafana
-
-echo "--- create grafana dashboards through configmaps"
-kubectl apply -f "../../stack/kubernetes/tools/monitoring/dashboards"
diff --git a/local/kubernetes/22a_deploy_logging_loki.sh b/local/kubernetes/22a_deploy_logging_loki.sh
deleted file mode 100755
index c8e37a65..00000000
--- a/local/kubernetes/22a_deploy_logging_loki.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-
-NAMESPACE=logging
-echo "=== Deploy logging components in namespace $NAMESPACE"
-
-echo "--- install and update helm repos"
-helm repo add grafana https://grafana.github.io/helm-charts
-helm repo update
-
-echo "--- deploy loki in namespace $NAMESPACE"
-helm upgrade --install -f tools/logging/loki.yaml -n "$NAMESPACE" --create-namespace loki grafana/loki
-
-echo "--- deploy promtail in namespace $NAMESPACE"
-helm upgrade --install -f tools/logging/promtail.yaml -n "$NAMESPACE" --create-namespace promtail grafana/promtail
\ No newline at end of file
diff --git a/local/kubernetes/22b_deploy_logging_elastic.sh b/local/kubernetes/22b_deploy_logging_elastic.sh
deleted file mode 100755
index 3f2b81e2..00000000
--- a/local/kubernetes/22b_deploy_logging_elastic.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-
-NAMESPACE=logging
-ELASTIC_VERSION="7.17.3"
-
-echo "=== Deploy logging stack in namespace ${NAMESPACE}"
-
-echo "--- install and update helm repos"
-helm repo add elastic https://helm.elastic.co
-helm repo add fluent https://fluent.github.io/helm-charts
-helm repo add lebenitza https://lebenitza.github.io/charts
-helm repo update
-
-echo "--- install elasticsearch"
-helm upgrade --install -n "$NAMESPACE" --create-namespace -f tools/logging/elasticsearch.yaml --version ${ELASTIC_VERSION} elasticsearch elastic/elasticsearch
-
-echo "--- apply prometheus-elasticsearch-exporter"
-helm upgrade --install -n "$NAMESPACE" -f tools/logging/prometheus-elasticsearch-exporter.yaml prometheus-elasticsearch-exporter prometheus-community/prometheus-elasticsearch-exporter
-
-echo "--- install curator"
-helm upgrade --install -n "$NAMESPACE" -f tools/logging/curator.yaml elasticsearch-curator lebenitza/elasticsearch-curator
-
-echo "--- install fluentd"
-helm upgrade --install -n "$NAMESPACE" -f tools/logging/fluentd.yaml fluentd fluent/fluentd
-
-echo "--- install kibana"
-helm upgrade --install -n "$NAMESPACE" -f tools/logging/kibana.yaml --version ${ELASTIC_VERSION} kibana elastic/kibana
-
-echo "--- install apm-server"
-helm upgrade --install -n "$NAMESPACE" --version ${ELASTIC_VERSION} apm-server elastic/apm-server
\ No newline at end of file
diff --git a/local/kubernetes/23_deploy_tracing.sh b/local/kubernetes/23_deploy_tracing.sh
deleted file mode 100755
index 30e5f4c2..00000000
--- a/local/kubernetes/23_deploy_tracing.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-
-NAMESPACE=monitoring
-echo "=== Deploy tracing components in namespace $NAMESPACE"
-
-echo "--- install and update helm repos"
-helm repo add grafana https://grafana.github.io/helm-charts
-helm repo update
-
-echo "--- deploy tempo"
-helm upgrade --install -n "$NAMESPACE" -f tools/tracing/tempo.yaml --create-namespace tempo grafana/tempo-distributed
diff --git a/local/kubernetes/30_deploy_ingress.sh b/local/kubernetes/30_deploy_ingress.sh
deleted file mode 100755
index 9df88d73..00000000
--- a/local/kubernetes/30_deploy_ingress.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-
-NAMESPACE=ingress
-echo "=== Deploy ingress controller in namespace $NAMESPACE"
-
-echo "--- install and update helm repos"
-helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
-helm repo update
-
-echo "--- install nginx ingress"
-helm upgrade --install nginx-ingress ingress-nginx/ingress-nginx \
- --namespace "$NAMESPACE" \
- --set controller.replicaCount=1 \
- --create-namespace \
- --wait
-
-kubectl apply -f "infrastructure/service-ingress.yaml"
\ No newline at end of file
diff --git a/local/kubernetes/99_teardown.sh b/local/kubernetes/99_teardown.sh
index 4e3589af..04c2b4d0 100755
--- a/local/kubernetes/99_teardown.sh
+++ b/local/kubernetes/99_teardown.sh
@@ -1,8 +1,8 @@
#!/bin/bash
-if k3d cluster ls | grep o11y-stack > /dev/null; then
- echo Deleting k3d cluster ...
- k3d cluster delete o11y-stack
+if kind get clusters | grep kind > /dev/null; then
+ echo Deleting kind cluster ...
+ kind delete cluster
else
echo Nothing to tear down, exiting ...
exit 0
diff --git a/local/kubernetes/infrastructure/namespaces.yaml b/local/kubernetes/namespaces.yaml
similarity index 79%
rename from local/kubernetes/infrastructure/namespaces.yaml
rename to local/kubernetes/namespaces.yaml
index 7f722674..392506e4 100644
--- a/local/kubernetes/infrastructure/namespaces.yaml
+++ b/local/kubernetes/namespaces.yaml
@@ -2,22 +2,23 @@ apiVersion: v1
kind: Namespace
metadata:
name: logging
- namespace: ""
---
apiVersion: v1
kind: Namespace
metadata:
name: monitoring
- namespace: ""
---
apiVersion: v1
kind: Namespace
metadata:
name: ingress
- namespace: ""
---
apiVersion: v1
kind: Namespace
metadata:
name: istio-system
- namespace: ""
\ No newline at end of file
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: dima
diff --git a/local/kubernetes/tools/istio/istiod.yaml b/local/kubernetes/tools/istio/istiod.yaml
deleted file mode 100644
index 9b69340d..00000000
--- a/local/kubernetes/tools/istio/istiod.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-meshConfig:
- defaultConfig:
- tracing:
- sampling: 100.0
- defaultProviders:
- tracing:
- - zipkin
- enableTracing: true
- extensionProviders:
- - name: "tempo"
- zipkin:
- service: "tempo-distributor.monitoring.svc.cluster.local"
- port: 9411
- maxTagLength: 56
- - name: "zipkin"
- zipkin:
- service: "zipkin.istio-system.svc.cluster.local"
- port: 9411
- maxTagLength: 56
\ No newline at end of file
diff --git a/local/kubernetes/tools/istio/kiali.yaml b/local/kubernetes/tools/istio/kiali.yaml
deleted file mode 100644
index 80423948..00000000
--- a/local/kubernetes/tools/istio/kiali.yaml
+++ /dev/null
@@ -1,36 +0,0 @@
----
-auth:
- strategy: anonymous
-deployment:
- ingress:
- additional_labels: {}
- class_name: "nginx"
- enabled: true
- override_yaml:
- metadata:
- annotations:
- nginx.ingress.kubernetes.io/rewrite-target: /$1
- spec:
- ingressClassName: nginx
- rules:
- - http:
- paths:
- - backend:
- service:
- name: kiali
- port:
- number: 20001
- path: /(.*)
- pathType: Prefix
- pod_annotations:
- prometheus.io/scrape: "true"
- prometheus.io/port: "9090"
-server:
- web_fqdn: localhost
-external_services:
- prometheus:
- url: "http://prometheus-server.monitoring/"
- grafana:
- enabled: true
- in_cluster_url: "http://grafana.monitoring/"
- url: "http://localhost:8080/grafana"
\ No newline at end of file
diff --git a/local/kubernetes/tools/istio/kustomization.yaml b/local/kubernetes/tools/istio/kustomization.yaml
new file mode 100644
index 00000000..9f058822
--- /dev/null
+++ b/local/kubernetes/tools/istio/kustomization.yaml
@@ -0,0 +1,2 @@
+resources:
+- https://raw.githubusercontent.com/istio/istio/release-1.17/samples/addons/jaeger.yaml
\ No newline at end of file
diff --git a/local/kubernetes/tools/logging/apm-server.yaml b/local/kubernetes/tools/logging/apm-server.yaml
deleted file mode 100644
index 6f84d0be..00000000
--- a/local/kubernetes/tools/logging/apm-server.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-resources:
- requests:
- cpu: "25m"
- memory: "100Mi"
- limits:
- cpu: "100m"
- memory: "200Mi"
diff --git a/local/kubernetes/tools/logging/curator.yaml b/local/kubernetes/tools/logging/curator.yaml
deleted file mode 100644
index e0db844a..00000000
--- a/local/kubernetes/tools/logging/curator.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
----
-configMaps:
- action_file_yml: |-
- ---
- actions:
- 1:
- action: delete_indices
- description: >-
- Delete non system indices older than 3 days.
- options:
- ignore_empty_list: True
- timeout_override:
- continue_if_exception: False
- disable_action: False
- filters:
- - filtertype: age
- source: creation_date
- direction: older
- unit: days
- unit_count: 3
- - filtertype: pattern
- kind: regex
- value: '^[^\.].*'
- config_yml: |-
- ---
- client:
- hosts:
- - elasticsearch-master
- port: 9200
- username: elastic
- password: changeme
- url_prefix:
- use_ssl: False
- certificate:
- client_cert:
- client_key:
- aws_key:
- aws_secret_key:
- aws_region:
- ssl_no_validate: False
- timeout: 100
- master_only: False
- logging:
- loglevel: INFO
- logfile:
- logformat: default
- blacklist: [‘elasticsearch’]
diff --git a/local/kubernetes/tools/logging/elasticsearch.yaml b/local/kubernetes/tools/logging/elasticsearch.yaml
deleted file mode 100644
index fc0ef6b2..00000000
--- a/local/kubernetes/tools/logging/elasticsearch.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
----
-replicas: 1
-resources:
- requests:
- cpu: "250m"
- memory: "1000Mi"
- limits:
- cpu: "500m"
- memory: "1500Mi"
-secret:
- enabled: true
- password: "changeme"
-clusterHealthCheckParams: "wait_for_status=yellow&timeout=1s"
-volumeClaimTemplate:
- resources:
- requests:
- storage: 10Gi
-lifecycle:
- postStart:
- exec:
- command:
- - bash
- - -c
- - |
- #!/bin/bash
- RETENTION=2d
- echo "applying index lifecycle management with retention period of $RETENTION days to"
- ES_URL=http://localhost:9200
- while [[ "$(curl -s -o /dev/null -w '%{http_code}\n' $ES_URL)" != "200" ]]; do sleep 1; done
- curl -XPUT "$ES_URL/_ilm/policy/logs_policy" -H 'Content-Type: application/json' -d'{"policy":{"phases":{"delete":{"min_age":"$RETENTION","actions":{"delete":{}}}}}}'
\ No newline at end of file
diff --git a/local/kubernetes/tools/logging/fluentd.yaml b/local/kubernetes/tools/logging/fluentd.yaml
deleted file mode 100644
index 62435c30..00000000
--- a/local/kubernetes/tools/logging/fluentd.yaml
+++ /dev/null
@@ -1,239 +0,0 @@
-podSecurityPolicy:
- enabled: false
-
-plugins:
- - fluent-plugin-elasticsearch
- - fluent-plugin-prometheus
- - fluent-plugin-rewrite-tag-filter
-fileConfigs:
- 01_sources.conf: |-
- ## logs from podman
-
- @type tail
- @id in_tail_container_logs
- @label @KUBERNETES
- path /var/log/containers/*.log
- pos_file /var/log/fluentd-containers.log.pos
- tag kubernetes.*
- read_from_head true
- skip_refresh_on_startup true
-
- @type multi_format
-
- format json
- time_key time
- time_type string
- time_format "%Y-%m-%dT%H:%M:%S.%NZ"
- keep_time_key false
-
-
- format regexp
- expression /^(?
-
- emit_unmatched_lines true
-
- 02_filters.conf: |-
-
- 03_dispatch.conf: |-
-
- 04_outputs.conf: |-
-
-
diff --git a/local/kubernetes/tools/logging/kibana-index/TODO.md b/local/kubernetes/tools/logging/kibana-index/TODO.md
new file mode 100644
index 00000000..0cd67da5
--- /dev/null
+++ b/local/kubernetes/tools/logging/kibana-index/TODO.md
@@ -0,0 +1 @@
+This folder is not in GitOps yet
\ No newline at end of file
diff --git a/local/kubernetes/tools/logging/kibana.yaml b/local/kubernetes/tools/logging/kibana.yaml
deleted file mode 100644
index 957e24f0..00000000
--- a/local/kubernetes/tools/logging/kibana.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-kibanaConfig:
- kibana.yml: |
- elasticsearch.username: elastic
- elasticsearch.password: changeme
- server.publicBaseUrl: http://localhost:8080/kibana
- server.basePath: /kibana
-
-resources:
- requests:
- cpu: "100m"
- memory: "1Gi"
- limits:
- cpu: "250m"
- memory: "1Gi"
diff --git a/local/kubernetes/tools/logging/loki.yaml b/local/kubernetes/tools/logging/loki.yaml
deleted file mode 100644
index c154b421..00000000
--- a/local/kubernetes/tools/logging/loki.yaml
+++ /dev/null
@@ -1,34 +0,0 @@
----
-enterprise:
- enabled: false
-
-minio:
- enabled: false
-
-loki:
- auth_enabled: false
- commonConfig:
- path_prefix: /var/loki
- replication_factor: 1
- podAnnotations:
- prometheus.io/scrape: "true"
-
-read:
- replicas: 1
-
-write:
- replicas: 1
-
-gateway:
- replicas: 1
-
-test:
- enabled: false
-
-monitoring:
- dashboards:
- namespace: monitoring
- labels:
- grafana_dashboard: ""
- annotations:
- grafana_folder: "loki"
diff --git a/local/kubernetes/tools/logging/prometheus-elasticsearch-exporter.yaml b/local/kubernetes/tools/logging/prometheus-elasticsearch-exporter.yaml
deleted file mode 100644
index 93f4e20d..00000000
--- a/local/kubernetes/tools/logging/prometheus-elasticsearch-exporter.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-es:
- uri: http://elasticsearch-master:9200
-service:
- annotations:
- prometheus.io/scrape: "true"
- prometheus.io/path: /metrics
- prometheus.io/port: "9108"
\ No newline at end of file
diff --git a/local/kubernetes/tools/logging/promtail.yaml b/local/kubernetes/tools/logging/promtail.yaml
deleted file mode 100644
index 71db0e70..00000000
--- a/local/kubernetes/tools/logging/promtail.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-config:
- clients:
- - url: http://loki-gateway.logging.svc.cluster.local/loki/api/v1/push
-
- snippets:
- pipelineStages:
- - cri: {}
- - json:
- expressions:
- time: '"@timestamp"'
- message: message
- level: level
- trace_id: traceId
- span_id: spanId
- - labels:
- level: level
- trace_id: trace_id
- - timestamp:
- format: RFC3339
- source: "time"
- - output:
- source: message
\ No newline at end of file
diff --git a/local/kubernetes/tools/monitoring/grafana.yaml b/local/kubernetes/tools/monitoring/grafana.yaml
deleted file mode 100644
index f11d2f70..00000000
--- a/local/kubernetes/tools/monitoring/grafana.yaml
+++ /dev/null
@@ -1,176 +0,0 @@
----
-adminUser: grafana
-adminPassword: changeme
-dashboards:
- infra:
- kubernetes:
- gnetId: 13332
- revision: 12
- datasource: Prometheus
- springboot:
- gnetId: 17175
- revision: 1
- datasource:
- - name: DS_PROMETHEUS
- value: Prometheus
- - name: DS_LOKI
- value: loki
- tools:
- prometheus-stats:
- gnetId: 3662
- revision: 2
- datasource: Prometheus
- ingress-nginx:
- gnetId: 9614
- revision: 1
- datasource: Prometheus
- elasticsearch:
- gnetId: 13071
- revision: 1
- datasource: Prometheus
- jaeger:
- gnetId: 12535
- revision: 1
- datasource: Prometheus
- istio:
- istio-performance-dashboard:
- gnetId: 11829
- revision: 158
- datasource: Prometheus
- istio-pilot-dashboard:
- gnetId: 12154
- revision: 158
- datasource: Prometheus
- istio-workload-dashboard:
- gnetId: 7630
- revision: 158
- datasource: Prometheus
- istio-service-dashboard:
- gnetId: 7636
- revision: 158
- datasource: Prometheus
- istio-mesh-dashboard:
- gnetId: 7639
- revision: 158
- datasource: Prometheus
- istio-controlplane-dashboard:
- gnetId: 7645
- revision: 158
- datasource: Prometheus
-dashboardProviders:
- dashboardproviders.yaml:
- apiVersion: 1
- providers:
- - disableDeletion: true
- folder: infra
- name: infra
- editable: false
- options:
- path: /var/lib/grafana/dashboards/infra
- orgId: 1
- type: file
- - disableDeletion: true
- folder: tools
- name: tools
- editable: false
- options:
- path: /var/lib/grafana/dashboards/tools
- orgId: 1
- type: file
- - disableDeletion: false
- folder: istio
- name: istio
- options:
- path: /var/lib/grafana/dashboards/istio
- orgId: 1
- type: file
-datasources:
- datasources.yaml:
- apiVersion: 1
- datasources:
- - access: proxy
- editable: true
- isDefault: true
- jsonData:
- timeInterval: 5s
- name: Prometheus
- orgId: 1
- type: prometheus
- url: http://prometheus-server:80
- - access: 'proxy'
- editable: true
- isDefault: false
- name: 'Loki'
- orgId: 1
- type: 'loki'
- url: 'http://loki-gateway.logging.svc.cluster.local'
- - name: 'Elasticsearch'
- type: 'elasticsearch'
- access: 'proxy'
- orgId: 1
- url: 'http://elasticsearch-master.logging:9200'
- isDefault: false
- editable: true
- basicAuth: true
- basicAuthUser: elastic
- secureJsonData:
- basicAuthPassword: changeme
- database: "[logs-]YYYY.MM.DD"
- jsonData:
- interval: Daily
- timeField: "@timestamp"
- esVersion: "7.10+"
- logMessageField: message
- logLevelField: level
- - name: 'Tempo'
- access: 'proxy'
- editable: true
- isDefault: false
- orgId: 1
- type: 'tempo'
- url: 'http://tempo-gateway.monitoring.svc.cluster.local'
-deploymentStrategy:
- type: Recreate
-grafana.ini:
- analytics:
- check_for_updates: true
- grafana_net:
- url: https://grafana.net
- log:
- mode: console
- console:
- format: json
- paths:
- data: /var/lib/grafana/
- logs: /var/log/grafana
- plugins: /var/lib/grafana/plugins
- provisioning: /etc/grafana/provisioning
- server:
- serve_from_sub_path: true
- root_url: http://localhost:8080/grafana/
-plugins:
- - "raintank-worldping-app"
- - "jdbranham-diagram-panel"
-resources:
- limits:
- cpu: 100m
- memory: 128Mi
- requests:
- cpu: 80m
- memory: 128Mi
-persistence:
- enabled: "true"
- size: 5Gi
-sidecar:
- dashboards:
- enabled: "true"
- folderAnnotation: "grafana_folder"
- searchNamespace: "monitoring"
- provider:
- foldersFromFilesStructure: true
-service:
- labels:
- sidecar.istio.io/inject: "false"
- annotations:
- prometheus.io/scrape: "true"
- prometheus.io/path: /metrics
diff --git a/local/kubernetes/tools/monitoring/prometheus.yaml b/local/kubernetes/tools/monitoring/prometheus.yaml
deleted file mode 100644
index 7bb7cbc3..00000000
--- a/local/kubernetes/tools/monitoring/prometheus.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
----
-server:
- prefixURL: /prometheus
- extraArgs:
- web.external-url: "http://localhost:8080/prometheus/"
- # web.route-prefix: "/"
-alertmanager:
- enabled: false
-kube-state-metrics:
- enabled: true
- image:
- # use compatible version, see https://github.com/kubernetes/kube-state-metrics#compatibility-matrix
- tag: v2.6.0
- selfMonitor:
- enabled: true
- telemetryPort: 8081
- podAnnotations:
- prometheus.io/scrape: "true"
- prometheus.io/port: "8081"
-prometheus-node-exporter:
- enabled: true
-prometheus-pushgateway:
- enabled: false
\ No newline at end of file
diff --git a/local/kubernetes/tools/tracing/tempo.yaml b/local/kubernetes/tools/tracing/tempo.yaml
deleted file mode 100644
index 42e17da6..00000000
--- a/local/kubernetes/tools/tracing/tempo.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-minio:
- enabled: false
-storage:
- trace:
- backend: local
-
-traces:
- zipkin:
- enabled: true
-
-gateway:
- enabled: true
\ No newline at end of file
diff --git a/local/application/values.yaml b/stack/kubernetes/application/values_local.yaml
similarity index 97%
rename from local/application/values.yaml
rename to stack/kubernetes/application/values_local.yaml
index a81c714c..0c0d64c0 100644
--- a/local/application/values.yaml
+++ b/stack/kubernetes/application/values_local.yaml
@@ -10,6 +10,8 @@ local: &localConfig
global:
tracing:
url: http://zipkin.istio-system:9411
+ tls:
+ enabled: false
dima-frontend:
image: