entities

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2024 License: AGPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AccessKey string = "accessKey"
	SecretKey string = "secretKey"

	AWSAccountId            string = "awsAccountId"
	AWSAssumeRoleExternalId string = "awsAssumeRoleExternalId"
	AWAssumeRoleRoleARN     string = "awsAssumeRoleRoleARN"
	AWSInstanceProfileName  string = "awsInstanceProfileName"

	KeyGCPServiceAccountJSON string = "gcp-creds.json"
)

Variables

View Source
var BYOKClusterIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: fc.Id, Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.MetadataName, Value: repos.IndexAsc},
			{Key: fc.AccountName, Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.BYOKClusterOwnedBy, Value: repos.IndexAsc},
		},
		Unique: false,
	},
}
View Source
var ClaimClusterSvcCIDRIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: fc.Id, Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.ClaimClusterSvcCIDRClusterSvcCIDR, Value: repos.IndexAsc},
			{Key: fields.AccountName, Value: repos.IndexAsc},
			{Key: fc.ClaimClusterSvcCIDRGlobalVPNName, Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.ClaimClusterSvcCIDRClaimedByCluster, Value: repos.IndexAsc},
			{Key: fields.AccountName, Value: repos.IndexAsc},
			{Key: fc.ClaimClusterSvcCIDRGlobalVPNName, Value: repos.IndexAsc},
		},
		Unique: true,
	},
}
View Source
var ClaimDeviceIPIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: "id", Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.ClaimDeviceIPIpAddr, Value: repos.IndexAsc},
			{Key: fields.AccountName, Value: repos.IndexAsc},
			{Key: fc.ClaimDeviceIPGlobalVPNName, Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.ClaimDeviceIPClaimedBy, Value: repos.IndexAsc},
			{Key: fields.AccountName, Value: repos.IndexAsc},
			{Key: fc.ClaimDeviceIPGlobalVPNName, Value: repos.IndexAsc},
		},
		Unique: true,
	},
}
View Source
var CloudProviderSecretIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: "id", Value: repos.IndexAsc},
		},
		Unique: true,
	},

	{
		Field: []repos.IndexKey{
			{Key: "metadata.name", Value: repos.IndexAsc},
			{Key: "metadata.namespace", Value: repos.IndexAsc},
		},
		Unique: true,
	},

	{
		Field: []repos.IndexKey{
			{Key: "metadata.name", Value: repos.IndexAsc},
			{Key: "accountName", Value: repos.IndexAsc},
		},
		Unique: true,
	},
}
View Source
var ClusterIndices = []repos.IndexField{
	{
		Field:  []repos.IndexKey{{Key: fc.Id, Value: repos.IndexAsc}},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.MetadataName, Value: repos.IndexAsc},
			{Key: fc.MetadataNamespace, Value: repos.IndexAsc},
			{Key: fc.AccountName, Value: repos.IndexAsc},
			{Key: fc.ClusterGlobalVPN, Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.ClusterSpecClusterServiceCIDR, Value: repos.IndexAsc},
			{Key: fc.ClusterGlobalVPN, Value: repos.IndexAsc},
			{Key: fc.AccountName, Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.ClusterOwnedBy, Value: repos.IndexAsc},
		},
		Unique: false,
	},
}
View Source
var DomainEntryIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: "id", Value: repos.IndexAsc},
		},
		Unique: true,
	},

	{
		Field: []repos.IndexKey{
			{Key: "accountName", Value: repos.IndexAsc},
		},
	},

	{
		Field: []repos.IndexKey{
			{Key: "domainName", Value: repos.IndexAsc},
			{Key: "clusterName", Value: repos.IndexAsc},
		},
		Unique: true,
	},
}
View Source
var FreeClusterSvcCIDRIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: fc.Id, Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.FreeClusterSvcCIDRClusterSvcCIDR, Value: repos.IndexAsc},
			{Key: fields.AccountName, Value: repos.IndexAsc},
			{Key: fc.FreeClusterSvcCIDRGlobalVPNName, Value: repos.IndexAsc},
		},
		Unique: true,
	},
}
View Source
var FreeDeviceIPIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: "id", Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.FreeDeviceIPIpAddr, Value: repos.IndexAsc},
			{Key: fields.AccountName, Value: repos.IndexAsc},
			{Key: fc.FreeDeviceIPGlobalVPNName, Value: repos.IndexAsc},
		},
		Unique: true,
	},
}
View Source
var GlobalVPNConnectionIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: "id", Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.MetadataName, Value: repos.IndexAsc},
			{Key: fc.AccountName, Value: repos.IndexAsc},
			{Key: fc.ClusterName, Value: repos.IndexAsc},
		},
		Unique: true,
	},

	{
		Field: []repos.IndexKey{
			{Key: fc.GlobalVPNConnectionDispatchAddrAccountName, Value: repos.IndexAsc},
			{Key: fc.GlobalVPNConnectionDispatchAddrClusterName, Value: repos.IndexAsc},
			{Key: fc.MetadataName, Value: repos.IndexAsc},
			{Key: fc.AccountName, Value: repos.IndexAsc},
		},
		Unique: true,
	},
}
View Source
var GlobalVPNDeviceIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: fc.Id, Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.MetadataName, Value: repos.IndexAsc},
			{Key: fc.AccountName, Value: repos.IndexAsc},
			{Key: fc.GlobalVPNDeviceGlobalVPNName, Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.AccountName, Value: repos.IndexAsc},
			{Key: fc.GlobalVPNDeviceGlobalVPNName, Value: repos.IndexAsc},
			{Key: fc.GlobalVPNDeviceIpAddr, Value: repos.IndexAsc},
		},
		Unique: true,
	},
}
View Source
var GlobalVPNIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: fc.Id, Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: fc.MetadataName, Value: repos.IndexAsc},
			{Key: fc.AccountName, Value: repos.IndexAsc},
		},
		Unique: true,
	},
}
View Source
var HelmReleaseIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: "id", Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: "metadata.name", Value: repos.IndexAsc},
			{Key: "accountName", Value: repos.IndexAsc},
			{Key: "clusterName", Value: repos.IndexAsc},
		},
		Unique: true,
	},
}
View Source
var NamespaceIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: "id", Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: "metadata.name", Value: repos.IndexAsc},
			{Key: "accountName", Value: repos.IndexAsc},
			{Key: "clusterName", Value: repos.IndexAsc},
		},
		Unique: true,
	},
}
View Source
var NodeIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: "id", Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: "metadata.name", Value: repos.IndexAsc},
			{Key: "accountName", Value: repos.IndexAsc},
			{Key: "clusterName", Value: repos.IndexAsc},
		},
		Unique: true,
	},
}
View Source
var NodePoolIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: "id", Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: "metadata.name", Value: repos.IndexAsc},
			{Key: "accountName", Value: repos.IndexAsc},
			{Key: "clusterName", Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: "metadata.name", Value: repos.IndexAsc},
		},
	},
}
View Source
var PersistentVolumeClaimIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: "id", Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: "metadata.name", Value: repos.IndexAsc},
			{Key: "metadata.namespace", Value: repos.IndexAsc},
			{Key: "accountName", Value: repos.IndexAsc},
			{Key: "clusterName", Value: repos.IndexAsc},
		},
		Unique: true,
	},
}
View Source
var PersistentVolumeIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: "id", Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: "metadata.name", Value: repos.IndexAsc},
			{Key: "accountName", Value: repos.IndexAsc},
			{Key: "clusterName", Value: repos.IndexAsc},
		},
		Unique: true,
	},
}
View Source
var VolumeAttachmentIndices = []repos.IndexField{
	{
		Field: []repos.IndexKey{
			{Key: "id", Value: repos.IndexAsc},
		},
		Unique: true,
	},
	{
		Field: []repos.IndexKey{
			{Key: "metadata.name", Value: repos.IndexAsc},
			{Key: "accountName", Value: repos.IndexAsc},
			{Key: "clusterName", Value: repos.IndexAsc},
		},
		Unique: true,
	},
}

Functions

func ListBYOKClusterFilter

func ListBYOKClusterFilter(accountName string) repos.Filter

func UniqueBYOKClusterFilter

func UniqueBYOKClusterFilter(accountName string, clusterName string) repos.Filter

Types

type AWSAssumeRoleParams

type AWSAssumeRoleParams struct {
	AWSAccountID                   string `json:"awsAccountId"`
	CfParamTrustedARN              string `json:"cfParamTrustedARN" graphql:"noinput"`
	clustersv1.AwsAssumeRoleParams `json:",inline" graphql:"noinput"`
}

type AWSAuthSecretKeys

type AWSAuthSecretKeys struct {
	CfParamUserName              string `json:"cfParamUserName" graphql:"noinput"`
	clustersv1.AwsAuthSecretKeys `json:",inline"`
}

type AWSSecretCredentials

type AWSSecretCredentials struct {
	CfParamStackName           string `json:"cfParamStackName,omitempty" graphql:"noinput"`
	CfParamRoleName            string `json:"cfParamRoleName,omitempty" graphql:"noinput"`
	CfParamInstanceProfileName string `json:"cfParamInstanceProfileName,omitempty" graphql:"noinput"`

	AuthMechanism clustersv1.AwsAuthMechanism `json:"authMechanism"`

	AuthSecretKeys   *AWSAuthSecretKeys   `json:"authSecretKeys,omitempty"`
	AssumeRoleParams *AWSAssumeRoleParams `json:"assumeRoleParams,omitempty"`
}

func (*AWSSecretCredentials) GetAssumeRoleRoleARN

func (asc *AWSSecretCredentials) GetAssumeRoleRoleARN() string

func (*AWSSecretCredentials) IsAssumeRoleConfiguration

func (asc *AWSSecretCredentials) IsAssumeRoleConfiguration() bool

func (*AWSSecretCredentials) Validate

func (asc *AWSSecretCredentials) Validate() error

type BYOKCluster

type BYOKCluster struct {
	repos.BaseEntity `json:",inline" graphql:"noinput"`

	metav1.ObjectMeta `json:"metadata"`

	GlobalVPN      string `json:"globalVPN" graphql:"noinput"`
	ClusterSvcCIDR string `json:"clusterSvcCIDR" graphql:"noinput"`

	Visibility ClusterVisbility `json:"visibility"`

	ClusterToken            string `json:"clusterToken" graphql:"noinput"`
	MessageQueueTopicName   string `json:"messageQueueTopicName" graphql:"noinput"`
	common.ResourceMetadata `json:",inline"`

	SyncStatus  t.SyncStatus `json:"syncStatus" graphql:"noinput"`
	AccountName string       `json:"accountName" graphql:"noinput"`

	// to be set post sync
	Kubeconfig t.EncodedString `json:"kubeconfig" graphql:"ignore"`

	LastOnlineAt *time.Time `json:"lastOnlineAt,omitempty" graphql:"noinput"`

	OwnedBy *string `json:"ownedBy,omitempty", graphql:"noinput"`
}

func (*BYOKCluster) GetDisplayName

func (c *BYOKCluster) GetDisplayName() string

func (*BYOKCluster) GetStatus

func (c *BYOKCluster) GetStatus() operator.Status

type ClaimClusterSvcCIDR

type ClaimClusterSvcCIDR struct {
	repos.BaseEntity `json:",inline"`

	AccountName   string `json:"accountName"`
	GlobalVPNName string `json:"globalVPNName"`

	ClusterSvcCIDR   string `json:"clusterSvcCIDR"`
	ClaimedByCluster string `json:"claimedByCluster"`
}

type ClaimDeviceIP

type ClaimDeviceIP struct {
	repos.BaseEntity `json:",inline"`

	AccountName   string `json:"accountName"`
	GlobalVPNName string `json:"globalVPNName"`

	IPAddr    string `json:"ipAddr"`
	ClaimedBy string `json:"claimedBy"`
}

type CloudProviderSecret

type CloudProviderSecret struct {
	repos.BaseEntity `json:",inline" graphql:"noinput"`
	AccountName      string `json:"accountName" graphql:"noinput"`

	metav1.ObjectMeta `json:"metadata"`

	CloudProviderName ct.CloudProvider `json:"cloudProviderName"`

	common.ResourceMetadata `json:",inline"`
	AWS                     *AWSSecretCredentials `json:"aws,omitempty"`
	GCP                     *GCPSecretCredentials `json:"gcp,omitempty"`
}

func (*CloudProviderSecret) GetDisplayName

func (cps *CloudProviderSecret) GetDisplayName() string

func (*CloudProviderSecret) GetStatus

func (cps *CloudProviderSecret) GetStatus() operator.Status

type Cluster

type Cluster struct {
	repos.BaseEntity `json:",inline" graphql:"noinput"`

	clustersv1.Cluster `json:",inline"`

	// if not specified, a default will be used, each cluster must be part of one global VPN
	GlobalVPN *string `json:"globalVPN"`

	common.ResourceMetadata `json:",inline"`

	AccountName string       `json:"accountName" graphql:"noinput"`
	SyncStatus  t.SyncStatus `json:"syncStatus" graphql:"noinput"`

	LastOnlineAt *time.Time `json:"lastOnlineAt,omitempty" graphql:"noinput"`

	OwnedBy *string `json:"ownedBy,omitempty", graphql:"noinput"`
}

func (*Cluster) GetDisplayName

func (c *Cluster) GetDisplayName() string

func (*Cluster) GetStatus

func (c *Cluster) GetStatus() operator.Status

type ClusterVisbility

type ClusterVisbility struct {
	Mode           ClusterVisibilityMode `json:"mode"`
	PublicEndpoint *string               `json:"publicEndpoint" graphql:"noinput"`
}

type ClusterVisibilityMode

type ClusterVisibilityMode string
const (
	ClusterVisibilityModePublic  ClusterVisibilityMode = "public"
	ClusterVisibilityModePrivate ClusterVisibilityMode = "private"
)

type DispatchAddr

type DispatchAddr struct {
	AccountName string `json:"accountName"`
	ClusterName string `json:"clusterName"`
}

type DomainEntry

type DomainEntry struct {
	repos.BaseEntity        `json:",inline" graphql:"noinput"`
	common.ResourceMetadata `json:",inline"`

	DomainName string `json:"domainName"`

	AccountName string `json:"accountName" graphql:"noinput"`
	ClusterName string `json:"clusterName"`
}

func (DomainEntry) GetDisplayName

func (d DomainEntry) GetDisplayName() string

func (DomainEntry) GetStatus

func (d DomainEntry) GetStatus() operator.Status

type FreeClusterSvcCIDR

type FreeClusterSvcCIDR struct {
	repos.BaseEntity `json:",inline"`

	AccountName   string `json:"accountName"`
	GlobalVPNName string `json:"globalVPNName"`

	ClusterSvcCIDR string `json:"clusterSvcCIDR"`
}

type FreeDeviceIP

type FreeDeviceIP struct {
	repos.BaseEntity `json:",inline"`

	AccountName   string `json:"accountName"`
	GlobalVPNName string `json:"globalVPNName"`

	IPAddr string `json:"ipAddr"`
}

type GCPSecretCredentials

type GCPSecretCredentials struct {
	clustersv1.GCPCredentials `json:",inline"`
}

func (*GCPSecretCredentials) Validate

func (gcp *GCPSecretCredentials) Validate() error

type GlobalVPN

type GlobalVPN struct {
	repos.BaseEntity `json:",inline" graphql:"noinput"`

	common.ResourceMetadata `json:",inline"`
	metav1.ObjectMeta       `json:"metadata"`

	// like 10.0.0.0/8
	CIDR string `json:"CIDR"`

	// to allocate 8K IPs for each GlobalVPNConnection
	// i.e. pow(2, 13) Ips, it means 13 Host bits,
	// which leaves us with (32 - 13) 19 Network Bits. It is our AllocatableCIDRSuffix
	AllocatableCIDRSuffix int    `json:"allocatableCIDRSuffix"`
	WgInterface           string `json:"wgInterface"`

	NumReservedIPsForNonClusterUse int      `json:"numReservedIPsForNonClusterUse"`
	NonClusterUseAllowedIPs        []string `json:"nonClusterUseAllowedIPs"`

	// Running Count of allocated Cluster CIDRs for clusters, under this GlobalVPN
	NumAllocatedClusterCIDRs int `json:"numAllocatedClusterCIDRs"`

	// Running Count for allocated Devices under this GlobalVPN
	// It will always be <= NumReservedIPsForNonClusterUse
	NumAllocatedDevices int `json:"numAllocatedDevices"`

	// Peers []Peer `json:"peers" graphql:"noinput"`
	AccountName string `json:"accountName" graphql:"noinput"`

	KloudliteGatewayDevice struct {
		Name   string `json:"name"`
		IPAddr string `json:"ipAddr"`
	} `json:"kloudliteGatewayDevice" graphql:"noinput"`

	KloudliteClusterLocalDevice struct {
		Name   string `json:"name"`
		IPAddr string `json:"ipAddr"`
	} `json:"kloudliteClusterLocalDevice" graphql:"noinput"`
}

func (*GlobalVPN) GetDisplayName

func (c *GlobalVPN) GetDisplayName() string

type GlobalVPNConnDeviceRef

type GlobalVPNConnDeviceRef struct {
	Name   string `json:"name"`
	IPAddr string `json:"ipAddr"`
}

type GlobalVPNConnection

type GlobalVPNConnection struct {
	repos.BaseEntity `json:",inline" graphql:"noinput"`

	// wgv1.GlobalVPN       `json:",inline"`
	networkingv1.Gateway `json:",inline"`

	GlobalVPNName string `json:"globalVPNName"`

	common.ResourceMetadata `json:",inline"`

	AccountName string `json:"accountName" graphql:"noinput"`
	ClusterName string `json:"clusterName" graphql:"noinput"`
	ClusterCIDR string `json:"clusterSvcCIDR" graphql:"noinput"`

	Visibility ClusterVisbility `json:"visibility" graphql:"noinput"`

	// ClusterPublicEndpoint string                 `json:"clusterPublicEndpoint" graphql:"noinput"`
	DeviceRef GlobalVPNConnDeviceRef `json:"deviceRef" graphql:"noinput"`

	// DispatchAddr is useful when globalvpn connection belongs to one account, but is deployed to another account
	DispatchAddr *DispatchAddr `json:"dispatchAddr" graphql:"noinput"`

	// ParsedWgParams *wgv1.WgParams `json:"parsedWgParams" graphql:"ignore"`
	ParsedWgParams *networkingv1.WireguardKeys `json:"parsedWgParams" graphql:"ignore"`
	SyncStatus     t.SyncStatus                `json:"syncStatus" graphql:"noinput"`
}

func (*GlobalVPNConnection) GetDisplayName

func (c *GlobalVPNConnection) GetDisplayName() string

func (*GlobalVPNConnection) GetStatus

func (c *GlobalVPNConnection) GetStatus() operator.Status

type GlobalVPNDevice

