A lightweight MoonBit-native OCI Distribution registry server
Dependencies
moon run src -- --root ./artifactdock-data --host 127.0.0.1 --port 5000moon run src -- --root ./artifactdock-data --gc --dry-runmoon run src -- --root ./artifactdock-data --gcmoon fmt
moon check --target native
moon test --target native
moon build --target nativetype RegistryStoreasync fn RegistryStore::append_upload(self : RegistryStore, repository : String, upload_id : String, data : Bytes) -> Boolasync fn RegistryStore::delete_manifest(self : RegistryStore, repository : String, reference : String) -> Boolasync fn RegistryStore::delete_repository_blob(self : RegistryStore, repository : String, digest : String) -> Boolasync fn RegistryStore::delete_upload(self : RegistryStore, repository : String, upload_id : String) -> Boolasync fn RegistryStore::finalize_upload(self : RegistryStore, repository : String, upload_id : String, expected_digest : String) -> (Int, String?)async fn RegistryStore::get_manifest(self : RegistryStore, repository : String, reference : String) -> Bytes?async fn RegistryStore::get_repository_blob(self : RegistryStore, repository : String, digest : String) -> Bytes?async fn RegistryStore::has_repository_blob(self : RegistryStore, repository : String, digest : String) -> Boolasync fn RegistryStore::list_manifest_digests(self : RegistryStore, repository : String) -> Array[String]async fn RegistryStore::list_referrer_descriptors(self : RegistryStore, repository : String, subject : String) -> Array[(String, String?, Json)]async fn RegistryStore::list_referrer_digests(self : RegistryStore, repository : String, subject : String) -> Array[String]async fn RegistryStore::manifest_content_type(self : RegistryStore, repository : String, digest : String) -> Stringasync fn RegistryStore::mount_blob(self : RegistryStore, repository : String, source : String, digest : String) -> Boolasync fn RegistryStore::put_manifest(self : RegistryStore, repository : String, reference : String, data : Bytes) -> Stringasync fn RegistryStore::put_manifest_with_type(self : RegistryStore, repository : String, reference : String, data : Bytes, content_type : String) -> Stringasync fn RegistryStore::tag_manifest(self : RegistryStore, repository : String, tag : String, digest : String) -> Boolasync fn RegistryStore::upload_size(self : RegistryStore, repository : String, upload_id : String) -> Int?fn sha256_digest(data : Bytes) -> Stringfn valid_reference(value : String) -> Boolfn valid_repository(value : String) -> BoolInstall
Download zipA lightweight MoonBit-native OCI Distribution registry server
Dependencies