dvirlabs 618a139847
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Update app
2026-04-22 20:48:19 +03:00
2026-04-21 14:18:19 +03:00
2026-04-21 16:13:06 +03:00
2026-04-22 20:48:19 +03:00
2026-04-21 19:54:43 +03:00
2026-04-21 13:10:31 +03:00

GitOps Status API

Simple Flask API for serving and updating GitOps status information.

Features

  • GET /status.json - Retrieve current status in JSON format
  • GET /api/status - API endpoint to retrieve status
  • POST /api/status - Update status with new data
  • GET /health - Kubernetes liveness probe
  • GET /ready - Kubernetes readiness probe

Local Development

# Install dependencies
pip install -r requirements.txt

# Run the app
python app.py

# Test
curl http://localhost:5000/status.json
curl -X POST http://localhost:5000/api/status -H "Content-Type: application/json" -d '{"sync_status":"SYNCED"}'

Docker Build

# Build the image
docker build -t gitops-status-api:1.0.0 .

# Run locally
docker run -it -p 5000:5000 -v /tmp/data:/data gitops-status-api:1.0.0

Push to Harbor

# Login to Harbor
docker login harbor.your-domain.com

# Tag for Harbor
docker tag gitops-status-api:1.0.0 harbor.your-domain.com/gitops/status-api:1.0.0
docker tag gitops-status-api:1.0.0 harbor.your-domain.com/gitops/status-api:latest

# Push to Harbor
docker push harbor.your-domain.com/gitops/status-api:1.0.0
docker push harbor.your-domain.com/gitops/status-api:latest

Environment Variables

  • API_HOST - Listen address (default: 0.0.0.0)
  • API_PORT - Listen port (default: 5000)
  • STATUS_FILE - Path to status.json file (default: /data/status.json)
  • FLASK_ENV - Flask environment (default: production)

API Examples

Get status

curl http://localhost:5000/status.json
curl http://localhost:5000/api/status

Update status

curl -X POST http://localhost:5000/api/status \
  -H "Content-Type: application/json" \
  -d '{
    "sync_status": "SYNCED",
    "drift_count": 0,
    "files": ["app1", "app2"]
  }'

Check health

curl http://localhost:5000/health
curl http://localhost:5000/ready

Version

1.0.0

Description
No description provided
Readme 111 KiB
Languages
Python 91.3%
Dockerfile 8.7%