+-------------------------------------------------------------------------------------------------+ | Podman-Compose Services Diagram | +-------------------------------------------------------------------------------------------------+ | | | [Network] | | gitea-network (Bridge network for inter-service communication) | | | |-------------------------------------------------------------------------------------------------| | | | [Service: gitea] | | Description: Self-hosted Git service, central hub for repositories and code management. | | Container Name: gitea-test | | Image: Built from ./gitea Dockerfile | | Ports: 3000 (HTTP), 3022 (SSH) | | Volumes: ./gitea-data (for persistent data), ./gitea-logs (for logs) | | Network: gitea-network | | | |-------------------------------------------------------------------------------------------------| | | | [Service: rabbitmq] | | Description: Message broker for asynchronous communication between services. | | Container Name: rabbitmq-test | | Image: rabbitmq:3.13.7-management | | Ports: 5671 (AMQP), 15672 (Management UI) | | Volumes: ./rabbitmq-data (for persistent data), ./rabbitmq-config/certs (TLS certs), | | ./rabbitmq-config/rabbitmq.conf (config), ./rabbitmq-config/definitions.json (exchanges)| | Healthcheck: Ensures RabbitMQ is running and healthy. | | Network: gitea-network | | | |-------------------------------------------------------------------------------------------------| | | | [Service: gitea-publisher] | | Description: Publishes events from Gitea to the RabbitMQ message queue. | | Container Name: gitea-publisher | | Image: Built from ../gitea-events-rabbitmq-publisher/Dockerfile (local/package) | | Dependencies: gitea (started), rabbitmq (healthy) | | Environment: RABBITMQ_HOST, RABBITMQ_USERNAME, RABBITMQ_PASSWORD, SSL_CERT_FILE | | Command: Listens for Gitea events, publishes to 'suse' topic, debug enabled. | | Network: gitea-network | | | |-------------------------------------------------------------------------------------------------| | | | [Service: workflow-pr] | | Description: Manages pull request workflows, likely consuming events from RabbitMQ and | | interacting with Gitea. | | Container Name: workflow-pr | | Image: Built from ../workflow-pr/Dockerfile (local/package) | | Dependencies: gitea (started), rabbitmq (healthy) | | Environment: AMQP_USERNAME, AMQP_PASSWORD, SSL_CERT_FILE | | Volumes: ./gitea-data (read-only), ./workflow-pr/workflow-pr.json (config), | | ./workflow-pr-repos (for repositories) | | Command: Configures Gitea/RabbitMQ URLs, enables debug, manages repositories. | | Network: gitea-network | | | |-------------------------------------------------------------------------------------------------| | | | [Service: mock-obs] | | Description: A mock (simulated) service for the Open Build Service (OBS) for testing. | | Container Name: mock-obs | | Image: Built from ./mock-obs Dockerfile | | Ports: 8080 | | Volumes: ./mock-obs/responses (for mock API responses) | | Network: gitea-network | | | |-------------------------------------------------------------------------------------------------| | | | [Service: obs-staging-bot] | | Description: A bot that interacts with Gitea and the mock OBS, likely for staging processes. | | Container Name: obs-staging-bot | | Image: Built from ../obs-staging-bot/Dockerfile (local/package) | | Dependencies: gitea (started), mock-obs (started) | | Environment: OBS_USER, OBS_PASSWORD | | Volumes: ./gitea-data (read-only) | | Command: Configures Gitea/OBS URLs, enables debug. | | Network: gitea-network | | | +-------------------------------------------------------------------------------------------------+