github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/application/applications/logspersisting/helm/default.go (about)

     1  package helm
     2  
     3  import (
     4  	"github.com/caos/orbos/pkg/kubernetes/k8s"
     5  	corev1 "k8s.io/api/core/v1"
     6  	"k8s.io/apimachinery/pkg/api/resource"
     7  )
     8  
     9  func DefaultValues(imageTags map[string]string, image string) *Values {
    10  	return &Values{
    11  		NodeSelector: map[string]string{},
    12  		Tolerations:  nil,
    13  		Env: []*Env{
    14  			&Env{Name: "WORKAROUND", Value: "ignorethis"},
    15  		},
    16  		FullNameOverride: "loki",
    17  		Tracing:          &Tracing{},
    18  		Config: &Config{
    19  			AuthEnabled: false,
    20  			Ingester: &Ingester{
    21  				ChunkIdlePeriod:   "3m",
    22  				ChunkBlockSize:    262144,
    23  				ChunkRetainPeriod: "1m",
    24  				Lifecycler: &Lifecycler{
    25  					Ring: &Ring{
    26  						Kvstore: &Kvstore{
    27  							Store: "inmemory",
    28  						},
    29  						ReplicationFactor: 1,
    30  					},
    31  				},
    32  			},
    33  			LimitsConfig: &LimitsConfig{
    34  				EnforceMetricName:      false,
    35  				RejectOldSamples:       true,
    36  				RejectOldSamplesMaxAge: "168h",
    37  			},
    38  			SchemaConfig: &SchemaConfigs{
    39  				Configs: []*SchemaConfig{
    40  					&SchemaConfig{
    41  						From:        "2000-01-01",
    42  						Store:       "boltdb",
    43  						ObjectStore: "filesystem",
    44  						Schema:      "v9",
    45  						Index: &Index{
    46  							Prefix: "index_",
    47  							Period: "24h",
    48  						},
    49  						Chunks: &Chunks{
    50  							Prefix: "chunk_",
    51  							Period: "24h",
    52  						},
    53  					},
    54  				},
    55  			},
    56  			Server: &Server{
    57  				HTTPListenPort: 3100,
    58  			},
    59  			StorageConfig: &StorageConfig{
    60  				Boltdb: &Boltdb{
    61  					Directory: "/data/loki/index",
    62  				},
    63  				Filesystem: &Filesystem{
    64  					Directory: "/data/loki/chunks",
    65  				},
    66  			},
    67  			ChunkStoreConfig: &ChunkStoreConfig{
    68  				MaxLookBackPeriod: "168h",
    69  			},
    70  			TableManager: &TableManager{
    71  				RetentionDeletesEnabled: false,
    72  				RetentionPeriod:         "336h",
    73  			},
    74  		},
    75  		Image: &Image{
    76  			Repository: image,
    77  			Tag:        imageTags[image],
    78  			PullPolicy: "IfNotPresent",
    79  		},
    80  		LivenessProbe: &LivenessProbe{
    81  			HTTPGet: &HTTPGet{
    82  				Path: "/ready",
    83  				Port: "http-metrics",
    84  			},
    85  			InitialDelaySeconds: 45,
    86  		},
    87  		NetworkPolicy: &NetworkPolicy{
    88  			Enabled: false,
    89  		},
    90  		Persistence: &Persistence{
    91  			Enabled:     false,
    92  			AccessModes: []string{"ReadWriteOnce"},
    93  			Size:        "10Gi",
    94  		},
    95  		PodAnnotations:      map[string]string{},
    96  		PodManagementPolicy: "OrderedReady",
    97  		Rbac: &Rbac{
    98  			Create:     true,
    99  			PspEnabled: true,
   100  		},
   101  		ReadinessProbe: &ReadinessProbe{
   102  			HTTPGet: &HTTPGet{
   103  				Path: "/ready",
   104  				Port: "http-metrics",
   105  			},
   106  			InitialDelaySeconds: 45,
   107  		},
   108  		Replicas: 1,
   109  		SecurityContext: &SecurityContext{
   110  			FsGroup:      10001,
   111  			RunAsGroup:   10001,
   112  			RunAsNonRoot: true,
   113  			RunAsUser:    10001,
   114  		},
   115  		Service: &Service{
   116  			Type: "ClusterIP",
   117  			Port: 3100,
   118  		},
   119  		ServiceAccount: &ServiceAccount{
   120  			Create: true,
   121  		},
   122  		TerminationGracePeriodSeconds: 4800,
   123  		UpdateStrategy: &UpdateStrategy{
   124  			Type: "RollingUpdate",
   125  		},
   126  		ServiceMonitor: &ServiceMonitor{
   127  			Enabled: false,
   128  		},
   129  		Resources: &k8s.Resources{
   130  			Limits: corev1.ResourceList{
   131  				corev1.ResourceCPU:    resource.MustParse("100m"),
   132  				corev1.ResourceMemory: resource.MustParse("256Mi"),
   133  			},
   134  			Requests: corev1.ResourceList{
   135  				corev1.ResourceCPU:    resource.MustParse("50m"),
   136  				corev1.ResourceMemory: resource.MustParse("128Mi"),
   137  			},
   138  		},
   139  	}
   140  }