This is an automated email from the ASF dual-hosted git repository.

gyfora pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/flink-kubernetes-operator.git


The following commit(s) were added to refs/heads/main by this push:
     new a027644  [FLINK-26574] Expose config files in helm chart
a027644 is described below

commit a027644a5cdda3f9dbcdd7643bd0bc933f7d2bcd
Author: Gyula Fora <g_f...@apple.com>
AuthorDate: Thu Mar 10 12:54:19 2022 +0100

    [FLINK-26574] Expose config files in helm chart
---
 .../flink-default-config/flink-conf.yaml}          | 54 ++----------
 .../flink-default-config/log4j-console.properties  | 62 ++++++++++++++
 .../flink-operator-config/flink-conf.yaml}         | 51 ++----------
 .../flink-operator-config/log4j2.properties}       | 54 ++----------
 helm/flink-operator/templates/flink-operator.yaml  | 96 +++++++---------------
 helm/flink-operator/values.yaml                    | 28 ++++++-
 6 files changed, 137 insertions(+), 208 deletions(-)

diff --git a/helm/flink-operator/values.yaml 
b/helm/flink-operator/conf/flink-default-config/flink-conf.yaml
similarity index 52%
copy from helm/flink-operator/values.yaml
copy to helm/flink-operator/conf/flink-default-config/flink-conf.yaml
index 534ce59..485f99a 100644
--- a/helm/flink-operator/values.yaml
+++ b/helm/flink-operator/conf/flink-default-config/flink-conf.yaml
@@ -16,49 +16,11 @@
 # limitations under the License.
 
################################################################################
 
----
-
-operatorNamespace:
-  name: default
-
-# List of kubernetes namespaces to watch for FlinkDeployment changes, empty 
means all namespaces.
-# When enabled RBAC is only created for said namespaces, otherwise it is done 
for the cluster scope.
-# watchNamespaces: ["flink"]
-
-image:
-  repository: flink-operator
-  pullPolicy: IfNotPresent
-  tag: latest
-
-rbac:
-  create: true
-
-ingress:
-  create: false
-
-operatorServiceAccount:
-  create: true
-  annotations: {}
-  name: "flink-operator"
-
-jobServiceAccount:
-  create: true
-  annotations:
-    "helm.sh/resource-policy": keep
-  name: "flink"
-
-webhook:
-  create: true
-  keystore:
-    useDefaultPassword: true
-  # passwordSecretRef:
-  #   name: jks-password-secret
-  #   key: password-key
-
-imagePullSecrets: []
-nameOverride: ""
-fullnameOverride: ""
-
-# (Optional) Exposes metrics port on the container if defined
-metrics:
-  port:
+taskmanager.numberOfTaskSlots: 2
+blob.server.port: 6124
+jobmanager.rpc.port: 6123
+taskmanager.rpc.port: 6122
+queryable-state.proxy.ports: 6125
+jobmanager.memory.process.size: 1600m
+taskmanager.memory.process.size: 1728m
+parallelism.default: 2
diff --git 
a/helm/flink-operator/conf/flink-default-config/log4j-console.properties 
b/helm/flink-operator/conf/flink-default-config/log4j-console.properties
new file mode 100644
index 0000000..6ce93d2
--- /dev/null
+++ b/helm/flink-operator/conf/flink-default-config/log4j-console.properties
@@ -0,0 +1,62 @@
+################################################################################
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+# limitations under the License.
+################################################################################
+
+# This affects logging for both user code and Flink
+rootLogger.level = INFO
+rootLogger.appenderRef.console.ref = ConsoleAppender
+rootLogger.appenderRef.rolling.ref = RollingFileAppender
+
+# Uncomment this if you want to _only_ change Flink's logging
+#logger.flink.name = org.apache.flink
+#logger.flink.level = INFO
+
+# The following lines keep the log level of common libraries/connectors on
+# log level INFO. The root logger does not override this. You have to manually
+# change the log levels here.
+logger.akka.name = akka
+logger.akka.level = INFO
+logger.kafka.name= org.apache.kafka
+logger.kafka.level = INFO
+logger.hadoop.name = org.apache.hadoop
+logger.hadoop.level = INFO
+logger.zookeeper.name = org.apache.zookeeper
+logger.zookeeper.level = INFO
+
+# Log all infos to the console
+appender.console.name = ConsoleAppender
+appender.console.type = CONSOLE
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - 
%m%n
+
+# Log all infos in the given rolling file
+appender.rolling.name = RollingFileAppender
+appender.rolling.type = RollingFile
+appender.rolling.append = false
+appender.rolling.fileName = ${sys:log.file}
+appender.rolling.filePattern = ${sys:log.file}.%i
+appender.rolling.layout.type = PatternLayout
+appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - 
%m%n
+appender.rolling.policies.type = Policies
+appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
+appender.rolling.policies.size.size=100MB
+appender.rolling.strategy.type = DefaultRolloverStrategy
+appender.rolling.strategy.max = 10
+
+# Suppress the irrelevant (wrong) warnings from the Netty channel handler
+logger.netty.name = 
org.apache.flink.shaded.akka.org.jboss.netty.channel.DefaultChannelPipeline
+logger.netty.level = OFF
diff --git a/helm/flink-operator/values.yaml 
b/helm/flink-operator/conf/flink-operator-config/flink-conf.yaml
similarity index 52%
copy from helm/flink-operator/values.yaml
copy to helm/flink-operator/conf/flink-operator-config/flink-conf.yaml
index 534ce59..71ebacb 100644
--- a/helm/flink-operator/values.yaml
+++ b/helm/flink-operator/conf/flink-operator-config/flink-conf.yaml
@@ -16,49 +16,10 @@
 # limitations under the License.
 
