anilist custom list provider for sonarr/radarr
Go to file
William Artero 6c5e904e9d
Some checks failed
Integration / metadata (push) Has been cancelled
Integration / lint (push) Has been cancelled
Integration / test (push) Has been cancelled
Security / metadata (push) Has been cancelled
Security / analyze (push) Has been cancelled
Integration / build (push) Has been cancelled
Integration / report (push) Has been cancelled
Integration / container (push) Has been cancelled
Security / security-scan (push) Has been cancelled
chore: last chance for GHA. I'm about to pull the dagger here
Signed-off-by: William Artero <git@artero.dev>
2023-12-06 16:17:03 +01:00
.github chore: last chance for GHA. I'm about to pull the dagger here 2023-12-06 16:17:03 +01:00
.make chore: last chance for GHA. I'm about to pull the dagger here 2023-12-06 16:17:03 +01:00
.vscode chore: added lint make target 2023-12-04 18:13:05 +01:00
cmd refactor: renamed telemetry error to use standard Err prefix 2023-12-04 18:04:26 +01:00
internal chore: added memoryFS used by some adapter tests 2023-12-05 18:15:17 +01:00
.air.toml feat: MVP's out 🚀 2023-08-09 21:42:34 +02:00
.codeclimate.yml chore: updated code climate settings 2023-12-06 10:18:18 +01:00
.codecov.yml chore: added codecov configuration 2023-12-04 19:58:19 +01:00
.dockerignore chore: updated docker ignores 2023-08-24 17:24:59 +02:00
.editorconfig feat: MVP's out 🚀 2023-08-09 21:42:34 +02:00
.gitignore chore: added lint make target 2023-12-04 18:13:05 +01:00
.golangci.yaml chore: last chance for GHA. I'm about to pull the dagger here 2023-12-06 16:17:03 +01:00
.goreleaser.yml feat: MVP's out 🚀 2023-08-09 21:42:34 +02:00
.grype.yaml ci: added CodeQL settings 2023-08-10 12:44:06 +02:00
.pre-commit-config.yaml chore: last chance for GHA. I'm about to pull the dagger here 2023-12-06 16:17:03 +01:00
anilistarr.puml docs: updated diagram to the current state 2023-08-24 22:39:25 +02:00
CODE_OF_CONDUCT.md feat: MVP's out 🚀 2023-08-09 21:42:34 +02:00
CODEOWNERS chore: added codeowners 2023-08-10 12:44:07 +02:00
container-structure-test.yaml chore: last chance for GHA. I'm about to pull the dagger here 2023-12-06 16:17:03 +01:00
CONTRIBUTING.md feat: MVP's out 🚀 2023-08-09 21:42:34 +02:00
cspell.config.yaml chore: last chance for GHA. I'm about to pull the dagger here 2023-12-06 16:17:03 +01:00
doc.go chore: updated intrumentation with otelchi 2023-08-14 17:21:42 +02:00
Dockerfile refactor: split Makefile by topics 2023-12-04 19:58:19 +01:00
fly.toml refactor: moved telemetry environment from constants and code to environment variables 2023-09-03 13:25:50 +02:00
gen.go chore: updated intrumentation with otelchi 2023-08-14 17:21:42 +02:00
go.mod fix: removed pyroscope/pprof PoC for now 2023-12-04 17:09:45 +01:00
go.sum fix: removed pyroscope/pprof PoC for now 2023-12-04 17:09:45 +01:00
LICENSE feat: MVP's out 🚀 2023-08-09 21:42:34 +02:00
Makefile chore: last chance for GHA. I'm about to pull the dagger here 2023-12-06 16:17:03 +01:00
media.db.sql chore: updated db SQL schema 2023-08-24 01:48:23 +02:00
README.md docs: added OpenAPI definition and reference in the readme 2023-08-26 14:34:48 +02:00
SECURITY.md feat: MVP's out 🚀 2023-08-09 21:42:34 +02:00
sonar-project.properties ci: added container lint report to sonar 2023-08-24 22:04:10 +02:00
swagger.yaml docs: added OpenAPI definition and reference in the readme 2023-08-26 14:34:48 +02:00
TODO.md docs: added inline and general to-dos 2023-08-23 23:59:35 +02:00
workspace.dsl feat: MVP's out 🚀 2023-08-09 21:42:34 +02:00

anilistarr

anilist custom list provider for sonarr/radarr

Go Reference GitHub Issues GitHub Pull Requests

Integration pre-commit.ci status

Quality Gate Status Coverage Maintainability Rating Security Rating

License FOSSA Status CII Best Practices

Docker Image Size (latest semver) Docker Image Version (latest semver) Docker Pulls


📝 Table of Contents

🧐 About

Converts an Anilist user watching list to a custom list format which *arr apps support.

It works by fetching the user info directly from Anilist thanks to its API, and converts the IDs using community-provided mappings.

Try it out on a live instance at https://anilistarr.fly.dev/. For API details check either the source Swagger definition or the generated online version here.

🏁 Getting Started

Clone the repository and use go run ./cmd/handler/... to get the REST API up.

🔧 Running the tests

Explain how to run the automated tests for this system.

🎈 Usage

Configuration in general is a WIP. The code supports distinct storage and cache options and has built-in support for different caches and stores. The handler needs flags/configuration file support to allow switching at runtime.

Implemented solutions:

  • Cache
    • Badger
    • Bolt (no TTL support tho)
    • Redis
  • Store
    • Badger
    • SQL (model generated for SQLite, should work for others but YMMV)

🚀 Deployment

The handler binary is statically compiled and serves both the REST API and the telemetry to an OTLP endpoint. Extra requirements depend on which storage and cache technologies you've chosen; e.g. using SQLite/Bolt requires a database file. The Docker image provided contains the handler alone, for instance.

🔧 Built Using

  • Golang - Base language
  • Chi - net/HTTP-compatible router that doesn't suck
  • genqlient - type-safe GraphQL client generator
  • xo - SQL client code generator
  • Open Telemetry - Observability

🧑‍💻 Authors

🎉 Acknowledgements