Documentation
¶
Index ¶
- func Register()
- type Index
- type PathRewriter
- type Result
- type State
- func (c *State) DeleteLogicalCluster(shard string, logicalCluster *corev1alpha1.LogicalCluster)
- func (c *State) DeleteShard(shardName string)
- func (c *State) DeleteWorkspace(shard string, ws *tenancyv1alpha1.Workspace)
- func (c *State) Lookup(path logicalcluster.Path) (Result, bool)
- func (c *State) LookupURL(path logicalcluster.Path) (Result, bool)
- func (c *State) UpsertLogicalCluster(shard string, logicalCluster *corev1alpha1.LogicalCluster)
- func (c *State) UpsertShard(shardName, baseURL string)
- func (c *State) UpsertWorkspace(shard string, ws *tenancyv1alpha1.Workspace)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Index ¶
type Index interface {
Lookup(path logicalcluster.Path) (Result, bool)
LookupURL(logicalCluster logicalcluster.Path) (Result, bool)
}
Index implements a mapping from logical cluster to (shard) URL.
type PathRewriter ¶
PathRewriter can rewrite a logical cluster path before the actual mapping through the index data.
type Result ¶ added in v0.22.0
type Result struct {
URL string
Shard string
// Cluster canonical path
Cluster logicalcluster.Name
// Type is not set for mounted workspaces. For all others this value is the
// fully-qualified name of the type, e.g. "root:universal".
Type logicalcluster.Path
// ErrorCode is the HTTP error code to return for the request.
// If this is set, the URL and Shard fields are ignored.
ErrorCode int
}
Result is the result of a lookup.
type State ¶
type State struct {
// contains filtered or unexported fields
}
State is a runtime graph of shards, workspaces, logicalclusters and mounts. It usually gets fed by a controller that watches these resources on each shard. The state then organizes the graph and offers a workspace path lookup that resolves a workspace path to its physical location on a shard and logical cluster.
func New ¶
func New(rewriters []PathRewriter) *State
func (*State) DeleteLogicalCluster ¶
func (c *State) DeleteLogicalCluster(shard string, logicalCluster *corev1alpha1.LogicalCluster)
func (*State) DeleteShard ¶
func (*State) DeleteWorkspace ¶
func (c *State) DeleteWorkspace(shard string, ws *tenancyv1alpha1.Workspace)
func (*State) UpsertLogicalCluster ¶
func (c *State) UpsertLogicalCluster(shard string, logicalCluster *corev1alpha1.LogicalCluster)
func (*State) UpsertShard ¶
func (*State) UpsertWorkspace ¶
func (c *State) UpsertWorkspace(shard string, ws *tenancyv1alpha1.Workspace)
Click to show internal directories.
Click to hide internal directories.