type GlobalVPNDevice struct {
	repos.BaseEntity `json:",inline" graphql:"noinput"`

	metav1.ObjectMeta `json:"metadata"`

	common.ResourceMetadata `json:",inline"`

	AccountName   string `json:"accountName" graphql:"noinput"`
	GlobalVPNName string `json:"globalVPNName"`

	// Only needs to be set, if vpn device has a public IP
	PublicEndpoint *string `json:"publicEndpoint,omitempty" graphql:"noinput"`

	CreationMethod string `json:"creationMethod,omitempty"`

	IPAddr string `json:"ipAddr" graphql:"noinput"`

	PrivateKey string `json:"privateKey" graphql:"noinput"`
	PublicKey  string `json:"publicKey" graphql:"noinput"`
}

type HelmRelease

type HelmRelease struct {
	repos.BaseEntity `json:",inline" graphql:"noinput"`
	crdsv1.HelmChart `json:",inline" graphql:"uri=k8s://helmcharts.crds.kloudlite.io"`

	common.ResourceMetadata `json:",inline"`

	AccountName string `json:"accountName" graphql:"noinput"`
	ClusterName string `json:"clusterName" graphql:"noinput"`

	DispatchAddr *DispatchAddr `json:"dispatchAddr" graphql:"noinput"`

	SyncStatus t.SyncStatus `json:"syncStatus" graphql:"noinput"`
}

func (*HelmRelease) GetDisplayName

func (h *HelmRelease) GetDisplayName() string

func (*HelmRelease) GetStatus

func (h *HelmRelease) GetStatus() operator.Status

type InputField

type InputField struct {
	Name         string   `json:"name"`
	Label        string   `json:"label"`
	InputType    string   `json:"inputType"`
	DefaultValue any      `json:"defaultValue,omitempty"`
	Min          *float64 `json:"min,omitempty"`
	Max          *float64 `json:"max,omitempty"`
	Required     *bool    `json:"required,omitempty"`
	Unit         *string  `json:"unit,omitempty"`
	DisplayUnit  *string  `json:"displayUnit,omitempty"`
	Multiplier   *float64 `json:"multiplier,omitempty"`
}

type MresTemplate

type MresTemplate struct {
	// TOOD (nxtcoder17): remove omitempty ASAP
	ApiVersion  string        `json:"apiVersion,omitempty"`
	Kind        string        `json:"kind,omitempty"`
	Name        string        `json:"name"`
	DisplayName string        `json:"displayName"`
	Description string        `json:"description"`
	Fields      []InputField  `json:"fields"`
	Outputs     []OutputField `json:"outputs"`
}

type MsvcTemplate

type MsvcTemplate struct {
	Category    string              `json:"category" graphql:"noinput"`
	DisplayName string              `json:"displayName" graphql:"noinput"`
	Items       []MsvcTemplateEntry `json:"items" graphql:"noinput"`
}

type MsvcTemplateEntry

type MsvcTemplateEntry struct {
	// TOOD (nxtcoder17): remove omitempty ASAP
	ApiVersion  string       `json:"apiVersion,omitempty"`
	Kind        string       `json:"kind,omitempty"`
	Name        string       `json:"name"`
	LogoUrl     string       `json:"logoUrl"`
	DisplayName string       `json:"displayName"`
	Description string       `json:"description"`
	Active      bool         `json:"active"`
	Fields      []InputField `json:"fields"`
	// InputMiddleware *string        `json:"inputMiddleware"`
	Outputs   []OutputField  `json:"outputs"`
	Resources []MresTemplate `json:"resources"`
}

type Namespace

type Namespace struct {
	repos.BaseEntity `json:",inline" graphql:"noinput"`
	corev1.Namespace `json:",inline"`

	AccountName string `json:"accountName" graphql:"noinput"`
	ClusterName string `json:"clusterName" graphql:"noinput"`

	common.ResourceMetadata `json:",inline" graphql:"noinput"`
	SyncStatus              types.SyncStatus `json:"syncStatus" graphql:"noinput"`
}

func (*Namespace) GetDisplayName

func (n *Namespace) GetDisplayName() string

func (*Namespace) GetStatus

func (n *Namespace) GetStatus() operator.Status

type Node

