kube-forge v2: embede python with ansible (kubespray) and cobra as cli building tool
This commit is contained in:
46
internal/resources/kubespray/project/boilerplate.yml
Normal file
46
internal/resources/kubespray/project/boilerplate.yml
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
- name: Check ansible version
|
||||
import_playbook: ansible_version.yml
|
||||
|
||||
# These are inventory compatibility tasks with two purposes:
|
||||
# - to ensure we keep compatibility with old style group names
|
||||
# - to reduce inventory boilerplate (defining parent groups / empty groups)
|
||||
|
||||
- name: Define groups for legacy less structured inventories
|
||||
hosts: all
|
||||
gather_facts: false
|
||||
tags: always
|
||||
tasks:
|
||||
- name: Match needed groups by their old names or definition
|
||||
vars:
|
||||
group_mappings:
|
||||
kube_control_plane:
|
||||
- kube-master
|
||||
kube_node:
|
||||
- kube-node
|
||||
calico_rr:
|
||||
- calico-rr
|
||||
no_floating:
|
||||
- no-floating
|
||||
k8s_cluster:
|
||||
- kube_node
|
||||
- kube_control_plane
|
||||
- calico_rr
|
||||
group_by:
|
||||
key: "{{ (group_names | intersect(item.value) | length > 0) | ternary(item.key, '_all') }}"
|
||||
loop: "{{ group_mappings | dict2items }}"
|
||||
|
||||
- name: Check inventory settings
|
||||
hosts: all
|
||||
gather_facts: false
|
||||
tags: always
|
||||
roles:
|
||||
- validate_inventory
|
||||
|
||||
- name: Install bastion ssh config
|
||||
hosts: bastion[0]
|
||||
gather_facts: false
|
||||
environment: "{{ proxy_disable_env }}"
|
||||
roles:
|
||||
- { role: kubespray_defaults }
|
||||
- { role: bastion-ssh-config, tags: ["localhost", "bastion"] }
|
||||
Reference in New Issue
Block a user