Skip to content

Commit

Permalink
Extend StreamsBootstrap model
Browse files Browse the repository at this point in the history
  • Loading branch information
raminqaf committed Oct 21, 2024
1 parent 1db2cd4 commit f734f40
Show file tree
Hide file tree
Showing 6 changed files with 707 additions and 1 deletion.
302 changes: 302 additions & 0 deletions docs/docs/schema/defaults.json
Original file line number Diff line number Diff line change
Expand Up @@ -832,6 +832,56 @@
"title": "PipelineComponent",
"type": "object"
},
"PortConfig": {
"description": "Base class for the port configuration of the Kafka Streams application.",
"properties": {
"containerPort": {
"description": "",
"title": "Containerport",
"type": "integer"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Services can reference port by name (optional).",
"title": "Name"
},
"schema": {
"allOf": [
{
"$ref": "#/$defs/ProtocolSchema"
}
],
"default": "TCP",
"description": "Protocol for port. Must be UDP, TCP, or SCTP."
},
"servicePort": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of the port of the service (optional)",
"title": "Serviceport"
}
},
"required": [
"containerPort"
],
"title": "PortConfig",
"type": "object"
},
"ProducerApp": {
"additionalProperties": true,
"description": "Producer component.\nThis producer holds configuration to use as values for the streams-bootstrap producer Helm chart. Note that the producer does not support error topics.",
Expand Down Expand Up @@ -1054,6 +1104,33 @@
"additionalProperties": true,
"description": "Settings specific to producers.",
"properties": {
"commandLine": {
"description": "Map of command line arguments passed to the streams app.",
"title": "Commandline",
"type": "object"
},
"configurationEnvPrefix": {
"default": "APP",
"description": "Prefix for environment variables to use that should be parsed as command line arguments.",
"title": "Configurationenvprefix",
"type": "string"
},
"env": {
"additionalProperties": {
"type": "string"
},
"description": "Custom environment variables.",
"title": "Env",
"type": "object"
},
"files": {
"additionalProperties": {
"type": "string"
},
"description": "Map of files to mount for the app. File will be mounted as $value.mountPath/$key. $value.content denotes file content (recommended to be used with --set-file).",
"title": "Files",
"type": "object"
},
"imageTag": {
"default": "latest",
"description": "Docker image tag of the streams-bootstrap app.",
Expand Down Expand Up @@ -1082,6 +1159,46 @@
"default": null,
"description": "Helm chart name override, assigned automatically",
"title": "Nameoverride"
},
"ports": {
"description": "",
"items": {
"$ref": "#/$defs/PortConfig"
},
"title": "Ports",
"type": "array"
},
"secretFilesRefs": {
"description": "Mount existing secrets as volumes",
"items": {
"type": "string"
},
"title": "Secretfilesrefs",
"type": "array"
},
"secretRefs": {
"additionalProperties": {
"type": "string"
},
"description": "Inject existing secrets as environment variables. Map key is used as environment variable name. Value consists of secret name and key.",
"title": "Secretrefs",
"type": "object"
},
"secrets": {
"additionalProperties": {
"type": "string"
},
"description": "Custom secret environment variables. Prefix with configurationEnvPrefix in order to pass secrets to command line or prefix with KAFKA_ to pass secrets to Kafka Streams configuration.",
"title": "Secrets",
"type": "object"
},
"service": {
"allOf": [
{
"$ref": "#/$defs/ServiceConfig"
}
],
"description": ""
}
},
"required": [
Expand Down Expand Up @@ -1190,6 +1307,16 @@
"title": "ProducerStreamsConfig",
"type": "object"
},
"ProtocolSchema": {
"description": "Represents the different Kubernetes protocols.\n\nhttps://kubernetes.io/docs/reference/networking/service-protocols/",
"enum": [
"TCP",
"UDP",
"SCTP"
],
"title": "ProtocolSchema",
"type": "string"
},
"RepoAuthFlags": {
"description": "Authorisation-related flags for `helm repo`.",
"properties": {
Expand Down Expand Up @@ -1257,6 +1384,47 @@
"title": "RepoAuthFlags",
"type": "object"
},
"ServiceConfig": {
"description": "Base model for configuring a service for the Kafka Streams application.",
"properties": {
"enabled": {
"default": false,
"description": "Whether to create a service.",
"title": "Enabled",
"type": "boolean"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"description": "Additional service labels.",
"title": "Labels",
"type": "object"
},
"type": {
"allOf": [
{
"$ref": "#/$defs/ServiceType"
}
],
"default": "ClusterIP",
"description": "Service type."
}
},
"title": "ServiceConfig",
"type": "object"
},
"ServiceType": {
"description": "Represents the different Kubernetes service types.\n\nhttps://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types",
"enum": [
"ClusterIP",
"NodePort",
"LoadBalancer",
"ExternalName"
],
"title": "ServiceType",
"type": "string"
},
"StreamsApp": {
"additionalProperties": true,
"description": "StreamsApp component that configures a streams-bootstrap app.",
Expand Down Expand Up @@ -1536,6 +1704,33 @@
"default": null,
"description": "Kubernetes event-driven autoscaling config"
},
"commandLine": {
"description": "Map of command line arguments passed to the streams app.",
"title": "Commandline",
"type": "object"
},
"configurationEnvPrefix": {
"default": "APP",
"description": "Prefix for environment variables to use that should be parsed as command line arguments.",
"title": "Configurationenvprefix",
"type": "string"
},
"env": {
"additionalProperties": {
"type": "string"
},
"description": "Custom environment variables.",
"title": "Env",
"type": "object"
},
"files": {
"additionalProperties": {
"type": "string"
},
"description": "Map of files to mount for the app. File will be mounted as $value.mountPath/$key. $value.content denotes file content (recommended to be used with --set-file).",
"title": "Files",
"type": "object"
},
"imageTag": {
"default": "latest",
"description": "Docker image tag of the streams-bootstrap app.",
Expand Down Expand Up @@ -1578,6 +1773,46 @@
},
"description": ""
},
"ports": {
"description": "",
"items": {
"$ref": "#/$defs/PortConfig"
},
"title": "Ports",
"type": "array"
},
"secretFilesRefs": {
"description": "Mount existing secrets as volumes",
"items": {
"type": "string"
},
"title": "Secretfilesrefs",
"type": "array"
},
"secretRefs": {
"additionalProperties": {
"type": "string"
},
"description": "Inject existing secrets as environment variables. Map key is used as environment variable name. Value consists of secret name and key.",
"title": "Secretrefs",
"type": "object"
},
"secrets": {
"additionalProperties": {
"type": "string"
},
"description": "Custom secret environment variables. Prefix with configurationEnvPrefix in order to pass secrets to command line or prefix with KAFKA_ to pass secrets to Kafka Streams configuration.",
"title": "Secrets",
"type": "object"
},
"service": {
"allOf": [
{
"$ref": "#/$defs/ServiceConfig"
}
],
"description": ""
},
"statefulSet": {
"default": false,
"description": "Whether to use a Statefulset instead of a Deployment to deploy the streams app.",
Expand Down Expand Up @@ -1817,6 +2052,33 @@
"additionalProperties": true,
"description": "Base value class for all streams bootstrap related components.",
"properties": {
"commandLine": {
"description": "Map of command line arguments passed to the streams app.",
"title": "Commandline",
"type": "object"
},
"configurationEnvPrefix": {
"default": "APP",
"description": "Prefix for environment variables to use that should be parsed as command line arguments.",
"title": "Configurationenvprefix",
"type": "string"
},
"env": {
"additionalProperties": {
"type": "string"
},
"description": "Custom environment variables.",
"title": "Env",
"type": "object"
},
"files": {
"additionalProperties": {
"type": "string"
},
"description": "Map of files to mount for the app. File will be mounted as $value.mountPath/$key. $value.content denotes file content (recommended to be used with --set-file).",
"title": "Files",
"type": "object"
},
"imageTag": {
"default": "latest",
"description": "Docker image tag of the streams-bootstrap app.",
Expand Down Expand Up @@ -1845,6 +2107,46 @@
"default": null,
"description": "Helm chart name override, assigned automatically",
"title": "Nameoverride"
},
"ports": {
"description": "",
"items": {
"$ref": "#/$defs/PortConfig"
},
"title": "Ports",
"type": "array"
},
"secretFilesRefs": {
"description": "Mount existing secrets as volumes",
"items": {
"type": "string"
},
"title": "Secretfilesrefs",
"type": "array"
},
"secretRefs": {
"additionalProperties": {
"type": "string"
},
"description": "Inject existing secrets as environment variables. Map key is used as environment variable name. Value consists of secret name and key.",
"title": "Secretrefs",
"type": "object"
},
"secrets": {
"additionalProperties": {
"type": "string"
},
"description": "Custom secret environment variables. Prefix with configurationEnvPrefix in order to pass secrets to command line or prefix with KAFKA_ to pass secrets to Kafka Streams configuration.",
"title": "Secrets",
"type": "object"
},
"service": {
"allOf": [
{
"$ref": "#/$defs/ServiceConfig"
}
],
"description": ""
}
},
"required": [
Expand Down
Loading

0 comments on commit f734f40

Please sign in to comment.