├── .env ├── .envrc ├── .github └── workflows │ ├── auto-update-vendorhash.yaml │ ├── build.yml │ ├── ci.yml │ ├── docker.yml │ ├── releases.yml │ └── semantic-pull-request.yml ├── .gitignore ├── .golangci.yml ├── LICENSE ├── README.md ├── cmd ├── cmd.go ├── maxprocs.go └── serve.go ├── config.example.yaml ├── db ├── migrations │ ├── 20241210054814_create-narinfos-table.sql │ ├── 20241210054829_create-nars-table.sql │ └── 20241213014846_add-query-to-nars-table.sql ├── query.sql └── schema.sql ├── dev-scripts └── run.sh ├── flake.lock ├── flake.nix ├── go.mod ├── go.sum ├── main.go ├── nix ├── checks │ └── flake-module.nix ├── devshells │ └── flake-module.nix ├── formatter │ └── flake-module.nix ├── packages │ ├── docker.nix │ ├── flake-module.nix │ └── ncps.nix └── pre-commit │ └── flake-module.nix ├── pkg ├── cache │ ├── cache.go │ ├── cache_internal_test.go │ ├── cache_test.go │ ├── healthcheck │ │ ├── healthcheck.go │ │ └── healthcheck_test.go │ └── upstream │ │ ├── cache.go │ │ └── cache_test.go ├── database │ ├── database.go │ ├── db.go │ ├── models.go │ ├── query.sql.go │ └── query_test.go ├── helper │ ├── filepath.go │ ├── filepath_test.go │ ├── rand.go │ ├── rand_test.go │ ├── size_units.go │ ├── size_units_test.go │ ├── url_path.go │ └── url_path_test.go ├── nar │ ├── compression_type.go │ ├── url.go │ └── url_test.go ├── nixcacheinfo │ ├── nixcacheinfo_test.go │ ├── parser.go │ ├── splitonce.go │ └── splitonce_test.go ├── otelzerolog │ ├── logging.go │ └── logging_internal_test.go ├── prometheus │ └── prometheus.go ├── server │ ├── server.go │ ├── server_internal_test.go │ └── server_test.go ├── storage │ ├── local │ │ ├── local.go │ │ └── local_test.go │ └── store.go └── telemetry │ ├── resource.go │ └── resource_test.go ├── renovate.json ├── sqlc.yml ├── testdata ├── entries.go ├── nar1.go ├── nar2.go ├── nar3.go ├── nar4.go ├── nar5.go ├── nar6.go ├── nars_test.go ├── server.go ├── server_test.go ├── storeinfo.go ├── type.go └── upstream_public_keys.go └── testhelper ├── sqlite.go └── url.go /.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/.env -------------------------------------------------------------------------------- /.envrc: -------------------------------------------------------------------------------- 1 | watch_dir nix 2 | 3 | use_flake 4 | -------------------------------------------------------------------------------- /.github/workflows/auto-update-vendorhash.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/.github/workflows/auto-update-vendorhash.yaml -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/docker.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/.github/workflows/docker.yml -------------------------------------------------------------------------------- /.github/workflows/releases.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/.github/workflows/releases.yml -------------------------------------------------------------------------------- /.github/workflows/semantic-pull-request.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/.github/workflows/semantic-pull-request.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/.gitignore -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/.golangci.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/README.md -------------------------------------------------------------------------------- /cmd/cmd.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/cmd/cmd.go -------------------------------------------------------------------------------- /cmd/maxprocs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/cmd/maxprocs.go -------------------------------------------------------------------------------- /cmd/serve.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/cmd/serve.go -------------------------------------------------------------------------------- /config.example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/config.example.yaml -------------------------------------------------------------------------------- /db/migrations/20241210054814_create-narinfos-table.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/db/migrations/20241210054814_create-narinfos-table.sql -------------------------------------------------------------------------------- /db/migrations/20241210054829_create-nars-table.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/db/migrations/20241210054829_create-nars-table.sql -------------------------------------------------------------------------------- /db/migrations/20241213014846_add-query-to-nars-table.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/db/migrations/20241213014846_add-query-to-nars-table.sql -------------------------------------------------------------------------------- /db/query.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/db/query.sql -------------------------------------------------------------------------------- /db/schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/db/schema.sql -------------------------------------------------------------------------------- /dev-scripts/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/dev-scripts/run.sh -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/flake.lock -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/flake.nix -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/go.sum -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/main.go -------------------------------------------------------------------------------- /nix/checks/flake-module.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/nix/checks/flake-module.nix -------------------------------------------------------------------------------- /nix/devshells/flake-module.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/nix/devshells/flake-module.nix -------------------------------------------------------------------------------- /nix/formatter/flake-module.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/nix/formatter/flake-module.nix -------------------------------------------------------------------------------- /nix/packages/docker.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/nix/packages/docker.nix -------------------------------------------------------------------------------- /nix/packages/flake-module.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/nix/packages/flake-module.nix -------------------------------------------------------------------------------- /nix/packages/ncps.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/nix/packages/ncps.nix -------------------------------------------------------------------------------- /nix/pre-commit/flake-module.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/nix/pre-commit/flake-module.nix -------------------------------------------------------------------------------- /pkg/cache/cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/cache/cache.go -------------------------------------------------------------------------------- /pkg/cache/cache_internal_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/cache/cache_internal_test.go -------------------------------------------------------------------------------- /pkg/cache/cache_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/cache/cache_test.go -------------------------------------------------------------------------------- /pkg/cache/healthcheck/healthcheck.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/cache/healthcheck/healthcheck.go -------------------------------------------------------------------------------- /pkg/cache/healthcheck/healthcheck_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/cache/healthcheck/healthcheck_test.go -------------------------------------------------------------------------------- /pkg/cache/upstream/cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/cache/upstream/cache.go -------------------------------------------------------------------------------- /pkg/cache/upstream/cache_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/cache/upstream/cache_test.go -------------------------------------------------------------------------------- /pkg/database/database.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/database/database.go -------------------------------------------------------------------------------- /pkg/database/db.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/database/db.go -------------------------------------------------------------------------------- /pkg/database/models.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/database/models.go -------------------------------------------------------------------------------- /pkg/database/query.sql.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/database/query.sql.go -------------------------------------------------------------------------------- /pkg/database/query_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/database/query_test.go -------------------------------------------------------------------------------- /pkg/helper/filepath.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/helper/filepath.go -------------------------------------------------------------------------------- /pkg/helper/filepath_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/helper/filepath_test.go -------------------------------------------------------------------------------- /pkg/helper/rand.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/helper/rand.go -------------------------------------------------------------------------------- /pkg/helper/rand_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/helper/rand_test.go -------------------------------------------------------------------------------- /pkg/helper/size_units.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/helper/size_units.go -------------------------------------------------------------------------------- /pkg/helper/size_units_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/helper/size_units_test.go -------------------------------------------------------------------------------- /pkg/helper/url_path.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/helper/url_path.go -------------------------------------------------------------------------------- /pkg/helper/url_path_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/helper/url_path_test.go -------------------------------------------------------------------------------- /pkg/nar/compression_type.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/nar/compression_type.go -------------------------------------------------------------------------------- /pkg/nar/url.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/nar/url.go -------------------------------------------------------------------------------- /pkg/nar/url_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/nar/url_test.go -------------------------------------------------------------------------------- /pkg/nixcacheinfo/nixcacheinfo_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/nixcacheinfo/nixcacheinfo_test.go -------------------------------------------------------------------------------- /pkg/nixcacheinfo/parser.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/nixcacheinfo/parser.go -------------------------------------------------------------------------------- /pkg/nixcacheinfo/splitonce.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/nixcacheinfo/splitonce.go -------------------------------------------------------------------------------- /pkg/nixcacheinfo/splitonce_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/nixcacheinfo/splitonce_test.go -------------------------------------------------------------------------------- /pkg/otelzerolog/logging.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/otelzerolog/logging.go -------------------------------------------------------------------------------- /pkg/otelzerolog/logging_internal_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/otelzerolog/logging_internal_test.go -------------------------------------------------------------------------------- /pkg/prometheus/prometheus.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/prometheus/prometheus.go -------------------------------------------------------------------------------- /pkg/server/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/server/server.go -------------------------------------------------------------------------------- /pkg/server/server_internal_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/server/server_internal_test.go -------------------------------------------------------------------------------- /pkg/server/server_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/server/server_test.go -------------------------------------------------------------------------------- /pkg/storage/local/local.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/storage/local/local.go -------------------------------------------------------------------------------- /pkg/storage/local/local_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/storage/local/local_test.go -------------------------------------------------------------------------------- /pkg/storage/store.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/storage/store.go -------------------------------------------------------------------------------- /pkg/telemetry/resource.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/telemetry/resource.go -------------------------------------------------------------------------------- /pkg/telemetry/resource_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/pkg/telemetry/resource_test.go -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/renovate.json -------------------------------------------------------------------------------- /sqlc.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/sqlc.yml -------------------------------------------------------------------------------- /testdata/entries.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testdata/entries.go -------------------------------------------------------------------------------- /testdata/nar1.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testdata/nar1.go -------------------------------------------------------------------------------- /testdata/nar2.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testdata/nar2.go -------------------------------------------------------------------------------- /testdata/nar3.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testdata/nar3.go -------------------------------------------------------------------------------- /testdata/nar4.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testdata/nar4.go -------------------------------------------------------------------------------- /testdata/nar5.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testdata/nar5.go -------------------------------------------------------------------------------- /testdata/nar6.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testdata/nar6.go -------------------------------------------------------------------------------- /testdata/nars_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testdata/nars_test.go -------------------------------------------------------------------------------- /testdata/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testdata/server.go -------------------------------------------------------------------------------- /testdata/server_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testdata/server_test.go -------------------------------------------------------------------------------- /testdata/storeinfo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testdata/storeinfo.go -------------------------------------------------------------------------------- /testdata/type.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testdata/type.go -------------------------------------------------------------------------------- /testdata/upstream_public_keys.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testdata/upstream_public_keys.go -------------------------------------------------------------------------------- /testhelper/sqlite.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testhelper/sqlite.go -------------------------------------------------------------------------------- /testhelper/url.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kalbasit/ncps/HEAD/testhelper/url.go --------------------------------------------------------------------------------