Documentation
¶
Index ¶
- type CertificateService
- func (s *CertificateService) CreateBinding(cert *entity.Certificate, serviceType entity.CertificateBindingServiceType, ...) error
- func (s *CertificateService) CreateCertificateSimple(commonName string, lifetime time.Duration, dnsNames []string) (cert *entity.Certificate, pk *rsa.PrivateKey, err error)
- func (s *CertificateService) DefaultCA() (*entity.CertificateAuthority, error)
- func (s *CertificateService) RemoveBinding(participantUUID string) error
- type EndpointScanResult
- type EndpointService
- func (s *EndpointService) BuildKubeFATEManager(infraUUID, namespace, yaml, ingressControllerYAML string) (kubefate.Manager, error)
- func (s *EndpointService) CreateKubeFATEEndpoint(infraUUID, namespace, name, description, yaml string, install bool, ...) (string, error)
- func (s *EndpointService) FindKubeFATEEndpoint(infraUUID string, namespace string) ([]EndpointScanResult, error)
- func (s *EndpointService) GetDeploymentYAML(namespace, serviceUserName, servicePassword, hostname string, ...) (string, error)
- func (s *EndpointService) GetIngressControllerDeploymentYAML(mode entity.EndpointKubeFATEIngressControllerServiceMode) (string, error)
- func (s *EndpointService) RemoveEndpoint(uuid string, uninstall bool) error
- func (s *EndpointService) TestKubeFATE(uuid string) error
- type EventService
- type EventServiceInt
- type ExternalHDFS
- type ExternalPulsar
- type ExternalSpark
- type ParticipantCertificateServiceInt
- type ParticipantDeploymentBaseInfo
- type ParticipantEndpointServiceInt
- type ParticipantFATEClusterCreationRequest
- type ParticipantFATEClusterYAMLCreationRequest
- type ParticipantFATEExchangeCreationRequest
- type ParticipantFATEExchangeYAMLCreationRequest
- type ParticipantFATEExternalClusterCreationRequest
- type ParticipantFATEExternalExchangeCreationRequest
- type ParticipantFATEService
- func (s *ParticipantFATEService) BuildIngressInfoMap(participant *entity.ParticipantFATE) error
- func (s *ParticipantFATEService) CheckPartyIDConflict(federationUUID string, partyID int) error
- func (s *ParticipantFATEService) CreateCluster(req *ParticipantFATEClusterCreationRequest) (*entity.ParticipantFATE, *sync.WaitGroup, error)
- func (s *ParticipantFATEService) CreateExchange(req *ParticipantFATEExchangeCreationRequest) (*entity.ParticipantFATE, *sync.WaitGroup, error)
- func (s *ParticipantFATEService) CreateExternalCluster(req *ParticipantFATEExternalClusterCreationRequest) (*entity.ParticipantFATE, *sync.WaitGroup, error)
- func (s *ParticipantFATEService) CreateExternalExchange(req *ParticipantFATEExternalExchangeCreationRequest) (*entity.ParticipantFATE, error)
- func (s *ParticipantFATEService) GetClusterDeploymentYAML(req *ParticipantFATEClusterYAMLCreationRequest) (string, error)
- func (s *ParticipantFATEService) GetExchangeDeploymentYAML(req *ParticipantFATEExchangeYAMLCreationRequest) (string, error)
- func (s *ParticipantFATEService) RemoveCluster(uuid string, force bool) (*sync.WaitGroup, error)
- func (s *ParticipantFATEService) RemoveExchange(uuid string, force bool) (*sync.WaitGroup, error)
- type ParticipantOpenFLDirectorCreationRequest
- type ParticipantOpenFLDirectorYAMLCreationRequest
- type ParticipantOpenFLEnvoyRegistrationRequest
- type ParticipantOpenFLService
- func (s *ParticipantOpenFLService) CreateDirector(req *ParticipantOpenFLDirectorCreationRequest) (*entity.ParticipantOpenFL, *sync.WaitGroup, error)
- func (s *ParticipantOpenFLService) GetOpenFLDirectorYAML(req *ParticipantOpenFLDirectorYAMLCreationRequest) (string, error)
- func (s *ParticipantOpenFLService) GetOpenFLEnvoyYAML(req *ParticipantOpenFLEnvoyRegistrationRequest) (string, error)
- func (s *ParticipantOpenFLService) HandleRegistrationRequest(req *ParticipantOpenFLEnvoyRegistrationRequest) (*entity.ParticipantOpenFL, error)
- func (s *ParticipantOpenFLService) RemoveDirector(uuid string, force bool) (*sync.WaitGroup, error)
- func (s *ParticipantOpenFLService) RemoveEnvoy(uuid string, force bool) error
- type ParticipantService
- type UserService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CertificateService ¶
type CertificateService struct {
CertificateAuthorityRepo repo.CertificateAuthorityRepository
CertificateRepo repo.CertificateRepository
CertificateBindingRepo repo.CertificateBindingRepository
}
CertificateService provides functions to work with certificate related workflows
func (*CertificateService) CreateBinding ¶
func (s *CertificateService) CreateBinding(cert *entity.Certificate, serviceType entity.CertificateBindingServiceType, participantUUID string, federationUUID string, federationType entity.FederationType) error
CreateBinding create a binding record of a certificate and a participant
func (*CertificateService) CreateCertificateSimple ¶
func (s *CertificateService) CreateCertificateSimple(commonName string, lifetime time.Duration, dnsNames []string) (cert *entity.Certificate, pk *rsa.PrivateKey, err error)
CreateCertificateSimple just take the CN, lifetime and dnsNames and will give the automatically generated private key and the certificate using the first available CA
func (*CertificateService) DefaultCA ¶
func (s *CertificateService) DefaultCA() (*entity.CertificateAuthority, error)
DefaultCA returns the default CA info
func (*CertificateService) RemoveBinding ¶
func (s *CertificateService) RemoveBinding(participantUUID string) error
RemoveBinding deletes a bindings record and deletes the certificate if there is no bindings for it
type EndpointScanResult ¶
type EndpointScanResult struct {
*entity.EndpointBase
IsManaged bool
IsCompatible bool
}
EndpointScanResult records the scanning result from an infra provider
type EndpointService ¶
type EndpointService struct {
InfraProviderKubernetesRepo repo.InfraProviderRepository
EndpointKubeFATERepo repo.EndpointRepository
ParticipantFATERepo repo.ParticipantFATERepository
ParticipantOpenFLRepo repo.ParticipantOpenFLRepository
EventService EventServiceInt
}
EndpointService is the domain service for the endpoint management
func (*EndpointService) BuildKubeFATEManager ¶
func (s *EndpointService) BuildKubeFATEManager(infraUUID, namespace, yaml, ingressControllerYAML string) (kubefate.Manager, error)
BuildKubeFATEManager retrieve a KubeFATE manager instance from the provided endpoint uuid
func (*EndpointService) CreateKubeFATEEndpoint ¶
func (s *EndpointService) CreateKubeFATEEndpoint(infraUUID, namespace, name, description, yaml string, install bool, ingressControllerServiceMode entity.EndpointKubeFATEIngressControllerServiceMode) (string, error)
CreateKubeFATEEndpoint install a kubefate endpoint or add an existing kubefate as a managed endpoint
func (*EndpointService) FindKubeFATEEndpoint ¶
func (s *EndpointService) FindKubeFATEEndpoint(infraUUID string, namespace string) ([]EndpointScanResult, error)
FindKubeFATEEndpoint returns endpoints installation status from an infra provider within particular namespace
func (*EndpointService) GetDeploymentYAML ¶
func (s *EndpointService) GetDeploymentYAML(namespace, serviceUserName, servicePassword, hostname string, registryConfig valueobject.KubeRegistryConfig) (string, error)
GetDeploymentYAML returns the default kubefate deployment yaml
func (*EndpointService) GetIngressControllerDeploymentYAML ¶
func (s *EndpointService) GetIngressControllerDeploymentYAML(mode entity.EndpointKubeFATEIngressControllerServiceMode) (string, error)
GetIngressControllerDeploymentYAML returns the default ingress controller deployment yaml
func (*EndpointService) RemoveEndpoint ¶
func (s *EndpointService) RemoveEndpoint(uuid string, uninstall bool) error
RemoveEndpoint removes the specified endpoint
func (*EndpointService) TestKubeFATE ¶
func (s *EndpointService) TestKubeFATE(uuid string) error
TestKubeFATE checks a KubeFATE connection
type EventService ¶
type EventService struct {
EventRepo repo.EventRepository
}
EventService provides functions to work with core entities' lifecycle events
func (*EventService) CreateEvent ¶
func (s *EventService) CreateEvent(eventType entity.EventType, entityType entity.EntityType, entityUUID string, description string, level entity.EventLogLevel) error
type EventServiceInt ¶
type EventServiceInt interface {
// CreateEvent creates a new event record
CreateEvent(eventType entity.EventType, entityType entity.EntityType, entityUUID string, description string, level entity.EventLogLevel) error
}
EventServiceInt provides functions to work with core entities' lifecycle events
type ExternalHDFS ¶ added in v0.2.0
ExternalHDFS is the request to get the external HDFS information
type ExternalPulsar ¶ added in v0.2.0
ExternalPulsar is the request to get the external Pulsar information
type ExternalSpark ¶ added in v0.2.0
type ExternalSpark struct {
Enable bool
Cores_per_node int
Nodes int
Master string
DriverHost string
DriverHostType string
PortMaxRetries int
DriverStartPort int
BlockManagerStartPort int
PysparkPython string
}
ExternalSpark is the request to get the external Spark information
type ParticipantCertificateServiceInt ¶
type ParticipantCertificateServiceInt interface {
DefaultCA() (*entity.CertificateAuthority, error)
CreateCertificateSimple(commonName string, lifetime time.Duration, dnsNames []string) (cert *entity.Certificate, pk *rsa.PrivateKey, err error)
CreateBinding(cert *entity.Certificate, serviceType entity.CertificateBindingServiceType, participantUUID string, federationUUID string, federationType entity.FederationType) error
RemoveBinding(participantUUID string) error
}
ParticipantCertificateServiceInt declares the methods of a certificate service that this service needs. "Caller defines interfaces"
type ParticipantDeploymentBaseInfo ¶
type ParticipantDeploymentBaseInfo struct {
Description string `json:"description"`
EndpointUUID string `json:"endpoint_uuid"`
DeploymentYAML string `json:"deployment_yaml"`
}
ParticipantDeploymentBaseInfo contains basic deployment information for a participant
type ParticipantEndpointServiceInt ¶
type ParticipantEndpointServiceInt interface {
TestKubeFATE(uuid string) error
// contains filtered or unexported methods
}
ParticipantEndpointServiceInt declares the methods of an endpoint service that participant service needs
type ParticipantFATEClusterCreationRequest ¶
type ParticipantFATEClusterCreationRequest struct {
ParticipantFATEClusterYAMLCreationRequest
ParticipantDeploymentBaseInfo
PulsarServerCertInfo entity.ParticipantComponentCertInfo `json:"pulsar_server_cert_info"`
SitePortalServerCertInfo entity.ParticipantComponentCertInfo `json:"site_portal_server_cert_info"`
SitePortalClientCertInfo entity.ParticipantComponentCertInfo `json:"site_portal_client_cert_info"`
}
ParticipantFATEClusterCreationRequest is the cluster creation request
type ParticipantFATEClusterYAMLCreationRequest ¶
type ParticipantFATEClusterYAMLCreationRequest struct {
ParticipantFATEExchangeYAMLCreationRequest
FederationUUID string `json:"federation_uuid"`
PartyID int `json:"party_id"`
EnablePersistence bool `json:"enable_persistence"`
StorageClass string `json:"storage_class"`
ExternalSpark ExternalSpark
ExternalHDFS ExternalHDFS
ExternalPulsar ExternalPulsar
}
ParticipantFATEClusterYAMLCreationRequest is the request to get the cluster deployment yaml
type ParticipantFATEExchangeCreationRequest ¶
type ParticipantFATEExchangeCreationRequest struct {
ParticipantFATEExchangeYAMLCreationRequest
ParticipantDeploymentBaseInfo
FederationUUID string `json:"federation_uuid"`
ProxyServerCertInfo entity.ParticipantComponentCertInfo `json:"proxy_server_cert_info"`
FMLManagerServerCertInfo entity.ParticipantComponentCertInfo `json:"fml_manager_server_cert_info"`
FMLManagerClientCertInfo entity.ParticipantComponentCertInfo `json:"fml_manager_client_cert_info"`
}
ParticipantFATEExchangeCreationRequest is the exchange creation request
type ParticipantFATEExchangeYAMLCreationRequest ¶
type ParticipantFATEExchangeYAMLCreationRequest struct {
ChartUUID string `json:"chart_uuid"`
Name string `json:"name"`
Namespace string `json:"namespace"`
ServiceType entity.ParticipantDefaultServiceType `json:"service_type"`
// RegistrySecretConfig in valueobject.KubeRegistryConfig is not used for generating the yaml content
RegistryConfig valueobject.KubeRegistryConfig `json:"registry_config"`
EnablePSP bool `json:"enable_psp"`
}
ParticipantFATEExchangeYAMLCreationRequest is the request to get the exchange deployment yaml file
type ParticipantFATEExternalClusterCreationRequest ¶
type ParticipantFATEExternalClusterCreationRequest struct {
Name string `json:"name"`
Description string `json:"description"`
FederationUUID string `json:"federation_uuid"`
PartyID int `json:"party_id"`
PulsarAccessInfo entity.ParticipantModulesAccess `json:"pulsar_access_info"`
NginxAccessInfo entity.ParticipantModulesAccess `json:"nginx_access_info"`
}
ParticipantFATEExternalClusterCreationRequest is the request for creating a record of a FATE cluster not managed by this service
type ParticipantFATEExternalExchangeCreationRequest ¶
type ParticipantFATEExternalExchangeCreationRequest struct {
Name string `json:"name"`
Description string `json:"description"`
FederationUUID string `json:"federation_uuid"`
TrafficServerAccessInfo entity.ParticipantModulesAccess `json:"traffic_server_access_info"`
NginxAccessInfo entity.ParticipantModulesAccess `json:"nginx_access_info"`
}
ParticipantFATEExternalExchangeCreationRequest is the request for creating a record of an exchange not managed by this service
type ParticipantFATEService ¶
type ParticipantFATEService struct {
ParticipantFATERepo repo.ParticipantFATERepository
ParticipantService
}
ParticipantFATEService is the service to manage fate participants
func (*ParticipantFATEService) BuildIngressInfoMap ¶
func (s *ParticipantFATEService) BuildIngressInfoMap(participant *entity.ParticipantFATE) error
func (*ParticipantFATEService) CheckPartyIDConflict ¶
func (s *ParticipantFATEService) CheckPartyIDConflict(federationUUID string, partyID int) error
CheckPartyIDConflict returns error if the party id is taken in a federation
func (*ParticipantFATEService) CreateCluster ¶
func (s *ParticipantFATEService) CreateCluster(req *ParticipantFATEClusterCreationRequest) (*entity.ParticipantFATE, *sync.WaitGroup, error)
CreateCluster creates a FATE cluster with exchange's access info, and will update exchange's route table
func (*ParticipantFATEService) CreateExchange ¶
func (s *ParticipantFATEService) CreateExchange(req *ParticipantFATEExchangeCreationRequest) (*entity.ParticipantFATE, *sync.WaitGroup, error)
CreateExchange creates a FATE exchange, the returned *sync.WaitGroup can be used to wait for the completion of the async goroutine
func (*ParticipantFATEService) CreateExternalCluster ¶
func (s *ParticipantFATEService) CreateExternalCluster(req *ParticipantFATEExternalClusterCreationRequest) (*entity.ParticipantFATE, *sync.WaitGroup, error)
CreateExternalCluster creates an external FATE cluster with the access info provided by user
func (*ParticipantFATEService) CreateExternalExchange ¶
func (s *ParticipantFATEService) CreateExternalExchange(req *ParticipantFATEExternalExchangeCreationRequest) (*entity.ParticipantFATE, error)
CreateExternalExchange creates an external FATE exchange with the access info provided by user
func (*ParticipantFATEService) GetClusterDeploymentYAML ¶
func (s *ParticipantFATEService) GetClusterDeploymentYAML(req *ParticipantFATEClusterYAMLCreationRequest) (string, error)
GetClusterDeploymentYAML returns a cluster deployment yaml
func (*ParticipantFATEService) GetExchangeDeploymentYAML ¶
func (s *ParticipantFATEService) GetExchangeDeploymentYAML(req *ParticipantFATEExchangeYAMLCreationRequest) (string, error)
GetExchangeDeploymentYAML returns the exchange deployment yaml content
func (*ParticipantFATEService) RemoveCluster ¶
RemoveCluster uninstall the cluster as well as remove it from the exchange's route table
func (*ParticipantFATEService) RemoveExchange ¶
RemoveExchange removes and uninstalls a FATE exchange
type ParticipantOpenFLDirectorCreationRequest ¶
type ParticipantOpenFLDirectorCreationRequest struct {
ParticipantOpenFLDirectorYAMLCreationRequest
ParticipantDeploymentBaseInfo
DirectorServerCertInfo entity.ParticipantComponentCertInfo `json:"director_server_cert_info"`
JupyterClientCertInfo entity.ParticipantComponentCertInfo `json:"jupyter_client_cert_info"`
}
ParticipantOpenFLDirectorCreationRequest is the director creation request
type ParticipantOpenFLDirectorYAMLCreationRequest ¶
type ParticipantOpenFLDirectorYAMLCreationRequest struct {
FederationUUID string `json:"federation_uuid" form:"federation_uuid"`
ChartUUID string `json:"chart_uuid" form:"chart_uuid"`
Name string `json:"name" form:"name"`
Namespace string `json:"namespace" form:"namespace"`
ServiceType entity.ParticipantDefaultServiceType `json:"service_type" form:"service_type"`
// for generating the yaml, RegistrySecretConfig is not used in RegistryConfig
RegistryConfig valueobject.KubeRegistryConfig `json:"registry_config"`
JupyterPassword string `json:"jupyter_password" form:"jupyter_password"`
EnablePSP bool `json:"enable_psp" form:"enable_psp"`
}
ParticipantOpenFLDirectorYAMLCreationRequest contains necessary info to generate the deployment yaml content for KubeFATE to deploy OpenFL director
type ParticipantOpenFLEnvoyRegistrationRequest ¶
type ParticipantOpenFLEnvoyRegistrationRequest struct {
// required
KubeConfig string `json:"kubeconfig"`
TokenStr string `json:"token"`
// optional
Name string `json:"name"`
Description string `json:"description"`
Namespace string `json:"namespace"`
ChartUUID string `json:"chart_uuid"`
Labels valueobject.Labels `json:"labels"`
ConfigYAML string `json:"config_yaml"`
SkipCommonPythonFiles bool `json:"skip_common_python_files"`
RegistryConfig valueobject.KubeRegistryConfig `json:"registry_config"`
EnablePSP bool `json:"enable_psp"`
// contains filtered or unexported fields
}
ParticipantOpenFLEnvoyRegistrationRequest is the registration request from an envoy
type ParticipantOpenFLService ¶
type ParticipantOpenFLService struct {
ParticipantOpenFLRepo repo.ParticipantOpenFLRepository
TokenRepo repo.RegistrationTokenRepository
InfraRepo repo.InfraProviderRepository
ParticipantService
}
ParticipantOpenFLService is the service to manage openfl participants
func (*ParticipantOpenFLService) CreateDirector ¶
func (s *ParticipantOpenFLService) CreateDirector(req *ParticipantOpenFLDirectorCreationRequest) (*entity.ParticipantOpenFL, *sync.WaitGroup, error)
CreateDirector creates an OpenFL director
func (*ParticipantOpenFLService) GetOpenFLDirectorYAML ¶
func (s *ParticipantOpenFLService) GetOpenFLDirectorYAML(req *ParticipantOpenFLDirectorYAMLCreationRequest) (string, error)
GetOpenFLDirectorYAML returns the exchange deployment yaml content
func (*ParticipantOpenFLService) GetOpenFLEnvoyYAML ¶
func (s *ParticipantOpenFLService) GetOpenFLEnvoyYAML(req *ParticipantOpenFLEnvoyRegistrationRequest) (string, error)
GetOpenFLEnvoyYAML generates the envoy deployment yaml based on the envoy registration request
func (*ParticipantOpenFLService) HandleRegistrationRequest ¶
func (s *ParticipantOpenFLService) HandleRegistrationRequest(req *ParticipantOpenFLEnvoyRegistrationRequest) (*entity.ParticipantOpenFL, error)
HandleRegistrationRequest process a Envoy device registration request
func (*ParticipantOpenFLService) RemoveDirector ¶
RemoveDirector removes and uninstalls an OpenFL director
func (*ParticipantOpenFLService) RemoveEnvoy ¶
func (s *ParticipantOpenFLService) RemoveEnvoy(uuid string, force bool) error
RemoveEnvoy removes and uninstalls an OpenFL envoy
type ParticipantService ¶
type ParticipantService struct {
FederationRepo repo.FederationRepository
ChartRepo repo.ChartRepository
EventService EventServiceInt
CertificateService ParticipantCertificateServiceInt
EndpointService ParticipantEndpointServiceInt
}
ParticipantService provides functions to manage participants
type UserService ¶
type UserService struct {
Repo repo.UserRepository
}
UserService provides common services to work with entity.User
func (*UserService) LoginService ¶
func (s *UserService) LoginService(username, password string) (*entity.User, error)
LoginService validates the provided username and password and returns the user entity when succeeded