https://github.com/godon-dev/godon-images
Repository for godon stack relevant container images
https://github.com/godon-dev/godon-images
Last synced: 2 days ago
JSON representation
Repository for godon stack relevant container images
- Host: GitHub
- URL: https://github.com/godon-dev/godon-images
- Owner: godon-dev
- License: agpl-3.0
- Created: 2024-01-07T10:26:21.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2026-04-14T12:59:44.000Z (4 days ago)
- Last Synced: 2026-04-14T14:30:01.105Z (4 days ago)
- Language: Rust
- Size: 531 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Godon Images
Container images built with Nix for reproducible, isolated builds.
## Images
| Image | Language | Port | Purpose |
|-------|----------|------|---------|
| `godon-api` | Rust (Axum) | 8080 | REST API for managing optimizer breeders and credentials |
| `godon-cli` | Rust | - | CLI tool for interacting with godon-api |
| `godon-metrics-exporter` | Rust (Hyper) | 8089 | Prometheus metrics proxy from Push Gateway |
| `godon-seeder` | Rust | - | Deploys controller/breeder scripts to Windmill |
| `godon-mcp` | Rust (Axum) | 3001 | MCP server exposing godon-api as tool interface for LLM agents |
| `godon-bench-greenhouse` | Rust (Axum) | 8090 | Multi-zone greenhouse simulation bench for engine verification |
## Structure
```
godon-images/
├── build/ # Shared build infrastructure
│ ├── Dockerfile.nix-builder # Isolated Nix builder container
│ └── build-container-nix.sh # Build script (uses dockerTools.buildLayeredImage)
├── images/ # Service images (one directory per image)
│ ├── godon-api/
│ ├── godon-cli/
│ ├── godon-metrics-exporter/
│ ├── godon-seeder/
│ ├── godon-mcp/
│ └── godon-bench-greenhouse/
├── shared/ # Shared test infrastructure
│ └── tests/ # Windmill test stack, stub scripts, test data
```
## Building
```bash
cd images/
../../build/build-container-nix.sh --version --name
```
## Releasing
Push a tag in the format `-X.Y.Z` (e.g., `godon-mcp-0.0.1`). GitHub Actions workflows handle the rest — each image has a `-ci.yml` for PR builds and a `-release.yml` triggered by the tag, which delegates to the shared `release-image.yml` to build and push to `ghcr.io/godon-dev/`.
## Architecture
- **Isolated Nix builds**: Each service builds in an isolated container to avoid Nix sandboxing issues
- **Reproducible containers**: Nix ensures exact same dependencies everywhere
- **Simple structure**: Focus on container building without unnecessary complexity
- **Extensible**: Easy to add new services following the same pattern