feat(common): Release common-3.0.4 (#294)

This commit is contained in:
Bernd Schorgers 2024-03-15 09:33:07 +01:00 committed by GitHub
parent 9541ab44fe
commit 23164367ab
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
89 changed files with 427 additions and 216 deletions

View file

@ -0,0 +1,9 @@
---
controllers:
main:
containers:
main:
image:
repository: ghcr.io/mendhak/http-https-echo
tag: 31
pullPolicy: IfNotPresent

View file

@ -3,6 +3,8 @@
suite: Chart validations
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: advancedMounts invalid controller reference should fail
set:

View file

@ -3,6 +3,8 @@
suite: configmap metadata
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default metadata should pass
set:

View file

@ -3,6 +3,8 @@
suite: configMap names
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: configmap Pod metadata
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default metadata should pass
set:

View file

@ -3,6 +3,8 @@
suite: container args override
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: container command override
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: container env values
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: container envFrom values
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: container restartPolicy
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: container image tag
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: string tag should pass
set:

View file

@ -3,6 +3,8 @@
suite: container name
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: with explicit name should pass
set:

View file

@ -3,6 +3,8 @@
suite: container ports
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,7 +3,8 @@
suite: container probes
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
set:
controllers.main.containers.main.probes.liveness.enabled: true
controllers.main.containers.main.probes.readiness.enabled: true

View file

@ -3,6 +3,8 @@
suite: Container validations
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: image repository is required
set:

View file

@ -3,6 +3,8 @@
suite: container volumeMounts
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: no persistence should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: container workingDir override
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: cronjob configuration
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default cronjob configuration should pass
set:

View file

@ -3,6 +3,8 @@
suite: job configuration
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default job configuration should pass
set:

View file

@ -3,7 +3,8 @@
suite: controller metadata cronjob
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
set:
controllers.main.cronjob.schedule: "*/20 * * * *"

View file

@ -3,6 +3,8 @@
suite: controller metadata daemonset
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default metadata should pass
set:

View file

@ -3,6 +3,8 @@
suite: controller metadata deployment
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default metadata should pass
set:

View file

@ -3,6 +3,8 @@
suite: controller metadata job
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default metadata should pass
set:

View file

@ -3,6 +3,8 @@
suite: controller metadata statefulset
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default metadata should pass
set:

View file

@ -3,6 +3,8 @@
suite: controller types
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,10 +3,9 @@
suite: ingress metadata
templates:
- common.yaml
values:
- ../_values/ingress_main_default_hosts.yaml
- ../_values/controllers_main_default_container.yaml
tests:
- it: default metadata should pass
asserts:

View file

@ -3,6 +3,9 @@
suite: ingress presence
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,10 +3,9 @@
suite: ingress service reference
templates:
- common.yaml
values:
- ../_values/ingress_main_default_hosts.yaml
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
set:

View file

@ -3,10 +3,9 @@
suite: ingress tls
templates:
- common.yaml
values:
- ../_values/ingress_main_default_hosts.yaml
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,11 +3,10 @@
suite: ingress values
templates:
- common.yaml
values:
- ../_values/ingress_main_default_hosts.yaml
- ../_values/service_main_default.yaml
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: nameOverride tests
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default name is set to release name
asserts:

View file

@ -12,6 +12,8 @@ set:
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default metadata should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: networkPolicy names
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
set:

View file

@ -3,6 +3,8 @@
suite: NetworkPolicy validations
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: networkpolicy requires either controller reference or podSelector
set:

View file

@ -3,7 +3,8 @@
suite: NetworkPolicy values
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: main networkpolicy is disabled by default
asserts:

View file

@ -3,6 +3,8 @@
suite: persistence claimnames
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
set:

View file

@ -3,6 +3,8 @@
suite: persistence configmap
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: configmap persistence type should pass
set:

View file

@ -3,6 +3,8 @@
suite: persistence custom
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: custom persistence type should pass
set:

View file

@ -3,6 +3,8 @@
suite: persistence emptydir
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default emptyDir should pass
set:

View file

@ -3,6 +3,8 @@
suite: persistence hostpath
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: hostPath should pass
set:

View file

@ -3,6 +3,8 @@
suite: persistence nfs
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: nfs persistence type should pass
set:

View file

@ -3,6 +3,8 @@
suite: persistence secret
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: secret persistence type should pass
set:

View file

@ -3,6 +3,8 @@
suite: persistence volumeclaimtemplates
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
set:

View file

@ -3,6 +3,8 @@
suite: persistence volumes
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: no persistence should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod with multiple containers
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: with explicit name should pass
set:

View file

@ -3,6 +3,8 @@
suite: pod sidecar containers
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: with default order
set:

View file

@ -3,6 +3,8 @@
suite: pod affinity
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod dnsConfig
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod dnsPolicy
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod enableServiceLinks
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod hostAliases
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod security
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod hostNetwork
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod security
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod imagePullSecrets
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod nodeSelector
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod replicas
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod securityContext
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod serviceAccount
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod tolerations
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod topologySpreadConstraints
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: pod initContainers
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: with custom env vars dict should pass
set:

View file

@ -3,7 +3,8 @@
suite: pvc datasource
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
set:
persistence.config:
accessMode: ReadWriteOnce

View file

@ -3,7 +3,8 @@
suite: pvc metadata
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
set:
persistence.config:
accessMode: ReadWriteOnce

View file

@ -3,7 +3,8 @@
suite: pvc names
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
set:
persistence.config:
accessMode: ReadWriteOnce

View file

@ -3,7 +3,8 @@
suite: pvc storageclass
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
set:
persistence.config:
accessMode: ReadWriteOnce

View file

@ -3,6 +3,8 @@
suite: pvc values
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default enabled should pass
set:

View file

@ -3,6 +3,8 @@
suite: route metadata
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default metadata should pass
set:

View file

@ -3,6 +3,8 @@
suite: route presence
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: route service reference
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
set:

View file

@ -3,6 +3,8 @@
suite: route values
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: setting gateway should pass
set:

View file

@ -3,6 +3,8 @@
suite: secret metadata
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default metadata should pass
set:

View file

@ -3,6 +3,8 @@
suite: secret names
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
asserts:

View file

@ -3,6 +3,8 @@
suite: secret Pod metadata
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default metadata should pass
set:

View file

@ -3,6 +3,8 @@
suite: service metadata
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default metadata should pass
values:

View file

@ -3,6 +3,8 @@
suite: service names
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
values:

View file

@ -3,6 +3,8 @@
suite: service protocols
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
values:

View file

@ -3,6 +3,8 @@
suite: service ports
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: default should pass
values:

View file

@ -3,6 +3,8 @@
suite: Service validations
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: invalid controller reference should fail
set:

View file

@ -3,6 +3,8 @@
suite: service values
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: ports and services are enabled by default
set:

View file

@ -3,6 +3,8 @@
suite: serviceAccount values
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: a serviceAccount is not created by default
asserts:

View file

@ -3,7 +3,8 @@
suite: serviceMonitor values
templates:
- common.yaml
values:
- ../_values/controllers_main_default_container.yaml
tests:
- it: a serviceMonitor is not created by default
asserts:

View file

@ -1,9 +0,0 @@
---
controllers:
main:
containers:
main:
image:
repository: ghcr.io/mendhak/http-https-echo
tag: 31
pullPolicy: IfNotPresent

View file

@ -3,7 +3,7 @@ apiVersion: v2
name: common
description: Function library for Helm charts
type: library
version: 3.0.3
version: 3.0.4
kubeVersion: ">=1.22.0-0"
keywords:
- common
@ -16,7 +16,4 @@ annotations:
artifacthub.io/changes: |-
- kind: fixed
description: |-
Fixed probes intermittently choosing the wrong service
- kind: fixed
description: |-
Prevent potential incorrect controller references
Improved fix for preventing potential incorrect controller references

View file

@ -1,6 +1,6 @@
# common
![Version: 3.0.3](https://img.shields.io/badge/Version-3.0.3-informational?style=flat-square) ![Type: library](https://img.shields.io/badge/Type-library-informational?style=flat-square)
![Version: 3.0.4](https://img.shields.io/badge/Version-3.0.4-informational?style=flat-square) ![Type: library](https://img.shields.io/badge/Type-library-informational?style=flat-square)
Function library for Helm charts
@ -27,7 +27,7 @@ Include this chart as a dependency in your `Chart.yaml` e.g.
# Chart.yaml
dependencies:
- name: common
version: 3.0.3
version: 3.0.4
repository: https://bjw-s.github.io/helm-charts/
```

View file

@ -36,14 +36,13 @@
]
},
"env": {
"anyOf": [
"oneOf": [
{
"type": "array",
"items": {
"anyOf": [
{"$ref": "#/envValueWithName"},
{"$ref": "#/envValueFromWithName"},
{"$ref": "#/envImplicitValueFromWithName"}
{"$ref": "envVars.json#/envVarListItem"},
{"$ref": "envVars.json#/valueFromListItem"}
]
}
},
@ -51,10 +50,9 @@
"type": "object",
"additionalProperties": {
"anyOf": [
{"type": ["string", "number", "boolean", "null"]},
{"$ref": "#/envValue"},
{"$ref": "#/envValueFrom"},
{"$ref": "#/envImplicitValueFrom"}
{"$ref": "envVars.json#/envVarValue"},
{"$ref": "envVars.json#/envVarItem"},
{"$ref": "envVars.json#/valueFromItem"}
]
}
}
@ -164,180 +162,6 @@
}
},
"envValueWithName": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"value": {
"type": ["string", "number", "boolean", "null"]
}
},
"required": ["name", "value"]
},
"envValue": {
"type": "object",
"additionalProperties": false,
"properties": {
"value": {
"type": ["string", "number", "boolean", "null"]
},
"dependsOn": {"$ref": "#/envDependsOn"}
},
"required": ["value"]
},
"envValueFromWithName": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"valueFrom": {
"oneOf": [
{"$ref": "#/envValueFrom.fieldRef"},
{"$ref": "#/envValueFrom.secretKeyRef"}
]
},
"dependsOn": {"$ref": "#/envDependsOn"}
},
"required": ["name", "valueFrom"]
},
"envValueFrom": {
"type": "object",
"additionalProperties": false,
"properties": {
"valueFrom": {
"oneOf": [
{"$ref": "#/envValueFrom.fieldRef"},
{"$ref": "#/envValueFrom.secretKeyRef"}
]
},
"dependsOn": {"$ref": "#/envDependsOn"}
},
"required": ["valueFrom"]
},
"envImplicitValueFromWithName": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"fieldRef": {"$ref": "#/envValueFrom.fieldPath"},
"secretKeyRef": {"$ref": "#/envValueFrom.secretKeyRef"},
"configMapKeyRef": {"$ref": "#/envValueFrom.configMapKeyRef"}
},
"required": ["name"],
"dependencies": {
"fieldRef": {
"allOf": [
{"not": {"required": ["secretKeyRef"]}},
{"not": {"required": ["configMapKeyRef"]}}
]
},
"secretKeyRef": {
"allOf": [
{"not": {"required": ["fieldRef"]}},
{"not": {"required": ["configMapKeyRef"]}}
]
},
"configMapKeyRef": {
"allOf": [
{"not": {"required": ["secretKeyRef"]}},
{"not": {"required": ["configMapKeyRef"]}}
]
}
}
},
"envImplicitValueFrom": {
"type": "object",
"oneOf": [
{"$ref": "#/envValueFrom.fieldRef"},
{"$ref": "#/envValueFrom.secretKeyRef"},
{"$ref": "#/envValueFrom.configMapKeyRef"}
]
},
"envDependsOn": {
"oneOf": [
{"type": "string"},
{"type": "array", "items": {"type": "string"}}
]
},
"envValueFrom.secretKeyRef": {
"type": "object",
"additionalProperties": false,
"properties": {
"secretKeyRef": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"key": {
"type": "string"
}
},
"required": ["name", "key"]
}
},
"required": ["secretKeyRef"]
},
"envValueFrom.configMapKeyRef": {
"type": "object",
"additionalProperties": false,
"properties": {
"configMapKeyRef": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"key": {
"type": "string"
}
},
"required": ["name", "key"]
}
},
"required": ["configMapKeyRef"]
},
"envValueFrom.fieldRef": {
"type": "object",
"additionalProperties": false,
"properties": {
"fieldRef": {
"$ref": "#/envValueFrom.fieldPath"
}
},
"required": ["fieldRef"]
},
"envValueFrom.fieldPath": {
"type": "object",
"additionalProperties": false,
"properties": {
"apiVersion": {
"type": "string"
},
"fieldPath": {
"type": "string"
}
},
"required": ["fieldPath"]
},
"probe": {
"additionalProperties": false,
"properties": {

View file

@ -0,0 +1,245 @@
{
"envVarValue": {
"type": ["string", "number", "boolean", "null"]
},
"envVarListItem": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {"type": "string"},
"value": {"$ref": "#/envVarValue"}
},
"required": ["name", "value"]
},
"envVarItem": {
"type": "object",
"additionalProperties": false,
"properties": {
"value": {"$ref": "#/envVarValue"},
"dependsOn": {"$ref": "#/envVarDependsOn"}
},
"required": ["value"]
},
"valueFromListItem": {
"oneOf": [
{"$ref": "#/valueFromListItemExplicit"},
{"$ref": "#/valueFromListItemImplicit"}
]
},
"valueFromListItemExplicit": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {"type": "string"},
"valueFrom": {"$ref": "#/valueFromOptions"}
},
"required": ["name", "valueFrom"]
},
"valueFromListItemImplicit": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {"type": "string"},
"fieldRef": {"$ref": "#/fieldRefSelector"},
"resourceFieldRef": {"$ref": "#/resourceFieldRefSelector"},
"secretKeyRef": {"$ref": "#/objectKeySelector"},
"configMapKeyRef": {"$ref": "#/objectKeySelector"}
},
"required": ["name"],
"dependencies": {
"fieldRef": {
"allOf": [
{"not": {"required": ["resourceFieldRef"]}},
{"not": {"required": ["secretKeyRef"]}},
{"not": {"required": ["configMapKeyRef"]}}
]
},
"resourceFieldRef": {
"allOf": [
{"not": {"required": ["fieldRef"]}},
{"not": {"required": ["secretKeyRef"]}},
{"not": {"required": ["configMapKeyRef"]}}
]
},
"secretKeyRef": {
"allOf": [
{"not": {"required": ["fieldRef"]}},
{"not": {"required": ["resourceFieldRef"]}},
{"not": {"required": ["configMapKeyRef"]}}
]
},
"configMapKeyRef": {
"allOf": [
{"not": {"required": ["fieldRef"]}},
{"not": {"required": ["resourceFieldRef"]}},
{"not": {"required": ["secretKeyRef"]}}
]
}
}
},
"valueFromItem": {
"oneOf": [
{"$ref": "#/valueFromItemExplicit"},
{"$ref": "#/valueFromItemImplicit"}
]
},
"valueFromItemExplicit": {
"type": "object",
"additionalProperties": false,
"properties": {
"valueFrom": {"$ref": "#/valueFromOptions"},
"dependsOn": {"$ref": "#/envVarDependsOn"}
},
"required": ["valueFrom"]
},
"valueFromItemImplicit": {
"type": "object",
"additionalProperties": false,
"properties": {
"fieldRef": {"$ref": "#/fieldRefSelector"},
"resourceFieldRef": {"$ref": "#/resourceFieldRefSelector"},
"secretKeyRef": {"$ref": "#/objectKeySelector"},
"configMapKeyRef": {"$ref": "#/objectKeySelector"},
"dependsOn": {"$ref": "#/envVarDependsOn"}
},
"dependencies": {
"fieldRef": {
"allOf": [
{"not": {"required": ["resourceFieldRef"]}},
{"not": {"required": ["secretKeyRef"]}},
{"not": {"required": ["configMapKeyRef"]}}
]
},
"resourceFieldRef": {
"allOf": [
{"not": {"required": ["fieldRef"]}},
{"not": {"required": ["secretKeyRef"]}},
{"not": {"required": ["configMapKeyRef"]}}
]
},
"secretKeyRef": {
"allOf": [
{"not": {"required": ["fieldRef"]}},
{"not": {"required": ["resourceFieldRef"]}},
{"not": {"required": ["configMapKeyRef"]}}
]
},
"configMapKeyRef": {
"allOf": [
{"not": {"required": ["fieldRef"]}},
{"not": {"required": ["resourceFieldRef"]}},
{"not": {"required": ["secretKeyRef"]}}
]
}
}
},
"valueFromOptions": {
"type": "object",
"oneOf": [
{"$ref": "#/fieldRef"},
{"$ref": "#/resourceFieldRef"},
{"$ref": "#/secretKeyRef"},
{"$ref": "#/configMapKeyRef"}
]
},
"secretKeyRef": {
"type": "object",
"additionalProperties": false,
"properties": {
"secretKeyRef": {"$ref": "#/objectKeySelector"}
},
"required": ["secretKeyRef"]
},
"configMapKeyRef": {
"type": "object",
"additionalProperties": false,
"properties": {
"configMapKeyRef": {"$ref": "#/objectKeySelector"}
},
"required": ["configMapKeyRef"]
},
"fieldRef": {
"type": "object",
"additionalProperties": false,
"properties": {
"fieldRef": {"$ref": "#/fieldRefSelector"}
},
"required": ["fieldRef"]
},
"fieldRefSelector": {
"type": "object",
"additionalProperties": false,
"properties": {
"apiVersion": {
"type": "string"
},
"fieldPath": {
"type": "string"
}
},
"required": ["fieldPath"]
},
"resourceFieldRef": {
"type": "object",
"additionalProperties": false,
"properties": {
"resourceFieldRef": {"$ref": "#/resourceFieldRefSelector"}
},
"required": ["resourceFieldRef"]
},
"resourceFieldRefSelector": {
"type": "object",
"additionalProperties": false,
"properties": {
"containerName": {
"type": "string"
},
"divisor": {
"oneOf": [{"type": "string"}, {"type": "number"}]
},
"resource": {
"type": "string"
}
},
"required": ["resource"]
},
"envVarDependsOn": {
"oneOf": [
{"type": "string"},
{
"type": "array",
"items": {"type": "string"}
}
]
},
"objectKeySelector": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"key": {
"type": "string"
}
},
"required": ["name", "key"]
}
}

View file

@ -18,8 +18,10 @@ Return the primary port for a given Service object.
{{- /* Return the first port if none has been explicitly marked as primary */ -}}
{{- if not $result -}}
{{- $firstPortKey := keys $enabledPorts | first -}}
{{- if $firstPortKey -}}
{{- $result = get $enabledPorts $firstPortKey -}}
{{- end -}}
{{- end -}}
{{- $result | toYaml -}}
{{- end -}}

View file

@ -1,6 +1,6 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://raw.githubusercontent.com/bjw-s/helm-charts/common-3.0.3/charts/library/common/values.schema.json",
"$id": "https://raw.githubusercontent.com/bjw-s/helm-charts/common-3.0.4/charts/library/common/values.schema.json",
"type": "object",
"properties": {