feat: initial codebase

This commit is contained in:
Med Mouine
2024-09-03 10:22:37 -04:00
commit 412789abb2
24 changed files with 2879 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
repositories:
- name: grafana
url: https://grafana.github.io/helm-charts
- name: elastic
url: https://helm.elastic.co
releases:
- name: elasticsearch
namespace: {{ .Values.namespace | default "logging" }}
chart: elastic/elasticsearch
version: 7.17.10
values:
- values/elasticsearch-values.yaml
- ../common-config.yaml
- name: filebeat
namespace: {{ .Values.namespace | default "logging" }}
chart: elastic/filebeat
version: 7.17.10
values:
- values/filebeat-values.yaml
- ../common-config.yaml
- name: loki
namespace: {{ .Values.namespace | default "logging" }}
chart: grafana/loki
version: 5.8.3
values:
- values/loki-values.yaml
- ../common-config.yaml
- name: promtail
namespace: {{ .Values.namespace | default "logging" }}
chart: grafana/promtail
version: 6.11.3
values:
- values/promtail-values.yaml
- ../common-config.yaml
- name: grafana
namespace: {{ .Values.namespace | default "logging" }}
chart: grafana/grafana
version: 6.50.7
values:
- values/grafana-values.yaml
- ../common-config.yaml

View File

@@ -0,0 +1,16 @@
replicas: 3
minimumMasterNodes: 2
resources:
requests:
cpu: "100m"
memory: "1Gi"
limits:
cpu: "1000m"
memory: "2Gi"
volumeClaimTemplate:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 30Gi

View File

@@ -0,0 +1,12 @@
daemonset:
enabled: true
filebeatConfig:
filebeat.yml: |
filebeat.inputs:
- type: container
paths:
- /var/log/containers/*.log
output.elasticsearch:
hosts: ['${ELASTICSEARCH_HOST:elasticsearch-master:9200}']

View File

@@ -0,0 +1,62 @@
persistence:
enabled: true
size: 10Gi
datasources:
datasources.yaml:
apiVersion: 1
datasources:
- name: Loki
type: loki
url: http://loki.{{ .Release.Namespace }}.svc.cluster.local:3100
access: proxy
isDefault: false
- name: Elasticsearch
type: elasticsearch
url: http://elasticsearch-master.{{ .Release.Namespace }}.svc.cluster.local:9200
access: proxy
isDefault: true
dashboardProviders:
dashboardproviders.yaml:
apiVersion: 1
providers:
- name: 'default'
orgId: 1
folder: ''
type: file
disableDeletion: false
editable: true
options:
path: /var/lib/grafana/dashboards
dashboards:
default:
loki-logs:
gnetId: 12611
revision: 1
datasource: Loki
elasticsearch-logs:
gnetId: 4358
revision: 1
datasource: Elasticsearch
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: "letsencrypt-prod"
hosts:
- grafana.{{ .Release.Namespace }}.{{ .Values.global.hosts.domain }}
tls:
- secretName: grafana-tls
hosts:
- grafana.{{ .Release.Namespace }}.{{ .Values.global.hosts.domain }}
resources:
limits:
cpu: 200m
memory: 256Mi
requests:
cpu: 100m
memory: 128Mi

View File

@@ -0,0 +1,33 @@
config:
schema_config:
configs:
- from: 2020-10-24
store: boltdb-shipper
object_store: filesystem
schema: v11
index:
prefix: index_
period: 24h
storage:
type: filesystem
resources:
requests:
cpu: 200m
memory: 256Mi
limits:
cpu: 400m
memory: 512Mi
service:
port: 3100
persistence:
enabled: true
size: 10Gi
serviceMonitor:
enabled: true
namespace: logging
interval: 30s

View File

@@ -0,0 +1,74 @@
config:
lokiAddress: "http://loki.{{ .Release.Namespace }}:3100/loki/api/v1/push"
snippets:
extraScrapeConfigs: |
- job_name: kubernetes-pods
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
action: keep
regex: true
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: kubernetes_namespace
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: kubernetes_pod_name
- job_name: kubernetes-pods-logs
kubernetes_sd_configs:
- role: pod
relabel_configs:
- action: keep
regex: {{ .Release.Namespace }}
source_labels:
- __meta_kubernetes_namespace
- action: replace
source_labels:
- __meta_kubernetes_pod_name
target_label: pod
- action: replace
source_labels:
- __meta_kubernetes_namespace
target_label: namespace
- action: replace
source_labels:
- __meta_kubernetes_pod_container_name
target_label: container
- replacement: /var/log/pods/*$1/*.log
separator: /
source_labels:
- __meta_kubernetes_pod_uid
- __meta_kubernetes_pod_container_name
target_label: __path__
resources:
limits:
cpu: 200m
memory: 256Mi
requests:
cpu: 100m
memory: 128Mi
tolerations:
- effect: NoSchedule
operator: Exists
updateStrategy:
type: RollingUpdate
serviceMonitor:
enabled: true
namespace: {{.Release.Namespace}}
interval: 30s