add loki
This commit is contained in:
		
							
								
								
									
										43
									
								
								apps/loki.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								apps/loki.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
			
		||||
apiVersion: argoproj.io/v1alpha1
 | 
			
		||||
kind: ApplicationSet
 | 
			
		||||
metadata:
 | 
			
		||||
  name: loki
 | 
			
		||||
spec:
 | 
			
		||||
  goTemplate: true
 | 
			
		||||
  goTemplateOptions: ["missingkey=error"]
 | 
			
		||||
  generators:
 | 
			
		||||
    - list:
 | 
			
		||||
        elements:
 | 
			
		||||
        - cluster: production
 | 
			
		||||
          url: https://kubernetes.default.svc
 | 
			
		||||
          chart: 4.11.7
 | 
			
		||||
        - cluster: staging
 | 
			
		||||
          url: https://k3s-ctrl-lb.lab.kill0.net:6443
 | 
			
		||||
          chart: 4.11.7
 | 
			
		||||
        - cluster: development
 | 
			
		||||
          url: https://k0s-ctrl-vip.lab.kill0.net:6443
 | 
			
		||||
          chart: 4.11.7
 | 
			
		||||
  template:
 | 
			
		||||
    metadata:
 | 
			
		||||
      name: 'loki-{{.cluster}}'
 | 
			
		||||
    spec:
 | 
			
		||||
      project: default
 | 
			
		||||
      source:
 | 
			
		||||
        path: loki
 | 
			
		||||
        repoURL: https://git.kill0.net/ryanc/argocd.git
 | 
			
		||||
        targetRevision: HEAD
 | 
			
		||||
        helm:
 | 
			
		||||
          releaseName: loki
 | 
			
		||||
          valueFiles:
 | 
			
		||||
            - values.yaml
 | 
			
		||||
            - values-{{.cluster}}.yaml
 | 
			
		||||
          ignoreMissingValueFiles: true
 | 
			
		||||
      destination:
 | 
			
		||||
        server: '{{.url}}'
 | 
			
		||||
        namespace: loki
 | 
			
		||||
      syncPolicy:
 | 
			
		||||
        automated:
 | 
			
		||||
          prune: true
 | 
			
		||||
          selfHeal: true
 | 
			
		||||
        syncOptions:
 | 
			
		||||
          - CreateNamespace=true
 | 
			
		||||
							
								
								
									
										9
									
								
								loki/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								loki/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: loki
 | 
			
		||||
version: "1.0.0"
 | 
			
		||||
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: loki
 | 
			
		||||
    version: 6.31.0
 | 
			
		||||
    repository: https://grafana.github.io/helm-charts
 | 
			
		||||
							
								
								
									
										125
									
								
								loki/values-development.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								loki/values-development.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,125 @@
 | 
			
		||||
loki:
 | 
			
		||||
   schemaConfig:
 | 
			
		||||
     configs:
 | 
			
		||||
       - from: "2024-04-01"
 | 
			
		||||
         store: tsdb
 | 
			
		||||
         object_store: s3
 | 
			
		||||
         schema: v13
 | 
			
		||||
         index:
 | 
			
		||||
           prefix: loki_index_
 | 
			
		||||
           period: 24h
 | 
			
		||||
   storage_config:
 | 
			
		||||
     aws:
 | 
			
		||||
       region: us-east-2
 | 
			
		||||
       bucketnames: kill0-loki-dev-chunks
 | 
			
		||||
       s3forcepathstyle: false
 | 
			
		||||
   ingester:
 | 
			
		||||
       chunk_encoding: snappy
 | 
			
		||||
   pattern_ingester:
 | 
			
		||||
       enabled: true
 | 
			
		||||
   limits_config:
 | 
			
		||||
     allow_structured_metadata: true
 | 
			
		||||
     volume_enabled: true
 | 
			
		||||
     retention_period: 672h # 28 days retention
 | 
			
		||||
   compactor:
 | 
			
		||||
     retention_enabled: true
 | 
			
		||||
     delete_request_store: s3
 | 
			
		||||
   ruler:
 | 
			
		||||
    enable_api: true
 | 
			
		||||
    storage:
 | 
			
		||||
      type: s3
 | 
			
		||||
      s3:
 | 
			
		||||
        region: us-east-2
 | 
			
		||||
        bucketnames: kill0-loki-dev-ruler
 | 
			
		||||
        s3forcepathstyle: false
 | 
			
		||||
      alertmanager_url: http://prom:9093 # The URL of the Alertmanager to send alerts (Prometheus, Mimir, etc.)
 | 
			
		||||
 | 
			
		||||
   querier:
 | 
			
		||||
      max_concurrent: 4
 | 
			
		||||
 | 
			
		||||
   storage:
 | 
			
		||||
      type: s3
 | 
			
		||||
      bucketNames:
 | 
			
		||||
        chunks: kill0-loki-dev-chunks
 | 
			
		||||
        ruler: kill0-loki-dev-ruler
 | 
			
		||||
      s3:
 | 
			
		||||
        region: us-east-2
 | 
			
		||||
        #insecure: false
 | 
			
		||||
      # s3forcepathstyle: false
 | 
			
		||||
 | 
			
		||||
