-
Notifications
You must be signed in to change notification settings - Fork 18
/
registry.go
58 lines (52 loc) · 2.03 KB
/
registry.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/***************************************************************
*
* Copyright (C) 2024, Pelican Project, Morgridge Institute for Research
*
* Licensed under the Apache License, Version 2.0 (the "License"); you
* may not use this file except in compliance with the License. You may
* obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
***************************************************************/
package main
import (
"github.com/spf13/cobra"
)
var (
registryCmd = &cobra.Command{
Use: "registry",
Short: "Interact with a Pelican registry service",
Long: `Interact with a Pelican registry service:
The namespace registry lies at the core of Pelican's security model
by serving as the central point for clients to fetch the public keys
associated with namespaced resources. When origins wish to claim a
namespace prefix in their federation, they securely associate the
public key of their issuer with the namespace registry (many origins
may act as their own issuer). Sometimes origins will provide
additional OIDC metadata if the origins wish to be accessible to the
OSDF's caching infrastructure. Services wishing to validate the
authenticity of a token from an issuer can then reference the
namespace registry's listed public key for that origin and verify
that it was signed by the correct private key.
`,
}
registryServeCmd = &cobra.Command{
Use: "serve",
Short: "serve the registry",
RunE: serveRegistry,
SilenceUsage: true,
}
)
func init() {
// Tie the registryServe command to the root CLI command
registryCmd.AddCommand(registryServeCmd)
// Set up flags for the command
registryServeCmd.Flags().AddFlag(portFlag)
}