This is a demo CI/CD orchestrator with three microservices: build-service
,
test-service
, and deployment-service
. It exists purely as an example
microservices and Kubernetes deployment—it has no persistence and does not
actually run CI/CD jobs.
To use the existing public images from Docker Hub:
- Run
kubectl apply -f kubernetes/deployment.yaml
.
To create your own images and push to a different container registry:
- Build and push Docker images for each service.
- Update
kubernetes/deployment.yaml
with your image URLs. - Run
kubectl apply -f kubernetes/deployment.yaml
.
- Edit the
kubernetes/ngrok-api-gateway.yaml
file and replace{YOUR_NGROK_DOMAIN}
with a branded domain, or using an ngrok-controlled domain like{YOUR_SUBDOMAIN}.ngrok.dev
. - Run
kubectl apply -f kubernetes/ngrok-api-gateway.yaml
.
services/
: Contains the source code for each microservicekubernetes/
: Contains Kubernetes deployment configurations
build-service
:POST /builds/trigger
: Trigger a new buildGET /builds/{id}
: Retrieve details about a specific buildGET /builds
: List all builds
test-service
:POST /tests/run
: Initiate a new test runGET /tests/{id}
: Retrieve details about a specific test runGET /tests
: List all test runs
deployment-service
:POST /deployments/create
: Create a new deploymentGET /deployments/{id}
: Retrieve details about a specific deploymentGET /deployments
: List all deployments`