feat(common): add TTY, STDIN and IPFamily support (#1700)

* feat(common): add TTY and STDIN support

Also fixes a mistake in the GUI for external interfaces

* bump minor on common

* add IP families as well
This commit is contained in:
Kjeld Schouten-Lebbing
2022-01-12 20:24:01 +01:00
committed by GitHub
parent 203f4eca52
commit da35f12e2b
7 changed files with 124 additions and 63 deletions

View File

@@ -15,4 +15,4 @@ maintainers:
name: common
sources: null
type: library
version: 8.11.0
version: 8.12.0

View File

@@ -72,6 +72,13 @@ spec:
{{- if $values.publishNotReadyAddresses }}
publishNotReadyAddresses: {{ $values.publishNotReadyAddresses }}
{{- end }}
{{- if $values.ipFamilyPolicy }}
ipFamilyPolicy: {{ $values.ipFamilyPolicy }}
{{- end }}
{{- with $values.ipFamilies }}
ipFamilies:
{{ toYaml . | nindent 4 }}
{{- end }}
ports:
{{- range $name, $port := $values.ports }}
{{- if $port.enabled }}

View File

@@ -19,6 +19,8 @@
{{ toYaml . | nindent 4 }}
{{- end }}
{{- end }}
tty: {{ .Values.tty }}
stdin: {{ .Values.stdin }}
{{- with .Values.securityContext }}
securityContext:
{{- toYaml . | nindent 4 }}

View File

@@ -145,6 +145,12 @@ podLabelsList: []
# -- Set labels on the pod
podLabels: {}
# -- Determines whether containers in a pod runs with TTY enabled.
tty: false
# -- Determines whether containers in a pod runs with stdin enabled.
stdin: false
# -- Add a Horizontal Pod Autoscaler
# @default -- <disabled>
autoscaling:
@@ -448,6 +454,12 @@ service:
# @default -- See below
portsList: []
# -- Specify the ip policy. Options: SingleStack, PreferDualStack, RequireDualStack
ipFamilyPolicy: SingleStack
# -- The ip families that should be used. Options: IPv4, IPv6
ipFamilies: [ ]
# -- Configure the Service port information here.
# Additional ports can be added by adding a dictionary key similar to the 'http' service.
# @default -- See below

View File

@@ -27,6 +27,20 @@
default: false
show_subquestions_if: true
subquestions:
- variable: tty
label: "Enable TTY"
description: "Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled."
group: "Workload Details"
schema:
type: boolean
default: false
- variable: stdin
label: "Enable STDIN"
description: "Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled."
group: "Workload Details"
schema:
type: boolean
default: false
- variable: termination
group: "Container Configuration"
label: "Termination settings"

View File

@@ -1,78 +1,78 @@
- variable: externalInterfaces
description: "Add External Interfaces"
label: "Add external Interfaces"
group: "Networking"
schema:
type: list
items:
- variable: interfaceConfiguration
description: "Interface Configuration"
label: "Interface Configuration"
- variable: externalInterfaces
description: "Add External Interfaces"
label: "Add external Interfaces"
group: "Networking"
schema:
type: dict
$ref:
- "normalize/interfaceConfiguration"
attrs:
- variable: hostInterface
description: "Please specify host interface"
label: "Host Interface"
schema:
type: string
required: true
$ref:
- "definitions/interface"
- variable: ipam
description: "Define how IP Address will be managed"
label: "IP Address Management"
type: list
items:
- variable: interfaceConfiguration
description: "Interface Configuration"
label: "Interface Configuration"
schema:
type: dict
required: true
$ref:
- "normalize/interfaceConfiguration"
attrs:
- variable: type
description: "Specify type for IPAM"
label: "IPAM Type"
- variable: hostInterface
description: "Please specify host interface"
label: "Host Interface"
schema:
type: string
required: true
enum:
- value: "dhcp"
description: "Use DHCP"
- value: "static"
description: "Use static IP"
show_subquestions_if: "static"
subquestions:
- variable: staticIPConfigurations
label: "Static IP Addresses"
$ref:
- "definitions/interface"
- variable: ipam
description: "Define how IP Address will be managed"
label: "IP Address Management"
schema:
type: dict
required: true
attrs:
- variable: type
description: "Specify type for IPAM"
label: "IPAM Type"
schema:
type: list
items:
- variable: staticIP
label: "Static IP"
type: string
required: true
enum:
- value: "dhcp"
description: "Use DHCP"
- value: "static"
description: "Use static IP"
show_subquestions_if: "static"
subquestions:
- variable: staticIPConfigurations
label: "Static IP Addresses"
schema:
type: ipaddr
cidr: true
- variable: staticRoutes
label: "Static Routes"
schema:
type: list
items:
- variable: staticRouteConfiguration
label: "Static Route Configuration"
schema:
type: dict
attrs:
- variable: destination
label: "Destination"
type: list
items:
- variable: staticIP
label: "Static IP"
schema:
type: ipaddr
cidr: true
required: true
- variable: gateway
label: "Gateway"
- variable: staticRoutes
label: "Static Routes"
schema:
type: list
items:
- variable: staticRouteConfiguration
label: "Static Route Configuration"
schema:
type: ipaddr
cidr: false
required: true
type: dict
attrs:
- variable: destination
label: "Destination"
schema:
type: ipaddr
cidr: true
required: true
- variable: gateway
label: "Gateway"
schema:
type: ipaddr
cidr: false
required: true
- variable: dnsPolicy
group: "Networking and Services"

View File

@@ -38,6 +38,32 @@
label: "External IP"
schema:
type: string
- variable: ipFamilyPolicy
label: "IP Family Policy"
description: "(Advanced) Specify the ip policy"
schema:
show_if: [["type", "!=", "Simple"]]
type: string
default: "SingleStack"
enum:
- value: "SingleStack"
description: "SingleStack"
- value: "PreferDualStack"
description: "PreferDualStack"
- value: "RequireDualStack"
description: "RequireDualStack"
- variable: ipFamilies
label: "(advanced) IP families"
description: "(advanced) The ip families that should be used"
schema:
show_if: [["type", "!=", "Simple"]]
type: list
default: []
items:
- variable: ipFamily
label: "IP family"
schema:
type: string
- variable: ports
label: "Service's Port(s) Configuration"
schema: