13
clusters/kairos/apps/fluxrepo.yaml
Normal file
13
clusters/kairos/apps/fluxrepo.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: flux-apps
|
||||
spec:
|
||||
interval: 10m0s
|
||||
path: ./apps
|
||||
targetNamespace: apps
|
||||
prune: true
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: flux-system
|
||||
namespace: flux-system
|
||||
6
clusters/kairos/apps/kustomization.yaml
Normal file
6
clusters/kairos/apps/kustomization.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: apps
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- fluxrepo.yaml
|
||||
4
clusters/kairos/apps/namespace.yaml
Normal file
4
clusters/kairos/apps/namespace.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: apps
|
||||
19
clusters/kairos/monitoring/grafana/helmrelease.yaml
Normal file
19
clusters/kairos/monitoring/grafana/helmrelease.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: grafana
|
||||
spec:
|
||||
chart:
|
||||
spec:
|
||||
chart: grafana
|
||||
reconcileStrategy: ChartVersion
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: grafana-repo
|
||||
version: 8.4.1
|
||||
interval: 1m0s
|
||||
targetNamespace: monitoring
|
||||
values:
|
||||
persistence:
|
||||
enabled: true
|
||||
storageClassName: longhorn
|
||||
16
clusters/kairos/monitoring/grafana/ingress.yaml
Normal file
16
clusters/kairos/monitoring/grafana/ingress.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: grafana
|
||||
spec:
|
||||
entryPoints:
|
||||
- web
|
||||
routes:
|
||||
- match: Host(`grafana.k3s`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: monitoring-grafana
|
||||
namespace: monitoring
|
||||
nativeLB: true
|
||||
kind: Service
|
||||
port: 80
|
||||
5
clusters/kairos/monitoring/grafana/kustomization.yaml
Normal file
5
clusters/kairos/monitoring/grafana/kustomization.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- helmrelease.yaml
|
||||
- ingress.yaml
|
||||
7
clusters/kairos/monitoring/helmrepo.yaml
Normal file
7
clusters/kairos/monitoring/helmrepo.yaml
Normal file
@@ -0,0 +1,7 @@
|
||||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: HelmRepository
|
||||
metadata:
|
||||
name: grafana-repo
|
||||
spec:
|
||||
interval: 1m0s
|
||||
url: https://grafana.github.io/helm-charts
|
||||
9
clusters/kairos/monitoring/kustomization.yaml
Normal file
9
clusters/kairos/monitoring/kustomization.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: monitoring
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- helmrepo.yaml
|
||||
- ./loki
|
||||
- ./promtail
|
||||
- ./grafana
|
||||
70
clusters/kairos/monitoring/loki/helmrelease.yaml
Normal file
70
clusters/kairos/monitoring/loki/helmrelease.yaml
Normal file
@@ -0,0 +1,70 @@
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: loki
|
||||
spec:
|
||||
chart:
|
||||
spec:
|
||||
chart: loki
|
||||
reconcileStrategy: ChartVersion
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: grafana-repo
|
||||
version: 6.7.4
|
||||
interval: 1m0s
|
||||
targetNamespace: monitoring
|
||||
values:
|
||||
loki:
|
||||
auth_enabled: false
|
||||
schemaConfig:
|
||||
configs:
|
||||
- from: "2024-04-01"
|
||||
store: tsdb
|
||||
object_store: s3
|
||||
schema: v13
|
||||
index:
|
||||
prefix: loki_index_
|
||||
period: 24h
|
||||
ingester:
|
||||
chunk_encoding: snappy
|
||||
tracing:
|
||||
enabled: true
|
||||
querier:
|
||||
max_concurrent: 2
|
||||
|
||||
deploymentMode: SimpleScalable
|
||||
|
||||
backend:
|
||||
replicas: 1
|
||||
read:
|
||||
replicas: 1
|
||||
write:
|
||||
replicas: 1
|
||||
|
||||
# Enable minio for storage
|
||||
minio:
|
||||
enabled: true
|
||||
persistence:
|
||||
storageClass: longhorn
|
||||
|
||||
# Zero out replica counts of other deployment modes
|
||||
singleBinary:
|
||||
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
|
||||
4
clusters/kairos/monitoring/loki/kustomization.yaml
Normal file
4
clusters/kairos/monitoring/loki/kustomization.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- helmrelease.yaml
|
||||
4
clusters/kairos/monitoring/namespace.yaml
Normal file
4
clusters/kairos/monitoring/namespace.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: monitoring
|
||||
20
clusters/kairos/monitoring/promtail/helmrelease.yaml
Normal file
20
clusters/kairos/monitoring/promtail/helmrelease.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: promtail
|
||||
spec:
|
||||
chart:
|
||||
spec:
|
||||
chart: promtail
|
||||
reconcileStrategy: ChartVersion
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: grafana-repo
|
||||
version: 6.16.4
|
||||
interval: 1m0s
|
||||
targetNamespace: monitoring
|
||||
values:
|
||||
config:
|
||||
clients:
|
||||
- url: http://monitoring-loki-gateway.monitoring.svc.cluster.local:3100/loki/api/v1/push
|
||||
tenant_id: 1
|
||||
4
clusters/kairos/monitoring/promtail/kustomization.yaml
Normal file
4
clusters/kairos/monitoring/promtail/kustomization.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- helmrelease.yaml
|
||||
9
clusters/kairos/traefik/helmconfig.yaml
Normal file
9
clusters/kairos/traefik/helmconfig.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
apiVersion: helm.cattle.io/v1
|
||||
kind: HelmChartConfig
|
||||
metadata:
|
||||
name: traefik
|
||||
namespace: kube-system
|
||||
spec:
|
||||
valuesContent: |-
|
||||
additionalArguments:
|
||||
- "--api.insecure=true"
|
||||
16
clusters/kairos/traefik/ingress.yaml
Normal file
16
clusters/kairos/traefik/ingress.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: traefik
|
||||
spec:
|
||||
entryPoints:
|
||||
- web
|
||||
routes:
|
||||
- match: Host(`traefik.k3s`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: traefik-dashboard
|
||||
namespace: kube-system
|
||||
nativeLB: true
|
||||
kind: Service
|
||||
port: 9000
|
||||
7
clusters/kairos/traefik/kustomization.yaml
Normal file
7
clusters/kairos/traefik/kustomization.yaml
Normal file
@@ -0,0 +1,7 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: kube-system
|
||||
resources:
|
||||
- helmconfig.yaml
|
||||
- service.yaml
|
||||
- ingress.yaml
|
||||
12
clusters/kairos/traefik/service.yaml
Normal file
12
clusters/kairos/traefik/service.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: traefik-dashboard
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
app.kubernetes.io/name: traefik
|
||||
ports:
|
||||
- name: http
|
||||
port: 9000
|
||||
targetPort: 9000
|
||||
Reference in New Issue
Block a user