server

package
v1.24.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 18, 2023 License: Apache-2.0 Imports: 44 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultEdgeAgentImage = "docker.io/kubegems/kubegems-edge-agent:latest"

Variables

This section is empty.

Functions

func CreateOrUpdateWithStatus added in v1.23.8

func CreateOrUpdateWithStatus[T client.Object](ctx context.Context, cli client.Client, obj T, fun func(obj T) error) error

nolint: nestif,funlen,gocognit,forcetypeassert

func RenderManifets added in v1.23.8

func RenderManifets(uid string, image string, edgehubaddress string, certs v1beta1.Certs) []client.Object

nolint: gomnd,funlen

func Run

func Run(ctx context.Context, options *Options) error

Types

type CreateClusterRequest added in v1.23.8

type CreateClusterRequest struct {
	PrecreateOptions
}

type CreateClusterResponse added in v1.23.8

type CreateClusterResponse struct {
	UID             string `json:"uid,omitempty"`
	ManifestAddress string `json:"manifestAddress,omitempty"`
}

type EdgeClusterAPI added in v1.23.8

type EdgeClusterAPI struct {
	Cluster *EdgeManager
	Tunnel  *tunnel.TunnelServer
}

func (*EdgeClusterAPI) GetEdgeCluster added in v1.23.8

func (a *EdgeClusterAPI) GetEdgeCluster(resp http.ResponseWriter, req *http.Request)

func (*EdgeClusterAPI) GetEdgeHub added in v1.23.8

func (a *EdgeClusterAPI) GetEdgeHub(resp http.ResponseWriter, req *http.Request)

func (*EdgeClusterAPI) InstallAgentTemplate added in v1.23.8

func (a *EdgeClusterAPI) InstallAgentTemplate(resp http.ResponseWriter, req *http.Request)

func (*EdgeClusterAPI) ListEdgeClusters added in v1.23.8

func (a *EdgeClusterAPI) ListEdgeClusters(resp http.ResponseWriter, req *http.Request)

func (*EdgeClusterAPI) ListEdgeHubs added in v1.23.8

func (a *EdgeClusterAPI) ListEdgeHubs(resp http.ResponseWriter, req *http.Request)

func (*EdgeClusterAPI) PreCreateEdgeCluster added in v1.23.8

func (a *EdgeClusterAPI) PreCreateEdgeCluster(resp http.ResponseWriter, req *http.Request)

func (*EdgeClusterAPI) Proxy added in v1.23.8

func (a *EdgeClusterAPI) Proxy(resp http.ResponseWriter, req *http.Request)

func (*EdgeClusterAPI) RegisterRoute added in v1.23.8

func (a *EdgeClusterAPI) RegisterRoute(r *route.Group)

func (*EdgeClusterAPI) RemoveEdgeCluster added in v1.23.8

func (a *EdgeClusterAPI) RemoveEdgeCluster(resp http.ResponseWriter, req *http.Request)

func (*EdgeClusterAPI) UpdateEdgeCluster added in v1.23.8

func (a *EdgeClusterAPI) UpdateEdgeCluster(resp http.ResponseWriter, req *http.Request)

type EdgeClusterK8sStore added in v1.23.8

type EdgeClusterK8sStore struct {
	// contains filtered or unexported fields
}

func (EdgeClusterK8sStore) Delete added in v1.23.8

func (s EdgeClusterK8sStore) Delete(ctx context.Context, name string) (*v1beta1.EdgeCluster, error)

func (EdgeClusterK8sStore) Get added in v1.23.8

func (s EdgeClusterK8sStore) Get(ctx context.Context, name string) (*v1beta1.EdgeCluster, error)

func (EdgeClusterK8sStore) List added in v1.23.8

func (s EdgeClusterK8sStore) List(ctx context.Context, options ListOptions) (int, []v1beta1.EdgeCluster, error)

func (EdgeClusterK8sStore) Update added in v1.23.8

func (s EdgeClusterK8sStore) Update(ctx context.Context, name string, fun func(cluster *v1beta1.EdgeCluster) error) (*v1beta1.EdgeCluster, error)

type EdgeClusterStore added in v1.23.8

type EdgeClusterStore interface {
	List(ctx context.Context, options ListOptions) (int, []v1beta1.EdgeCluster, error)
	Get(ctx context.Context, name string) (*v1beta1.EdgeCluster, error)
	Update(ctx context.Context, name string, fun func(cluster *v1beta1.EdgeCluster) error) (*v1beta1.EdgeCluster, error)
	Delete(ctx context.Context, name string) (*v1beta1.EdgeCluster, error)
}

type EdgeHubItem added in v1.23.8

type EdgeHubItem struct {
	Name      string `json:"name"`
	Address   string `json:"address"`
	Connected bool   `json:"connected"`
}

type EdgeHubK8sStore added in v1.23.8

