diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4e1325c..49b3f56 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,8 +28,6 @@ jobs: scenario: default - distro: amazonlinux2 scenario: default - - distro: centos7 - scenario: default - distro: ubuntu1804 scenario: default - distro: fedora33 diff --git a/defaults/main.yml b/defaults/main.yml index 85153b2..4a4e96f 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -29,6 +29,9 @@ k3s_github_url: https://github.com/k3s-io/k3s # URL for K3s updates API k3s_api_url: https://update.k3s.io +# Install K3s in Air Gapped scenarios +k3s_airgap: false + # Skip all tasks that validate configuration k3s_skip_validation: false diff --git a/molecule/nodeploy/.gitignore b/molecule/nodeploy/.gitignore new file mode 100644 index 0000000..200dcfb --- /dev/null +++ b/molecule/nodeploy/.gitignore @@ -0,0 +1 @@ +files/* diff --git a/molecule/nodeploy/converge.yml b/molecule/nodeploy/converge.yml index 831fec7..eed5687 100644 --- a/molecule/nodeploy/converge.yml +++ b/molecule/nodeploy/converge.yml @@ -6,5 +6,6 @@ molecule_is_test: true k3s_server: "{{ lookup('file', 'k3s_server.yml') | from_yaml }}" k3s_agent: "{{ lookup('file', 'k3s_agent.yml') | from_yaml }}" + k3s_airgap: true roles: - role: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" diff --git a/molecule/nodeploy/prepare.yml b/molecule/nodeploy/prepare.yml index 5ae730a..defa929 100644 --- a/molecule/nodeploy/prepare.yml +++ b/molecule/nodeploy/prepare.yml @@ -8,3 +8,20 @@ state: present update_cache: true when: ansible_pkg_mgr == 'apt' + + - name: Prepare air-gapped installation + delegate_to: localhost + run_once: true + block: + + - name: Ensure files directory exists + ansible.builtin.file: + path: ./files + state: directory + mode: 0750 + + - name: Ensure k3s is downloaded for air-gap installation + ansible.builtin.get_url: + url: https://github.com/k3s-io/k3s/releases/download/v1.22.5%2Bk3s1/k3s + dest: ./files/k3s + mode: 0755 diff --git a/tasks/build/airgap-k3s.yml b/tasks/build/airgap-k3s.yml index 763645c..17ad87a 100644 --- a/tasks/build/airgap-k3s.yml +++ b/tasks/build/airgap-k3s.yml @@ -6,7 +6,7 @@ state: directory mode: 0755 -- name: Copy local k3s binary to target host +- name: Ensure k3s binary is copied from controller to target host ansible.builtin.copy: src: k3s # TODO: allow airgap to bypass version post-fix diff --git a/vars/main.yml b/vars/main.yml index 721f616..5f8906f 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -55,9 +55,6 @@ k3s_api_releases: "{{ k3s_api_url }}/v1-release/channels" # Download location for releases k3s_github_download_url: "{{ k3s_github_url }}/releases/download" -# Install K3s in Air Gapped scenarios -k3s_airgap: false - # Generate a runtime config dictionary for validation k3s_runtime_config: "{{ (k3s_server | default({})) | combine (k3s_agent | default({})) }}"