 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
const ( ClusterIdPropertyName = "cluster.clusterset.k8s.io" ClusterSetIdPropertyName = "clusterset.k8s.io" )
const ( EndpointIpv4Attr = "AWS_INSTANCE_IPV4" EndpointPortAttr = "AWS_INSTANCE_PORT" EndpointPortNameAttr = "ENDPOINT_PORT_NAME" EndpointProtocolAttr = "ENDPOINT_PROTOCOL" EndpointReadyAttr = "READY" EndpointHostnameAttr = "HOSTNAME" EndpointNodeNameAttr = "NODENAME" ClusterIdAttr = "CLUSTER_ID" ClusterSetIdAttr = "CLUSTERSET_ID" ServicePortNameAttr = "SERVICE_PORT_NAME" ServicePortAttr = "SERVICE_PORT" ServiceTargetPortAttr = "SERVICE_TARGET_PORT" ServiceProtocolAttr = "SERVICE_PROTOCOL" ServiceTypeAttr = "SERVICE_TYPE" ServiceExportCreationAttr = "SERVICE_EXPORT_CREATION_TIMESTAMP" K8sVersionAttr = "K8S_CONTROLLER" )
Cloudmap Instances IP and Port is supposed to be AWS_INSTANCE_IPV4 and AWS_INSTANCE_PORT Rest are custom attributes
Variables ¶
This section is empty.
Functions ¶
func EndpointIdFromIPAddressAndPort ¶ added in v0.2.0
EndpointIdFromIPAddressAndPort converts an IP address to human-readable identifier.
Types ¶
type Changes ¶
type Changes struct {
	// List of endpoints that need to be created
	Create []*Endpoint
	// List of endpoints that need to be updated
	Update []*Endpoint
	// List of endpoints that need to be deleted
	Delete []*Endpoint
}
    func (*Changes) HasDeletes ¶ added in v0.2.0
func (*Changes) HasUpdates ¶ added in v0.2.0
type ClusterUtils ¶ added in v0.3.0
type ClusterUtils struct {
	// contains filtered or unexported fields
}
    ClusterUtils provides utility functions for working with clusters
func NewClusterUtils ¶ added in v0.3.0
func NewClusterUtils(client client.Client) ClusterUtils
func NewClusterUtilsWithValues ¶ added in v0.3.0
func NewClusterUtilsWithValues(clusterId string, clusterSetId string) ClusterUtils
func (*ClusterUtils) GetClusterProperties ¶ added in v0.3.0
func (r *ClusterUtils) GetClusterProperties(ctx context.Context) (*clusterProperties, error)
func (*ClusterUtils) LoadClusterProperties ¶ added in v0.3.0
func (r *ClusterUtils) LoadClusterProperties(ctx context.Context) error
type Endpoint ¶
type Endpoint struct {
	Id                             string
	IP                             string
	EndpointPort                   Port
	ServicePort                    Port
	ClusterId                      string
	ClusterSetId                   string
	ServiceType                    ServiceType
	ServiceExportCreationTimestamp int64
	Ready                          bool
	Hostname                       string
	Nodename                       string
	Attributes                     map[string]string
}
    Endpoint holds basic values and attributes for an endpoint.
func NewEndpointFromInstance ¶
func NewEndpointFromInstance(inst *types.HttpInstanceSummary) (*Endpoint, error)
NewEndpointFromInstance converts a Cloud Map HttpInstanceSummary to an endpoint.
func (*Endpoint) Equals ¶
Equals evaluates if two Endpoints are "deeply equal" (including all fields).
func (*Endpoint) GetCloudMapAttributes ¶ added in v0.1.1
GetCloudMapAttributes extracts endpoint attributes for Cloud Map service instance registration.
type Namespace ¶ added in v0.1.1
type Namespace struct {
	Id   string
	Name string
	Type NamespaceType
}
    Namespace hold namespace attributes
type NamespaceType ¶ added in v0.1.1
type NamespaceType string
const ( HttpNamespaceType NamespaceType = "HTTP" DnsPrivateNamespaceType NamespaceType = "DNS_PRIVATE" // UnsupportedNamespaceType Placeholder NamespaceType to denote not supported values UnsupportedNamespaceType NamespaceType = "" )
func ConvertNamespaceType ¶ added in v0.1.1
func ConvertNamespaceType(nsType types.NamespaceType) (namespaceType NamespaceType)
func (*NamespaceType) IsUnsupported ¶ added in v0.1.1
func (namespaceType *NamespaceType) IsUnsupported() bool
type Plan ¶
type Plan struct {
	// List of current instances
	Current []*Endpoint
	// List of desired instances
	Desired []*Endpoint
}
    func (*Plan) CalculateChanges ¶
CalculateChanges returns list of Changes that need to applied
type Port ¶ added in v0.2.0
type Service ¶
Service holds namespace and endpoint state for a named service.
func (*Service) GetEndpoints ¶ added in v0.3.1
type ServiceType ¶ added in v0.3.0
type ServiceType string
const ( HeadlessType ServiceType = "Headless" ClusterSetIPType ServiceType = "ClusterSetIP" )
func (ServiceType) String ¶ added in v0.3.0
func (serviceType ServiceType) String() string
Gives string representation for ServiceType