Documentation ¶
Overview ¶
Package registry handles namespace registration in Pelican ecosystem.
- It handles the logic to spin up a "registry" server for namespace management, including a web UI for interactive namespace registration, approval, and browsing.
- It provides a CLI tool `./pelican namespace <command> <args>` to list, register, and delete a namespace
To register a namespace, first spin up registry server by `./pelican registry serve -p <your-port-number>`, and then use either the CLI tool or go to registry web UI at `https://localhost:<your-port-number>/view/`, and follow instructions for next steps.
Index ¶
- Constants
- Variables
- func AddNamespace(ns *server_structs.Namespace) error
- func GetTopoPrefixString(topoNss []Topology) (result string)
- func InitCustomRegistrationFields() error
- func InitInstConfig(ctx context.Context, egrp *errgroup.Group) error
- func InitOptionsCache(ctx context.Context, egrp *errgroup.Group)
- func InitializeDB() error
- func LaunchRegistryMetrics(ctx context.Context, egrp *errgroup.Group)
- func NamespaceDelete(endpoint string, prefix string) error
- func NamespaceGet(endpoint string) error
- func NamespaceList(endpoint string) error
- func NamespaceRegister(privateKey jwk.Key, namespaceRegistryEndpoint string, accessToken string, ...) error
- func NamespaceRegisterWithIdentity(privateKey jwk.Key, namespaceRegistryEndpoint string, prefix string, ...) error
- func PeriodicTopologyReload(ctx context.Context)
- func PopulateTopology(ctx context.Context) error
- func RegisterRegistryAPI(router *gin.RouterGroup)
- func RegisterRegistryWebAPI(router *gin.RouterGroup) error
- func ShutdownRegistryDB() error
- type NamespaceConfig
- type NamespaceWOPubkey
- type Response
- type TokenResponse
- type Topology
Constants ¶
View Source
const ( String registrationFieldType = "string" Int registrationFieldType = "int" Boolean registrationFieldType = "bool" Enum registrationFieldType = "enum" DateTime registrationFieldType = "datetime" )
Variables ¶
Functions ¶
func AddNamespace ¶
func AddNamespace(ns *server_structs.Namespace) error
func GetTopoPrefixString ¶
func InitCustomRegistrationFields ¶
func InitCustomRegistrationFields() error
Initialize custom registration fields provided via Registry.CustomRegistrationFields
func InitInstConfig ¶
Initialize institutions list
func InitializeDB ¶
func InitializeDB() error
func NamespaceDelete ¶
func NamespaceGet ¶
func NamespaceList ¶
func NamespaceRegister ¶
func PeriodicTopologyReload ¶
func PopulateTopology ¶
Create a table in the registry to store namespace prefixes from topology
func RegisterRegistryAPI ¶
func RegisterRegistryAPI(router *gin.RouterGroup)
func RegisterRegistryWebAPI ¶
func RegisterRegistryWebAPI(router *gin.RouterGroup) error
Define Gin APIs for registry Web UI. All endpoints are user-facing
func ShutdownRegistryDB ¶
func ShutdownRegistryDB() error
Types ¶
type NamespaceConfig ¶
type NamespaceConfig struct {
JwksUri string `json:"jwks_uri"`
}
Various auxiliary functions used for client-server security handshakes
type NamespaceWOPubkey ¶
type NamespaceWOPubkey struct { ID int `json:"id"` Prefix string `json:"prefix"` Pubkey string `json:"-"` // Don't include pubkey in this case Identity string `json:"identity"` AdminMetadata server_structs.AdminMetadata `json:"admin_metadata"` }
type TokenResponse ¶
Click to show internal directories.
Click to hide internal directories.