A microservice that generates and manages cyberpartners for CKC25. This service consumes Kafka messages, creates new cyberpartners based on badge IDs, and stores them in Redis. It's built with Python 3.12 and uses Poetry for dependency management.
- Consumes messages from the Kafka topic:
ingress-cackalacky-cyberpartner-createto trigger cyberpartner creation - Generates unique cyberpartner entities with randomized attributes
- Stores cyberpartner data in Redis
- Produces messages to downstream services via Kafka
- Containerized with Docker for easy deployment
- Python 3.12
- Poetry for dependency management
- Kafka for message processing
- Redis for data storage
- Docker and Docker Compose for containerization
- CircleCI for CI/CD pipeline
- ArgoCD for Kubernetes deployment
py3.12 poetry
pipx install poetry
poetry --versionhttps://scoop.sh/ https://pipx.pypa.io/stable/installation/
Docker compose w/doppler to inject secrets / os vars
# Build the image
doppler run -- docker compose -f docker-compose.services.yaml build
# Run with infrastructure (Kafka, Redis, etc.)
doppler run -- docker compose -f docker-compose.infrastructure.yaml up -d
doppler run -- docker compose -f docker-compose.services.yaml up -dpoetry run isort .
poetry run black .- taskfile
- docker commands for local