From 724c0d3eb02737146272b6ba64d5be7815648241 Mon Sep 17 00:00:00 2001 From: Andrew Keesler Date: Wed, 11 Nov 2020 07:49:46 -0500 Subject: [PATCH] Add YTT template value for setting log level This is helpful for us, amongst other users, because we want to enable "debug" logging whenever we deploy components for testing. See a5643e3 for addition of log level. Signed-off-by: Andrew Keesler --- deploy/concierge/deployment.yaml | 5 ++++- deploy/concierge/helpers.lib.yaml | 8 ++++++++ deploy/concierge/values.yaml | 4 ++++ deploy/supervisor/deployment.yaml | 5 ++++- deploy/supervisor/helpers.lib.yaml | 8 ++++++++ deploy/supervisor/values.yaml | 4 ++++ 6 files changed, 32 insertions(+), 2 deletions(-) diff --git a/deploy/concierge/deployment.yaml b/deploy/concierge/deployment.yaml index 52f9cf29..b4d6351f 100644 --- a/deploy/concierge/deployment.yaml +++ b/deploy/concierge/deployment.yaml @@ -3,7 +3,7 @@ #@ load("@ytt:data", "data") #@ load("@ytt:json", "json") -#@ load("helpers.lib.yaml", "defaultLabel", "labels", "namespace", "defaultResourceName", "defaultResourceNameWithSuffix") +#@ load("helpers.lib.yaml", "defaultLabel", "labels", "namespace", "defaultResourceName", "defaultResourceNameWithSuffix", "getAndValidateLogLevel") #@ if not data.values.into_namespace: --- @@ -57,6 +57,9 @@ data: imagePullSecrets: - image-pull-secret (@ end @) + (@ if data.values.log_level: @) + logLevel: (@= getAndValidateLogLevel() @) + (@ end @) --- #@ if data.values.image_pull_dockerconfigjson and data.values.image_pull_dockerconfigjson != "": apiVersion: v1 diff --git a/deploy/concierge/helpers.lib.yaml b/deploy/concierge/helpers.lib.yaml index f893152e..452faa75 100644 --- a/deploy/concierge/helpers.lib.yaml +++ b/deploy/concierge/helpers.lib.yaml @@ -28,3 +28,11 @@ app: #@ data.values.app_name _: #@ template.replace(defaultLabel()) _: #@ template.replace(data.values.custom_labels) #@ end + +#@ def getAndValidateLogLevel(): +#@ log_level = data.values.log_level +#@ if log_level != "info" and log_level != "debug" and log_level != "trace" and log_level != "all": +#@ fail("log_level '" + log_level + "' is invalid") +#@ end +#@ return log_level +#@ end diff --git a/deploy/concierge/values.yaml b/deploy/concierge/values.yaml index 00eddbdb..d7e0069e 100644 --- a/deploy/concierge/values.yaml +++ b/deploy/concierge/values.yaml @@ -50,3 +50,7 @@ discovery_url: #! e.g., https://example.com #! about every 25 days. api_serving_certificate_duration_seconds: 2592000 api_serving_certificate_renew_before_seconds: 2160000 + +#! Specify the verbosity of logging: info ("nice to know" information), debug (developer +#! information), trace (timing information), all (kitchen sink). +log_level: #! By default, when this value is left unset, only warnings and errors are printed. There is no way to suppress warning and error logs. diff --git a/deploy/supervisor/deployment.yaml b/deploy/supervisor/deployment.yaml index 9bd74483..28b8d93f 100644 --- a/deploy/supervisor/deployment.yaml +++ b/deploy/supervisor/deployment.yaml @@ -3,7 +3,7 @@ #@ load("@ytt:data", "data") #@ load("@ytt:json", "json") -#@ load("helpers.lib.yaml", "defaultLabel", "labels", "namespace", "defaultResourceName", "defaultResourceNameWithSuffix") +#@ load("helpers.lib.yaml", "defaultLabel", "labels", "namespace", "defaultResourceName", "defaultResourceNameWithSuffix", "getAndValidateLogLevel") #@ if not data.values.into_namespace: --- @@ -33,6 +33,9 @@ data: names: defaultTLSCertificateSecret: (@= defaultResourceNameWithSuffix("default-tls-certificate") @) labels: (@= json.encode(labels()).rstrip() @) + (@ if data.values.log_level: @) + logLevel: (@= getAndValidateLogLevel() @) + (@ end @) --- #@ if data.values.image_pull_dockerconfigjson and data.values.image_pull_dockerconfigjson != "": apiVersion: v1 diff --git a/deploy/supervisor/helpers.lib.yaml b/deploy/supervisor/helpers.lib.yaml index f893152e..452faa75 100644 --- a/deploy/supervisor/helpers.lib.yaml +++ b/deploy/supervisor/helpers.lib.yaml @@ -28,3 +28,11 @@ app: #@ data.values.app_name _: #@ template.replace(defaultLabel()) _: #@ template.replace(data.values.custom_labels) #@ end + +#@ def getAndValidateLogLevel(): +#@ log_level = data.values.log_level +#@ if log_level != "info" and log_level != "debug" and log_level != "trace" and log_level != "all": +#@ fail("log_level '" + log_level + "' is invalid") +#@ end +#@ return log_level +#@ end diff --git a/deploy/supervisor/values.yaml b/deploy/supervisor/values.yaml index 480d1cc1..5456ebe3 100644 --- a/deploy/supervisor/values.yaml +++ b/deploy/supervisor/values.yaml @@ -52,3 +52,7 @@ service_https_clusterip_port: #! when specified, creates a ClusterIP Service wit #! Ignored unless service_http_loadbalancer_port and/or service_https_loadbalancer_port are provided. #! Optional. service_loadbalancer_ip: #! e.g. 1.2.3.4 + +#! Specify the verbosity of logging: info ("nice to know" information), debug (developer +#! information), trace (timing information), all (kitchen sink). +log_level: #! By default, when this value is left unset, only warnings and errors are printed. There is no way to suppress warning and error logs.