- 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 - Change domain from gitea.poll-streams.com to git.poll-streams.com - Add diagrams
39 lines
1.6 KiB
Markdown
39 lines
1.6 KiB
Markdown
# DevOps Challenge: Microservice with Update Automation
|
|
|
|
The DevOps Challenge consists of two parts:
|
|
|
|
1. (Deployment)[#deployment]: Installation of an application with automated updates
|
|
2. (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) |