Skip to content

Latest commit

 

History

History
49 lines (41 loc) · 3.77 KB

File metadata and controls

49 lines (41 loc) · 3.77 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased] - 2025-05-13

Added

  • Initial project scaffolding and file creation.
  • .gitignore created and populated.
  • .devcontainer/devcontainer.json configured for Docker-in-Docker, Go, Node.js (v18), act, and VS Code extensions. postCreateCommand installs unzip, make, and sets Docker socket permissions.
  • .github/workflows/ci.yml created with linting jobs (Hadolint, yamllint, actionlint, ShellCheck) and a build_and_scan job (QEMU, Buildx, Docker build, placeholders for SBOM/Trivy).
  • infra/bootstrap/Dockerfile (Alpine, bash, gettext) and infra/bootstrap/build.sh (generates docker-compose.yml and .env.sample with all services) created.
  • quickstart.sh created (validates prerequisites, builds/runs bootstrap, creates data dirs, copies .env.sample to .env).
  • infra/docker-compose.yml placeholder created (actual content generated by infra/bootstrap/build.sh).
  • infra/sonic/Dockerfile (multi-stage, Go geth placeholder, Alpine, non-root user, tini).
  • infra/indexer/Dockerfile (multi-stage, Node.js 18, placeholder app, non-root user, unzip, healthcheck).
  • infra/observability/prometheus.yml configured with scrape configs for services.
  • infra/observability/grafana/dashboards/cluster_health.json and infra/observability/grafana/dashboards/indexer_metrics.json created.
  • infra/portainer/zombiekit.template.json created (Portainer stack template v2, env prompts).
  • LICENSE file created with Apache-2.0 license text.
  • Makefile created with targets: bootstrap, up, down, logs, logs-service, ps, build, build-service, pull, ci, ci-act, clean, help.
  • Documentation files created and populated: docs/QuickStart.md, docs/Upgrade.md, docs/BackupRestore.md, docs/Security.md, docs/FAQ.md.
  • bootstrap.md created to document the bootstrapping process.
  • Grafana provisioning files created: infra/observability/grafana/provisioning/datasources/prometheus.yml and infra/observability/grafana/provisioning/dashboards/default.yml.
  • VS Code tasks file .vscode/tasks.json created with infra-up, infra-down, bootstrap, and ci-act tasks.
  • Updated .github/workflows/ci.yml to include multi-arch builds (linux/amd64, linux/arm64, linux/riscv64), Trivy scans, SBOM generation (Syft), artifact uploads for reports, and publishing images to GHCR on main/master pushes.
  • Added make scan and make push targets to Makefile for local scanning and push guidance.
  • Updated infra/bootstrap/build.sh to generate docker-compose.yml with read-only root filesystems, tmpfs mounts, correct volume paths per spec (infra/{service-name}/data), updated image names, PUID/PGID support, and improved healthchecks (e.g., Traefik ping).
  • Makefile:
    • Added make scan target for local Trivy/Syft scans.
    • Added placeholder make push target.
    • Added make test-bootstrap target for isolated testing of the bootstrap generation process, including clean-bootstrap-outputs, build-bootstrap-image, run-bootstrap-generation, and validate-bootstrap-outputs sub-targets.
    • Refined make clean and make ci to align with new testing capabilities.
  • Documentation:

Changed

  • Validated and corrected JSON files (cluster_health.json, indexer_metrics.json, zombiekit.template.json) by removing comments to ensure they are valid JSON.
  • Updated Makefile to use $(CURDIR) for more robust path handling in test-bootstrap and related targets.
  • Ensured TARGET_DIR in CI workflow correctly points to $(pwd)/infra for bootstrap script.

Fixed

  • N/A

Removed

  • N/A