mirror of
https://github.com/dredx/prole.git
synced 2026-09-23 12:03:59 +00:00
ArgoCD IO load distribution: Updated k8s/argocd/install.yaml to use hostPath volumes for application-controller (/prole/d001), redis (/prole/d002), and repo-server (/prole/d003). Updated Ansible configure task to create hostPath directories on myrddin.prole.org. K3s configuration and testing: Added test playbooks for kubeconfig rewriting and argument validation. Updated K3s install, configure, and image import tasks. Configured required mounts and host-specific variables for myrddin.prole.org. Miscellaneous: Updated conf/prole.cfg with K3S_TOKEN. Bumped prole-db version and updated recovery manifest templates. Minor UI adjustments in cluster screen. Co-authored-by: Junie <junie@jetbrains.com>
78 lines
2.6 KiB
YAML
78 lines
2.6 KiB
YAML
---
|
|
- name: Test - k3s kubeconfig server rewrite (local)
|
|
hosts: localhost
|
|
connection: local
|
|
gather_facts: false
|
|
|
|
vars:
|
|
_sample_kubeconfig: |
|
|
apiVersion: v1
|
|
clusters:
|
|
- cluster:
|
|
certificate-authority-data: ZmFrZQ==
|
|
server: https://127.0.0.1:6443
|
|
name: default
|
|
contexts:
|
|
- context:
|
|
cluster: default
|
|
user: default
|
|
name: default
|
|
current-context: default
|
|
kind: Config
|
|
users:
|
|
- name: default
|
|
user:
|
|
client-certificate-data: ZmFrZQ==
|
|
client-key-data: ZmFrZQ==
|
|
|
|
_desired_server: https://myrddin.prole.org:6443
|
|
|
|
tasks:
|
|
- name: Old kubeconfig rewrite regex should break YAML (expected)
|
|
block:
|
|
- name: Apply old buggy regex
|
|
ansible.builtin.set_fact:
|
|
_kubeconfig_bad: >-
|
|
{{ _sample_kubeconfig
|
|
| regex_replace('server: https://[^\\s]+', 'server: ' ~ _desired_server) }}
|
|
|
|
- name: Attempt YAML parse (expected to fail)
|
|
ansible.builtin.set_fact:
|
|
_kubeconfig_bad_parsed: "{{ _kubeconfig_bad | from_yaml }}"
|
|
|
|
- name: Fail if YAML parse unexpectedly succeeded
|
|
ansible.builtin.fail:
|
|
msg: "Old regex unexpectedly produced valid YAML; test sample may need adjustment."
|
|
|
|
rescue:
|
|
- name: Mark expected failure as observed
|
|
ansible.builtin.set_fact:
|
|
_old_regex_failed_as_expected: true
|
|
|
|
always:
|
|
- name: Assert old regex failure was observed
|
|
ansible.builtin.assert:
|
|
that:
|
|
- _old_regex_failed_as_expected | default(false) | bool
|
|
|
|
- name: New kubeconfig rewrite regex should preserve YAML structure
|
|
ansible.builtin.set_fact:
|
|
_kubeconfig_good: >-
|
|
{{ _sample_kubeconfig
|
|
| regex_replace('server:\s*https?://\S+', 'server: ' ~ _desired_server) }}
|
|
|
|
- name: Parse rewritten kubeconfig
|
|
ansible.builtin.set_fact:
|
|
_kubeconfig_good_parsed: "{{ _kubeconfig_good | from_yaml }}"
|
|
changed_when: false
|
|
|
|
- name: Assert kubeconfig keys and server were rewritten
|
|
ansible.builtin.assert:
|
|
that:
|
|
- _kubeconfig_good_parsed is mapping
|
|
- (_kubeconfig_good_parsed.contexts | default([])) | length == 1
|
|
- (_kubeconfig_good_parsed.clusters | default([])) | length == 1
|
|
- (_kubeconfig_good_parsed.users | default([])) | length == 1
|
|
- _kubeconfig_good_parsed['current-context'] == 'default'
|
|
- _kubeconfig_good_parsed.clusters[0].cluster.server == _desired_server
|