https://github.com/rehborn/canary-cd
Continuous Deployment API for Container and Static Pages
https://github.com/rehborn/canary-cd
canary-cd continuous-deployment deployment devops docker docker-compose gitops self-hosted static-hosting
Last synced: 7 months ago
JSON representation
Continuous Deployment API for Container and Static Pages
- Host: GitHub
- URL: https://github.com/rehborn/canary-cd
- Owner: rehborn
- License: apache-2.0
- Created: 2025-01-06T08:09:51.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-29T15:56:13.000Z (7 months ago)
- Last Synced: 2025-08-31T06:43:19.985Z (7 months ago)
- Topics: canary-cd, continuous-deployment, deployment, devops, docker, docker-compose, gitops, self-hosted, static-hosting
- Language: Python
- Homepage: https://docs.rehborn.dev
- Size: 236 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](http://docs.rehborn.dev)
**Continuous Deployment API for Container and Static Pages**
[Source](https://github.com/rehborn/canary-cd) · [Documentation](http://docs.rehborn.dev)
[![PyPI-Badge]](https://pypi.org/project/canary-cd/)
![Python-Badge]
[![License-Badge]](https://github.com/rehborn/canary-cd/blob/main/LICENSE)
[PyPI-Badge]:
https://img.shields.io/pypi/v/canary-cd?style=flat-square&color=306998&label=PyPI&labelColor=FFD43B
[Python-Badge]:
https://img.shields.io/pypi/pyversions/canary-cd?style=flat-square&color=306998&label=Python
[License-Badge]:
https://img.shields.io/github/license/rehborn/canary-cd?style=flat-square&label=License
## Documentation
- [Setup](http://docs.rehborn.dev/setup/)
- [CLI](http://docs.rehborn.dev/cli/)
- [API](http://docs.rehborn.dev/api/)
## Development
### Run with uvicorn
```shell
echo "SALT=$(openssl rand -base64 32)" > .env
ROOT_KEY=test python -m uvicorn canary_cd.main:app --reload --port 8001
```
### Linter
```shell
uv run pylint canary_cd
```
### Tests
```shell
uv run pytest tests/
```
### Coverage
```shell
uv run coverage run --source canary_cd -m pytest tests/
uv run coverage report -m --skip-covered
```
### Docker
#### test standalone
```shell
docker compose build
docker compose up
```
#### test with traefik
```shell
docker compose -f compose.traefik.yml up
```