From 685e90f5ecb1c14d7e10b2be4d2ebac77d7cd580 Mon Sep 17 00:00:00 2001 From: Dominik Spitzli Date: Thu, 12 Nov 2026 13:02:45 +0100 Subject: [PATCH] chore: use canonical Spitzli plugin SDK and binaries --- Cargo.lock | 192 +++++++++++++-------------- Cargo.toml | 14 +- Dockerfile | 8 +- NAMESPACE-MIGRATION.json | 49 +++++++ NOTICE | 4 +- README.md | 2 +- scripts/native-release.py | 2 +- src/lib.rs | 4 +- src/main.rs | 12 +- standalone.json | 12 +- tests/provider.rs | 28 ++-- tools/manifest-validator/Cargo.toml | 8 +- tools/manifest-validator/src/main.rs | 2 +- 13 files changed, 193 insertions(+), 144 deletions(-) create mode 100644 NAMESPACE-MIGRATION.json diff --git a/Cargo.lock b/Cargo.lock index 6dda2ec..303b1e7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2493,6 +2493,102 @@ version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e" +[[package]] +name = "spitzli-github-repository" +version = "0.1.0" +dependencies = [ + "async-trait", + "axum", + "base64 0.22.1", + "chrono", + "ed25519-dalek", + "flate2", + "hex", + "jsonwebtoken", + "libc", + "octocrab", + "reqwest", + "rustls", + "serde", + "serde_json", + "spitzli-plugin-runtime", + "spitzli-repository-protocol", + "tar", + "tempfile", + "tokio", + "tonic", + "url", +] + +[[package]] +name = "spitzli-plugin-protocol" +version = "0.1.0" +source = "git+https://github.com/spitzli/cloud-plugin-sdk?rev=8019f3df67dba3fed3083f22635e4725028c1b5e#8019f3df67dba3fed3083f22635e4725028c1b5e" +dependencies = [ + "base64 0.22.1", + "chrono", + "ed25519-dalek", + "jsonschema", + "node-semver", + "regex", + "serde", + "serde_json", + "sha2", + "url", + "uuid", +] + +[[package]] +name = "spitzli-plugin-runtime" +version = "0.1.0" +source = "git+https://github.com/spitzli/cloud-plugin-sdk?rev=8019f3df67dba3fed3083f22635e4725028c1b5e#8019f3df67dba3fed3083f22635e4725028c1b5e" +dependencies = [ + "ed25519-dalek", + "hex", + "hyper-util", + "prost", + "rustix", + "rustls", + "rustls-pemfile", + "serde", + "serde_json", + "sha2", + "spitzli-plugin-protocol", + "tokio", + "tokio-rustls", + "tokio-stream", + "tonic", + "tonic-prost", + "tonic-prost-build", + "tower", + "url", + "x509-parser", +] + +[[package]] +name = "spitzli-repository-protocol" +version = "0.1.0" +source = "git+https://github.com/spitzli/cloud-plugin-sdk?rev=8019f3df67dba3fed3083f22635e4725028c1b5e#8019f3df67dba3fed3083f22635e4725028c1b5e" +dependencies = [ + "async-trait", + "base64 0.22.1", + "ed25519-dalek", + "hex", + "prost", + "rustix", + "serde", + "serde_json", + "sha2", + "spitzli-plugin-protocol", + "spitzli-plugin-runtime", + "tokio", + "tokio-stream", + "tonic", + "tonic-prost", + "tonic-prost-build", + "uuid", +] + [[package]] name = "spki" version = "0.7.3" @@ -3133,102 +3229,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webdock-github-repository" -version = "0.1.0" -dependencies = [ - "async-trait", - "axum", - "base64 0.22.1", - "chrono", - "ed25519-dalek", - "flate2", - "hex", - "jsonwebtoken", - "libc", - "octocrab", - "reqwest", - "rustls", - "serde", - "serde_json", - "tar", - "tempfile", - "tokio", - "tonic", - "url", - "webdock-plugin-runtime", - "webdock-repository-protocol", -] - -[[package]] -name = "webdock-plugin-protocol" -version = "0.1.0" -source = "git+https://github.com/spitzli/cloud-plugin-sdk?rev=8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6#8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6" -dependencies = [ - "base64 0.22.1", - "chrono", - "ed25519-dalek", - "jsonschema", - "node-semver", - "regex", - "serde", - "serde_json", - "sha2", - "url", - "uuid", -] - -[[package]] -name = "webdock-plugin-runtime" -version = "0.1.0" -source = "git+https://github.com/spitzli/cloud-plugin-sdk?rev=8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6#8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6" -dependencies = [ - "ed25519-dalek", - "hex", - "hyper-util", - "prost", - "rustix", - "rustls", - "rustls-pemfile", - "serde", - "serde_json", - "sha2", - "tokio", - "tokio-rustls", - "tokio-stream", - "tonic", - "tonic-prost", - "tonic-prost-build", - "tower", - "url", - "webdock-plugin-protocol", - "x509-parser", -] - -[[package]] -name = "webdock-repository-protocol" -version = "0.1.0" -source = "git+https://github.com/spitzli/cloud-plugin-sdk?rev=8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6#8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6" -dependencies = [ - "async-trait", - "base64 0.22.1", - "ed25519-dalek", - "hex", - "prost", - "rustix", - "serde", - "serde_json", - "sha2", - "tokio", - "tokio-stream", - "tonic", - "tonic-prost", - "tonic-prost-build", - "uuid", - "webdock-plugin-protocol", - "webdock-plugin-runtime", -] - [[package]] name = "webpki-root-certs" version = "1.0.11" diff --git a/Cargo.toml b/Cargo.toml index 54f40ee..25777d9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ ["package"] -"name" = "webdock-github-repository" +"name" = "spitzli-github-repository" "version" = "0.1.0" "edition" = "2024" "rust-version" = "1.94" @@ -22,15 +22,15 @@ "ed25519-dalek" = "2" "libc" = "0.2" -["dependencies"."webdock-plugin-runtime"] +["dependencies"."spitzli-plugin-runtime"] "git" = "https://github.com/spitzli/cloud-plugin-sdk" -"rev" = "8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6" -"package" = "webdock-plugin-runtime" +"rev" = "8019f3df67dba3fed3083f22635e4725028c1b5e" +"package" = "spitzli-plugin-runtime" -["dependencies"."webdock-repository-protocol"] +["dependencies"."spitzli-repository-protocol"] "git" = "https://github.com/spitzli/cloud-plugin-sdk" -"rev" = "8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6" -"package" = "webdock-repository-protocol" +"rev" = "8019f3df67dba3fed3083f22635e4725028c1b5e" +"package" = "spitzli-repository-protocol" ["dependencies"."serde"] "version" = "1" diff --git a/Dockerfile b/Dockerfile index 359db07..3f9f674 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,15 +6,15 @@ WORKDIR /src COPY . . # Shared only among reviewed Spitzli platform sources; never customer build code. FROM source AS check -RUN --mount=type=cache,id=spitzli-native-sdk-8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6-registry,target=/usr/local/cargo/registry,sharing=locked --mount=type=cache,id=spitzli-native-sdk-8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6-git,target=/usr/local/cargo/git,sharing=locked --mount=type=cache,id=spitzli-native-sdk-8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6-target,target=/src/target,sharing=locked cargo check --locked --all-targets --jobs 3 && cargo test --locked --all-targets --jobs 3 --features local-provider-test +RUN --mount=type=cache,id=spitzli-native-sdk-8019f3df67dba3fed3083f22635e4725028c1b5e-registry,target=/usr/local/cargo/registry,sharing=locked --mount=type=cache,id=spitzli-native-sdk-8019f3df67dba3fed3083f22635e4725028c1b5e-git,target=/usr/local/cargo/git,sharing=locked --mount=type=cache,id=spitzli-native-sdk-8019f3df67dba3fed3083f22635e4725028c1b5e-target,target=/src/target,sharing=locked cargo check --locked --all-targets --jobs 3 && cargo test --locked --all-targets --jobs 3 --features local-provider-test FROM source AS build -RUN --mount=type=cache,id=spitzli-native-sdk-8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6-registry,target=/usr/local/cargo/registry,sharing=locked --mount=type=cache,id=spitzli-native-sdk-8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6-git,target=/usr/local/cargo/git,sharing=locked --mount=type=cache,id=spitzli-native-sdk-8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6-target,target=/src/target,sharing=locked cargo build --locked --release --bins --jobs 3 && mkdir /out && install -m 0555 /src/target/release/webdock-github-repository /out/webdock-github-repository +RUN --mount=type=cache,id=spitzli-native-sdk-8019f3df67dba3fed3083f22635e4725028c1b5e-registry,target=/usr/local/cargo/registry,sharing=locked --mount=type=cache,id=spitzli-native-sdk-8019f3df67dba3fed3083f22635e4725028c1b5e-git,target=/usr/local/cargo/git,sharing=locked --mount=type=cache,id=spitzli-native-sdk-8019f3df67dba3fed3083f22635e4725028c1b5e-target,target=/src/target,sharing=locked cargo build --locked --release --bins --jobs 3 && mkdir /out && install -m 0555 /src/target/release/spitzli-github-repository /out/spitzli-github-repository FROM docker.io/library/debian:trixie-slim@sha256:f6b08b09a05725f9431502d3b5714f5c4576e82c1a84fa1debe0c24a7e0c3ec4 COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt COPY LICENSE COMMERCIAL-LICENSING.md NOTICE /usr/share/licenses/spitzli-cloud/ -COPY --from=build --chown=65532:65532 --chmod=0555 /out/webdock-github-repository /usr/local/bin/webdock-github-repository +COPY --from=build --chown=65532:65532 --chmod=0555 /out/spitzli-github-repository /usr/local/bin/spitzli-github-repository ENV HOME=/tmp USER 65532:65532 -ENTRYPOINT ["/usr/local/bin/webdock-github-repository"] +ENTRYPOINT ["/usr/local/bin/spitzli-github-repository"] diff --git a/NAMESPACE-MIGRATION.json b/NAMESPACE-MIGRATION.json new file mode 100644 index 0000000..adde0cb --- /dev/null +++ b/NAMESPACE-MIGRATION.json @@ -0,0 +1,49 @@ +{ + "baseSource": "03b23a1f2646493aadbdc50bed3f3a893544ed77", + "date": "2026-11-12", + "formatVersion": 1, + "licenseUnchanged": true, + "originalSourceSnapshotRetained": true, + "package": "spitzli-github-repository", + "preservedBindingFilesSHA256": { + "COMMERCIAL-LICENSING.md": "5b8832f5014f16e2cf4f7ee295de32760eed20981495d184bd9f1517be256a09", + "EXPORT-PROVENANCE.json": "50a2b503ababfcb7ceba79751144a4de83edec31c196fa224e3c3bbbba3e18a5", + "LICENSE": "0d96a4ff68ad6d4b6f1f30f713b18d5184912ba8dd389f86aa7710db079abcb0" + }, + "qualifiedChangedSourceSHA256": { + "Cargo.lock": "1aa99ee5496efb641a60b94830c219d2f2661d61b17c0f6bb9d98d86e4752c53", + "Cargo.toml": "fdc2aabccedb5f0a2fc130341c78a346904a1506c615c44cb004350e888d6b55", + "Dockerfile": "b386678edf4f4cf770ff5ca7e352189c296f139e3e0d4a6f650a104fdc1b8a67", + "NOTICE": "4949ccd63735c148d2fd1f1423772d11938087ba0bdbcf4aad81c576bcfa09b8", + "README.md": "2d4a9f6095deca8162e1a58fbcbe4b7fb3f853b23bdba324256d9b36397e797b", + "scripts/native-release.py": "44ed0e8cf69563be9dd1a12f33bc226188136f60188006a99d0da2cca50fbcd4", + "src/lib.rs": "d5064d645c14b0588a5b7b7893976ae4128cb7e26d313dc8e9d232b89efd1cbc", + "src/main.rs": "c352cc5f6dfa962619960a42a7c27f4db662878a0c57e40269f2a99d0f8904a2", + "standalone.json": "270a130dde24fef18add379290aaeca3d68a96ff06fb15a05444a0f56be7de11", + "tests/provider.rs": "0e982f37d6d53758d0fba8b92ad11260be732e5bc49c20293e8a48eee496a4b0", + "tools/manifest-validator/Cargo.toml": "81aa8724804a7f701f7b312c8851937369409d029071d2034dbd6f535b86df6a", + "tools/manifest-validator/src/main.rs": "bb5f5ab38c63e2c28aa64a329696e923aa747e62de2d058e2de734ada06e72b4" + }, + "runtimeArtifactsReplaced": false, + "scope": "Rust package/import and binary namespace, host UI import namespace, paired test environment variables and exact SDK pin", + "sdkGit": "https://github.com/spitzli/cloud-plugin-sdk", + "sdkRevision": "8019f3df67dba3fed3083f22635e4725028c1b5e", + "sourceChecks": { + "allRegistryLockfilesPreserved": [ + "Cargo.lock" + ], + "format": true, + "releaseContract": true, + "rustLiteralFilesChecked": 5, + "strictClippy": true, + "testsIgnored": 0, + "testsPassed": 3, + "ui": { + "backendOnly": true, + "component": "github-repository", + "uiTypecheck": "not-applicable-no-ui-source" + } + }, + "version": "0.1.0", + "wireStoredCryptographicAndExternalResourceBindings": "retained for coordinated migration" +} diff --git a/NOTICE b/NOTICE index 8f8f4fb..69c129f 100644 --- a/NOTICE +++ b/NOTICE @@ -1,7 +1,7 @@ -Webdock +Spitzli Cloud Copyright (c) 2026 Spitzli Development and contributors. -Original Webdock code is licensed under AGPL-3.0-only unless separately noted. +Original Spitzli Cloud code is licensed under AGPL-3.0-only unless separately noted. Alternative written licenses may be available from the relevant rights holder. See LICENSE and COMMERCIAL-LICENSING.md. diff --git a/README.md b/README.md index fdca811..f806da7 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ The retained implementation notes below include platform integration procedures. Commands referring to Core, `tools/` or `apps/console` require the [platform source checkout](https://github.com/spitzli/webdock); they are not standalone setup steps. -This standalone Rust workspace implements scoped GitHub commit resolution and source archives. It is not a Core dependency. Build it with `cargo build --manifest-path Cargo.toml --release --locked`; run the resulting `webdock-github-repository` binary with one absolute private configuration file path. Shared protocol/runtime crates are build dependencies, while provider credentials and vendor behavior stay here. +This standalone Rust workspace implements scoped GitHub commit resolution and source archives. It is not a Core dependency. Build it with `cargo build --manifest-path Cargo.toml --release --locked`; run the resulting `spitzli-github-repository` binary with one absolute private configuration file path. Shared protocol/runtime crates are build dependencies, while provider credentials and vendor behavior stay here. The process requires a publisher-signed repository descriptor, its pinned public key, the Core lease issuer public key, current runtime generation, GitHub App ID and a private RSA key file. The descriptor must match the separately installed plugin manifest, version and image digest. Configuration uses these fields: diff --git a/scripts/native-release.py b/scripts/native-release.py index 640f000..674fce4 100644 --- a/scripts/native-release.py +++ b/scripts/native-release.py @@ -31,7 +31,7 @@ def dependencies(document): yield from dependencies(platform) for name, options in dependencies(manifest): package = options.get("package", name) if isinstance(options, dict) else name - if package.startswith("webdock-"): + if package.startswith(("spitzli-", "webdock-")): require(isinstance(options, dict) and options.get("git") == metadata["sdkGit"] and options.get("rev") == metadata["sdkRevision"] and "path" not in options and not options.get("workspace"), "Every SDK dependency must match the reviewed repository and revision") toolchain = tomllib.loads((root / "rust-toolchain.toml").read_text())["toolchain"]["channel"] require(re.fullmatch(r"\d+\.\d+\.\d+", toolchain), "Pinned Rust toolchain required") diff --git a/src/lib.rs b/src/lib.rs index 8409dcf..4263e84 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -2,10 +2,10 @@ use reqwest::{Client, Method, StatusCode}; use serde::Deserialize; use serde_json::{Value, json}; -use std::{collections::HashMap, time::Duration}; -use webdock_repository_protocol::{ +use spitzli_repository_protocol::{ self as protocol, ErrorCode, LeaseClaims, PluginError, Result, runtime::Handler, }; +use std::{collections::HashMap, time::Duration}; fn denied() -> PluginError { PluginError::denied() } diff --git a/src/main.rs b/src/main.rs index da83ee4..2536823 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,12 +1,12 @@ //! Standalone provider process; private configuration and authenticated Core callback are required. use serde::Deserialize; +use spitzli_repository_protocol::{runtime, verify_descriptor}; use std::{ io::Read, os::unix::fs::{MetadataExt, OpenOptionsExt}, path::{Path, PathBuf}, sync::Arc, }; -use webdock_repository_protocol::{runtime, verify_descriptor}; #[derive(Deserialize)] #[serde(rename_all = "camelCase", deny_unknown_fields)] struct Configuration { @@ -132,10 +132,10 @@ async fn run() -> Result<(), Error> { authority, server_certificate_sha256, } => { - webdock_plugin_runtime::pinned_mtls_channel( + spitzli_plugin_runtime::pinned_mtls_channel( origin.clone(), domain.clone(), - webdock_plugin_runtime::PinnedMutualTls { + spitzli_plugin_runtime::PinnedMutualTls { certificate: file(certificate, false)?, private_key: file(private_key, true)?, authority: file(authority, false)?, @@ -149,14 +149,14 @@ async fn run() -> Result<(), Error> { channel, descriptor.plugin_id, config.generation, - webdock_repository_protocol::sha256(config.descriptor.as_bytes()), + spitzli_repository_protocol::sha256(config.descriptor.as_bytes()), config.core_peers, )?; let pem = file(&config.app_private_key, true)?; - let provider = webdock_github_repository::GithubProvider::new(config.app_id, &pem)?; + let provider = spitzli_github_repository::GithubProvider::new(config.app_id, &pem)?; #[cfg(feature = "local-provider-test")] let provider = if let Some(origin) = config.test_origin { - webdock_github_repository::GithubProvider::loopback_test(config.app_id, &pem, &origin)? + spitzli_github_repository::GithubProvider::loopback_test(config.app_id, &pem, &origin)? } else { provider }; diff --git a/standalone.json b/standalone.json index 368c81a..bb5f495 100644 --- a/standalone.json +++ b/standalone.json @@ -1,14 +1,14 @@ { "binaries": [ - "webdock-github-repository" + "spitzli-github-repository" ], "connectionsOwner": "Core", "coreIntegrationDependencies": [], "coreIntegrationTests": [], - "entrypoint": "webdock-github-repository", + "entrypoint": "spitzli-github-repository", "lockfileRequiresRegeneration": true, "name": "github-repository", - "package": "webdock-github-repository", + "package": "spitzli-github-repository", "release": { "mode": "oci-only", "protocol": "webdock.repository.v1", @@ -17,10 +17,10 @@ "version": "0.1.0" }, "sdkDependencies": [ - "webdock-plugin-runtime", - "webdock-repository-protocol" + "spitzli-plugin-runtime", + "spitzli-repository-protocol" ], "sdkGit": "https://github.com/spitzli/cloud-plugin-sdk", - "sdkRevision": "8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6", + "sdkRevision": "8019f3df67dba3fed3083f22635e4725028c1b5e", "source": "plugins/github-repository" } diff --git a/tests/provider.rs b/tests/provider.rs index 6838c3d..582df1c 100644 --- a/tests/provider.rs +++ b/tests/provider.rs @@ -5,6 +5,8 @@ use axum::{ response::{IntoResponse, Response}, }; use serde_json::{Value, json}; +use spitzli_github_repository::GithubProvider; +use spitzli_repository_protocol::{Action, LeaseClaims, runtime::Handler}; use std::{ io::Write, sync::{ @@ -12,8 +14,6 @@ use std::{ atomic::{AtomicUsize, Ordering}, }, }; -use webdock_github_repository::GithubProvider; -use webdock_repository_protocol::{Action, LeaseClaims, runtime::Handler}; #[derive(Clone)] struct Fixture { origin: String, @@ -222,15 +222,15 @@ struct TestCore { active: Arc, } #[tonic::async_trait] -impl webdock_repository_protocol::wire::repository_authority_server::RepositoryAuthority +impl spitzli_repository_protocol::wire::repository_authority_server::RepositoryAuthority for TestCore { async fn authorize_peer( &self, - request: tonic::Request, - ) -> Result, tonic::Status> + request: tonic::Request, + ) -> Result, tonic::Status> { - webdock_repository_protocol::runtime::peer(&request)?; + spitzli_repository_protocol::runtime::peer(&request)?; let proof = request.into_inner(); if !self.active.load(Ordering::SeqCst) || proof.plugin_id != "github-repository" @@ -240,19 +240,19 @@ impl webdock_repository_protocol::wire::repository_authority_server::RepositoryA return Err(tonic::Status::permission_denied("fixture revoked")); } Ok(tonic::Response::new( - webdock_repository_protocol::wire::AuthorityReply { active: true }, + spitzli_repository_protocol::wire::AuthorityReply { active: true }, )) } async fn authorize( &self, - request: tonic::Request, - ) -> Result, tonic::Status> + request: tonic::Request, + ) -> Result, tonic::Status> { - webdock_repository_protocol::runtime::peer(&request)?; + spitzli_repository_protocol::runtime::peer(&request)?; if !self.active.load(Ordering::SeqCst) { return Err(tonic::Status::permission_denied("fixture revoked")); } - webdock_repository_protocol::verify_lease( + spitzli_repository_protocol::verify_lease( &request.into_inner().lease_token, &self.issuer, "github-repository", @@ -261,13 +261,13 @@ impl webdock_repository_protocol::wire::repository_authority_server::RepositoryA ) .map_err(|_| tonic::Status::permission_denied("invalid fixture lease"))?; Ok(tonic::Response::new( - webdock_repository_protocol::wire::AuthorityReply { active: true }, + spitzli_repository_protocol::wire::AuthorityReply { active: true }, )) } } async fn installed_process(private: &std::path::Path, origin: &str) { + use spitzli_repository_protocol::{self as p, runtime, wire}; use std::os::unix::fs::PermissionsExt; - use webdock_repository_protocol::{self as p, runtime, wire}; let directory = tempfile::tempdir().unwrap(); std::fs::set_permissions(directory.path(), std::fs::Permissions::from_mode(0o700)).unwrap(); let callback_path = directory.path().join("core.sock"); @@ -323,7 +323,7 @@ async fn installed_process(private: &std::path::Path, origin: &str) { } } let mut child = Child( - std::process::Command::new(env!("CARGO_BIN_EXE_webdock-github-repository")) + std::process::Command::new(env!("CARGO_BIN_EXE_spitzli-github-repository")) .arg(&config_path) .stdin(std::process::Stdio::null()) .stdout(std::process::Stdio::null()) diff --git a/tools/manifest-validator/Cargo.toml b/tools/manifest-validator/Cargo.toml index 3d08d68..e4c3b1d 100644 --- a/tools/manifest-validator/Cargo.toml +++ b/tools/manifest-validator/Cargo.toml @@ -1,5 +1,5 @@ ["package"] -"name" = "webdock-registry-manifest-validator" +"name" = "spitzli-registry-manifest-validator" "version" = "0.1.0" "edition" = "2024" "rust-version" = "1.94" @@ -11,10 +11,10 @@ ["dependencies"] "serde_json" = "1" -["dependencies"."webdock-plugin-protocol"] +["dependencies"."spitzli-plugin-protocol"] "git" = "https://github.com/spitzli/cloud-plugin-sdk" -"rev" = "8ed57d89c3263b050f126e4c2ba7f6cdebb0daa6" -"package" = "webdock-plugin-protocol" +"rev" = "8019f3df67dba3fed3083f22635e4725028c1b5e" +"package" = "spitzli-plugin-protocol" ["profile"] diff --git a/tools/manifest-validator/src/main.rs b/tools/manifest-validator/src/main.rs index efb848a..6453517 100644 --- a/tools/manifest-validator/src/main.rs +++ b/tools/manifest-validator/src/main.rs @@ -1,5 +1,5 @@ use std::io::{self, Read, Write}; -use webdock_plugin_protocol::Manifest; +use spitzli_plugin_protocol::Manifest; const MAX_REGISTRY_BYTES: usize = 64 * 1024;