60 lines
2.2 KiB
YAML
60 lines
2.2 KiB
YAML
---
|
|
# Example: Setup network infrastructure for FastPass cluster
|
|
# This demonstrates the modular approach for DNS and load balancer setup
|
|
|
|
- name: Setup FastPass Cluster Network Infrastructure
|
|
hosts: fastpass_control_plane[0]
|
|
gather_facts: true
|
|
vars:
|
|
cluster_name: "fastpass"
|
|
cluster_endpoint: "{{ control_plane_endpoint }}"
|
|
cluster_vip: "{{ ansible_default_ipv4.address }}"
|
|
control_plane_nodes: "{{ groups['fastpass_control_plane'] }}"
|
|
|
|
tasks:
|
|
- name: Display cluster configuration
|
|
ansible.builtin.debug:
|
|
msg: |
|
|
Setting up network for FastPass cluster:
|
|
- Cluster Name: {{ cluster_name }}
|
|
- Endpoint: {{ cluster_endpoint }}
|
|
- VIP: {{ cluster_vip }}
|
|
- Control Plane Nodes: {{ control_plane_nodes | join(', ') }}
|
|
|
|
- name: Setup cluster network infrastructure
|
|
ansible.builtin.include_role:
|
|
name: cluster-network-setup
|
|
vars:
|
|
cluster_name: "{{ cluster_name }}"
|
|
cluster_endpoint: "{{ cluster_endpoint }}"
|
|
cluster_vip: "{{ cluster_vip }}"
|
|
control_plane_nodes: "{{ control_plane_nodes }}"
|
|
|
|
# Alternative approach using task file directly
|
|
- name: Alternative - Use Technitium DNS task directly
|
|
hosts: localhost
|
|
gather_facts: false
|
|
vars:
|
|
cluster_endpoint: "{{ hostvars[groups['fastpass_control_plane'][0]]['control_plane_endpoint'] }}"
|
|
cluster_vip: "{{ hostvars[groups['fastpass_control_plane'][0]]['ansible_default_ipv4']['address'] }}"
|
|
|
|
tasks:
|
|
- name: Create DNS entry using task file
|
|
ansible.builtin.include_tasks: ../tasks/add_technitium_dns_entry.yml
|
|
vars:
|
|
dns_record_name: "{{ cluster_endpoint.split('.')[0] }}"
|
|
dns_zone: "{{ base_domain }}"
|
|
dns_ip_address: "{{ cluster_vip }}"
|
|
dns_record_type: "A"
|
|
dns_ttl: 360
|
|
dns_create_ptr: true
|
|
dns_debug: true
|
|
when: use_task_approach | default(false)
|
|
|
|
# Usage examples:
|
|
#
|
|
# Use modular approach (recommended):
|
|
# ansible-playbook -i inventory.yml playbooks/examples/setup-fastpass-network.yml
|
|
#
|
|
# Use task file approach:
|
|
# ansible-playbook -i inventory.yml playbooks/examples/setup-fastpass-network.yml -e use_task_approach=true |