/
/
/
1---
2# Runner Services - Docker Network Configuration
3
4- name: Create runner docker network
5 community.docker.docker_network:
6 name: "{{ runner_docker_network }}"
7 ipam_config:
8 - subnet: "{{ runner_network_subnet }}"
9 driver: bridge
10 state: present
11 force: true
12 register: runner_network_result
13
14- name: Verify network was created successfully
15 command: docker network inspect {{ runner_docker_network }}
16 register: network_creation_check
17 changed_when: false
18 failed_when: network_creation_check.rc != 0
19
20- name: Display network information
21 debug:
22 msg: |
23 Docker Network Configuration:
24 - Network Name: {{ runner_docker_network }}
25 - Subnet: {{ runner_network_subnet }}
26 - Driver: bridge
27 - State: {{ 'Created' if runner_network_result.changed else 'Already exists' }}
28 - Verification: SUCCESS
29
30- name: Verify network connectivity
31 command: docker network inspect {{ runner_docker_network }}
32 register: network_inspect
33 changed_when: false
34
35- name: Parse network inspection results
36 set_fact:
37 network_info: "{{ (network_inspect.stdout | from_json)[0] }}"
38
39- name: Extract gateway information
40 set_fact:
41 network_gateway: "{{ network_info.IPAM.Config[0].Gateway | default('auto-assigned') if (network_info.IPAM.Config | default([]) | length > 0) else 'auto-assigned' }}"
42
43- name: Display network details
44 debug:
45 msg: |
46 Network Details:
47 - Gateway: {{ network_gateway }}
48 - Subnet: {{ runner_network_subnet }}
49 - Services will communicate through this network
50
51- name: Create network connectivity test
52 template:
53 src: network-test.sh.j2
54 dest: /usr/local/bin/runner-network-test.sh
55 owner: "{{ runner_user }}"
56 group: "{{ runner_group }}"
57 mode: '0755'