Commit Graph

7 Commits

  • feat(store): introduce GitTokenStore for token persistence via Git backend
    - Added `GitTokenStore` to handle token storage and metadata using Git as a backing storage.
    - Implemented methods for initialization, save, retrieval, listing, and deletion of auth files.
    - Updated `go.mod` and `go.sum` to include new dependencies for Git integration.
    - Integrated support for Git-backed configuration via `GitTokenStore`.
    - Updated server logic to clone, initialize, and manage configurations from Git repositories.
    - Added helper functions for verifying and synchronizing configuration files.
    - Improved error handling and contextual logging for Git operations.
    - Modified Dockerfile to include `config.example.yaml` for initial setup.
    - Added `gitCommitter` interface to handle Git-based commit and push operations.
    - Configured `Watcher` to detect and leverage Git-backed token stores.
    - Implemented `commitConfigAsync` and `commitAuthAsync` methods for asynchronous change synchronization.
    - Enhanced `GitTokenStore` with `CommitPaths` method to support selective file commits.
  • Add versioning support to build artifacts and log outputs
    - Introduced `Version` variable, set during build via `-ldflags`, to embed application version.
    - Updated Dockerfile to accept `APP_VERSION` argument for version injection during build.
    - Modified `.goreleaser.yml` to pass GitHub release tag as version via `ldflags`.
    - Added version logging in the application startup.
  • Add Docker support with CI/CD workflow and usage instructions
    - Added `.github/workflows/docker-image.yml` for automated Docker image build and push on version tags.
    - Created `Dockerfile` to containerize the application.
    - Updated README with instructions for running the application using Docker.