- Diun monitors Docker images - Automated updates for nginx, manual approval for gitea/postgres - Weekly cert renewal automation via cron - Health checks with automatic rollback on failure - AWS SES email notifications on update failures - Daily S3 backups + pre-update snapshots - Integration tests with Gitea Actions quality gate Deployment + optional PoC complete.
1.6 KiB
DevOps Challenge: Microservice with Update Automation
The DevOps Challenge consists of two parts:
- (Deployment)[#deployment]: Installation of an application with automated updates
- (Concept)[#concept]: Strategy for backup, redundancy, monitoring, and logging
The scripts, data, concepts, etc., created for these tasks should be stored in a Git repository within the Gitea installation.
Note: The use of AI tools such as ChatGPT or GitHub Copilot is explicitly permitted.
Deployment
Installation
Your team has decided to use the DevOps platform Gitea and wants to run its own instance. Perform the deployment on a host system (cloud subscription, VPS, or your own laptop) that is accessible from the internet by your interviewer, while adhering to the following requirements:
- Choice of installation source: source code, package manager, or Docker
- Installation must be automated and reproducible (free choice of configuration management system)
- Use of a reverse proxy and SSL (self-signed is sufficient)
- UI must be accessible only via the proxy
- Setup and integration of a database (PostgreSQL, MariaDB, or MySQL)
Update Automation
Once Gitea is successfully set up, configure automation for the update processusing a tool of your choice.
Concept
For Backup, Redundancy, Monitoring, and Logging develop and document your concept regarding the following topics that will be discussed during the interview:
- Backup
- Centralized logging of components
- Monitoring of key functions
- Fail-safe operation of the instance
Optional
Creation of a proof-of-concept for one or more aspects of your concept (backup, monitoring, logging, redundancy)