type EdgeHubK8sStore struct {
	// contains filtered or unexported fields
}

func (EdgeHubK8sStore) Delete added in v1.23.8

func (s EdgeHubK8sStore) Delete(ctx context.Context, name string) (*v1beta1.EdgeHub, error)

func (EdgeHubK8sStore) Get added in v1.23.8

func (s EdgeHubK8sStore) Get(ctx context.Context, name string) (*v1beta1.EdgeHub, error)

func (EdgeHubK8sStore) List added in v1.23.8

func (s EdgeHubK8sStore) List(ctx context.Context, options ListOptions) (int, []v1beta1.EdgeHub, error)

func (EdgeHubK8sStore) Update added in v1.23.8

func (s EdgeHubK8sStore) Update(ctx context.Context, name string, fun func(cluster *v1beta1.EdgeHub) error) (*v1beta1.EdgeHub, error)

type EdgeHubStore added in v1.23.8

type EdgeHubStore interface {
	List(ctx context.Context, options ListOptions) (int, []v1beta1.EdgeHub, error)
	Get(ctx context.Context, name string) (*v1beta1.EdgeHub, error)
	Update(ctx context.Context, name string, fun func(cluster *v1beta1.EdgeHub) error) (*v1beta1.EdgeHub, error)
	Delete(ctx context.Context, name string) (*v1beta1.EdgeHub, error)
}

type EdgeManager added in v1.23.8

type EdgeManager struct {
	SelfAddress  string
	ClusterStore EdgeClusterStore
	HubStore     EdgeHubStore
}

func NewClusterManager added in v1.23.8

func NewClusterManager(ctx context.Context, namespace string, selfhost string) (*EdgeManager, error)

func (*EdgeManager) ListPage added in v1.23.8

func (m *EdgeManager) ListPage(
	ctx context.Context,
	opts request.ListOptions,
	labels, manufacture labels.Selector,
) (response.Page[v1beta1.EdgeCluster], error)

func (*EdgeManager) OnTunnelConnectedStatusChange added in v1.23.8

func (m *EdgeManager) OnTunnelConnectedStatusChange(ctx context.Context,
	connected bool, isrefresh bool,
	fromname string, fromannotations map[string]string,
	name string, anno map[string]string,
) error

OnTunnelConnectedStatusChange is called when tunnel connected status changed nolint: funlen

func (*EdgeManager) PreCreate added in v1.23.8

func (m *EdgeManager) PreCreate(ctx context.Context, example *v1beta1.EdgeCluster) (*v1beta1.EdgeCluster, error)

return a register address

func (*EdgeManager) RenderInstallManifests added in v1.23.8

func (m *EdgeManager) RenderInstallManifests(ctx context.Context, uid, token string) ([]byte, error)

func (*EdgeManager) SyncTunnelStatusFrom added in v1.23.8

func (s *EdgeManager) SyncTunnelStatusFrom(ctx context.Context, server *tunnel.TunnelServer) error

type EdgeServer

type EdgeServer struct {
	// contains filtered or unexported fields
}

func NewEdgeServer

func NewEdgeServer(ctx context.Context, options *Options) (*EdgeServer, error)

func (*EdgeServer) HTTPAPI

func (s *EdgeServer) HTTPAPI() http.Handler

func (*EdgeServer) Run

func (s *EdgeServer) Run(ctx context.Context) error

type InstallerTemplateValues added in v1.23.8

type InstallerTemplateValues struct {
	EdgeAddress string
	AgentImage  string
	TLSCert     []byte
	TLSKey      []byte
	TLSCA       []byte
}

type ListOptions added in v1.23.8

type ListOptions struct {
	Page        int
	Size        int
	Search      string // name regexp
	Selector    labels.Selector
	Manufacture labels.Selector
}

type Options added in v1.23.8

type Options struct {
	Listen     string           `json:"listen,omitempty"`
	Host       string           `json:"host,omitempty"`
	ListenGrpc string           `json:"listenGrpc,omitempty"`
	ServerID   string           `json:"serverID,omitempty"`
	TLS        *system.TLS      `json:"tls,omitempty"`
	Database   database.Options `json:"database,omitempty"`
}

func NewDefaultOptions added in v1.23.8

func NewDefaultOptions() *Options

type PrecreateOptions added in v1.23.8

type PrecreateOptions struct {
	UID          string            `json:"uid,omitempty"`
	HubName      string            `json:"hubName,omitempty"`      // hub name edge cluster registered to
	Annotations  map[string]string `json:"annotations,omitempty"`  // edge annotations
	Labels       map[string]string `json:"labels,omitempty"`       // edge labels
	AgentImage   string            `json:"agentImage,omitempty"`   // agent image edge cluster used to register
	CreateCert   bool              `json:"createCert,omitempty"`   // pre generated edge certificate
	CertExpireAt *time.Time        `json:"certExpireAt,omitempty"` // the expiration of the certificate
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