Commit Graph
2 Commits
Author SHA1 Message Date
Xe IasoandGitHub bf5d66222c chore: set up commitlint, husky, and prettier (#1451)
* chore: add prettier configuration

Signed-off-by: Xe Iaso <[email protected]>

* format: run prettier tree-wide

Signed-off-by: Xe Iaso <[email protected]>

* chore(prettier): ignore intentionally ungrammatical files

Signed-off-by: Xe Iaso <[email protected]>

* ci: add PR title lint rule

Signed-off-by: Xe Iaso <[email protected]>

* ci: add DCO check

Signed-off-by: Xe Iaso <[email protected]>

* chore: add commitlint and husky

Signed-off-by: Xe Iaso <[email protected]>

* chore: add CONTRIBUTING guidelines

Signed-off-by: Xe Iaso <[email protected]>

* chore: set SKIP_INTEGRATION in precommit tests

Signed-off-by: Xe Iaso <[email protected]>

* chore: update spelling

Signed-off-by: Xe Iaso <[email protected]>

* ci(dco): remove reopened trigger

Signed-off-by: Xe Iaso <[email protected]>

* chore: remove dead file

Signed-off-by: Xe Iaso <[email protected]>

* chore(prettier): don't format nginx includes

Signed-off-by: Xe Iaso <[email protected]>

---------

Signed-off-by: Xe Iaso <[email protected]>
2026-02-15 08:19:12 -05:00
Xe IasoandGitHub 74e11505c6 feat: enable loading config fragments (#321)
* feat(config): support importing bot policy snippets

This changes the grammar of the Anubis bot policy config to allow
importing from internal shared rules or external rules on the
filesystem.

This lets you create a file at `/data/policies/block-evilbot.yaml` and
then import it with:

```yaml
bots:
- import: /data/policies/block-evilbot.yaml
```

This also explodes the default policy file into a bunch of composable
snippets.

Thank you @Aibrew for your example gitea Atom / RSS feed rules!

Signed-off-by: Xe Iaso <[email protected]>

* fix(data): update botPolicies.json to use imports

Signed-off-by: Xe Iaso <[email protected]>

* fix(cmd/anubis): extract bot policies with --extract-resources

This allows a user that doesn't have anything but the Anubis binary to
figure out what the default configuration does.

* docs(data/botPolices.yaml): document import syntax in-line

Signed-off-by: Xe Iaso <[email protected]>

* fix(lib/policy): better test importing from JSON snippets

Signed-off-by: Xe Iaso <[email protected]>

* docs(admin): Add import syntax documentation

This documents the import syntax and is based on the block comment at
the top of the default bot policy file.

* docs(changelog): add note about importing snippets

Signed-off-by: Xe Iaso <[email protected]>

* style(lib/policy/config): use an error value instead of an inline error

Signed-off-by: Xe Iaso <[email protected]>

---------

Signed-off-by: Xe Iaso <[email protected]>
2025-04-23 07:01:28 -04:00