Documentation ¶
Index ¶
- func AsSha256(o interface{}) string
- func AttrSpecificDatasConstruction(s *scalablev1alpha1.SolaceScalable, pubSubSvcNames *[]string, ...)
- func CallSolaceSempApi(s *scalablev1alpha1.SolaceScalable, apiPath string, ctx context.Context, ...) (string, bool, error)
- func ConstructAttrSpecificDatas(s *scalablev1alpha1.SolaceScalable, pubSubSvcNames *[]string, ...)
- func Contains(s []string, str string) bool
- func CreateIngressConsoleRules(s *scalablev1alpha1.SolaceScalable) []v1.IngressRule
- func GetDefaultHaProxyConf(servicePorts []corev1.ServicePort) *[]corev1.ServicePort
- func GetMsgVpnProtocolPort(m SolaceMsgVpnResp, s string, p protocols) int
- func GetSecretEnvIndex(s *scalablev1alpha1.SolaceScalable, secretName string) (int, error)
- func GetSecretFromKey(s *scalablev1alpha1.SolaceScalable, secret *corev1.Secret, secretName string) (string, error)
- func IsItInSlice(o interface{}, list []string) bool
- func Labels(s *scalablev1alpha1.SolaceScalable) map[string]string
- func NewIngressConsole(s *scalablev1alpha1.SolaceScalable, labels map[string]string) *v1.Ingress
- func NewPersistentVolume(s *scalablev1alpha1.SolaceScalable, instanceId string, ...) *corev1.PersistentVolume
- func NewStatefulset(s *scalablev1alpha1.SolaceScalable, labels map[string]string) *v1.StatefulSet
- func NewSvcConsole(s *scalablev1alpha1.SolaceScalable, counter int) *corev1.Service
- func NewSvcHaproxy(s *scalablev1alpha1.SolaceScalable, ports []corev1.ServicePort, ...) *[]corev1.ServicePort
- func NewSvcPubSub(s *scalablev1alpha1.SolaceScalable, svc SvcId, labels map[string]string) *corev1.Service
- func NewTcpConfigmap(s *scalablev1alpha1.SolaceScalable, data map[string]string, nature string, ...) *corev1.ConfigMap
- func NextAvailablePort(ap []int32, p int32) int32
- func SanityzeForSvcName(s string) string
- func UniqueAndNonZero(intSlice []int32) []int32
- type ClientUsernameAttribute
- type ClientUsernameAttributes
- type Pppo
- type SolaceClientUsernameResp
- type SolaceClientUsernamesResp
- type SolaceMsgVpnResp
- type SolaceMsgVpnsResp
- type SolaceScalableReconciler
- func (r *SolaceScalableReconciler) CreatePubSubSvc(s *scalablev1alpha1.SolaceScalable, newSvcPubSub *corev1.Service, ...) error
- func (r *SolaceScalableReconciler) CreateSolaceConsoleIngress(solaceScalable *scalablev1alpha1.SolaceScalable, ingConsole *v1.Ingress, ...) error
- func (r *SolaceScalableReconciler) CreateSolaceConsoleSvc(svc *corev1.Service, ctx context.Context) error
- func (r *SolaceScalableReconciler) CreateSolaceLocalPv(s *scalablev1alpha1.SolaceScalable, pv *corev1.PersistentVolume, ...) (bool, error)
- func (r *SolaceScalableReconciler) CreateSolaceTcpConfigmap(solaceScalable *scalablev1alpha1.SolaceScalable, data *map[string]string, ...) (*corev1.ConfigMap, error)
- func (r *SolaceScalableReconciler) CreateStatefulSet(ss *v1.StatefulSet, ctx context.Context) error
- func (r *SolaceScalableReconciler) DeletePubSubSvc(svcList *corev1.ServiceList, pubSubSvcNames *[]string, ctx context.Context) error
- func (r *SolaceScalableReconciler) DeleteSolaceConsoleSvc(solaceScalable *scalablev1alpha1.SolaceScalable, ctx context.Context) error
- func (r *SolaceScalableReconciler) GetExistingHaProxySvc(solaceScalable *scalablev1alpha1.SolaceScalable, serviceName string, ...) (*corev1.Service, error)
- func (r *SolaceScalableReconciler) GetSolaceSecret(s *scalablev1alpha1.SolaceScalable, ctx context.Context) (*corev1.Secret, error)
- func (r *SolaceScalableReconciler) ListPubSubSvc(solaceScalable *scalablev1alpha1.SolaceScalable, ctx context.Context) (*corev1.ServiceList, error)
- func (r *SolaceScalableReconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl.Result, error)
- func (r *SolaceScalableReconciler) SetupWithManager(mgr ctrl.Manager) error
- func (r *SolaceScalableReconciler) UpdateHAProxySvc(hashStore *map[string]string, FoundHaproxySvc *corev1.Service, ...) error
- func (r *SolaceScalableReconciler) UpdateSolaceTcpConfigmap(solaceScalable *scalablev1alpha1.SolaceScalable, configMap *corev1.ConfigMap, ...) error
- func (r *SolaceScalableReconciler) UpdateStatefulSet(ss *v1.StatefulSet, ctx context.Context, hashStore *map[string]string) error
- type SolaceSvcSpec
- type SvcId
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AttrSpecificDatasConstruction ¶
func AttrSpecificDatasConstruction( s *scalablev1alpha1.SolaceScalable, pubSubSvcNames *[]string, cmData *map[string]string, svcIds *[]SvcId, pppo *Pppo, oP *SolaceSvcSpec, p int32, nature string, portsArr *[]int32, )
Construct services informations
func CallSolaceSempApi ¶
func CallSolaceSempApi( s *scalablev1alpha1.SolaceScalable, apiPath string, ctx context.Context, solaceAdminPassword string, ) (string, bool, error)
Calls the solace SEMPV2 Api
func ConstructAttrSpecificDatas ¶
func ConstructAttrSpecificDatas( s *scalablev1alpha1.SolaceScalable, pubSubSvcNames *[]string, cmData *map[string]string, svcIds *[]SvcId, pppo *Pppo, oP *SolaceSvcSpec, p int32, nature string, portsArr *[]int32, )
Take in charge the number of openings per protocol in the clientusername attributes (pub/sub)
func CreateIngressConsoleRules ¶
func CreateIngressConsoleRules(s *scalablev1alpha1.SolaceScalable) []v1.IngressRule
func GetDefaultHaProxyConf ¶
func GetDefaultHaProxyConf(servicePorts []corev1.ServicePort) *[]corev1.ServicePort
func GetMsgVpnProtocolPort ¶
func GetMsgVpnProtocolPort(m SolaceMsgVpnResp, s string, p protocols) int
Protocls mapping
func GetSecretEnvIndex ¶
func GetSecretEnvIndex(s *scalablev1alpha1.SolaceScalable, secretName string, ) (int, error)
Gets the index of the secret in the env array
func GetSecretFromKey ¶
func GetSecretFromKey(s *scalablev1alpha1.SolaceScalable, secret *corev1.Secret, secretName string, ) (string, error)
func IsItInSlice ¶
check if element o exist in the given slice
func Labels ¶
func Labels(s *scalablev1alpha1.SolaceScalable) map[string]string
Returns the resources Labels
func NewIngressConsole ¶
func NewIngressConsole( s *scalablev1alpha1.SolaceScalable, labels map[string]string, ) *v1.Ingress
func NewPersistentVolume ¶
func NewPersistentVolume(s *scalablev1alpha1.SolaceScalable, instanceId string, labels map[string]string, ) *corev1.PersistentVolume
func NewStatefulset ¶
func NewStatefulset( s *scalablev1alpha1.SolaceScalable, labels map[string]string, ) *v1.StatefulSet
func NewSvcConsole ¶
func NewSvcConsole( s *scalablev1alpha1.SolaceScalable, counter int, ) *corev1.Service
func NewSvcHaproxy ¶
func NewSvcHaproxy( s *scalablev1alpha1.SolaceScalable, ports []corev1.ServicePort, d map[string]string, ) *[]corev1.ServicePort
get already existing default haproxy svc and add ports
func NewSvcPubSub ¶
func NewSvcPubSub( s *scalablev1alpha1.SolaceScalable, svc SvcId, labels map[string]string, ) *corev1.Service
func NewTcpConfigmap ¶
func NewTcpConfigmap( s *scalablev1alpha1.SolaceScalable, data map[string]string, nature string, labels map[string]string, ) *corev1.ConfigMap
Creates a new corev1.ConfigMap
func NextAvailablePort ¶
Searches for the next available int32 based on a given array of int32, see below's example
- ap = [1025, 1026, 1028]
- p = 1026
- return 1027
func SanityzeForSvcName ¶
RFC 1035 Label Names Some resource types require their names to follow the DNS label standard as defined in RFC 1035. This means the name must:
1- contain at most 63 characters 2- contain only lowercase alphanumeric characters or '-' 3- start with an alphabetic character 4- end with an alphanumeric character
func UniqueAndNonZero ¶
Removes repeated int32 and 0 elements from given slice
Types ¶
type ClientUsernameAttribute ¶
type ClientUsernameAttribute struct { AttributeName string `json:"attributeName"` AttributeValue string `json:"attributeValue"` ClientUsername string `json:"clientUsername"` MsgVpnName string `json:"msgVpnName"` }
ClientUsername Attribute response struct
type ClientUsernameAttributes ¶
type ClientUsernameAttributes struct {
Data []ClientUsernameAttribute `json:"data"`
}
ClientUsername Attributes array response struct
func GetClientUsernameAttributes ¶
func GetClientUsernameAttributes( s *scalablev1alpha1.SolaceScalable, data string, ) (ClientUsernameAttributes, error)
Returns the solace's clientUsername attributes in Json format
type Pppo ¶
type Pppo struct { Protocol string `json:"protocol"` Port int32 `json:"port"` PubOrSub string `json:"pubOrSub"` OpeningsNumber int32 `json:"openingsNumber"` }
Protocol, Port, PuborSub and OpeningsNumber
type SolaceClientUsernameResp ¶
type SolaceClientUsernameResp struct { ClientUsername string `json:"clientUsername"` Enabled bool `json:"enabled"` MsgVpnName string `json:"msgVpnName"` Attributes []ClientUsernameAttribute `json:"attributes"` Ports []int32 `json:"ports"` }
ClientUsername response struct
type SolaceClientUsernamesResp ¶
type SolaceClientUsernamesResp struct {
Data []SolaceClientUsernameResp `json:"data"`
}
ClientUsernames array response struct
func (*SolaceClientUsernamesResp) MergeClientAttributesInSpec ¶
func (c *SolaceClientUsernamesResp) MergeClientAttributesInSpec( a ClientUsernameAttributes, ) ([]SolaceSvcSpec, error)
Add client username attributes in solaceSpec struct
type SolaceMsgVpnResp ¶
type SolaceMsgVpnResp struct { MsgVpnName string `json:"msgVpnName"` ServiceAmqpPlainTextListenPort int `json:"serviceAmqpPlainTextListenPort"` ServiceAmqpTlsListenPort int `json:"serviceAmqpTlsListenPort"` ServiceMqttPlainTextListenPort int `json:"serviceMqttPlainTextListenPort"` ServiceMqttTlsListenPort int `json:"serviceMqttTlsListenPort"` ServiceMqttTlsWebSocketListenPort int `json:"serviceMqttTlsWebSocketListenPort"` ServiceMqttWebSocketListenPort int `json:"serviceMqttWebSocketListenPort"` ServiceRestIncomingPlainTextListenPort int `json:"serviceRestIncomingPlainTextListenPort"` ServiceRestIncomingTlsListenPort int `json:"serviceRestIncomingTlsListenPort"` }
Message vpn response struct
type SolaceMsgVpnsResp ¶
type SolaceMsgVpnsResp struct {
Data []SolaceMsgVpnResp `json:"data"`
}
Message vpns array response struct
func GetEnabledSolaceMsgVpns ¶
func GetEnabledSolaceMsgVpns( s *scalablev1alpha1.SolaceScalable, data string, ) (SolaceMsgVpnsResp, error)
Returns the solace's enabled msgVpns in Json format
func (*SolaceMsgVpnsResp) GetSolaceClientUsernames ¶
func (m *SolaceMsgVpnsResp) GetSolaceClientUsernames( s *scalablev1alpha1.SolaceScalable, data string, ) (SolaceClientUsernamesResp, error)
Returns the solace's clientUsernames per msgVpn in Json format
type SolaceScalableReconciler ¶
SolaceScalableReconciler reconciles a SolaceScalable object
func (*SolaceScalableReconciler) CreatePubSubSvc ¶
func (r *SolaceScalableReconciler) CreatePubSubSvc( s *scalablev1alpha1.SolaceScalable, newSvcPubSub *corev1.Service, ctx context.Context, ) error
func (*SolaceScalableReconciler) CreateSolaceConsoleIngress ¶
func (r *SolaceScalableReconciler) CreateSolaceConsoleIngress( solaceScalable *scalablev1alpha1.SolaceScalable, ingConsole *v1.Ingress, ctx context.Context, ) error
func (*SolaceScalableReconciler) CreateSolaceConsoleSvc ¶
func (r *SolaceScalableReconciler) CreateSolaceConsoleSvc( svc *corev1.Service, ctx context.Context, ) error
create console service
func (*SolaceScalableReconciler) CreateSolaceLocalPv ¶
func (r *SolaceScalableReconciler) CreateSolaceLocalPv( s *scalablev1alpha1.SolaceScalable, pv *corev1.PersistentVolume, ctx context.Context, ) (bool, error)
func (*SolaceScalableReconciler) CreateSolaceTcpConfigmap ¶
func (r *SolaceScalableReconciler) CreateSolaceTcpConfigmap( solaceScalable *scalablev1alpha1.SolaceScalable, data *map[string]string, nature string, ctx context.Context, ) (*corev1.ConfigMap, error)
create tcp ingress configmap
func (*SolaceScalableReconciler) CreateStatefulSet ¶
func (r *SolaceScalableReconciler) CreateStatefulSet( ss *v1.StatefulSet, ctx context.Context, ) error
Check if the statefulset already exists
func (*SolaceScalableReconciler) DeletePubSubSvc ¶
func (r *SolaceScalableReconciler) DeletePubSubSvc( svcList *corev1.ServiceList, pubSubSvcNames *[]string, ctx context.Context, ) error
func (*SolaceScalableReconciler) DeleteSolaceConsoleSvc ¶
func (r *SolaceScalableReconciler) DeleteSolaceConsoleSvc( solaceScalable *scalablev1alpha1.SolaceScalable, ctx context.Context, ) error
delete unused console services
func (*SolaceScalableReconciler) GetExistingHaProxySvc ¶
func (r *SolaceScalableReconciler) GetExistingHaProxySvc( solaceScalable *scalablev1alpha1.SolaceScalable, serviceName string, ctx context.Context, ) (*corev1.Service, error)
func (*SolaceScalableReconciler) GetSolaceSecret ¶
func (r *SolaceScalableReconciler) GetSolaceSecret( s *scalablev1alpha1.SolaceScalable, ctx context.Context, ) (*corev1.Secret, error)
Check if the secret already exists
func (*SolaceScalableReconciler) ListPubSubSvc ¶
func (r *SolaceScalableReconciler) ListPubSubSvc( solaceScalable *scalablev1alpha1.SolaceScalable, ctx context.Context, ) (*corev1.ServiceList, error)
func (*SolaceScalableReconciler) SetupWithManager ¶
func (r *SolaceScalableReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
func (*SolaceScalableReconciler) UpdateHAProxySvc ¶
func (*SolaceScalableReconciler) UpdateSolaceTcpConfigmap ¶
func (r *SolaceScalableReconciler) UpdateSolaceTcpConfigmap( solaceScalable *scalablev1alpha1.SolaceScalable, configMap *corev1.ConfigMap, ctx context.Context, hashStore *map[string]string, ) error
update tcp ingress configmap
func (*SolaceScalableReconciler) UpdateStatefulSet ¶
func (r *SolaceScalableReconciler) UpdateStatefulSet( ss *v1.StatefulSet, ctx context.Context, hashStore *map[string]string, ) error
Update the found object and write the result back if there are any changes
type SolaceSvcSpec ¶
type SolaceSvcSpec struct { MsgVpnName string `json:"msgVpnName"` ClientUsername string `json:"clientUsername"` Pppo []Pppo `json:"ppp"` AllMsgVpnPorts []int32 `json:"AllMsgVpnPorts"` }
solace svc specification
func (*SolaceSvcSpec) MergeMsgVpnPortsInSpec ¶
func (s *SolaceSvcSpec) MergeMsgVpnPortsInSpec(m SolaceMsgVpnResp)
Add message vpn ports in solaceSpec struct
type SvcId ¶
type SvcId struct { Name string ClientUsername string MsgVpnName string Port int32 TargetPort int Nature string }
func ConstructSvcDatas ¶
func ConstructSvcDatas(s *scalablev1alpha1.SolaceScalable, pubSubsvcSpecs *[]SolaceSvcSpec, nature string, portsArr *[]int32, ) (*[]string, *map[string]string, []SvcId)
pubsub SVC creation