serviceAccount:
 | 
			
		||||
 create: true
 | 
			
		||||
 # annotations:
 | 
			
		||||
 #   "eks.amazonaws.com/role-arn": "arn:aws:iam::<Account ID>:role/LokiServiceAccountRole" # The service role you created
 | 
			
		||||
 | 
			
		||||
deploymentMode: Distributed
 | 
			
		||||
 | 
			
		||||
ingester:
 | 
			
		||||
 replicas: 3
 | 
			
		||||
 zoneAwareReplication:
 | 
			
		||||
  enabled: false
 | 
			
		||||
 | 
			
		||||
querier:
 | 
			
		||||
 replicas: 3
 | 
			
		||||
 maxUnavailable: 2
 | 
			
		||||
 | 
			
		||||
queryFrontend:
 | 
			
		||||
 replicas: 2
 | 
			
		||||
 maxUnavailable: 1
 | 
			
		||||
 | 
			
		||||
queryScheduler:
 | 
			
		||||
 replicas: 2
 | 
			
		||||
 | 
			
		||||
distributor:
 | 
			
		||||
 replicas: 3
 | 
			
		||||
 maxUnavailable: 2
 | 
			
		||||
compactor:
 | 
			
		||||
 replicas: 1
 | 
			
		||||
 | 
			
		||||
indexGateway:
 | 
			
		||||
 replicas: 2
 | 
			
		||||
 maxUnavailable: 1
 | 
			
		||||
 | 
			
		||||
ruler:
 | 
			
		||||
 replicas: 1
 | 
			
		||||
 maxUnavailable: 1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# This exposes the Loki gateway so it can be written to and queried externaly
 | 
			
		||||
gateway:
 | 
			
		||||
 service:
 | 
			
		||||
   type: LoadBalancer
 | 
			
		||||
 basicAuth:
 | 
			
		||||
     enabled: true
 | 
			
		||||
     existingSecret: loki-basic-auth
 | 
			
		||||
 | 
			
		||||
# Since we are using basic auth, we need to pass the username and password to the canary
 | 
			
		||||
lokiCanary:
 | 
			
		||||
  extraArgs:
 | 
			
		||||
    - -pass=$(LOKI_PASS)
 | 
			
		||||
    - -user=$(LOKI_USER)
 | 
			
		||||
  extraEnv:
 | 
			
		||||
    - name: LOKI_PASS
 | 
			
		||||
      valueFrom:
 | 
			
		||||
        secretKeyRef:
 | 
			
		||||
          name: canary-basic-auth
 | 
			
		||||
          key: password
 | 
			
		||||
    - name: LOKI_USER
 | 
			
		||||
      valueFrom:
 | 
			
		||||
        secretKeyRef:
 | 
			
		||||
          name: canary-basic-auth
 | 
			
		||||
          key: username
 | 
			
		||||
 | 
			
		||||
# Enable minio for storage
 | 
			
		||||
minio:
 | 
			
		||||
 enabled: false
 | 
			
		||||
 | 
			
		||||
backend:
 | 
			
		||||
 replicas: 0
 | 
			
		||||
read:
 | 
			
		||||
 replicas: 0
 | 
			
		||||
write:
 | 
			
		||||
 replicas: 0
 | 
			
		||||
 | 
			
		||||
singleBinary:
 | 
			
		||||
 replicas: 0
 | 
			
		||||
		Reference in New Issue
	
	Block a user