type Node struct {
	repos.BaseEntity `json:",inline" graphql:"noinput"`
	clustersv1.Node  `json:",inline" graphql:"uri=k8s://nodes.clusters.kloudlite.io"`
	AccountName      string       `json:"accountName" graphql:"noinput"`
	ClusterName      string       `json:"clusterName" graphql:"noinput"`
	SyncStatus       t.SyncStatus `json:"syncStatus" graphql:"noinput"`
}

type NodePool

type NodePool struct {
	repos.BaseEntity    `json:",inline" graphql:"noinput"`
	clustersv1.NodePool `json:",inline" graphql:"uri=k8s://nodepools.clusters.kloudlite.io"`

	common.ResourceMetadata `json:",inline"`

	AccountName string `json:"accountName" graphql:"noinput"`
	ClusterName string `json:"clusterName" graphql:"noinput"`

	DispatchAddr *DispatchAddr `json:"dispatchAddr" graphql:"noinput"`

	SyncStatus t.SyncStatus `json:"syncStatus" graphql:"noinput"`
}

func (*NodePool) GetDisplayName

func (n *NodePool) GetDisplayName() string

func (*NodePool) GetStatus

func (n *NodePool) GetStatus() operator.Status

type OutputField

type OutputField struct {
	Name        string `json:"name"`
	Label       string `json:"label"`
	Description string `json:"description"`
}

type Peer

type Peer struct {
	Id         int      `json:"id" graphql:"noinput"`
	PubKey     string   `json:"pubKey" graphql:"noinput"`
	AllowedIps []string `json:"allowedIps" graphql:"noinput"`
}

type PersistentVolume

type PersistentVolume struct {
	repos.BaseEntity        `json:",inline" graphql:"noinput"`
	corev1.PersistentVolume `json:",inline"`

	AccountName string `json:"accountName" graphql:"noinput"`
	ClusterName string `json:"clusterName" graphql:"noinput"`

	common.ResourceMetadata `json:",inline" graphql:"noinput"`
	SyncStatus              types.SyncStatus `json:"syncStatus" graphql:"noinput"`
}

type PersistentVolumeClaim

type PersistentVolumeClaim struct {
	repos.BaseEntity             `json:",inline" graphql:"noinput"`
	corev1.PersistentVolumeClaim `json:",inline" graphql:"noinput"`

	AccountName string `json:"accountName" graphql:"noinput"`
	ClusterName string `json:"clusterName" graphql:"noinput"`

	common.ResourceMetadata `json:",inline" graphql:"noinput"`
	SyncStatus              types.SyncStatus `json:"syncStatus" graphql:"noinput"`
}

func (*PersistentVolumeClaim) GetDisplayName

func (p *PersistentVolumeClaim) GetDisplayName() string

func (*PersistentVolumeClaim) GetStatus

func (p *PersistentVolumeClaim) GetStatus() operator.Status

type VolumeAttachment

type VolumeAttachment struct {
	repos.BaseEntity           `json:",inline" graphql:"noinput"`
	storagev1.VolumeAttachment `json:",inline"`

	AccountName string `json:"accountName" graphql:"noinput"`
	ClusterName string `json:"clusterName" graphql:"noinput"`

	common.ResourceMetadata `json:",inline" graphql:"noinput"`
	SyncStatus              types.SyncStatus `json:"syncStatus" graphql:"noinput"`
}

func (*VolumeAttachment) GetDisplayName

func (v *VolumeAttachment) GetDisplayName() string

func (*VolumeAttachment) GetStatus

func (v *VolumeAttachment) GetStatus() operator.Status

type WgParams

type WgParams struct {
	WgPrivateKey string `json:"wg_private_key"`
	WgPublicKey  string `json:"wg_public_key"`

	IP string `json:"ip"`

	DNSServer *string `json:"dnsServer"`

	PublicGatewayHosts *string `json:"publicGatewayHosts,omitempty"`
	PublicGatewayPort  *string `json:"publicGatewayPort,omitempty"`

	VirtualCidr string `json:"virtualCidr"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL