macula_registry_server (macula v0.20.5)
View SourceMacula Registry Server
Main API server for package registry operations: - Package publishing with signature verification - Package fetching with integrity checks - Package queries and search - DHT integration for distributed discovery
Summary
Functions
Fetch the latest version of a package
Fetch a specific version of a package
Get detailed info about a package
List all packages in the registry
Publish a package to the registry
Publish a package with pre-computed signature
Search packages by pattern
Start the registry server
Verify package signature
Functions
Fetch the latest version of a package
Fetch a specific version of a package
-spec get_package_info(Name :: binary()) -> {ok, #{versions := [binary()], latest := binary()}} | {error, not_found}.
Get detailed info about a package
-spec list_packages() -> [map()].
List all packages in the registry
-spec publish_package(Name :: binary(), Version :: binary(), Manifest :: map(), BeamArchive :: binary(), PrivateKey :: binary()) -> {ok, #{package_name := binary(), version := binary(), checksum := binary()}} | {error, term()}.
Publish a package to the registry
-spec publish_package(Name :: binary(), Version :: binary(), Manifest :: map(), BeamArchive :: binary(), Signature :: binary(), PublicKey :: binary()) -> {ok, #{package_name := binary(), version := binary(), checksum := binary()}} | {error, term()}.
Publish a package with pre-computed signature
Search packages by pattern
Start the registry server
-spec verify_package(ManifestBin :: binary(), BeamArchive :: binary(), Signature :: binary(), PublicKey :: binary()) -> ok | {error, term()}.
Verify package signature