mirror of
https://github.com/truenas/charts.git
synced 2026-04-14 02:30:53 +08:00
* Adapt charts CI and improve/fix common * add check on permissions contaienr * add postgres template * update comments * Update create_app.sh * add check * update script * auto gen item.yaml from Chart,yaml * rename readme on dest * duplicate readme from the same source * correct comment * reoder * remove extra space * keep both README and app-readme * update regex, to also allow 2 letter names, which is also valid * No need to check host network if there aren't any pod values * use same pattern as the pod.name label (not prepending release-name * update deps * add chart dirs to ci * Add a validation to check if there is any yaml errors after merging files * update charts path on ci * common/1.0.0/ -> common/ * update common-test dep path * temp update create_app script * make permissions container name configurable, incase we want to change order of execution * update naming convention * fix typo and a missed name change * do not allow `--` in names
186 lines
5.1 KiB
YAML
186 lines
5.1 KiB
YAML
suite: service nodePort test
|
|
templates:
|
|
- common.yaml
|
|
tests:
|
|
- it: should pass with type nodePort
|
|
set:
|
|
service:
|
|
my-service:
|
|
enabled: true
|
|
primary: true
|
|
type: NodePort
|
|
ports:
|
|
port-name:
|
|
enabled: true
|
|
primary: true
|
|
port: 12345
|
|
nodePort: 30000
|
|
workload:
|
|
my-workload:
|
|
enabled: true
|
|
primary: true
|
|
type: Deployment
|
|
podSpec: {}
|
|
asserts:
|
|
- documentIndex: &serviceDoc 1
|
|
isKind:
|
|
of: Service
|
|
- documentIndex: *serviceDoc
|
|
isAPIVersion:
|
|
of: v1
|
|
- documentIndex: *serviceDoc
|
|
equal:
|
|
path: metadata.name
|
|
value: release-name-common-test
|
|
- documentIndex: *serviceDoc
|
|
equal:
|
|
path: spec
|
|
value:
|
|
type: NodePort
|
|
publishNotReadyAddresses: false
|
|
ports:
|
|
- name: port-name
|
|
port: 12345
|
|
protocol: TCP
|
|
targetPort: 12345
|
|
nodePort: 30000
|
|
selector:
|
|
app.kubernetes.io/instance: RELEASE-NAME
|
|
app.kubernetes.io/name: common-test
|
|
pod.name: my-workload
|
|
|
|
- it: should pass with type NodePort and hostnetwork enabled
|
|
set:
|
|
service:
|
|
my-service:
|
|
enabled: true
|
|
primary: true
|
|
type: NodePort
|
|
ports:
|
|
port-name:
|
|
enabled: true
|
|
primary: true
|
|
port: 12345
|
|
nodePort: 30000
|
|
workload:
|
|
my-workload:
|
|
enabled: true
|
|
primary: true
|
|
type: Deployment
|
|
podSpec:
|
|
hostNetwork: true
|
|
asserts:
|
|
- documentIndex: &serviceDoc 1
|
|
isKind:
|
|
of: Service
|
|
- documentIndex: *serviceDoc
|
|
isAPIVersion:
|
|
of: v1
|
|
- documentIndex: *serviceDoc
|
|
equal:
|
|
path: metadata.name
|
|
value: release-name-common-test
|
|
- documentIndex: *serviceDoc
|
|
equal:
|
|
path: spec
|
|
value:
|
|
type: ClusterIP
|
|
publishNotReadyAddresses: false
|
|
ports:
|
|
- name: port-name
|
|
port: 12345
|
|
protocol: TCP
|
|
targetPort: 12345
|
|
selector:
|
|
app.kubernetes.io/instance: RELEASE-NAME
|
|
app.kubernetes.io/name: common-test
|
|
pod.name: my-workload
|
|
- documentIndex: *serviceDoc
|
|
isNull:
|
|
path: spec.ports[0].nodePort
|
|
|
|
- it: should pass with type NodePort and available options set
|
|
set:
|
|
some_ip: 172.16.20.35
|
|
some_family: IPv6
|
|
some_policy: Local
|
|
some_other_ip: 10.200.34.53
|
|
some_affinity: ClientIP
|
|
some_timeout: 100
|
|
some_port: 12344
|
|
some_target_port: 12346
|
|
some_protocol: http
|
|
some_nodePort: 30001
|
|
service:
|
|
my-service:
|
|
enabled: true
|
|
primary: true
|
|
type: NodePort
|
|
clusterIP: "{{ .Values.some_ip }}"
|
|
externalTrafficPolicy: "{{ .Values.some_policy }}"
|
|
publishNotReadyAddresses: true
|
|
ipFamilyPolicy: PreferDualStack
|
|
ipFamilies:
|
|
- IPv4
|
|
- "{{ .Values.some_family }}"
|
|
externalIPs:
|
|
- "{{ .Values.some_other_ip }}"
|
|
- 10.200.34.54
|
|
sessionAffinity: "{{ .Values.some_affinity }}"
|
|
sessionAffinityConfig:
|
|
clientIP:
|
|
timeoutSeconds: "{{ .Values.some_timeout }}"
|
|
ports:
|
|
port-name:
|
|
enabled: true
|
|
primary: true
|
|
port: 12345
|
|
nodePort: 30000
|
|
port-name2:
|
|
enabled: true
|
|
port: "{{ .Values.some_port }}"
|
|
targetPort: "{{ .Values.some_target_port }}"
|
|
protocol: "{{ .Values.some_protocol }}"
|
|
nodePort: "{{ .Values.some_nodePort }}"
|
|
workload:
|
|
my-workload:
|
|
enabled: true
|
|
primary: true
|
|
type: Deployment
|
|
podSpec: {}
|
|
asserts:
|
|
- documentIndex: *serviceDoc
|
|
equal:
|
|
path: spec
|
|
value:
|
|
type: NodePort
|
|
clusterIP: 172.16.20.35
|
|
externalTrafficPolicy: Local
|
|
ipFamilyPolicy: PreferDualStack
|
|
publishNotReadyAddresses: true
|
|
ipFamilies:
|
|
- IPv4
|
|
- IPv6
|
|
externalIPs:
|
|
- 10.200.34.53
|
|
- 10.200.34.54
|
|
sessionAffinity: ClientIP
|
|
sessionAffinityConfig:
|
|
clientIP:
|
|
timeoutSeconds: 100
|
|
ports:
|
|
- name: port-name
|
|
port: 12345
|
|
protocol: TCP
|
|
targetPort: 12345
|
|
nodePort: 30000
|
|
- name: port-name2
|
|
port: 12344
|
|
protocol: TCP
|
|
targetPort: 12346
|
|
nodePort: 30001
|
|
selector:
|
|
app.kubernetes.io/instance: RELEASE-NAME
|
|
app.kubernetes.io/name: common-test
|
|
pod.name: my-workload
|