{"id":35425360,"url":"https://github.com/godon-dev/godon-images","last_synced_at":"2026-04-16T09:07:08.795Z","repository":{"id":215916023,"uuid":"740035907","full_name":"godon-dev/godon-images","owner":"godon-dev","description":"Repository for godon stack relevant container images","archived":false,"fork":false,"pushed_at":"2026-04-14T12:59:44.000Z","size":544,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-14T14:30:01.105Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/godon-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-01-07T10:26:21.000Z","updated_at":"2026-04-14T12:52:08.000Z","dependencies_parsed_at":"2024-11-03T12:18:52.091Z","dependency_job_id":"d4b98064-9499-4844-bf14-559973dbe4d3","html_url":"https://github.com/godon-dev/godon-images","commit_stats":null,"previous_names":["cherusk/godon-images","godon-dev/godon-images"],"tags_count":63,"template":false,"template_full_name":null,"purl":"pkg:github/godon-dev/godon-images","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godon-dev%2Fgodon-images","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godon-dev%2Fgodon-images/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godon-dev%2Fgodon-images/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godon-dev%2Fgodon-images/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/godon-dev","download_url":"https://codeload.github.com/godon-dev/godon-images/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/godon-dev%2Fgodon-images/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31878888,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T07:36:03.521Z","status":"ssl_error","status_checked_at":"2026-04-16T07:35:53.576Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-02T18:14:47.760Z","updated_at":"2026-04-16T09:07:08.790Z","avatar_url":"https://github.com/godon-dev.png","language":"Rust","readme":"# Godon Images\n\nContainer images built with Nix for reproducible, isolated builds.\n\n## Images\n\n| Image | Language | Port | Purpose |\n|-------|----------|------|---------|\n| `godon-api` | Rust (Axum) | 8080 | REST API for managing optimizer breeders and credentials |\n| `godon-cli` | Rust | - | CLI tool for interacting with godon-api |\n| `godon-metrics-exporter` | Rust (Hyper) | 8089 | Prometheus metrics proxy from Push Gateway |\n| `godon-seeder` | Rust | - | Deploys controller/breeder scripts to Windmill |\n| `godon-mcp` | Rust (Axum) | 3001 | MCP server exposing godon-api as tool interface for LLM agents |\n| `godon-bench-greenhouse` | Rust (Axum) | 8090 | Multi-zone greenhouse simulation bench for engine verification |\n\n## Structure\n\n```\ngodon-images/\n├── build/                           # Shared build infrastructure\n│   ├── Dockerfile.nix-builder       # Isolated Nix builder container\n│   └── build-container-nix.sh       # Build script (uses dockerTools.buildLayeredImage)\n├── images/                          # Service images (one directory per image)\n│   ├── godon-api/\n│   ├── godon-cli/\n│   ├── godon-metrics-exporter/\n│   ├── godon-seeder/\n│   ├── godon-mcp/\n│   └── godon-bench-greenhouse/\n├── shared/                          # Shared test infrastructure\n│   └── tests/                       # Windmill test stack, stub scripts, test data\n```\n\n## Building\n\n```bash\ncd images/\u003cimage-name\u003e\n../../build/build-container-nix.sh --version \u003cversion\u003e --name \u003cimage-name\u003e\n```\n\n## Releasing\n\nPush a tag in the format `\u003cimage-name\u003e-X.Y.Z` (e.g., `godon-mcp-0.0.1`). GitHub Actions workflows handle the rest — each image has a `\u003cimage\u003e-ci.yml` for PR builds and a `\u003cimage\u003e-release.yml` triggered by the tag, which delegates to the shared `release-image.yml` to build and push to `ghcr.io/godon-dev/\u003cimage-name\u003e`.\n\n## Architecture\n\n- **Isolated Nix builds**: Each service builds in an isolated container to avoid Nix sandboxing issues\n- **Reproducible containers**: Nix ensures exact same dependencies everywhere\n- **Simple structure**: Focus on container building without unnecessary complexity\n- **Extensible**: Easy to add new services following the same pattern\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgodon-dev%2Fgodon-images","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgodon-dev%2Fgodon-images","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgodon-dev%2Fgodon-images/lists"}