78 lines
7.5 KiB
Plaintext
78 lines
7.5 KiB
Plaintext
+-------------------------------------------------------------------------------------------------+
|
|
| 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 |
|
|
| |
|
|
+-------------------------------------------------------------------------------------------------+
|