Public Information
This commit is contained in:
34
charts/environment/Chart.yaml
Normal file
34
charts/environment/Chart.yaml
Normal file
@@ -0,0 +1,34 @@
|
||||
apiVersion: v2
|
||||
name: nplus-environment
|
||||
description: Installs Namespace-Wide Resources such as the conf PVC, the toolbox and the nplus monitoring service
|
||||
icon: data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJFYmVuZV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNTEuMDI0IDUxLjAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNTEuMDI0IDUxLjAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPHBvbHlnb24gZmlsbD0iI0E0QkZFNCIgcG9pbnRzPSIzMi4zMjIsMTkuNzQ0IDIwLjY0OSwxOS43NDQgMTguNTkxLDMxLjQxNyAzMC4yNjQsMzEuNDE3IAkiLz4KCTxwb2x5Z29uIGZpbGw9IiNBNEJGRTQiIHBvaW50cz0iNDcuMTg1LDE5Ljc0NCAzNS41MTIsMTkuNzQ0IDMzLjQ1NCwzMS40MTcgNDUuMTI2LDMxLjQxNyAJIi8+Cgk8cG9seWdvbiBmaWxsPSIjQTRCRkU0IiBwb2ludHM9IjI5Ljc2NiwzNC41NTEgMTguMDk0LDM0LjU1MSAxNi4wMzUsNDYuMjI0IDI3LjcwOCw0Ni4yMjQgCSIvPgoJPHBvbHlnb24gZmlsbD0iI0E0QkZFNCIgcG9pbnRzPSIxNy41NywxOS43NDQgNS44OTcsMTkuNzQ0IDMuODM5LDMxLjQxNyAxNS41MTIsMzEuNDE3IAkiLz4KCTxwb2x5Z29uIGZpbGw9IiNBNEJGRTQiIHBvaW50cz0iMzUuMTUsNC43OTkgMjMuNDc3LDQuNzk5IDIxLjQxOSwxNi40NzIgMzMuMDkyLDE2LjQ3MiAJIi8+Cjwvc3ZnPgo=
|
||||
type: application
|
||||
dependencies:
|
||||
- name: nplus-globals
|
||||
alias: globals
|
||||
version: "*-0"
|
||||
repository: "file://../globals"
|
||||
- name: nplus-environment-backend
|
||||
alias: backend
|
||||
version: "*-0"
|
||||
repository: "file://../envbackend"
|
||||
- name: nplus-environment-dav
|
||||
alias: dav
|
||||
condition: components.dav
|
||||
version: "*-0"
|
||||
repository: "file://../envdav"
|
||||
- name: nplus-environment-toolbox
|
||||
alias: toolbox
|
||||
condition: components.toolbox
|
||||
version: "*-0"
|
||||
repository: "file://../envtoolbox"
|
||||
- name: nplus-environment-operator
|
||||
alias: operator
|
||||
version: "*-0"
|
||||
repository: "file://../envoperator"
|
||||
- name: nplus-prepper
|
||||
alias: prepper
|
||||
condition: components.prepper
|
||||
version: "*-0"
|
||||
repository: "file://../prepper"
|
||||
version: 1.0.0
|
||||
103
charts/environment/README.md
Normal file
103
charts/environment/README.md
Normal file
@@ -0,0 +1,103 @@
|
||||
|
||||
|
||||
# nplus-environment
|
||||
|
||||
Installs Namespace-Wide Resources such as the conf PVC, the toolbox and the nplus monitoring service
|
||||
|
||||
This Environment Chart provides a common config pool and administrative tools to
|
||||
operate all nplus instances in this namespace.
|
||||
There must be exactly one deployed instance of this environment chart per kubernetes namespace.
|
||||
Without the environment, the instance and component charts will fail to deploy.
|
||||
|
||||
It also deployes the operator, which is a monitoring component to observe all instances and provide
|
||||
healthyness information to the administrator and third party dashboards
|
||||
|
||||
## nplus-environment Chart Configuration
|
||||
|
||||
You can customize / configure nplus-environment 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 |
|
||||
|-----|-------------|---------|
|
||||
**components**​.dav | Enables WebDAV access to conf and ptemp | `true` |
|
||||
**components**​.prepper | enables an optional prepper that you can use to deploy fonts, scripts etc. during environment setup | `false` |
|
||||
**components**​.toolbox | enables the toolbox | `true` |
|
||||
environmentNameOverride | If you want to override the name of the Environment for display purposes, do it here. | |
|
||||
**global**​.environment​.storage​.conf​.name | this is the name of the common config storage. please see section "Storage" for more information | `"conf"` |
|
||||
**global**​.environment​.storage​.conf​.size | this is the size of the common config storage. please see section "Storage" for more information | `"10Gi"` |
|
||||
**global**​.environment​.storage​.conf​.volumeName | you can set the volumeName to the value of a pre-existing volume to avoid having the PV created for you by the csi driver provisioner | |
|
||||
**global**​.environment​.storage​.ptemp​.name | this is the name of the common persistant temp storage. please see section "Storage" for more information | `"ptemp"` |
|
||||
**global**​.environment​.storage​.ptemp​.size | this is the size of the common ptemp storage. please see section "Storage" for more information | `"10Gi"` |
|
||||
**global**​.environment​.storage​.ptemp​.volumeName | you can set the volumeName to the value of a pre-existing volume to avoid having the PV created for you by the csi driver provisioner | |
|
||||
**global**​.meta​.isEnvironment | specifies that this is deployment is part of an Environment. Used to determine the correct name of the deployment <br>Do not change | **info only**, do not change<br> `true` |
|
||||
|
||||
43
charts/environment/templates/NOTES.txt
Normal file
43
charts/environment/templates/NOTES.txt
Normal file
@@ -0,0 +1,43 @@
|
||||
{{ .component.chartName }} {{ .Chart.Version }} {{- if .Chart.AppVersion }} / {{ .Chart.AppVersion }}{{- end }}
|
||||
|
||||
{{ .Chart.Description }}
|
||||
|
||||
To uninstall, use
|
||||
helm uninstall {{ include "nplus.cli" . }}
|
||||
{{ if (.Values.dav).enabled }}
|
||||
The environment DAV Server is enabled. To get logs, use
|
||||
kubectl logs -n lab -l nplus/component=nplus-environment,nplus/role=davserver
|
||||
to connect, browse to
|
||||
https://{{ .Release.Name }}.{{ .this.ingress.domain }}/dav
|
||||
{{- else }}
|
||||
The environment DAV Server is disabled.
|
||||
{{- end }}
|
||||
|
||||
{{- if (.Values.nstoreDownloader).enabled }}
|
||||
The nstore Downloader is enabled. To get logs, use
|
||||
kubectl logs -n lab -l nplus/component=nplus-environment,nplus/role=downloader
|
||||
{{- else }}
|
||||
The nstore Downloader is disabled.
|
||||
{{- end }}
|
||||
|
||||
{{- if (.Values.toolbox).enabled }}
|
||||
The toolbox is enabled. To get logs, use
|
||||
kubectl logs -n lab -l nplus/component=nplus-environment,nplus/role=toolbox
|
||||
{{- else }}
|
||||
The toolbox is disabled.
|
||||
{{- end }}
|
||||
|
||||
{{- if (.Values.operator).enabled }}
|
||||
The operator is enabled. You can get information on nscale Instances and Components using
|
||||
kubectl get instances,components
|
||||
{{- if (.Values.operator).ui }}
|
||||
Also, the UI is enabled, access it at
|
||||
https://{{ .Release.Name }}.{{ .this.ingress.domain }}/monitoring
|
||||
{{- else }}
|
||||
The UI is disabled.
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
The operator is disabled.
|
||||
{{- end }}
|
||||
|
||||
Providing {{ ((.this.storage).conf).size }} of storage under the name "{{ ((.this.storage).conf).name }}" of class "{{ ((.this.storage).conf).class | default "default" }}"
|
||||
2
charts/environment/templates/certificate.tpl
Normal file
2
charts/environment/templates/certificate.tpl
Normal file
@@ -0,0 +1,2 @@
|
||||
{{- include "nplus.init" $ -}}
|
||||
{{- include "nplus.certificate" . | nindent 0 }}
|
||||
2435
charts/environment/values.schema.json
Normal file
2435
charts/environment/values.schema.json
Normal file
File diff suppressed because it is too large
Load Diff
38
charts/environment/values.yaml
Normal file
38
charts/environment/values.yaml
Normal file
@@ -0,0 +1,38 @@
|
||||
# yaml-language-server: $schema=values.schema.json
|
||||
components:
|
||||
# -- Enables WebDAV access to conf and ptemp
|
||||
dav: true
|
||||
# -- enables the toolbox
|
||||
toolbox: true
|
||||
# -- enables an optional prepper that you can use to deploy fonts, scripts etc. during environment setup
|
||||
prepper: false
|
||||
global:
|
||||
environment:
|
||||
storage:
|
||||
conf:
|
||||
# -- this is the name of the common config storage.
|
||||
# please see section "Storage" for more information
|
||||
name: "conf"
|
||||
# -- this is the size of the common config storage.
|
||||
# please see section "Storage" for more information
|
||||
size: "10Gi"
|
||||
# -- you can set the volumeName to the value of a pre-existing
|
||||
# volume to avoid having the PV created for you by the csi driver provisioner
|
||||
volumeName:
|
||||
ptemp:
|
||||
# -- this is the name of the common persistant temp storage.
|
||||
# please see section "Storage" for more information
|
||||
name: "ptemp"
|
||||
# -- this is the size of the common ptemp storage.
|
||||
# please see section "Storage" for more information
|
||||
size: "10Gi"
|
||||
# -- you can set the volumeName to the value of a pre-existing
|
||||
# volume to avoid having the PV created for you by the csi driver provisioner
|
||||
volumeName:
|
||||
meta:
|
||||
# -- specifies that this is deployment is part of an Environment. Used to determine the correct
|
||||
# name of the deployment
|
||||
# @internal -- Do not change
|
||||
isEnvironment: true
|
||||
# -- If you want to override the name of the Environment for display purposes, do it here.
|
||||
environmentNameOverride:
|
||||
Reference in New Issue
Block a user