Skip to content

Commit

Permalink
salt: add CSC mechanism to Loki
Browse files Browse the repository at this point in the history
Re-render the chart with CSC:

  ./charts/render.py loki \
    --remove-manifest Secret loki \
    --namespace metalk8s-logging \
    --service-config loki metalk8s-loki-config \
    metalk8s/addons/logging/loki/config/loki.yaml \
    charts/loki.yaml charts/loki/ \
    > salt/metalk8s/addons/logging/loki/deployed/chart.sls

Refs: #2682
  • Loading branch information
alexandre-allard committed Aug 10, 2020
1 parent d12fc75 commit 3feae7b
Show file tree
Hide file tree
Showing 8 changed files with 116 additions and 5 deletions.
5 changes: 5 additions & 0 deletions buildchain/buildchain/salt_tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -271,8 +271,13 @@ 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/logging/loki/deployed/storageclass.sls'),

Path('salt/metalk8s/addons/prometheus-adapter/deployed/chart.sls'),
Expand Down
2 changes: 1 addition & 1 deletion charts/loki.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ readinessProbe:
port: http-metrics
initialDelaySeconds: 45

replicas: 1
replicas: '__var__(loki.spec.deployment.replicas)'

resources: {}
# limits:
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
8 changes: 4 additions & 4 deletions salt/metalk8s/addons/logging/loki/deployed/chart.sls
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#!jinja | metalk8s_kubernetes

{%- from "metalk8s/repo/macro.sls" import build_image_name with context %}
{% 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) %}
{% raw %}
Expand Down Expand Up @@ -175,7 +175,7 @@ metadata:
namespace: metalk8s-logging
spec:
podManagementPolicy: OrderedReady
replicas: 1
replicas: {% endraw -%}{{ loki.spec.deployment.replicas }}{%- raw %}
selector:
matchLabels:
app: loki
Expand All @@ -184,7 +184,7 @@ spec:
template:
metadata:
annotations:
checksum/config: f9c7883a31a1ef8ef3264cfb5160f3cc015a91cf46c6687d7f2777a62af6936b
checksum/config: f6917e98336282f93b8cf80b99ca1e78f7adfd297b98c367c1cc420a1cb8d1ac
prometheus.io/port: http-metrics
prometheus.io/scrape: 'true'
labels:
Expand Down
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,3 +1,5 @@
include:
- .service-configuration
- .loki-configuration-secret
- .chart
- .storageclass
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,33 @@
include:
- ...deployed.namespace

{%- 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 %}
1 change: 1 addition & 0 deletions salt/metalk8s/service-configuration/deployed/init.sls
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@
include:
- metalk8s.addons.prometheus-operator.deployed.service-configuration
- metalk8s.addons.dex.deployed.service-configuration
- metalk8s.addons.logging.loki.deployed.service-configuration

0 comments on commit 3feae7b

Please sign in to comment.