# Deployment View ## Infrastructure Overview Deployment is carried out across multiple environments, including Development, Testing, Staging, and Production. Each environment is hosted on Docker or Podman containers, orchestrated using Gitea Actions for CI/CD pipelines and leveraging coolify for cloud infrastructure management. Communication Channels and Protocols are summarized in [Section 3.2 Technical Context](03_context_and_scope.md#technical-context). ## Mapping of Building Blocks to Infrastructure | Building Block | Infrastructure Component | | ---------------------- | ------------------------ | | API Layer | Docker Container | | Service Layer | Docker Container | | Data Access Layer | Docker Container | | Database | Managed Database Service | | Frontend Layer | Docker Container | | Authentication Service | Docker Container | | Reporting Module | Docker Container | | Simulation Engine | Docker Container | | User Interface | Docker Container | | Visualization Module | Docker Container | | Mining Algorithm | Docker Container | | Data Preprocessing | Docker Container | | Result Postprocessing | Docker Container | | Notification Service | Docker Container | | Logging Service | Docker Container | | Monitoring Service | Docker Container | | Caching Layer | Docker Container | | Load Balancer | Docker Container | | API Gateway | Docker Container | | Message Broker | Docker Container | | Configuration Service | Docker Container | | Backup Service | Docker Container | | Analytics Module | Docker Container | | Search Service | Docker Container | | Scheduler Service | Docker Container | | File Storage Service | Docker Container | ```mermaid graph LR subgraph Infrastructure DC[Docker/Podman Containers] MDS[Managed Database Service] end subgraph BuildingBlocks API[API Layer] SVC[Service Layer] DAL[Data Access Layer] DB[Database] FE[Frontend Layer] end API --> DC SVC --> DC DAL --> DC DB --> MDS FE --> DC ``` ## Level 2 ### Docker/Podman Containers The Docker/Podman Containers host various building blocks of the system, including the API Layer, Service Layer, Data Access Layer, Frontend Layer, and other services such as Authentication Service, Reporting Module, and Simulation Engine. Each container is configured to ensure optimal performance and security. ### Managed Database Service The Managed Database Service hosts the PostgreSQL database, which is used for storing and retrieving data used and generated by the system. The service is configured for high availability, backup, and recovery to ensure data integrity. ## Level 3 ### Calminer Deployment Container The Calminer Deployment Container encapsulates the entire application, including all necessary building blocks and dependencies, to ensure consistent deployment across different environments. ### Building Block to Container Mapping | Building Block | Container Component | | ----------------- | ------------------- | | API Layer | Calminer Container | | Service Layer | Calminer Container | | Data Access Layer | Calminer Container | | Database | Database Container | | Frontend Layer | Calminer Container |