################################################################################
 
----
+# operator.reconciler.reschedule.interval.sec: 60
+# operator.observer.rest-ready.delay.sec: 10
+# operator.observer.progress-check.interval.sec: 10
+# operator.observer.savepoint.trigger.grace-period.sec: 10
 
-operatorNamespace:
-  name: default
-
-# List of kubernetes namespaces to watch for FlinkDeployment changes, empty 
means all namespaces.
-# When enabled RBAC is only created for said namespaces, otherwise it is done 
for the cluster scope.
-# watchNamespaces: ["flink"]
-
-image:
-  repository: flink-operator
-  pullPolicy: IfNotPresent
-  tag: latest
-
-rbac:
-  create: true
-
-ingress:
-  create: false
-
-operatorServiceAccount:
-  create: true
-  annotations: {}
-  name: "flink-operator"
-
-jobServiceAccount:
-  create: true
-  annotations:
-    "helm.sh/resource-policy": keep
-  name: "flink"
-
-webhook:
-  create: true
-  keystore:
-    useDefaultPassword: true
-  # passwordSecretRef:
-  #   name: jks-password-secret
-  #   key: password-key
-
-imagePullSecrets: []
-nameOverride: ""
-fullnameOverride: ""
-
-# (Optional) Exposes metrics port on the container if defined
-metrics:
-  port:
+# metrics.reporter.slf4j.factory.class: 
org.apache.flink.metrics.slf4j.Slf4jReporterFactory
+# metrics.reporter.slf4j.interval: 5 MINUTE
diff --git a/helm/flink-operator/values.yaml 
b/helm/flink-operator/conf/flink-operator-config/log4j2.properties
similarity index 52%
copy from helm/flink-operator/values.yaml
copy to helm/flink-operator/conf/flink-operator-config/log4j2.properties
index 534ce59..148e177 100644
--- a/helm/flink-operator/values.yaml
+++ b/helm/flink-operator/conf/flink-operator-config/log4j2.properties
@@ -16,49 +16,11 @@
 # limitations under the License.
 
################################################################################
 
----
-
-operatorNamespace:
-  name: default
-
-# List of kubernetes namespaces to watch for FlinkDeployment changes, empty 
means all namespaces.
-# When enabled RBAC is only created for said namespaces, otherwise it is done 
for the cluster scope.
-# watchNamespaces: ["flink"]
-
-image:
-  repository: flink-operator
-  pullPolicy: IfNotPresent
-  tag: latest
-
-rbac:
-  create: true
-
-ingress:
-  create: false
-
-operatorServiceAccount:
-  create: true
-  annotations: {}
-  name: "flink-operator"
-
-jobServiceAccount:
-  create: true
-  annotations:
-    "helm.sh/resource-policy": keep
-  name: "flink"
-
-webhook:
-  create: true
-  keystore:
-    useDefaultPassword: true
-  # passwordSecretRef:
-  #   name: jks-password-secret
-  #   key: password-key
-
-imagePullSecrets: []
-nameOverride: ""
-fullnameOverride: ""
-
-# (Optional) Exposes metrics port on the container if defined
-metrics:
-  port:
+rootLogger.level = INFO
+rootLogger.appenderRef.console.ref = ConsoleAppender
+
+# Log all infos to the console
+appender.console.name = ConsoleAppender
+appender.console.type = CONSOLE
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %style{%d}{yellow} %style{%-30c{1.}}{cyan} 
%highlight{[%-5level] %msg%n%throwable}
diff --git a/helm/flink-operator/templates/flink-operator.yaml 
b/helm/flink-operator/templates/flink-operator.yaml
index cc3db68..33425a2 100644
--- a/helm/flink-operator/templates/flink-operator.yaml
+++ b/helm/flink-operator/templates/flink-operator.yaml
@@ -130,7 +130,7 @@ spec:
               path: keystore.p12
         {{- end }}
 ---
-
+{{- if .Values.operatorConfiguration.create }}
 apiVersion: v1
 kind: ConfigMap
 metadata:
@@ -140,23 +140,22 @@ metadata:
     {{- include "flink-operator.labels" . | nindent 4 }}
 data:
   flink-conf.yaml: |+
-    metrics.reporter.slf4j.factory.class: 
org.apache.flink.metrics.slf4j.Slf4jReporterFactory
-    metrics.reporter.slf4j.interval: 1 MINUTE
-    # metrics.scope.k8soperator: <host>.k8soperator.<namespace>.<name>
+{{- if not (eq (.Values.operatorConfiguration).append false) }}
+  {{- $.Files.Get "conf/flink-operator-config/flink-conf.yaml"  | nindent 4 -}}
+{{- end }}
+{{- if index (.Values.operatorConfiguration) "flink-conf.yaml" }}
+  {{- index (.Values.operatorConfiguration) "flink-conf.yaml" | nindent 4 -}}
+{{- end }}
   log4j2.properties: |+
-    rootLogger.level = DEBUG
-    rootLogger.appenderRef.console.ref = ConsoleAppender
-
-    logger.spring-web.name= org.springframework.web.filter
-    logger.spring-web.level = DEBUG
-
-    # Log all infos to the console
-    appender.console.name = ConsoleAppender
-    appender.console.type = CONSOLE
-    appender.console.layout.type = PatternLayout
-    appender.console.layout.pattern = %style{%d}{yellow} 
%style{%-30c{1.}}{cyan} %highlight{[%-5level] %msg%n%throwable}
+{{- if not (eq (.Values.operatorConfiguration).append false) }}
+  {{- $.Files.Get "conf/flink-operator-config/log4j2.properties"  | nindent 4 
-}}
+{{- end }}
+{{- if index (.Values.operatorConfiguration) "log4j2.properties" }}
+  {{- index (.Values.operatorConfiguration) "log4j2.properties" | nindent 4 -}}
+{{- end }}
+{{- end }}
 ---
-
+{{- if .Values.flinkDefaultConfiguration.create }}
 apiVersion: v1
 kind: ConfigMap
 metadata:
@@ -166,56 +165,17 @@ metadata:
     {{- include "flink-operator.labels" . | nindent 4 }}
 data:
   flink-conf.yaml: |+
-    taskmanager.numberOfTaskSlots: 2
-    blob.server.port: 6124
-    jobmanager.rpc.port: 6123
-    taskmanager.rpc.port: 6122
-    queryable-state.proxy.ports: 6125
-    jobmanager.memory.process.size: 1600m
-    taskmanager.memory.process.size: 1728m
-    parallelism.default: 2
+{{- if not (eq (.Values.flinkDefaultConfiguration).append false) }}
+  {{- $.Files.Get "conf/flink-default-config/flink-conf.yaml"  | nindent 4 -}}
+{{- end }}
+{{- if index (.Values.flinkDefaultConfiguration) "flink-conf.yaml" }}
+  {{- index (.Values.flinkDefaultConfiguration) "flink-conf.yaml" | nindent 4 
-}}
+{{- end }}
   log4j-console.properties: |+
