Skip to content

Latest commit

 

History

History

cp-schema-registry

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

cp-schema-registry

A Helm chart with cp-schema-registry for Kubernetes

Motivation

The original Helm chart for Confluent Schema Registry has been deprecated, and over time it became too bulky and outdated. That's why I've created a new, lighter, and more up-to-date Helm chart. This new chart is more streamlined and easier to customize.

Some of the key changes include:

  • Configurations that are compatible with the latest Kubernetes features
  • Easier setup, with more modular and flexible options

Maintainers

Name Email Url
ialejandro [email protected] https://ialejandro.rocks

Prerequisites

  • Helm 3+

Add repository

helm repo add devops-ia https://devops-ia.github.io/helm-charts
helm repo update

Install Helm chart (repository mode)

helm install [RELEASE_NAME] devops-ia/cp-schema-registry

This install all the Kubernetes components associated with the chart and creates the release.

See helm install for command documentation.

Uninstall Helm chart

helm uninstall [RELEASE_NAME]

This removes all the Kubernetes components associated with the chart and deletes the release.

See helm uninstall for command documentation.

Configuration

See Customizing the chart before installing. To see all configurable options with comments:

helm show values devops-ia/cp-schema-registry

Values

Key Type Default Description
affinity object {} Affinity for pod assignment
Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
autoscaling object {"enabled":false,"maxReplicas":100,"minReplicas":1,"targetCPUUtilizationPercentage":80} Autoscaling with CPU or memory utilization percentage
Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
env object {"SCHEMA_REGISTRY_HEAP_OPTS":"-Xms512M -Xmx512M","SCHEMA_REGISTRY_MASTER_ELIGIBILITY":"true"} Environment variables to configure application
Ref: https://docs.confluent.io/platform/current/schema-registry/installation/config.html#schemaregistry-config
envFromSecrets object {} Secrets from variables
fullnameOverride string "" String to fully override cp-schema-registry.fullname template
image object {"pullPolicy":"IfNotPresent","repository":"confluentinc/cp-schema-registry","tag":""} Image registry The image configuration for the base service
imagePullSecrets list [] Global Docker registry secret names as an array
ingress object {"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}],"tls":[]} Ingress configuration to expose app
Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
initContainers list [] Configure additional containers
Ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
livenessProbe object {"enabled":false,"failureThreshold":3,"initialDelaySeconds":180,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":5} Configure liveness checker
Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-startup-probes
livenessProbeCustom object {} Custom livenessProbe
metrics object {"enabled":false,"exporter":{"enabled":false,"image":{"pullPolicy":"IfNotPresent","repository":"solsson/kafka-prometheus-jmx-exporter@sha256","tag":"6f82e2b0464f50da8104acd7363fb9b995001ddff77d248379f8788e78946143"},"port":5556,"resources":{}},"port":5555} Enable metrics
metrics.enabled bool false Enable or disable
metrics.exporter object {"enabled":false,"image":{"pullPolicy":"IfNotPresent","repository":"solsson/kafka-prometheus-jmx-exporter@sha256","tag":"6f82e2b0464f50da8104acd7363fb9b995001ddff77d248379f8788e78946143"},"port":5556,"resources":{}} prometheus-jmx-exporter configuration
metrics.exporter.enabled bool false Enable or disable
metrics.exporter.image object {"pullPolicy":"IfNotPresent","repository":"solsson/kafka-prometheus-jmx-exporter@sha256","tag":"6f82e2b0464f50da8104acd7363fb9b995001ddff77d248379f8788e78946143"} Image registry The image configuration for the base service
metrics.exporter.port int 5556 Expose exporter port
metrics.exporter.resources object {} Resources limits and requested
Ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
metrics.port int 5555 Expose metrics port
nameOverride string "" String to partially override cp-schema-registry.fullname template (will maintain the release name)
nodeSelector object {} Node labels for pod assignment
Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector
podAnnotations object {} Configure annotations on Pods
podDisruptionBudget object {"enabled":false,"maxUnavailable":1,"minAvailable":null} Pod Disruption Budget
Ref: https://kubernetes.io/docs/reference/kubernetes-api/policy-resources/pod-disruption-budget-v1/
podLabels object {} Configure labels on Pods
podSecurityContext object {} Defines privilege and access control settings for a Pod
Ref: https://kubernetes.io/docs/concepts/security/pod-security-standards/
Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
readinessProbe object {"enabled":false,"failureThreshold":3,"initialDelaySeconds":10,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1} Configure readinessProbe checker
Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-startup-probes
readinessProbeCustom object {} Custom readinessProbe
replicaCount int 1 Number of replicas Specifies the number of replicas for the service
resources object {} Resources limits and requested
Ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
secrets object {} Secrets values to create credentials and reference by envFromSecrets Generate Secret with following name: -credentials
securityContext object {} Defines privilege and access control settings for a Container
Ref: https://kubernetes.io/docs/concepts/security/pod-security-standards/
Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
service object {"port":8081,"targetPort":8081,"type":"ClusterIP"} Kubernetes service to expose Pod
Ref: https://kubernetes.io/docs/concepts/services-networking/service/
service.port int 8081 Kubernetes Service port
service.targetPort int 8081 Pod expose port
service.type string "ClusterIP" Kubernetes Service type. Allowed values: NodePort, LoadBalancer or ClusterIP
serviceAccount object {"annotations":{},"automount":true,"create":true,"name":""} Enable creation of ServiceAccount
serviceMonitor object {"enabled":false,"interval":"30s","metricRelabelings":[],"relabelings":[],"scrapeTimeout":"10s"} Enable ServiceMonitor to get metrics
Ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#servicemonitor
serviceMonitor.enabled bool false Enable or disable
startupProbe object {"enabled":false,"failureThreshold":30,"initialDelaySeconds":180,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":5} Configure startupProbe checker
Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-startup-probes
startupProbeCustom object {} Custom startupProbe
testConnection bool false Enable or disable test connection
tolerations list [] Tolerations for pod assignment
Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
volumeMounts list [] Additional volumeMounts on the output Deployment definition
volumes list [] Additional volumes on the output Deployment definition