mirror of
https://github.com/techno-tim/k3s-ansible.git
synced 2025-12-29 04:02:38 +01:00
Compare commits
20 Commits
v1.29.2+k3
...
16fb511d49
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
16fb511d49 | ||
|
|
62b80237ef | ||
|
|
c7c727c3dc | ||
|
|
0422bfa2ac | ||
|
|
0333406725 | ||
|
|
f4a19d368b | ||
|
|
02d212c007 | ||
|
|
80095250e9 | ||
|
|
4fe2c92795 | ||
|
|
b3f2a4addc | ||
|
|
cb03ee829e | ||
|
|
9e2e82faeb | ||
|
|
7c1f6cbe42 | ||
|
|
604eb7a6e6 | ||
|
|
a204ed5169 | ||
|
|
b6608ca3e4 | ||
|
|
8252a45dfd | ||
|
|
c99f098c2e | ||
|
|
7867b87d85 | ||
|
|
dfe19f3731 |
17
.github/download-boxes.sh
vendored
17
.github/download-boxes.sh
vendored
@@ -9,12 +9,17 @@ set -euo pipefail
|
|||||||
GIT_ROOT=$(git rev-parse --show-toplevel)
|
GIT_ROOT=$(git rev-parse --show-toplevel)
|
||||||
PROVIDER=virtualbox
|
PROVIDER=virtualbox
|
||||||
|
|
||||||
# Read all boxes for all platforms from the "molecule.yml" files
|
yq --version
|
||||||
all_boxes=$(cat "${GIT_ROOT}"/molecule/*/molecule.yml |
|
|
||||||
yq -r '.platforms[].box' | # Read the "box" property of each node under "platforms"
|
# Define the path to the molecule.yml files
|
||||||
grep --invert-match --regexp=--- | # Filter out file separators
|
MOLECULE_YML_PATH="${GIT_ROOT}/molecule/*/molecule.yml"
|
||||||
sort |
|
|
||||||
uniq)
|
# Extract and sort unique boxes from all molecule.yml files
|
||||||
|
all_boxes=$(for file in $MOLECULE_YML_PATH; do
|
||||||
|
yq eval '.platforms[].box' "$file"
|
||||||
|
done | sort -u)
|
||||||
|
|
||||||
|
echo all_boxes: "$all_boxes"
|
||||||
|
|
||||||
# Read the boxes that are currently present on the system (for the current provider)
|
# Read the boxes that are currently present on the system (for the current provider)
|
||||||
present_boxes=$(
|
present_boxes=$(
|
||||||
|
|||||||
4
.github/workflows/cache.yml
vendored
4
.github/workflows/cache.yml
vendored
@@ -11,12 +11,12 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check out the codebase
|
- name: Check out the codebase
|
||||||
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # 4.1.2
|
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # 4.1.4
|
||||||
with:
|
with:
|
||||||
ref: ${{ github.event.pull_request.head.sha }}
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
|
|
||||||
- name: Set up Python ${{ env.PYTHON_VERSION }}
|
- name: Set up Python ${{ env.PYTHON_VERSION }}
|
||||||
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # 5.0.0
|
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # 5.1.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHON_VERSION }}
|
python-version: ${{ env.PYTHON_VERSION }}
|
||||||
cache: 'pip' # caching pip dependencies
|
cache: 'pip' # caching pip dependencies
|
||||||
|
|||||||
8
.github/workflows/lint.yml
vendored
8
.github/workflows/lint.yml
vendored
@@ -11,12 +11,12 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check out the codebase
|
- name: Check out the codebase
|
||||||
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # 4.1.2
|
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # 4.1.4
|
||||||
with:
|
with:
|
||||||
ref: ${{ github.event.pull_request.head.sha }}
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
|
|
||||||
- name: Set up Python ${{ env.PYTHON_VERSION }}
|
- name: Set up Python ${{ env.PYTHON_VERSION }}
|
||||||
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # 5.0.0
|
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # 5.1.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHON_VERSION }}
|
python-version: ${{ env.PYTHON_VERSION }}
|
||||||
cache: 'pip' # caching pip dependencies
|
cache: 'pip' # caching pip dependencies
|
||||||
@@ -45,9 +45,9 @@ jobs:
|
|||||||
runs-on: self-hosted
|
runs-on: self-hosted
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # 4.1.2
|
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # 4.1.4
|
||||||
- name: Ensure SHA pinned actions
|
- name: Ensure SHA pinned actions
|
||||||
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@ba37328d4ea95eaf8b3bd6c6cef308f709a5f2ec # 3.0.3
|
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@40e45e738b3cad2729f599d8afc6ed02184e1dbd # 3.0.5
|
||||||
with:
|
with:
|
||||||
allowlist: |
|
allowlist: |
|
||||||
aws-actions/
|
aws-actions/
|
||||||
|
|||||||
6
.github/workflows/test.yml
vendored
6
.github/workflows/test.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check out the codebase
|
- name: Check out the codebase
|
||||||
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # 4.1.2
|
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # 4.1.4
|
||||||
with:
|
with:
|
||||||
ref: ${{ github.event.pull_request.head.sha }}
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ jobs:
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
- name: Set up Python ${{ env.PYTHON_VERSION }}
|
- name: Set up Python ${{ env.PYTHON_VERSION }}
|
||||||
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # 5.0.0
|
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # 5.1.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHON_VERSION }}
|
python-version: ${{ env.PYTHON_VERSION }}
|
||||||
cache: 'pip' # caching pip dependencies
|
cache: 'pip' # caching pip dependencies
|
||||||
@@ -118,7 +118,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload log files
|
- name: Upload log files
|
||||||
if: always() # do this even if a step before has failed
|
if: always() # do this even if a step before has failed
|
||||||
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # 4.3.1
|
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # 4.3.3
|
||||||
with:
|
with:
|
||||||
name: logs
|
name: logs
|
||||||
path: |
|
path: |
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#
|
#
|
||||||
ansible-compat==4.1.11
|
ansible-compat==4.1.11
|
||||||
# via molecule
|
# via molecule
|
||||||
ansible-core==2.16.4
|
ansible-core==2.16.6
|
||||||
# via
|
# via
|
||||||
# -r requirements.in
|
# -r requirements.in
|
||||||
# ansible-compat
|
# ansible-compat
|
||||||
@@ -96,9 +96,9 @@ platformdirs==4.1.0
|
|||||||
# via virtualenv
|
# via virtualenv
|
||||||
pluggy==1.3.0
|
pluggy==1.3.0
|
||||||
# via molecule
|
# via molecule
|
||||||
pre-commit==3.6.2
|
pre-commit==3.7.0
|
||||||
# via -r requirements.in
|
# via -r requirements.in
|
||||||
pre-commit-hooks==4.5.0
|
pre-commit-hooks==4.6.0
|
||||||
# via -r requirements.in
|
# via -r requirements.in
|
||||||
pyasn1==0.5.1
|
pyasn1==0.5.1
|
||||||
# via
|
# via
|
||||||
|
|||||||
8
roles/download/meta/main.yml
Normal file
8
roles/download/meta/main.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
argument_specs:
|
||||||
|
main:
|
||||||
|
short_description: Manage the downloading of K3S binaries
|
||||||
|
options:
|
||||||
|
k3s_version:
|
||||||
|
description: The desired version of K3S
|
||||||
|
required: true
|
||||||
5
roles/k3s_agent/defaults/main.yml
Normal file
5
roles/k3s_agent/defaults/main.yml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
is_pxe_booted: false
|
||||||
|
extra_agent_args: ""
|
||||||
|
group_name_master: master
|
||||||
|
systemd_dir: /etc/systemd/system
|
||||||
29
roles/k3s_agent/meta/main.yml
Normal file
29
roles/k3s_agent/meta/main.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
argument_specs:
|
||||||
|
main:
|
||||||
|
short_description: Setup k3s agents
|
||||||
|
options:
|
||||||
|
apiserver_endpoint:
|
||||||
|
description: Virtual ip-address configured on each master
|
||||||
|
required: true
|
||||||
|
|
||||||
|
extra_agent_args:
|
||||||
|
description: Virtual ip-address configured on each master
|
||||||
|
default: Arguments passed to the systemd service
|
||||||
|
|
||||||
|
group_name_master:
|
||||||
|
description: Name of the master group
|
||||||
|
default: master
|
||||||
|
|
||||||
|
proxy_env:
|
||||||
|
type: dict
|
||||||
|
description: Internet proxy configurations
|
||||||
|
default: ~
|
||||||
|
options:
|
||||||
|
HTTP_PROXY:
|
||||||
|
HTTPS_PROXY:
|
||||||
|
NO_PROXY:
|
||||||
|
|
||||||
|
systemd_dir:
|
||||||
|
description: Path to systemd services
|
||||||
|
default: /etc/systemd/system
|
||||||
19
roles/k3s_custom_registries/meta/main.yml
Normal file
19
roles/k3s_custom_registries/meta/main.yml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
argument_specs:
|
||||||
|
main:
|
||||||
|
short_description: Configure the use of a custom container registry
|
||||||
|
options:
|
||||||
|
custom_registries_yaml:
|
||||||
|
description:
|
||||||
|
- YAML block defining custom registries.
|
||||||
|
- >
|
||||||
|
The following is an example that pulls all images used in
|
||||||
|
this playbook through your private registries.
|
||||||
|
- >
|
||||||
|
It also allows you to pull your own images from your private
|
||||||
|
registry, without having to use imagePullSecrets in your
|
||||||
|
deployments.
|
||||||
|
- >
|
||||||
|
If all you need is your own images and you don't care about
|
||||||
|
caching the docker/quay/ghcr.io images, you can just remove
|
||||||
|
those from the mirrors: section.
|
||||||
@@ -2,9 +2,9 @@
|
|||||||
# If you want to explicitly define an interface that ALL control nodes
|
# If you want to explicitly define an interface that ALL control nodes
|
||||||
# should use to propagate the VIP, define it here. Otherwise, kube-vip
|
# should use to propagate the VIP, define it here. Otherwise, kube-vip
|
||||||
# will determine the right interface automatically at runtime.
|
# will determine the right interface automatically at runtime.
|
||||||
kube_vip_iface: null
|
kube_vip_iface: ~
|
||||||
|
|
||||||
# Name of the master group
|
kube_vip_cloud_provider_tag_version: main
|
||||||
group_name_master: master
|
group_name_master: master
|
||||||
|
|
||||||
# yamllint disable rule:line-length
|
# yamllint disable rule:line-length
|
||||||
@@ -18,3 +18,5 @@ server_init_args: >-
|
|||||||
--token {{ k3s_token }}
|
--token {{ k3s_token }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{{ extra_server_args | default('') }}
|
{{ extra_server_args | default('') }}
|
||||||
|
|
||||||
|
systemd_dir: /etc/systemd/system
|
||||||
|
|||||||
25
roles/k3s_server/meta/main.yml
Normal file
25
roles/k3s_server/meta/main.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
---
|
||||||
|
argument_specs:
|
||||||
|
main:
|
||||||
|
short_description: Setup k3s servers
|
||||||
|
options:
|
||||||
|
group_name_master:
|
||||||
|
description: Name of the master group
|
||||||
|
default: master
|
||||||
|
|
||||||
|
kube_vip_cloud_provider_tag_version:
|
||||||
|
description: Tag for kube-vip-cloud-provider manifest when enabled
|
||||||
|
default: main
|
||||||
|
|
||||||
|
kube_vip_lb_ip_range:
|
||||||
|
description: IP range for kube-vip load balancer
|
||||||
|
default: ~
|
||||||
|
|
||||||
|
proxy_env:
|
||||||
|
type: dict
|
||||||
|
description: Internet proxy configurations
|
||||||
|
default: ~
|
||||||
|
options:
|
||||||
|
HTTP_PROXY:
|
||||||
|
HTTPS_PROXY:
|
||||||
|
NO_PROXY:
|
||||||
2
roles/reset/defaults/main.yml
Normal file
2
roles/reset/defaults/main.yml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
systemd_dir: /etc/systemd/system
|
||||||
Reference in New Issue
Block a user