--- - 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': {}}]) }}" wikideck_trusted_proxies: "{{ invalid_case.trusted_proxies | default([]) }}" wikideck_ops_port: "{{ invalid_case.ops_port | default('') }}" wikideck_mainnet_launch: "{{ invalid_case.mainnet_launch | default('') }}" wikideck_mainnet_risk_ack: "{{ invalid_case.risk_ack | default('') }}" 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 }}"