Skip to content

Releases: 28Pollux28/galvanize

v0.7.0

17 Mar 23:13

Choose a tag to compare

Added

  • Configurable container resource limits (CPU, memory, PID) with global defaults in config.yaml and per-challenge overrides in deploy_parameters.resource_limits
  • Optional http_port in deploy_parameters to configure which container port Traefik routes HTTP traffic to (defaults to 80)
  • Per-playbook example challenge.yml files (example/http, example/tcp, example/custom_compose)

v0.6.0

14 Mar 19:09

Choose a tag to compare

Added

  • Bake data/playbooks into the galvanize-instancer runtime image so default playbooks are available even without a host bind mount
  • Support optional protocol hints for TCP published_ports (for example 22/ssh or 8080:80/http) and use the hint in generated connection info URLs
  • Add optional global instancer.randomize_published_ports config flag to randomize host port bindings for non-fixed TCP published_ports entries

Changed

  • Normalize hinted published_ports before running Ansible so Docker Compose still receives valid port syntax while preserving protocol hints for connection string rendering
  • Persist randomized host-port bindings in SQLite so deploy retries and instancer restarts reuse the same published ports until terminate
  • Prune stale published_port_bindings rows on startup when no matching non-deleted deployment exists

v0.5.6

02 Mar 22:24

Choose a tag to compare

Fixed

  • Database initialization failure: automatically create parent directory for SQLite database file to prevent "out of memory (14)" error when db_path directory doesn't exist

v0.5.5

19 Feb 23:18

Choose a tag to compare

Changed

  • Optimize Docker builds with layer caching for Go dependencies
  • Add GitHub Actions cache for Docker layers to speed up CI/CD builds

v0.5.4

19 Feb 23:08

Choose a tag to compare

Added

  • Modify bump version script to automatically tag and commit to master

v0.5.3

19 Feb 22:49

Choose a tag to compare

Added

  • Add --version / -v flag to display the current version

v0.5.2

19 Feb 22:38

Choose a tag to compare

Fixed

  • Pull policy prevented using local images

v0.5.1

19 Feb 21:22

Choose a tag to compare

Fixed

  • Variable redeclaration made sanitization of compose project name not work for non unique challenge names
  • Small tweaks to grafana dashboard

v0.5.0

18 Feb 22:40

Choose a tag to compare

Added

  • Prometheus metrics endpoint on port 5001 (/metrics) with optional HTTP Basic Auth (instancer.metrics.username / instancer.metrics.password in config)
  • Deployment count gauge (instancer_deployments) backed by the database, grouped by status / category / challenge / team
  • Deploy and terminate operation counters (instancer_deploy_ops_total, instancer_terminate_ops_total) with result label
  • Deploy and terminate duration histograms (instancer_deploy_duration_seconds, instancer_terminate_duration_seconds) with category / challenge / team labels
  • Deploy conflict counter (instancer_deploy_conflict_total) for 409 responses
  • Unauthorized deploy request counter (instancer_unauthorized_deploy_requests_total) per team
  • Extension operation counter (instancer_extend_ops_total) and rejection counter (instancer_extend_rejected_total) with reason label (window_not_reached, no_extensions_left, already_expired)
  • Deployment lifetime histogram (instancer_deployment_lifetime_seconds) recorded at termination time
  • Worker job retry counter (instancer_job_retries_total) and permanent failure counter (instancer_job_permanent_failures_total) with job_type label
  • Redis queue depth gauge (instancer_queue_depth) and queue wait time histogram (instancer_job_queue_wait_seconds) — only registered when Redis is configured
  • Challenge index size gauge (instancer_challenges_indexed) per category, updated on startup and on challenge reload
  • Grafana monitoring stack (docker-compose.monitoring.yml) with Prometheus + Grafana, pre-provisioned with a full dashboard covering all metrics
  • make monitoring-up / make monitoring-down targets

Fixed

  • TCP playbook (and any playbook using {{ env | default({}) }}): challenges without an env key in deploy_parameters no longer fail with "environment must be a mapping"env is now normalised to an empty map before being passed to Ansible

v0.4.0

17 Feb 23:53

Choose a tag to compare

No changelog entry found for v0.4.0.