Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 1.96 KB

README.md

File metadata and controls

43 lines (30 loc) · 1.96 KB

gitea-repo-config

This is a small project to allow you to specify a Gitea configuration in a declarative manner, and to resolve differences between intended and actual config.

Supported features

  • Creation of users
  • Creation of repositories as pull mirrors from GitHub
  • Creation of repositories
    • Optional push mirroring to GitHub
    • Optional branch protection rules
    • Pull request configuration (e.g. whether rebase-merges are allowed, etc)
    • Collaborators
  • Reconciliation of differences between configuration and reality in the above
  • Deletion of repositories, guarded by the "deleted": true configuration

Arguments

Run with the --help argument for a full listing. The main argument you provide is a JSON configuration file, which should conform to the schema; there is an example in the tests. (You can call gitea-repo-config verify $CONFIG_PATH to verify against the schema, or gitea-repo-config output-schema to output the schema for local tooling to consume.)

How to build and run

  • With Nix: nix run github:Smaug123/gitea-repo-config -- reconcile --help.
  • From source: clone the repository, and dotnet run.

Demos

See the Demos file.

Development

To upgrade the NuGet dependencies in the flake, run nix build .#fetchDeps and copy the resulting file into nix/deps.nix.

Formatting

There are pull request checks on this repo, enforcing Fantomas-compliant formatting. Consider performing the following command to set the pre-commit hook in the repo which checks formatting:

git config core.hooksPath hooks/

You will need to ensure that Fantomas is installed when you run this hook, either by running from a nix develop shell, or by executing dotnet tool restore from the root of the repository first.