-    # This affects logging for both user code and Flink
-    rootLogger.level = INFO
-    rootLogger.appenderRef.console.ref = ConsoleAppender
-    rootLogger.appenderRef.rolling.ref = RollingFileAppender
-
-    # Uncomment this if you want to _only_ change Flink's logging
-    #logger.flink.name = org.apache.flink
-    #logger.flink.level = INFO
-
-    # The following lines keep the log level of common libraries/connectors on
-    # log level INFO. The root logger does not override this. You have to 
manually
-    # change the log levels here.
-    logger.akka.name = akka
-    logger.akka.level = INFO
-    logger.kafka.name= org.apache.kafka
-    logger.kafka.level = INFO
-    logger.hadoop.name = org.apache.hadoop
-    logger.hadoop.level = INFO
-    logger.zookeeper.name = org.apache.zookeeper
-    logger.zookeeper.level = INFO
-
-    # Log all infos to the console
-    appender.console.name = ConsoleAppender
-    appender.console.type = CONSOLE
-    appender.console.layout.type = PatternLayout
-    appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c 
%x - %m%n
-
-    # Log all infos in the given rolling file
-    appender.rolling.name = RollingFileAppender
-    appender.rolling.type = RollingFile
-    appender.rolling.append = false
-    appender.rolling.fileName = ${sys:log.file}
-    appender.rolling.filePattern = ${sys:log.file}.%i
-    appender.rolling.layout.type = PatternLayout
-    appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c 
%x - %m%n
-    appender.rolling.policies.type = Policies
-    appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
-    appender.rolling.policies.size.size=100MB
-    appender.rolling.strategy.type = DefaultRolloverStrategy
-    appender.rolling.strategy.max = 10
-
-    # Suppress the irrelevant (wrong) warnings from the Netty channel handler
-    logger.netty.name = 
org.apache.flink.shaded.akka.org.jboss.netty.channel.DefaultChannelPipeline
-    logger.netty.level = OFF
+{{- if not (eq (.Values.flinkDefaultConfiguration).append false) }}
+  {{- $.Files.Get "conf/flink-default-config/log4j-console.properties"  | 
nindent 4 -}}
+{{- end }}
+{{- if index (.Values.flinkDefaultConfiguration) "log4j-console.properties" }}
+  {{- index (.Values.flinkDefaultConfiguration) "log4j-console.properties" | 
nindent 4 -}}
+{{- end }}
+{{- end }}
diff --git a/helm/flink-operator/values.yaml b/helm/flink-operator/values.yaml
index 534ce59..b9e8d93 100644
--- a/helm/flink-operator/values.yaml
+++ b/helm/flink-operator/values.yaml
@@ -55,10 +55,32 @@ webhook:
   #   name: jks-password-secret
   #   key: password-key
 
-imagePullSecrets: []
-nameOverride: ""
-fullnameOverride: ""
+operatorConfiguration:
+  create: true
+  # Set append to false to replace configuration files
+  # append: true
+  flink-conf.yaml: |+
+    metrics.reporter.slf4j.factory.class: 
org.apache.flink.metrics.slf4j.Slf4jReporterFactory
+    metrics.reporter.slf4j.interval: 5 MINUTE
+
+    operator.reconciler.reschedule.interval.sec: 15
+    operator.observer.progress-check.interval.sec: 5
+  log4j2.properties: |+
+    rootLogger.level = DEBUG
+
+flinkDefaultConfiguration:
+   create: true
+   # Set append to false to replace configuration files
+   # append: true
+   # flink-conf.yaml: |+
+   #   ...
+   # log4j-console.properties: |+
+   #   ...
 
 # (Optional) Exposes metrics port on the container if defined
 metrics:
   port:
+
+imagePullSecrets: []
+nameOverride: ""
+fullnameOverride: ""

Reply via email to