chart_name: nplus-component-pipeliner

chart_description: nscale Pipeliner, the mass import / export tool of nscale


key: env

description: Sets additional environment variables for the configuration.


key: envMap

description: Sets the name of a configMap, which holds additional environment variables for the configuration. It is added as envFrom configMap to the container.


key: envSecret

description: Sets the name of a secret, which holds additional environment variables for the configuration. It is added as envFrom secretRef to the container.


key: fullnameOverride

description: This overrides the output of the internal fullname function


key: image

description: provide the image to be used for this component


the name of the image to use


you can provide your own pullSecrets, in case you use a private repo.


if you use a private repo, feel free to set it here


the tag of the image to use


key: ingress

description: Ingress defines wether this component is reachable via an ingress controller, Layer 7, through http(s)


Adds extra Annotations to the ingress


description: sets the ingress controller backend template behavior (`nginx` or `traefik`)

default: `nginx`


description: Overrides the default backend protocol. The default is http, unless in zeroTrust Mode, then it is switched to https automatically.

default: `http` <br> `https` in zero trust mode


description: The ingressclass to use for this ingress. Most likely, this is provided globally by the instance, but you are free to override it here if this component should use a different class e.g. if you have separated ingress controllers, like a public and an internal one

default: `public`


The default service context path for this ingress. Some components allow to change this (e.g. SharePoint), for the most though this is only a constant used in the scripts.


on component level, set cookie affinity for the ingress example: `XtConLoadBalancerSession` for nscale Web


deny is used to exclude specific paths from public access, such as administrative paths. For Example, in nappl, webc ist the hessian protocol, webb is the burlap protocol. The configuration service is the endpoint used by the Admin client.


Sets the domain to be used. This domain should be provided by the instance globally for all components, but you are free to override it here


You can toggle the ingress on wether you'd like this component to be reachable through an ingress or not.


defines the path for a potential rewriting to `rewriteTarget`. Do not change unless you have a good reason Example: `/nscalealinst1(/\|$)(.*)` @internal -- This is an alpha feature - do not use it.


description: Specify the namespace in which the ingress controller runs. This sets the firewall rule / networkPolicy to allow traffic from this namespace to our pods. This may be a comma separated list

default: "ingress, kube-system, ingress-nginx, nginx-gateway"


description: set the provider to `gateway` or `ingress`, depending on what type you prefer

default: `ingress`


Sets the annotation `nginx.ingress.kubernetes.io/proxy-read-timeout` on the ingress object, if set. This is an annotation for nginx, so won't work with other ingress controllers, like Traefik.


defines a rewriteTarget for a potential retriting of `inputPath`. Do not change unless you have a good reason Example: `/nscalealinst1/$2` @internal -- This is an alpha feature - do not use it.


on component level, if you set cookie affinity, you can also set the sameSite setting (to strict, lax or none)


description: Sets the name of the tls secret to be used for this ingress, that contains the private and public key. These secrets can optionally be provided by the instance

default: `{{ .this.ingress.domain }}-tls`


optionally sets a whitelist of ip ranges (CIDR format, comma separated) from which ingress is allowed. This is an annotation for nginx, so won't work with other ingress controllers


key: initContainers

description: Optional hook to add your own init containers to any of the components. Will be omitted if empty. Example: initContainers:   - name: myInit     image: myImage     command: [ "/startup.sh" ]


This is the version of the component, used for display @internal -- set by devOps pipeline, so do not modify


Sets the language of the main service (in the *service* container). This is used for instance if you turn OpenTelemetry on, to know which Agent to inject into the container.


lists the ports this component exposes. This is important for zero trust mode and others.


The http port this component uses (if any). In zero trust mode, this will be disabled. @internal -- this is a constant value of the component and should not be changed.


The tls / https port, this component uses (if any) @internal -- this is a constant value of the component and should not be changed.


A potential rmi port, this component uses (if any) @internal -- this is a constant value of the component and should not be changed.


A potential tcp port, this component uses (if any) @internal -- this is a constant value of the component and should not be changed.


A potential tls / tcps port, this component uses (if any) @internal -- this is a constant value of the component and should not be changed.


sets provider (partner, reseller) information to be able to invoice per use in a cloud environment


The container name of the main service for this component. This is used to define where to inject the telemetry agents, if any


A optional parameter to indicate the stage (DEV, QA, PROD, ...) this component, instance or environment runs in. This can be used in template functions to add the stage to for instance the service name of telemetry services like open telemetry. (see telemetry example)


sets tenant information to be able to invoice per use in a cloud environment


the type of the component. You should not change this value, except if you use a pipeliner in core mode. In core mode, it should be *core*, else *pipeliner* This type is used to create cluster communication for nappl and nstl and potentially group multiple replicaSets into one service.


Sets the wave in which this component should be deployed within an ArgoCD deployment if unset, it uses the default wave thus all components are installed in one wave, then relying on correct wait settings just like in a helm installation


key: minReplicaCountType

description: if you set minReplicaCountType, a podDesruptionBudget will be created with this value as minAvailable, using the component type as selector. This is useful for components, that are spread across multiple replicaSets, like sharepoint or storage layer


You can add a file with trusted Root Certificates (e.g. Azure), to be able to connect to alien services via https. If you have a self-signed root certificate, you can also add it here.


Alternative 2: the name of the configMap to use. The Key has to be the File Name used in the path setting


Sets the path to the certs folder. @internal -- do not change this value


Alternative 1: the name of the secret to use. The Key has to be the File Name used in the path setting


the java based nscale components have their own certificates, that you might want to upload. You can normally do so via the environment configuration, but should you want to use a secret, you can set it here


Sets the path to the component certs. @internal -- do not change this value


The conf volume is a RWX volume mounted by the environment, that holds all configurations of all instances and components in this environment


Sets the path to the conf files @internal -- do not change this value


Sets a list of paths to the conf files @internal -- do not change this value


Sets the class of the data disk


Sets the path to the data files @internal -- do not change this value


Sets a list of paths to the data files @internal -- do not change this value


Sets the size of the data disk


If you do not want to have a Volume created by the provisioner, you can set the name of your volume here to attach to this pre-existing one


Sets the class of the disk


enables the use of the second data disk. If enabled, all paths defined will end up on this disk. In case of the (default) disabled, the paths will be added to the primaty data disk.


Enables the migration init container. This will copy the data in paths from the primary data disk to the newly enabled secondary disk. This is done only once and only if there is legacy data at all. No files are overwritten!


Sets the path to the disk files @internal -- do not change this value


Sets the size of the disk


Sets the class of the shared disk


Sets the path to the shared files @internal -- do not change this value


Sets a list of paths to the shared files @internal -- do not change this value


Sets the size of the shared disk


If you want to use additional fonts like the msttcorefonts (Microsoft Core Fonts). This mounts the fonts directory from the environment pool


Sets the path to the fonts folder. @internal -- do not change this value


Allows to define generic mounts of pre-provisioned PVs into any container. This can be used e.g. to mount migration nfs, cifs / samba shares into a pipeliner container.


some nscale Components require a license file and this defines it's location


Sets the path to the license files @internal -- do not change this value


The log volume is used to take any left-over logging in the container. The container should log to stdout, but if any component still tries to log to disk this disk needs to be writeable


Sets the path to the log files @internal -- do not change this value


Sets a list of paths to the log files @internal -- do not change this value


Sets the size of the log disk (all paths)


Sets the path to a directory, there the `pool` folder from the `conf` volume should be mounted. this is used to store scripts, apps and assets that are required to deploy an application / solution @internal -- do not change this value


The temp volume is used to hold any superflues and temporary data. it is deleted when the pod terminates. However, it is extremely important as all pods filesystems are read only


Sets the path for temporary files that are persisted @internal -- do not change this value


Sets a list of paths for temporary files that are persisted @internal -- do not change this value


Sets the medium of the temporary disk (all paths) optionally to Memory, which will create an in-memory tmpfs volume. This is useful for very fast temporary storage, but be aware that the data will be lost when the pod terminates and that it will consume memory resources of the node.


Sets the path to the temporary files @internal -- do not change this value


Sets a list of paths to the temporary files @internal -- do not change this value


Sets the size of the temporary disk (all paths)


key: nameOverride

description: This overrides the output of the internal name function


key: nodeSelector

description: select specific nodes for this component


key: probes

description: Optional means to override the default probes of the main container of the component


key: resources

description: Assigns hardware resources to container


Limits the maximum resources


The maximum allowed CPU for the container


The maximum allowed RAM for the container


Requests are used to assign a minimum to a container. This is the guaranteed amount


Set the share of guaranteed CPU to the container.


Set the share of guaranteed RAM to the container


key: security

description: Security Section defining default runtime environment for your container


Some functionality may need the possibility to allow privilege escalation. This should be very restrictive @internal -- you should not change this


Capabilities this container should have. Only allow the necessity, and drop as many as possible @internal -- you should not change this


sets the container root file system to read only. This should be the case in production environment @internal -- you should not change this


The file system group as which new files are created @internal -- there is normally no need to change this


Under which condition should the fsGroup be changed @internal -- there is normally no need to change this


The user under which the container ist run. Avoid 0 / root. The container should run in a non-root context for security @internal -- there is normally no need to change this


description: turns on *Zero Trust* Mode, disabling *all* http communication, even the internal http probes

default: `false`


adds extra Annotations to the service


enables the service to be consumed by group components and a potential ingress Disabling the service also disables the ingress.


The selector can be `component` or `type` *component* selects only pods that are in the replicaset. *type* selects any pod that has the given type


key: telemetry

description: Settings for telemetry tools


turns Open Telemetry on


Sets the service name for the telemetry service to more convenient identify the displayed component Example: "{{ .this.meta.type }}-{{ .instance.name }}"


key: template

description: provide extra settings for pod templates


set additional annotations for pods


set additional labels for pods


key: terminationGracePeriodSeconds

description: Sets the terminationGracePeriodSeconds for the component If not set, it uses the Kubernetes defaults


key: timezone

description: set the time zone for this component to make sure log output has a specific timestamp, internal dates and times are correct (like the creationDate in nappl) etc.

default: `Europe/Berlin`


key: tolerations

description: Set tolerations for this component


description: Turn debugging *on* will give you stack trace etc.  Please check out the Chart Developer Guide


description: in case you use the argoCD Wave feature, you might think about switching off the waitFor mechanism, that makes sure PODs are only started after pre-requisites are fulfilled. You can disable the starndard wait mechanism, but at your own risk, as this might start components even if they are not intended to run yet.


description: If you use argoCD, you most likely want to use the argo Wave Feature as well, making sure the components of an instance are deployed ordered. However, in DEV you might want to disable this to allow live changing components while previous waves are not finished yet.


description: By default, the namespace is rendered into the manifest. However, if you want to use `helm template` and store manifests for later applying them to multiple namespaces, you might want to turn this `false` to be able to use `kubectl apply -n <namespace> -f template.yaml` later

default: `true`


description: in Maintenance Mode, all *waitFor* actions will be skipped, the *Health Checks* are ignored and the pods will start in idle, not starting the service at all. This will allow you to gain access to the container to perform recovery and maintenance tasks while having the real container up.


description: You can turn Comment rendering *on* to get descriptive information inside the manifests. It will also fail on depricated functions and keys, so it is recommended to only switch it off in PROD


key: waitFor

description: Defines a list of conditions that need to be met before this components starts. The condition must be a network port that opens, when the master component is ready. Mostly, this will be a service, since a component is only added to a service if the  probes succeed.