38 lines
2.0 KiB
YAML
38 lines
2.0 KiB
YAML
---
|
|
- name: Reset validation result
|
|
ansible.builtin.set_fact:
|
|
wikideck_test_invalid_accepted: false
|
|
|
|
- name: Try invalid deployment settings
|
|
vars:
|
|
wikideck_image: "{{ invalid_case.image | default('registry.example.com/wikideck:1.0.0') }}"
|
|
wikideck_name: "{{ invalid_case.name | default('wikideck') }}"
|
|
wikideck_storage_access_modes: "{{ invalid_case.access_modes | default(['ReadWriteOnce']) }}"
|
|
wikideck_ingress_enabled: "{{ invalid_case.ingress | default(false) }}"
|
|
wikideck_ingress_host: "{{ invalid_case.host | default('wikideck.example.com') }}"
|
|
wikideck_public_origin: "{{ invalid_case.origin | default('') }}"
|
|
wikideck_resources: "{{ invalid_case.resources | default({'requests': {'cpu': '100m', 'memory': '128Mi'}, 'limits': {'cpu': '1', 'memory': '512Mi'}}) }}"
|
|
wikideck_peers: "{{ invalid_case.peers | default([]) }}"
|
|
wikideck_allow_private_peers: "{{ invalid_case.allow_private | default(false) }}"
|
|
wikideck_startup_probe_failure_threshold: "{{ invalid_case.startup_threshold | default(180) }}"
|
|
wikideck_network_policy_https_ports: "{{ invalid_case.https_ports | default([443]) }}"
|
|
wikideck_network_policy_peer_egress: "{{ invalid_case.peer_egress | default([]) }}"
|
|
wikideck_image_pull_secrets: "{{ invalid_case.pull_secrets | default([]) }}"
|
|
wikideck_network_policy_ingress_from: "{{ invalid_case.ingress_from | default([{'podSelector': {}}]) }}"
|
|
block:
|
|
- name: Run role input validation
|
|
ansible.builtin.include_tasks: ../tasks/validate.yml
|
|
|
|
- name: Record unexpectedly accepted inputs
|
|
ansible.builtin.set_fact:
|
|
wikideck_test_invalid_accepted: true
|
|
rescue:
|
|
- name: Confirm invalid inputs failed validation
|
|
ansible.builtin.debug:
|
|
msg: "Rejected invalid settings: {{ invalid_case.label }}"
|
|
|
|
- name: Assert invalid configuration was rejected
|
|
ansible.builtin.assert:
|
|
that: not wikideck_test_invalid_accepted
|
|
fail_msg: "Validation incorrectly accepted {{ invalid_case.label }}"
|