add some docs

This commit is contained in:
Stavros kois
2023-01-23 15:08:45 +02:00
parent e30548c093
commit f4e0601f28
7 changed files with 233 additions and 37 deletions

View File

@@ -15,6 +15,7 @@ Can be defined in:
---
Specifies pod's hostname
If left unspecified, Kubernetes will use the Deployment's name.
Examples:

View File

@@ -0,0 +1,50 @@
# Names
## Key: nameOverride
Info:
- Type: `string`
- Default: `""`
- Helm Template: ❌
Can be defined in:
- `.Values`.nameOverride
---
Overrides the name of the workload.
> This is not the full name, but a part of the full name
> This is something that will only needed in very rare scenarios.
> Should be avoided, unless is absolutely needed.
Examples:
```yaml
nameOverride: some_name
```
---
---
## Key: fullnameOverride
Info:
- Type: `string`
- Default: `""`
- Helm Template: ❌
Can be defined in:
- `.Values`.fullnameOverride
---
Overrides the name of the workload.
> This affects the full name of the Deployment/StatefulSet/etc
> This is something that will only needed in very rare scenarios.
> Should be avoided, unless is absolutely needed.

View File

@@ -0,0 +1,33 @@
# Node Selector
## Key: nodeSelector
Info:
- Type: `dict`
- Default: `{}`
- Helm Template:
- key: ❌
- value: ✅
Can be defined in:
- `.Values`.nodeSelector
- `.Values.jobs.[job-name].podSpec`.nodeSelector
---
Defines the nodeSelector(s) that will be used.
Node selector is used to select in which node a workload will be deployed.
Examples:
```yaml
nodeSelector:
disktype: ssd
cpu-type: "{{ .Values.some.path }}"
```
Kubernetes Documentation:
- [Node Selector](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes/)

View File

@@ -0,0 +1,28 @@
# Runtime Class Name
## Key: runtimeClassName
Info:
- Type: `string`
- Default: `""`
- Helm Template: ❌
Can be defined in:
- `.Values`.runtimeClassName
- `.Values.jobs.[job-name].podSpec`.runtimeClassName
---
Defines the `runtimeClassName` for the workloads.
Leaving it empty it will use the default `runtimeClassName`.
> On TrueNAS Scale, it will dynamically pick the `runtimeClassName`
> based on metadata provided by the middleware.
Examples:
```yaml
runtimeClassName: some-class-name
```

View File

@@ -0,0 +1,30 @@
# Scheduler
## Key: schedulerName
Info:
- Type: `string`
- Default: `""`
- Helm Template: ✅
Can be defined in:
- `.Values`.schedulerName
- `.Values.jobs.[job-name].podSpec`.schedulerName
---
Defines the scheduler that will be used.
Leaving it empty, Kubernetes will assign the `default-scheduler`
Examples:
```yaml
schedulerName: some-scheduler
# schedulerName: "{{ .Values.some.path }}"
```
Kubernetes Documentation:
- [Scheduler](https://kubernetes.io/docs/tasks/extend-kubernetes/configure-multiple-schedulers/#specify-schedulers-for-pods)

View File

@@ -0,0 +1,55 @@
# Termination
## Key: termination
Info:
- Type: `dict`
- Default:
```yaml
termination:
messagePath: ""
messagePolicy: ""
gracePeriodSeconds: 10
```
- Helm Template:
- messagePath: ✅
- messagePolicy: ✅
- gracePeriodSeconds: ❌
Can be defined in:
- `.Values`.termination.messagePath
- `.Values`.termination.messagePolicy
- `.Values`.termination.gracePeriodSeconds
- `.Values.additionalContainers.[container-name]`.termination.messagePath
- `.Values.additionalContainers.[container-name]`.termination.messagePolicy
- `.Values.initContainers.[container-name]`.termination.messagePath
- `.Values.initContainers.[container-name]`.termination.messagePolicy
- `.Values.installContainers.[container-name]`.termination.messagePath
- `.Values.installContainers.[container-name]`.termination.messagePolicy
- `.Values.upgradeContainers.[container-name]`.termination.messagePath
- `.Values.upgradeContainers.[container-name]`.termination.messagePolicy
- `.Values.systemContainers.[container-name]`.termination.messagePath
- `.Values.systemContainers.[container-name]`.termination.messagePolicy
- `.Values.jobs.[job-name].podSpec`.termination.gracePeriodSeconds
- `.Values.jobs.[job-name].podSpec.containers.[container-name].[container-name]`.termination.messagePath
- `.Values.jobs.[job-name].podSpec.containers.[container-name].[container-name]`.termination.messagePolicy
---
`messagePath` and `messagePolicy` can be set per container.
`gracePeriodSeconds` can only be set per pod.
Examples:
```yaml
termination:
messagePath: ""
# messagePath: "{{ .Values.some.path }}"
messagePolicy: ""
# messagePolicy: "{{ .Values.some.path }}"
gracePeriodSeconds: 10
```

View File

@@ -26,6 +26,15 @@ envFrom: []
# Defines the timezone for the container
TZ: UTC
# Define the default hostname of the Deployment/StatefulSet/DaemonSet/etc
hostname: ""
# Overrides the name of the workload
nameOverride: ""
# Overrides the fullname of the workload
fullnameOverride: ""
# Default Security values for main container
security:
PUID: 568
@@ -89,6 +98,9 @@ addAnnotations:
traefik: false
metallb: false
# Adds labels to the pod
podLabels: {}
# Used for SCALE
scaleCerts: {}
@@ -115,8 +127,23 @@ ixExternalInterfacesConfiguration: []
# Injected from middleware
ixExternalInterfacesConfigurationNames: []
# - Everything bellow needs documentation
hostname: ""
# Defines termination strategy
termination:
messagePath: ""
messagePolicy: ""
gracePeriodSeconds: 10
# Defines the scheduler
schedulerName: ""
# Defines the nodeSelector(s)
nodeSelector: {}
# Defines the runtimeClassName
runtimeClassName: ""
###### - Everything bellow needs documentation #####
# Injected from middleware
ixCertificates: []
@@ -264,6 +291,7 @@ securityContext:
add: []
drop:
- ALL
# Default resources for main container
resources:
limits:
@@ -273,54 +301,25 @@ resources:
cpu: 10m
memory: 50Mi
nameOverride: ""
fullnameOverride: ""
podLabels: {}
enableServiceLinks: false
schedulerName: ""
priorityClassName: ""
dnsPolicy: ""
dnsConfig: {}
nodeSelector: {}
runtimeClassName: ""
tolerations: []
# podSecurityContext:
# fsGroup: 568
# fsGroupChangePolicy: OnRootMismatch
# securityContext:
# runAsUser: 568
# runAsGroup: 568
# privileged: false
# readOnlyRootFilesystem: true
# allowPrivilegeEscalation: false
# runAsNonRoot: true
termination:
messagePath: ""
messagePolicy: ""
gracePeriodSeconds: 10
controller:
# -- Enable the controller.
enabled: true
# -- Set the controller type.
# Valid options are: deployment | daemonset | statefulset
# Valid options are: Deployment | DaemonSet | StatefulSet | CronJob | Job
type: Deployment
# -- Set labels on the deployment/statefulset/daemonset. Helm templates can be used.
# -- Set labels on the Deployment/StatefulSet/DaemonSet/CronJob/Job. Helm templates can be used.
labels: {}
# -- Set annotations on the deployment/statefulset/daemonset. Helm templates can be used.
# -- Set annotations on the Deployment/StatefulSet/DaemonSet. Helm templates can be used.
annotations: {}
# -- Revision history limit
revisionHistoryLimit: 3
@@ -333,11 +332,11 @@ controller:
strategy: ""
# -- Set rollingUpdate strategies
rollingUpdate:
# -- Set deployment RollingUpdate max unavailable
# -- Set Deployment RollingUpdate max unavailable
unavailable:
# -- Set deployment RollingUpdate max surge
# -- Set Deployment RollingUpdate max surge
surge:
# -- Set statefulset RollingUpdate partition
# -- Set StatefulSet RollingUpdate partition
partition:
# -- Configure the services for the chart here.