Skip to content

Docker/Podman Compose Infrastructure #2

@abhibongale

Description

@abhibongale

Set up the infrastructure services that Ironic needs to run:

  • MariaDB (database)
  • RabbitMQ (message queue)
  • sushy-tools (Redfish BMC emulator)

These will run as Docker/Podman containers orchestrated by Docker/Podman Compose.

Goals

  • Create Jinja2 template for docker-compose.yml
  • Define all infrastructure services
  • Configure networking and volumes
  • Add health checks
  • Test that services start and are accessible

Tasks

  • Create stackbox/templates/docker-compose.yml.j2 template
  • Add MariaDB service definition
  • Add RabbitMQ service definition
  • Add sushy-tools service definition
  • Configure Docker volumes for persistence
  • Configure Docker networks
  • Add health checks for all services
  • Create stackbox/core/compose.py to generate compose file
  • Write function to start/stop services
  • Test services start correctly
  • Test services are accessible (ports, endpoints)
  • Document service endpoints and credentials

Acceptance Criteria

  • Template generates valid docker-compose.yml
  • Can start services with docker-compose up -d
  • All services pass health checks within 30 seconds
  • MariaDB accessible on port 3306
  • RabbitMQ accessible on port 5672
  • sushy-tools accessible on port 8000
  • Services persist data across restarts (volumes work)
  • Clean shutdown with docker-compose down works

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions