~ knotless Search/
↑↓ move↵ open⇧↵ all results
0
0
main
60 lines · 1.3 KB Raw History
package v1alpha1

import (
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

	commonv1 "github.com/johnandersen777/socialweb-computer-kcp/api/common/v1alpha1"
)

type ClusterLink struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ClusterLinkSpec   `json:"spec,omitempty"`
	Status ClusterLinkStatus `json:"status,omitempty"`
}

type ClusterLinkList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []ClusterLink `json:"items"`
}

type ClusterLinkService string

const (
	ClusterLinkApiserver ClusterLinkService = "apiserver"

	ClusterLinkOpenBao ClusterLinkService = "openbao"
)

type ClusterLinkSpec struct {
	ClusterRef commonv1.LocalObjectRef `json:"clusterRef"`

	Service ClusterLinkService `json:"service"`

	TargetPort int `json:"targetPort"`
}

type ClusterLinkPhase string

const (
	ClusterLinkPending ClusterLinkPhase = "Pending"

	ClusterLinkListening ClusterLinkPhase = "Listening"

	ClusterLinkFailed ClusterLinkPhase = "Failed"
)

type ClusterLinkStatus struct {
	Phase ClusterLinkPhase `json:"phase,omitempty"`

	EndpointID string `json:"endpointId,omitempty"`

	Did string `json:"did,omitempty"`

	Ticket string `json:"ticket,omitempty"`

	Message string `json:"message,omitempty"`
}