Files
grm/CHANGELOG.md
T

2.6 KiB

Changelog

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

[Unreleased]

Added

  • Parameterized all hardcoded configuration values as Ansible variables in defaults/main.yml:
    • gitea_runner_docker_image — Docker image name (default: gitea/runner)
    • gitea_runner_data_dir — Runtime data directory
    • gitea_runner_config_dir — Config directory
    • gitea_runner_binary_path — Binary install path
    • gitea_runner_prune_until — Prune age filter
    • gitea_runner_prune_schedule — Prune timer schedule
    • gitea_runner_prune_label — Docker label for pruning
    • gitea_runner_service_restart_sec — systemd restart interval
    • gitea_runner_service_user — Service user
    • gitea_runner_log_level — Runner log level
    • gitea_runner_container_label — Container label
    • gitea_runner_file — Runner metadata file
    • docker_gpg_key_path — Docker GPG key path
  • Added console_scripts entry point in pyproject.toml (grm = "gitea_runner_manager.cli:cli").
  • Added shared molecule/common/prepare.yml to eliminate duplicated prepare playbooks.
  • Extracted repeated systemd availability check into tasks/systemd_check.yml.
  • Added idempotence checks to both Molecule scenarios (default and binary).
  • Comprehensive README overhaul with Architecture, Configuration, Development, Testing, and Troubleshooting sections.

Changed

  • Replaced legacy runner terminology with gitea_runner / gitea-runner / Gitea Runner.
  • Updated default Docker image from gitea/gitea_runner to gitea/runner.
  • Makefile now uses the installed grm console script instead of python grm.
  • docker_update.yml: reordered register before changed_when for readability.
  • binary_update.yml: removed redundant explicit service restart (handler handles this idempotently).

Removed

  • Deleted setup.py (redundant with pyproject.toml).
  • Deleted grm shell entrypoint script (replaced by console_scripts).
  • Deleted initial-plan.md and tests/integration/test_provision.py (dead code).
  • Removed empty __init__.py files from tests/ directories.
  • Removed unused runner_validated fact from validate.yml.
  • Removed duplicate prune.yml and integration_test.yml includes from docker_mode.yml and binary_mode.yml (now included once from main.yml).

Fixed

  • Molecule idempotence failures caused by non-idempotent service restart in binary_update.yml.
  • Missing /etc/docker directory handling in Molecule tests.
  • ansible-lint formatting warnings (yaml empty lines).
  • Verify playbooks now explicitly load role defaults so parameterized variables are available during verification.