A minimal .NET 8 Web API containerized with Docker and deployed to Kubernetes or OpenShift using GitHub Actions CI/CD.
InvoiceService/
├── Controllers/
│ └── InvoiceController.cs
├── Program.cs
├── InvoiceService.csproj
├── Dockerfile
├── invoice-service.yaml
└── .github/workflows/
└── deploy.yml
- .NET 8 (Minimal API)
- Docker
- Kubernetes / OpenShift
- GitHub Actions
- YAML-based Infrastructure-as-Code
GET /invoice
[
{ "id": 1, "amount": 100.0 }
]- Developer pushes code to
main - GitHub Actions:
- Builds and publishes the .NET app
- Builds Docker image and pushes to Azure Container Registry
- Applies Kubernetes/OpenShift manifest via
kubectl
# Build and run locally
dotnet restore
dotnet run# Or with Docker
docker build -t invoice-service .
docker run -p 8080:80 invoice-serviceACR_USERNAMEACR_PASSWORD
These are used to authenticate and push Docker images to Azure Container Registry (can be adapted for AWS/GCP).
This repository demonstrates my ability to:
- Write clean and container-ready .NET services
- Automate CI/CD pipelines with GitHub Actions
- Deploy to modern container orchestration platforms (Kubernetes, OpenShift)
- Work DevOps-style with cloud-native toolchains
Anis Toauti
Senior .NET Developer | Cloud & DevOps Enthusiast
LinkedIn | GitHub | Montréal, QC