├── .cargo └── config ├── .github ├── CODEOWNERS └── workflows │ ├── release.yaml │ └── rust.yaml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── Dockerfile ├── LICENSE.txt ├── Makefile ├── README.md ├── bin ├── client │ ├── main.rs │ └── opts.rs └── server.rs ├── deny.toml ├── docs ├── README.md ├── bindle-spec.md ├── crate-readme.md ├── file-layout.md ├── invoice-spec.md ├── keyring-protocol-spec.md ├── label-spec.md ├── parcel-spec.md ├── protocol-spec.md ├── reference-spec.md ├── signing-spec.md ├── standalone-bindle-spec.md └── webassembly.md ├── examples ├── as2bindle.rs ├── cargo2bindle.rs └── client.rs ├── src ├── async_util.rs ├── authn │ ├── always │ │ └── mod.rs │ ├── http_basic.rs │ ├── mod.rs │ └── oidc.rs ├── authz │ ├── always.rs │ ├── anonymous_get.rs │ └── mod.rs ├── cache │ ├── dumb.rs │ ├── lru.rs │ └── mod.rs ├── client │ ├── error.rs │ ├── load.rs │ ├── mod.rs │ └── tokens.rs ├── filters │ └── mod.rs ├── id.rs ├── invoice │ ├── api.rs │ ├── bindle_spec.rs │ ├── condition.rs │ ├── group.rs │ ├── label.rs │ ├── mod.rs │ ├── parcel.rs │ ├── sealed.rs │ ├── signature.rs │ └── verification.rs ├── lib.rs ├── provider │ ├── embedded.rs │ ├── file │ │ └── mod.rs │ └── mod.rs ├── proxy │ └── mod.rs ├── search │ ├── mod.rs │ ├── noop.rs │ └── strict.rs ├── server │ ├── filters.rs │ ├── handlers.rs │ ├── mod.rs │ ├── reply.rs │ └── routes.rs ├── standalone │ └── mod.rs └── testing │ └── mod.rs ├── test └── data │ ├── alt-format-invoice.toml │ ├── full-invoice.toml │ ├── htpasswd │ ├── keyring.toml │ ├── secret_keys.toml │ ├── simple-invoice.toml │ └── standalone │ ├── 1927aefa8fdc8327499e918300e2e49ecb271321530cc5881fcd069ca8372dcd.tar.gz │ └── 1927aefa8fdc8327499e918300e2e49ecb271321530cc5881fcd069ca8372dcd │ ├── invoice.toml │ └── parcels │ └── 23f310b54076878fd4c36f0c60ec92011a8b406349b98dd37d08577d17397de5.dat └── tests ├── cli.rs ├── client.rs ├── scaffolds ├── README.md ├── incomplete │ └── invoice.toml ├── invalid │ ├── invoice.toml │ └── parcels │ │ └── invalid_sha.dat ├── keys │ ├── keyring.toml │ └── secret_keys.toml ├── lotsa_parcels │ ├── invoice.toml │ └── parcels │ │ ├── barrel.dat │ │ ├── crate.dat │ │ └── parcel.dat ├── valid_v1 │ ├── invoice.toml │ └── parcels │ │ └── parcel.dat └── valid_v2 │ ├── invoice.toml │ └── parcels │ ├── other.dat │ └── parcel.dat ├── standalone.rs └── test_util.rs /.cargo/config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/.cargo/config -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @thomastaylor312 @technosophos @radu-matei 2 | -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/.github/workflows/release.yaml -------------------------------------------------------------------------------- /.github/workflows/rust.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/.github/workflows/rust.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /.vscode 3 | .DS_Store 4 | /ssl-example.* 5 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/Cargo.toml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/README.md -------------------------------------------------------------------------------- /bin/client/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/bin/client/main.rs -------------------------------------------------------------------------------- /bin/client/opts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/bin/client/opts.rs -------------------------------------------------------------------------------- /bin/server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/bin/server.rs -------------------------------------------------------------------------------- /deny.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/deny.toml -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/bindle-spec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/docs/bindle-spec.md -------------------------------------------------------------------------------- /docs/crate-readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/docs/crate-readme.md -------------------------------------------------------------------------------- /docs/file-layout.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/docs/file-layout.md -------------------------------------------------------------------------------- /docs/invoice-spec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/docs/invoice-spec.md -------------------------------------------------------------------------------- /docs/keyring-protocol-spec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/docs/keyring-protocol-spec.md -------------------------------------------------------------------------------- /docs/label-spec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/docs/label-spec.md -------------------------------------------------------------------------------- /docs/parcel-spec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/docs/parcel-spec.md -------------------------------------------------------------------------------- /docs/protocol-spec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/docs/protocol-spec.md -------------------------------------------------------------------------------- /docs/reference-spec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/docs/reference-spec.md -------------------------------------------------------------------------------- /docs/signing-spec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/docs/signing-spec.md -------------------------------------------------------------------------------- /docs/standalone-bindle-spec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/docs/standalone-bindle-spec.md -------------------------------------------------------------------------------- /docs/webassembly.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/docs/webassembly.md -------------------------------------------------------------------------------- /examples/as2bindle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/examples/as2bindle.rs -------------------------------------------------------------------------------- /examples/cargo2bindle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/examples/cargo2bindle.rs -------------------------------------------------------------------------------- /examples/client.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/examples/client.rs -------------------------------------------------------------------------------- /src/async_util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/async_util.rs -------------------------------------------------------------------------------- /src/authn/always/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/authn/always/mod.rs -------------------------------------------------------------------------------- /src/authn/http_basic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/authn/http_basic.rs -------------------------------------------------------------------------------- /src/authn/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/authn/mod.rs -------------------------------------------------------------------------------- /src/authn/oidc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/authn/oidc.rs -------------------------------------------------------------------------------- /src/authz/always.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/authz/always.rs -------------------------------------------------------------------------------- /src/authz/anonymous_get.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/authz/anonymous_get.rs -------------------------------------------------------------------------------- /src/authz/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/authz/mod.rs -------------------------------------------------------------------------------- /src/cache/dumb.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/cache/dumb.rs -------------------------------------------------------------------------------- /src/cache/lru.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/cache/lru.rs -------------------------------------------------------------------------------- /src/cache/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/cache/mod.rs -------------------------------------------------------------------------------- /src/client/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/client/error.rs -------------------------------------------------------------------------------- /src/client/load.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/client/load.rs -------------------------------------------------------------------------------- /src/client/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/client/mod.rs -------------------------------------------------------------------------------- /src/client/tokens.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/client/tokens.rs -------------------------------------------------------------------------------- /src/filters/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/filters/mod.rs -------------------------------------------------------------------------------- /src/id.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/id.rs -------------------------------------------------------------------------------- /src/invoice/api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/invoice/api.rs -------------------------------------------------------------------------------- /src/invoice/bindle_spec.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/invoice/bindle_spec.rs -------------------------------------------------------------------------------- /src/invoice/condition.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/invoice/condition.rs -------------------------------------------------------------------------------- /src/invoice/group.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/invoice/group.rs -------------------------------------------------------------------------------- /src/invoice/label.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/invoice/label.rs -------------------------------------------------------------------------------- /src/invoice/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/invoice/mod.rs -------------------------------------------------------------------------------- /src/invoice/parcel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/invoice/parcel.rs -------------------------------------------------------------------------------- /src/invoice/sealed.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/invoice/sealed.rs -------------------------------------------------------------------------------- /src/invoice/signature.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/invoice/signature.rs -------------------------------------------------------------------------------- /src/invoice/verification.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/invoice/verification.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/provider/embedded.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/provider/embedded.rs -------------------------------------------------------------------------------- /src/provider/file/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/provider/file/mod.rs -------------------------------------------------------------------------------- /src/provider/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/provider/mod.rs -------------------------------------------------------------------------------- /src/proxy/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/proxy/mod.rs -------------------------------------------------------------------------------- /src/search/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/search/mod.rs -------------------------------------------------------------------------------- /src/search/noop.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/search/noop.rs -------------------------------------------------------------------------------- /src/search/strict.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/search/strict.rs -------------------------------------------------------------------------------- /src/server/filters.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/server/filters.rs -------------------------------------------------------------------------------- /src/server/handlers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/server/handlers.rs -------------------------------------------------------------------------------- /src/server/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/server/mod.rs -------------------------------------------------------------------------------- /src/server/reply.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/server/reply.rs -------------------------------------------------------------------------------- /src/server/routes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/server/routes.rs -------------------------------------------------------------------------------- /src/standalone/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/standalone/mod.rs -------------------------------------------------------------------------------- /src/testing/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/src/testing/mod.rs -------------------------------------------------------------------------------- /test/data/alt-format-invoice.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/test/data/alt-format-invoice.toml -------------------------------------------------------------------------------- /test/data/full-invoice.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/test/data/full-invoice.toml -------------------------------------------------------------------------------- /test/data/htpasswd: -------------------------------------------------------------------------------- 1 | admin:$2y$05$zwK38cRDnjubAni5GRD3deZSvjMixQLVF6XYeKQrCAtzaWRZT8Xdi 2 | -------------------------------------------------------------------------------- /test/data/keyring.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/test/data/keyring.toml -------------------------------------------------------------------------------- /test/data/secret_keys.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/test/data/secret_keys.toml -------------------------------------------------------------------------------- /test/data/simple-invoice.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/test/data/simple-invoice.toml -------------------------------------------------------------------------------- /test/data/standalone/1927aefa8fdc8327499e918300e2e49ecb271321530cc5881fcd069ca8372dcd.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/test/data/standalone/1927aefa8fdc8327499e918300e2e49ecb271321530cc5881fcd069ca8372dcd.tar.gz -------------------------------------------------------------------------------- /test/data/standalone/1927aefa8fdc8327499e918300e2e49ecb271321530cc5881fcd069ca8372dcd/invoice.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/test/data/standalone/1927aefa8fdc8327499e918300e2e49ecb271321530cc5881fcd069ca8372dcd/invoice.toml -------------------------------------------------------------------------------- /test/data/standalone/1927aefa8fdc8327499e918300e2e49ecb271321530cc5881fcd069ca8372dcd/parcels/23f310b54076878fd4c36f0c60ec92011a8b406349b98dd37d08577d17397de5.dat: -------------------------------------------------------------------------------- 1 | a red one -------------------------------------------------------------------------------- /tests/cli.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/tests/cli.rs -------------------------------------------------------------------------------- /tests/client.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/tests/client.rs -------------------------------------------------------------------------------- /tests/scaffolds/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/tests/scaffolds/README.md -------------------------------------------------------------------------------- /tests/scaffolds/incomplete/invoice.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/tests/scaffolds/incomplete/invoice.toml -------------------------------------------------------------------------------- /tests/scaffolds/invalid/invoice.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/tests/scaffolds/invalid/invoice.toml -------------------------------------------------------------------------------- /tests/scaffolds/invalid/parcels/invalid_sha.dat: -------------------------------------------------------------------------------- 1 | archnemesis for data -------------------------------------------------------------------------------- /tests/scaffolds/keys/keyring.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/tests/scaffolds/keys/keyring.toml -------------------------------------------------------------------------------- /tests/scaffolds/keys/secret_keys.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/tests/scaffolds/keys/secret_keys.toml -------------------------------------------------------------------------------- /tests/scaffolds/lotsa_parcels/invoice.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/tests/scaffolds/lotsa_parcels/invoice.toml -------------------------------------------------------------------------------- /tests/scaffolds/lotsa_parcels/parcels/barrel.dat: -------------------------------------------------------------------------------- 1 | unstable plasma -------------------------------------------------------------------------------- /tests/scaffolds/lotsa_parcels/parcels/crate.dat: -------------------------------------------------------------------------------- 1 | isolinear rods -------------------------------------------------------------------------------- /tests/scaffolds/lotsa_parcels/parcels/parcel.dat: -------------------------------------------------------------------------------- 1 | a red one -------------------------------------------------------------------------------- /tests/scaffolds/valid_v1/invoice.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/tests/scaffolds/valid_v1/invoice.toml -------------------------------------------------------------------------------- /tests/scaffolds/valid_v1/parcels/parcel.dat: -------------------------------------------------------------------------------- 1 | a red one -------------------------------------------------------------------------------- /tests/scaffolds/valid_v2/invoice.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/tests/scaffolds/valid_v2/invoice.toml -------------------------------------------------------------------------------- /tests/scaffolds/valid_v2/parcels/other.dat: -------------------------------------------------------------------------------- 1 | a red one -------------------------------------------------------------------------------- /tests/scaffolds/valid_v2/parcels/parcel.dat: -------------------------------------------------------------------------------- 1 | a green one -------------------------------------------------------------------------------- /tests/standalone.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/tests/standalone.rs -------------------------------------------------------------------------------- /tests/test_util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deislabs/bindle/HEAD/tests/test_util.rs --------------------------------------------------------------------------------