From f66d9e93d256998f6d4d79827f633ab61cde25f7 Mon Sep 17 00:00:00 2001 From: Tom Wilkie <tomwilkie@users.noreply.github.com> Date: Thu, 20 Dec 2018 11:56:06 +0000 Subject: [PATCH] Add annotation with hash of config, to trigger re-deployments when config changes. (#178) Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com> --- production/ksonnet/loki/config.libsonnet | 9 ++++++++- production/ksonnet/loki/distributor.libsonnet | 1 + production/ksonnet/loki/ingester.libsonnet | 1 + production/ksonnet/loki/querier.libsonnet | 1 + 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/production/ksonnet/loki/config.libsonnet b/production/ksonnet/loki/config.libsonnet index 60a7219f..e968239b 100644 --- a/production/ksonnet/loki/config.libsonnet +++ b/production/ksonnet/loki/config.libsonnet @@ -11,7 +11,7 @@ // December 11 is when we first launched to the public. // Assume we can ingest logs that are 5months old. - schema_start_date: '2018-07-11', + schema_start_date: '2018-07-11', commonArgs: { 'config.file': '/etc/loki/config.yaml', @@ -84,4 +84,11 @@ configMap.withData({ 'config.yaml': $.util.manifestYaml($._config.loki), }), + + local deployment = $.apps.v1beta1.deployment, + + config_hash_mixin:: + deployment.mixin.spec.template.metadata.withAnnotationsMixin({ + config_hash: std.md5(std.toString($._config.loki)), + }), } diff --git a/production/ksonnet/loki/distributor.libsonnet b/production/ksonnet/loki/distributor.libsonnet index 2e44d9ae..ac767705 100644 --- a/production/ksonnet/loki/distributor.libsonnet +++ b/production/ksonnet/loki/distributor.libsonnet @@ -16,6 +16,7 @@ distributor_deployment: deployment.new('distributor', 3, [$.distributor_container]) + + $.config_hash_mixin + $.util.configVolumeMount('loki', '/etc/loki') + $.util.antiAffinity, diff --git a/production/ksonnet/loki/ingester.libsonnet b/production/ksonnet/loki/ingester.libsonnet index d9380529..31860be2 100644 --- a/production/ksonnet/loki/ingester.libsonnet +++ b/production/ksonnet/loki/ingester.libsonnet @@ -19,6 +19,7 @@ ingester_deployment: deployment.new('ingester', 3, [$.ingester_container]) + + $.config_hash_mixin + $.util.configVolumeMount('loki', '/etc/loki') + $.util.antiAffinity + deployment.mixin.spec.withMinReadySeconds(60) + diff --git a/production/ksonnet/loki/querier.libsonnet b/production/ksonnet/loki/querier.libsonnet index d6f143de..40329ab3 100644 --- a/production/ksonnet/loki/querier.libsonnet +++ b/production/ksonnet/loki/querier.libsonnet @@ -15,6 +15,7 @@ querier_deployment: deployment.new('querier', 3, [$.querier_container]) + + $.config_hash_mixin + $.util.configVolumeMount('loki', '/etc/loki') + $.util.antiAffinity, -- GitLab