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
+1 -1
View File
@@ -15,4 +15,4 @@ maintainers:
name: common name: common
sources: null sources: null
type: library type: library
version: 8.11.0 version: 8.12.0
@@ -72,6 +72,13 @@ spec:
{{- if $values.publishNotReadyAddresses }} {{- if $values.publishNotReadyAddresses }}
publishNotReadyAddresses: {{ $values.publishNotReadyAddresses }} publishNotReadyAddresses: {{ $values.publishNotReadyAddresses }}
{{- end }} {{- end }}
{{- if $values.ipFamilyPolicy }}
ipFamilyPolicy: {{ $values.ipFamilyPolicy }}
{{- end }}
{{- with $values.ipFamilies }}
ipFamilies:
{{ toYaml . | nindent 4 }}
{{- end }}
ports: ports:
{{- range $name, $port := $values.ports }} {{- range $name, $port := $values.ports }}
{{- if $port.enabled }} {{- if $port.enabled }}
@@ -19,6 +19,8 @@
{{ toYaml . | nindent 4 }} {{ toYaml . | nindent 4 }}
{{- end }} {{- end }}
{{- end }} {{- end }}
tty: {{ .Values.tty }}
stdin: {{ .Values.stdin }}
{{- with .Values.securityContext }} {{- with .Values.securityContext }}
securityContext: securityContext:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
+12
View File
@@ -145,6 +145,12 @@ podLabelsList: []
# -- Set labels on the pod # -- Set labels on the pod
podLabels: {} 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 # -- Add a Horizontal Pod Autoscaler
# @default -- <disabled> # @default -- <disabled>
autoscaling: autoscaling:
@@ -448,6 +454,12 @@ service:
# @default -- See below # @default -- See below
portsList: [] 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. # -- Configure the Service port information here.
# Additional ports can be added by adding a dictionary key similar to the 'http' service. # Additional ports can be added by adding a dictionary key similar to the 'http' service.
# @default -- See below # @default -- See below
+14
View File
@@ -27,6 +27,20 @@
default: false default: false
show_subquestions_if: true show_subquestions_if: true
subquestions: 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 - variable: termination
group: "Container Configuration" group: "Container Configuration"
label: "Termination settings" label: "Termination settings"
+62 -62
View File
@@ -1,78 +1,78 @@
- variable: externalInterfaces - variable: externalInterfaces
description: "Add External Interfaces" description: "Add External Interfaces"
label: "Add external Interfaces" label: "Add external Interfaces"
group: "Networking" group: "Networking"
schema:
type: list
items:
- variable: interfaceConfiguration
description: "Interface Configuration"
label: "Interface Configuration"
schema: schema:
type: dict type: list
$ref: items:
- "normalize/interfaceConfiguration" - variable: interfaceConfiguration
attrs: description: "Interface Configuration"
- variable: hostInterface label: "Interface Configuration"
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"
schema: schema:
type: dict type: dict
required: true $ref:
- "normalize/interfaceConfiguration"
attrs: attrs:
- variable: type - variable: hostInterface
description: "Specify type for IPAM" description: "Please specify host interface"
label: "IPAM Type" label: "Host Interface"
schema: schema:
type: string type: string
required: true required: true
enum: $ref:
- value: "dhcp" - "definitions/interface"
description: "Use DHCP" - variable: ipam
- value: "static" description: "Define how IP Address will be managed"
description: "Use static IP" label: "IP Address Management"
show_subquestions_if: "static" schema:
subquestions: type: dict
- variable: staticIPConfigurations required: true
label: "Static IP Addresses" attrs:
- variable: type
description: "Specify type for IPAM"
label: "IPAM Type"
schema: schema:
type: list type: string
items: required: true
- variable: staticIP enum:
label: "Static IP" - value: "dhcp"
description: "Use DHCP"
- value: "static"
description: "Use static IP"
show_subquestions_if: "static"
subquestions:
- variable: staticIPConfigurations
label: "Static IP Addresses"
schema: schema:
type: ipaddr type: list
cidr: true items:
- variable: staticRoutes - variable: staticIP
label: "Static Routes" label: "Static IP"
schema:
type: list
items:
- variable: staticRouteConfiguration
label: "Static Route Configuration"
schema:
type: dict
attrs:
- variable: destination
label: "Destination"
schema: schema:
type: ipaddr type: ipaddr
cidr: true cidr: true
required: true - variable: staticRoutes
- variable: gateway label: "Static Routes"
label: "Gateway" schema:
type: list
items:
- variable: staticRouteConfiguration
label: "Static Route Configuration"
schema: schema:
type: ipaddr type: dict
cidr: false attrs:
required: true - variable: destination
label: "Destination"
schema:
type: ipaddr
cidr: true
required: true
- variable: gateway
label: "Gateway"
schema:
type: ipaddr
cidr: false
required: true
- variable: dnsPolicy - variable: dnsPolicy
group: "Networking and Services" group: "Networking and Services"
+26
View File
@@ -38,6 +38,32 @@
label: "External IP" label: "External IP"
schema: schema:
type: string 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 - variable: ports
label: "Service's Port(s) Configuration" label: "Service's Port(s) Configuration"
schema: schema: