UNCLASSIFIED

Commit 6fb97e4d authored by kwami.delali's avatar kwami.delali Committed by sean.melissari
Browse files

Merge 3.6.2 into development

parent dd346ef9
...@@ -2,7 +2,10 @@ ARG BASE_REGISTRY=registry1.dsop.io ...@@ -2,7 +2,10 @@ ARG BASE_REGISTRY=registry1.dsop.io
ARG BASE_IMAGE=ironbank/redhat/openjdk/openjdk8 ARG BASE_IMAGE=ironbank/redhat/openjdk/openjdk8
ARG BASE_TAG=1.8.0 ARG BASE_TAG=1.8.0
FROM docker.io/zookeeper:3.6.0 as base ARG ZK_VERSION=3.6.2
ARG DISTRO_NAME=apache-zookeeper-${ZK_VERSION}-bin
FROM docker.io/zookeeper:${ZK_VERSION} as base
FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG}
...@@ -10,10 +13,10 @@ LABEL org.opencontainers.image.title="zookeeper" \ ...@@ -10,10 +13,10 @@ LABEL org.opencontainers.image.title="zookeeper" \
org.opencontainers.image.description="A distributed configuration service, synchronization service, and naming registry for large distributed systems" \ org.opencontainers.image.description="A distributed configuration service, synchronization service, and naming registry for large distributed systems" \
org.opencontainers.image.licenses="MIT" \ org.opencontainers.image.licenses="MIT" \
org.opencontainers.image.url="https://zookeeper.apache.org/" \ org.opencontainers.image.url="https://zookeeper.apache.org/" \
org.opencontainers.image.version="3.6.0" \ org.opencontainers.image.version="${ZK_VERSION}" \
maintainer="cht@dsop.io" maintainer="cht@dsop.io"
ARG DISTRO_NAME=apache-zookeeper-3.6.0-bin ARG DISTRO_NAME
ENV ZOO_CONF_DIR=/${DISTRO_NAME}/conf \ ENV ZOO_CONF_DIR=/${DISTRO_NAME}/conf \
ZOO_DATA_DIR=/$DISTRO_NAME/data \ ZOO_DATA_DIR=/$DISTRO_NAME/data \
......
@Library('DCCSCR@master') _ @Library('DCCSCR@master') _
dccscrPipeline( version: "3.6.0" ) dccscrPipeline( version: "3.6.2" )
...@@ -2,6 +2,10 @@ ...@@ -2,6 +2,10 @@
Apache ZooKeeper is a software project of the Apache Software Foundation, providing an open source distributed configuration service, synchronization service, and naming registry for large distributed systems. Apache ZooKeeper is a software project of the Apache Software Foundation, providing an open source distributed configuration service, synchronization service, and naming registry for large distributed systems.
## Deployment
ZooKeeper can be deployed by using the corresponding [Helm chart](https://repo1.dsop.io/dsop/charts/-/tree/development/bitnami/zookeeper). Please refer to the chart's README for specific instructions.
## Configuration ## Configuration
### Exposed ports ### Exposed ports
......
## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
## Current available global Docker image parameters: imageRegistry and imagePullSecrets
##
# global:
# imageRegistry: myRegistryName
# imagePullSecrets:
# - myRegistryKeySecretName
# storageClass: myStorageClass
## Bitnami Zookeeper image version
## ref: https://hub.docker.com/r/bitnami/zookeeper/tags/
##
image:
registry: registry1.dsop.io
repository: ironbank/opensource/apache/zookeeper
tag: 3.6.2
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
##
# pullSecrets:
# - myRegistryKeySecretName
## Set to true if you would like to see extra information on logs
## It turns BASH and NAMI debugging in minideb
## ref: https://github.com/bitnami/minideb-extras/#turn-on-bash-debugging
##
debug: false
## String to partially override zookeeper.fullname template (will maintain the release name)
# nameOverride:
## String to fully override zookeeper.fullname template
# fullnameOverride:
## Kubernetes Cluster Domain
##
clusterDomain: cluster.local
## Add labels to all the deployed resources
##
commonLabels: {}
## Add annotations to all the deployed resources
##
commonAnnotations: {}
## Init containers parameters:
## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
##
volumePermissions:
enabled: false
image:
registry: docker.io
repository: bitnami/minideb
tag: buster
pullPolicy: Always
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
##
# pullSecrets:
# - myRegistryKeySecretName
resources: {}
## extraVolumes and extraVolumeMounts allows you to mount other volumes
## Example Use Cases:
## mount certificates to enable tls
# extraVolumes:
# - name: zookeeper-keystore
# secret:
# defaultMode: 288
# secretName: zookeeper-keystore
# - name: zookeeper-trustsore
# secret:
# defaultMode: 288
# secretName: zookeeper-truststore
# extraVolumeMounts:
# - name: zookeeper-keystore
# mountPath: /certs/keystore
# readOnly: true
# - name: zookeeper-truststore
# mountPath: /certs/truststore
# readOnly: true
## StatefulSet controller supports automated updates. There are two valid update strategies: RollingUpdate and OnDelete
## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets
##
updateStrategy: RollingUpdate
## Limits the number of pods of the replicated application that are down simultaneously from voluntary disruptions
## The PDB will only be created if replicaCount is greater than 1
## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions
##
podDisruptionBudget:
maxUnavailable: 1
## Partition update strategy
## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions
##
# rollingUpdatePartition:
## StatefulSet controller supports relax its ordering guarantees while preserving its uniqueness and identity guarantees. There are two valid pod management policies: OrderedReady and Parallel
## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy
##
podManagementPolicy: Parallel
## Number of ZooKeeper nodes
##
replicaCount: 3
## Basic time unit in milliseconds used by ZooKeeper for heartbeats
##
tickTime: 2000
## ZooKeeper uses to limit the length of time the ZooKeeper servers in quorum have to connect to a leader
##
initLimit: 10
## How far out of date a server can be from a leader
##
syncLimit: 5
## Limits the number of concurrent connections that a single client may make to a single member of the ZooKeeper ensemble
##
maxClientCnxns: 60
## Maximum session timeout in milliseconds that the server will allow the client to negotiate. Defaults to 20 times the tickTime.
##
maxSessionTimeout: 40000
## A list of comma separated Four Letter Words commands to use
##
fourlwCommandsWhitelist: srvr, mntr, ruok
## Allow zookeeper to listen for peers on all IPs
##
listenOnAllIPs: false
## Allow to accept connections from unauthenticated users
##
allowAnonymousLogin: true
autopurge:
## Retains the snapRetainCount most recent snapshots and the corresponding transaction logs and deletes the rest
##
snapRetainCount: 3
## The time interval in hours for which the purge task has to be triggered. Set to a positive integer (1 and above) to enable the auto purging.
##
purgeInterval: 0
auth:
## Use existing secret (ignores previous password)
##
# existingSecret:
## Enable Zookeeper auth. It uses SASL/Digest-MD5
##
enabled: false
## User that will use Zookeeper clients to auth
##
clientUser:
## Password that will use Zookeeper clients to auth
##
clientPassword:
## Comma, semicolon or whitespace separated list of user to be created. Specify them as a string, for example: "user1,user2,admin"
##
serverUsers:
## Comma, semicolon or whitespace separated list of passwords to assign to users when created. Specify them as a string, for example: "pass4user1, pass4user2, pass4admin"
##
serverPasswords:
## Size in MB for the Java Heap options (Xmx and XMs). This env var is ignored if Xmx an Xms are configured via JVMFLAGS
##
heapSize: 1024
## Log level for the Zookeeper server. ERROR by default. Have in mind if you set it to INFO or WARN the ReadinessProve will produce a lot of logs.
##
logLevel: ERROR
## Data log directory. Specifying this option will direct zookeeper to write the transaction log to the dataLogDir rather than the dataDir.
## This allows a dedicated log device to be used, and helps avoid competition between logging and snaphots.
## Example:
## dataLogDir: /bitnami/zookeeper/dataLog
##
dataLogDir: ""
## Default JVMFLAGS for the ZooKeeper process
##
# jvmFlags:
## Configure ZooKeeper with a custom zoo.cfg file
##
# config:
## Kubernetes configuration
## For minikube, set this to NodePort, elsewhere use LoadBalancer
##
service:
type: ClusterIP
port: 2181
followerPort: 2888
electionPort: 3888
publishNotReadyAddresses: true
tls:
client_enable: true
quorum_enable: true
disable_base_client_port: true
client_port: 3181
client_keystore_path: /tls_key_store/key_store_file
client_keystore_password: ""
client_truststore_path: /tls_trust_store/trust_store_file
client_truststore_password: ""
quorum_keystore_path: /tls_key_store/key_store_file
quorum_keystore_password: ""
quorum_truststore_path: /tls_trust_store/trust_store_file
quorum_truststore_password: ""
annotations: {}
headless:
annotations: {}
## Service account for Zookeeper to use.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
##
serviceAccount:
## Specifies whether a ServiceAccount should be created
##
create: false
## The name of the ServiceAccount to use.
## If not set and create is true, a name is generated using the zookeeper.fullname template
# name:
## Zookeeper Pod Security Context
securityContext:
enabled: true
fsGroup: 1001
runAsUser: 1001
## Zookeeper data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
persistence:
enabled: true
## A manually managed Persistent Volume and Claim
## If defined, PVC must be created manually before volume will be bound
## The value is evaluated as a template
##
# existingClaim:
# storageClass: "-"
accessModes:
- ReadWriteOnce
size: 8Gi
annotations: {}
dataLogDir:
size: 8Gi
## A manually managed Persistent Volume and Claim
## If defined, PVC must be created manually before volume will be bound
## The value is evaluated as a template
##
# existingClaim:
## Node labels for pod assignment
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}
## Tolerations for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## Labels
## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
podLabels: {}
## Annotations
## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
podAnnotations: {}
## Name of the priority class to be used by zookeeper pods, priority class needs to be created beforehand
## Ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
priorityClassName: ""
## Affinity for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
##
affinity: {}
## Scheduler name
## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
##
# schedulerName: stork
## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
resources:
requests:
memory: 256Mi
cpu: 250m
## Configure extra options for liveness and readiness probes
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
##
livenessProbe:
enabled: true
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
probeCommandTimeout: 2
readinessProbe:
enabled: true
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
probeCommandTimeout: 2
## Network policies
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
##
networkPolicy:
## Specifies whether a NetworkPolicy should be created
##
enabled: true
## The Policy model to apply. When set to false, only pods with the correct
## client label will have network access to the port Redis is listening
## on. When true, zookeeper accept connections from any source
## (with the correct destination port).
##
allowExternal: true
## Zookeeper Prometheus Exporter configuration
##
metrics:
enabled: false
## Zookeeper Prometheus Exporter container port
##
containerPort: 9141
## Service configuration
##
service:
## Zookeeper Prometheus Exporter service type
##
type: ClusterIP
## Zookeeper Prometheus Exporter service port
##
port: 9141
## Annotations for the Zookeeper Prometheus Exporter metrics service
##
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "{{ .Values.metrics.service.port }}"
prometheus.io/path: "/metrics"
## Prometheus Operator ServiceMonitor configuration
##
serviceMonitor:
enabled: false
## Namespace for the ServiceMonitor Resource (defaults to the Release Namespace)
##
namespace:
## Interval at which metrics should be scraped.
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
##
# interval: 10s
## Timeout after which the scrape is ended
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
##
# scrapeTimeout: 10s
## ServiceMonitor selector labels
## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
##
# selector:
# prometheus: my-prometheus
## Prometheus Operator PrometheusRule configuration
##
prometheusRule:
enabled: false
## Namespace for the PrometheusRule Resource (defaults to the Release Namespace)
##
namespace:
## PrometheusRule selector labels
## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
##
# selector:
# prometheus: my-prometheus
## Some example rules.
rules: []
# - alert: ZookeeperSyncedFollowers
# annotations:
# message: The number of synced followers for the leader node in Zookeeper deployment my-release is less than 2. This usually means that some of the Zookeeper nodes aren't communicating properly. If it doesn't resolve itself you can try killing the pods (one by one).
# expr: max(synced_followers{service="my-release-metrics"}) < 2
# for: 5m
# labels:
# severity: critical
# - alert: ZookeeperOutstandingRequests
# annotations:
# message: The number of outstanding requests for Zookeeper pod {{ $labels.pod }} is greater than 10. This can indicate a performance issue with the Pod or cluster a whole.
# expr: outstanding_requests{service="my-release-metrics"} > 10
# for: 5m
# labels:
# severity: critical
resources: resources:
- url: "docker://docker.io/zookeeper@sha256:f7aa8d66c6ae331237acfa8314395af9a5aee0748a341d5a5ea02b2cf7dfe8c8" - url: "docker://docker.io/zookeeper@sha256:a6ba8cd94070ecd6d30f0c2c0911dc04c7d6c7eef77e35460d8e43cdb7a0bd33"
tag: "docker.io/zookeeper:3.6.0" tag: "docker.io/zookeeper:3.6.2"
{
"assignees": ["@kwami.delali"],
"baseBranches": ["development"],
"regexManagers": [
{
"fileMatch": ["^Dockerfile$"],
"matchStrings": [
"ZK_VERSION=(?<currentValue>.*?)"
],
"depNameTemplate": "zookeeper",
"datasourceTemplate": "docker"
},
{
"fileMatch": ["^Jenkinsfile$"],
"matchStrings": [
"version:\\s+\"(?<currentValue>.*?)\""
],
"depNameTemplate": "zookeeper",
"datasourceTemplate": "docker"
}
]
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment