Skip to content

Commit

Permalink
salt: add CSC mechanism to Loki
Browse files Browse the repository at this point in the history
Refs: #2682
  • Loading branch information
alexandre-allard committed Aug 6, 2020
1 parent 62f64d4 commit edde110
Show file tree
Hide file tree
Showing 5 changed files with 105 additions and 0 deletions.
3 changes: 3 additions & 0 deletions buildchain/buildchain/salt_tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -271,8 +271,11 @@ def _get_parts(self) -> Iterator[str]:

Path('salt/metalk8s/addons/logging/deployed/init.sls'),
Path('salt/metalk8s/addons/logging/deployed/namespace.sls'),
Path('salt/metalk8s/addons/logging/loki/config/loki.yaml'),
Path('salt/metalk8s/addons/logging/loki/deployed/chart.sls'),
Path('salt/metalk8s/addons/logging/loki/deployed/init.sls'),
Path('salt/metalk8s/addons/logging/loki/deployed/loki-configuration-secret.sls'),
Path('salt/metalk8s/addons/logging/loki/deployed/service-configuration.sls'),

Path('salt/metalk8s/addons/prometheus-adapter/deployed/chart.sls'),
Path('salt/metalk8s/addons/prometheus-adapter/deployed/init.sls'),
Expand Down
44 changes: 44 additions & 0 deletions salt/metalk8s/addons/logging/loki/config/loki.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
# Configuration of the Loki service
apiVersion: addons.metalk8s.scality.com
kind: LokiConfig
spec:
deployment:
replicas: 1
config:
auth_enabled: false
chunk_store_config:
max_look_back_period: 0s
ingester:
chunk_block_size: 262144
chunk_idle_period: 3m
chunk_retain_period: 1m
lifecycler:
ring:
kvstore:
store: inmemory
replication_factor: 1
max_transfer_retries: 0
limits_config:
enforce_metric_name: false
reject_old_samples: true
reject_old_samples_max_age: 168h
schema_config:
configs:
- from: 2018-04-15
index:
period: 168h
prefix: index_
object_store: filesystem
schema: v9
store: boltdb
server:
http_listen_port: 3100
storage_config:
boltdb:
directory: /data/loki/index
filesystem:
directory: /data/loki/chunks
table_manager:
retention_deletes_enabled: false
retention_period: 0s
2 changes: 2 additions & 0 deletions salt/metalk8s/addons/logging/loki/deployed/init.sls
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
include:
- .service-configuration
- .loki-configuration-secret
- .chart
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{% import_yaml 'metalk8s/addons/logging/loki/config/loki.yaml' as loki_defaults with context %}

{%- set loki = salt.metalk8s_service_configuration.get_service_conf(
'metalk8s-logging', 'metalk8s-loki-config', loki_defaults
)
%}

Create Loki Configuration Secret:
metalk8s_kubernetes.object_present:
- manifest:
apiVersion: v1
kind: Secret
metadata:
labels:
app: loki
app.kubernetes.io/managed-by: salt
app.kubernetes.io/name: loki
app.kubernetes.io/part-of: metalk8s
chart: loki-0.30.2
heritage: metalk8s
release: loki
name: loki
namespace: metalk8s-logging
stringData:
loki.yaml: |-
{{ loki.spec.config | tojson }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{%- set loki_config = salt.metalk8s_kubernetes.get_object(
kind='ConfigMap',
apiVersion='v1',
namespace='metalk8s-logging',
name='metalk8s-loki-config',
)
%}

{%- if loki_config is none %}

Create metalk8s-loki-config ConfigMap:
metalk8s_kubernetes.object_present:
- manifest:
apiVersion: v1
kind: ConfigMap
metadata:
name: metalk8s-loki-config
namespace: metalk8s-logging
data:
config.yaml: |-
apiVersion: addons.metalk8s.scality.com
kind: LokiConfig
spec: {}

{%- else %}

metalk8s-loki-config ConfigMap already exist:
test.succeed_without_changes: []

{%- endif %}

0 comments on commit edde110

Please sign in to comment.