@@ -111,6 +111,100 @@ jobs:
111111 echo ::group::info:request
112112 cat request.json || true; echo
113113 echo ::endgroup::
114+ echo ::group::create docker transport inventory
115+ echo "=== Creating Docker transport inventory ==="
116+
117+ # Get container information
118+ container_info=($(docker ps --format "{{.Names}}" | grep -v NAMES))
119+ container_count=${#container_info[@]}
120+
121+ # Create new inventory with version 2 format and Docker transport
122+ cat > ./inventory.yaml << 'EOF'
123+ version: 2
124+ groups:
125+ - name: pe_nodes
126+ targets:
127+ EOF
128+
129+ # Assign roles based on architecture
130+ case "${{ matrix.architecture }}" in
131+ "standard")
132+ if [ $container_count -ge 1 ]; then
133+ echo " - name: ${container_info[0]}" >> ./inventory.yaml
134+ echo " uri: ${container_info[0]}" >> ./inventory.yaml
135+ echo " vars:" >> ./inventory.yaml
136+ echo " role: primary" >> ./inventory.yaml
137+ echo " config:" >> ./inventory.yaml
138+ echo " transport: docker" >> ./inventory.yaml
139+ echo " docker:" >> ./inventory.yaml
140+ echo " container: ${container_info[0]}" >> ./inventory.yaml
141+ fi
142+ ;;
143+ "standard-with-dr")
144+ if [ $container_count -ge 2 ]; then
145+ # Primary
146+ echo " - name: ${container_info[0]}" >> ./inventory.yaml
147+ echo " uri: ${container_info[0]}" >> ./inventory.yaml
148+ echo " vars:" >> ./inventory.yaml
149+ echo " role: primary" >> ./inventory.yaml
150+ echo " config:" >> ./inventory.yaml
151+ echo " transport: docker" >> ./inventory.yaml
152+ echo " docker:" >> ./inventory.yaml
153+ echo " container: ${container_info[0]}" >> ./inventory.yaml
154+ # Replica
155+ echo " - name: ${container_info[1]}" >> ./inventory.yaml
156+ echo " uri: ${container_info[1]}" >> ./inventory.yaml
157+ echo " vars:" >> ./inventory.yaml
158+ echo " role: replica" >> ./inventory.yaml
159+ echo " config:" >> ./inventory.yaml
160+ echo " transport: docker" >> ./inventory.yaml
161+ echo " docker:" >> ./inventory.yaml
162+ echo " container: ${container_info[1]}" >> ./inventory.yaml
163+ fi
164+ ;;
165+ "large")
166+ if [ $container_count -ge 2 ]; then
167+ # Primary
168+ echo " - name: ${container_info[0]}" >> ./inventory.yaml
169+ echo " uri: ${container_info[0]}" >> ./inventory.yaml
170+ echo " vars:" >> ./inventory.yaml
171+ echo " role: primary" >> ./inventory.yaml
172+ echo " config:" >> ./inventory.yaml
173+ echo " transport: docker" >> ./inventory.yaml
174+ echo " docker:" >> ./inventory.yaml
175+ echo " container: ${container_info[0]}" >> ./inventory.yaml
176+ # Compiler(s)
177+ for ((i=1; i<container_count; i++)); do
178+ echo " - name: ${container_info[i]}" >> ./inventory.yaml
179+ echo " uri: ${container_info[i]}" >> ./inventory.yaml
180+ echo " vars:" >> ./inventory.yaml
181+ echo " role: compiler" >> ./inventory.yaml
182+ echo " config:" >> ./inventory.yaml
183+ echo " transport: docker" >> ./inventory.yaml
184+ echo " docker:" >> ./inventory.yaml
185+ echo " container: ${container_info[i]}" >> ./inventory.yaml
186+ done
187+ fi
188+ ;;
189+ # Add other architectures as needed
190+ *)
191+ echo "Architecture ${{ matrix.architecture }} not fully implemented, using simple setup"
192+ for container_name in "${container_info[@]}"; do
193+ echo " - name: $container_name" >> ./inventory.yaml
194+ echo " uri: $container_name" >> ./inventory.yaml
195+ echo " vars:" >> ./inventory.yaml
196+ echo " role: primary" >> ./inventory.yaml # Default to primary for now
197+ echo " config:" >> ./inventory.yaml
198+ echo " transport: docker" >> ./inventory.yaml
199+ echo " docker:" >> ./inventory.yaml
200+ echo " container: $container_name" >> ./inventory.yaml
201+ done
202+ ;;
203+ esac
204+
205+ echo "=== New Docker transport inventory.yaml ==="
206+ cat ./inventory.yaml
207+ echo ::endgroup::
114208 - name : Debug container setup
115209 run : |
116210 echo ::group::debug_container_setup
0 commit comments