Container Images
Kasho is distributed as Docker container images hosted on Docker Hub.
Available Images
Production Image
The main Kasho image contains all components needed for deployment:
kashoio/kasho:latestImage Tags
:latest- The most recent stable release:v0.3.0- Specific version releases (recommended for production):develop- Latest development build from the main branch (not recommended):sha-abc123- Specific commit builds (for debugging, not recommended)
Pulling Images
Simply pull the images directly from Docker Hub:
# Pull the latest stable release
docker pull kashoio/kasho:latest
# Pull a specific version
docker pull kashoio/kasho:v0.3.0
# Pull the development version
docker pull kashoio/kasho:developAvailable Commands
The Kasho image contains the following services and tools:
| Command | Description | Database |
|---|---|---|
/app/bin/pg-change-stream | Captures changes from PostgreSQL | PostgreSQL |
/app/bin/mysql-change-stream | Captures changes from MySQL | MySQL |
/app/bin/translicator | Applies changes to target database | Both |
/app/bin/pg-bootstrap-sync | Bootstraps replica from PostgreSQL dump | PostgreSQL |
/app/bin/mysql-bootstrap-sync | Bootstraps replica from MySQL dump | MySQL |
Using in Docker Compose
Update your docker-compose.yml to use the full image path. Choose the change-stream service based on your database type:
For PostgreSQL:
services:
pg-change-stream:
image: kashoio/kasho:latest
command: /app/bin/pg-change-stream
# ... rest of configuration
translicator:
image: kashoio/kasho:latest
command: /app/bin/translicator
# ... rest of configurationFor MySQL:
services:
mysql-change-stream:
image: kashoio/kasho:latest
command: /app/bin/mysql-change-stream
# ... rest of configuration
translicator:
image: kashoio/kasho:latest
command: /app/bin/translicator
# ... rest of configurationUsing in Kubernetes
Deploy directly in your Kubernetes manifests. Choose the change-stream deployment based on your database type:
For PostgreSQL:
apiVersion: apps/v1
kind: Deployment
metadata:
name: pg-change-stream
spec:
template:
spec:
containers:
- name: pg-change-stream
image: kashoio/kasho:latest
command: ["/app/bin/pg-change-stream"]
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: translicator
spec:
template:
spec:
containers:
- name: translicator
image: kashoio/kasho:latest
command: ["/app/bin/translicator"]For MySQL:
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql-change-stream
spec:
template:
spec:
containers:
- name: mysql-change-stream
image: kashoio/kasho:latest
command: ["/app/bin/mysql-change-stream"]
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: translicator
spec:
template:
spec:
containers:
- name: translicator
image: kashoio/kasho:latest
command: ["/app/bin/translicator"]Version Policy
- Production: Always use specific version tags (e.g.,
v0.3.0) - Testing: You can use
:latestor specific versions - Development: Use
:developfor latest features (may be unstable)
Finding Available Versions
You can view all available versions and tags at: https://hub.docker.com/r/kashoio/kasho
Last updated on