Public Information
This commit is contained in:
88
samples/chart/tenant/README.md
Normal file
88
samples/chart/tenant/README.md
Normal file
@@ -0,0 +1,88 @@
|
||||
|
||||
|
||||
# sample-tenant
|
||||
|
||||
The sample tenant chart demonstrates how to use umbrella charts with default values,
|
||||
e.g. to define tenant templates
|
||||
|
||||
## sample-tenant Chart Configuration
|
||||
|
||||
You can customize / configure sample-tenant by setting configuration values on the command line or in values files,
|
||||
that you can pass to helm. Please see the samples directory for details.
|
||||
|
||||
In case there is no value set, the key will not be used in the manifest, resulting in values taken from the config files of the component.
|
||||
|
||||
### Template Functions
|
||||
|
||||
You can use template functions in the values files. If you do so, make sure you quote correctly (single quotes, if you have double quotes in the template,
|
||||
or escaped quotes).
|
||||
|
||||
### Global Values
|
||||
|
||||
All values can be set per component, per instance or globally per environment.
|
||||
|
||||
Example: `global.ingress.domain` sets the domain on instance level. You can still set a different domain on a component, such as administrator.
|
||||
In that case, simply set `ingress.domain` for the administrator chart and that setting will have priority:
|
||||
|
||||
- Prio 1 - Component Level: `ingress.domain`
|
||||
- Prio 2 - Instance Level: `global.ingress.domain`
|
||||
- Prio 3 - Environment Level: `global.environment.ingress.domain`
|
||||
|
||||
### Using Values in Templates
|
||||
|
||||
As it would be a lot of typing to write `.Values.ingress.domain | default .Values.global.ingress.domain | default .Values.global.environment.ingress.domain`in your
|
||||
template code, this is automatically done by nplus. You can simply type `.this.ingress.domain` and you will get a condensed and defaulted version
|
||||
of your Values.
|
||||
|
||||
So an example in your `values.yaml` would be:
|
||||
|
||||
```
|
||||
administrator:
|
||||
waitFor:
|
||||
- '-service {{ .component.prefix }}nappljobs.{{ .Release.Namespace }}.svc.cluster.local:\{{ .this.nappl.port }} -timeout 600'
|
||||
```
|
||||
|
||||
This example shows `.this.nappl.port` which might come from a component, instance or global setting. You do not need to care.
|
||||
The `.Release.Namespace` is set by helm. You have access to all Release and Chart Metadata, just like in your chart code.
|
||||
|
||||
The `.component.prefix` is calculated by nplus and gives you some handy shortcuts to internal variables:
|
||||
|
||||
- `.component.chartName`
|
||||
The name of the chart as in `.Chart.Name`, but with override by `.Values.nameOverride`
|
||||
- `.component.shortChartName`
|
||||
A shorter Version of the name - `nappl` instead of `nplus-component-nappl`
|
||||
- `.component.prefix`
|
||||
The instance Prefix used to name the resources including `-`. This prefix is dropped, if the
|
||||
`.Release.Name` equals `.Release.Namespace` for those of you that only
|
||||
run one nplus Instance per namespace
|
||||
- `.component.name`
|
||||
The name of the component, including `.Values.nameOverride` and some logic
|
||||
- `.component.fullName`
|
||||
The fullName inlcuding `.Values.fullnameOverride` and some logic
|
||||
- `.component.chart`
|
||||
Mainly the `Chart.Name` and `Chart.Version`
|
||||
- `.component.storagePath`
|
||||
The path where the component config is stored in the conf PVC
|
||||
- `.component.handler`
|
||||
The handler (either helm, argoCD or manual)
|
||||
|
||||
- `.instance.name`
|
||||
The name of the instance, but with override by `.Values.instanceOverride`
|
||||
- `.instance.group`
|
||||
The group, this instance belongs to. Override by `.Values.groupOverride`
|
||||
- `.instance.version`
|
||||
The *nscale* version (mostly taken from Application Layer), this instance is deploying.
|
||||
|
||||
- `.environment.name`
|
||||
The name of the environment, but with override by `.Values.environmentNameOverride`
|
||||
|
||||
### Keys
|
||||
|
||||
You can set any of the following values for this component:
|
||||
|
||||
| Key | Description | Default |
|
||||
|-----|-------------|---------|
|
||||
**global**​.ingress​.domain | | `"{{ .instance.group | default .Release.Name }}.sample.nplus.cloud"` |
|
||||
**instance**​.application​.docAreas[0]​.id | | `"Sample"` |
|
||||
**instance**​.components​.application | | `true` |
|
||||
|
||||
Reference in New Issue
Block a user