}
type Xapp struct {
- Name string `json:"name"`
- ConfigName string `json:"configName, omitempty"`
- Namespace string `json:"namespace, omitempty"`
- Status string `json:"status"`
- Version string `json:"version"`
- Instances []XappInstance `json:"instances"`
+ Name string `json:"name"`
+ Status string `json:"status"`
+ Version string `json:"version"`
+ Instances []XappInstance `json:"instances"`
}
type XappInstance struct {
RxMessages []string `json:"rxMessages"`
}
+type XappDeploy struct {
+ Name string `json:"name"`
+ ConfigName string `json:"configName, omitempty"`
+ Namespace string `json:"namespace, omitempty"`
+ ServiceName string `json:"serviceName, omitempty"`
+ ImageRepo string `json:"imageRepo, omitempty"`
+ Hostname string `json:"hostname, omitempty"`
+}
+
type XappManager struct {
router *mux.Router
helm Helmer
+ cm ConfigMapper
sd SubscriptionDispatcher
opts CmdOptions
ready bool
}
+type ConfigMapper interface {
+ UploadConfig() (cfg []XAppConfig)
+ GetConfigMap(m XappDeploy, c *interface{}) (err error)
+ CreateConfigMap(r XAppConfig) (errList []CMError, err error)
+ UpdateConfigMap(r XAppConfig) (errList []CMError, err error)
+ DeleteConfigMap(r XAppConfig) (cm interface{}, err error)
+ ReadSchema(name string, c *XAppConfig) (err error)
+ PurgeConfigMap(m XappDeploy) (cm interface{}, err error)
+ RestoreConfigMap(m XappDeploy, cm interface{}) (err error)
+ ReadConfigMap(name string, ns string, c *interface{}) (err error)
+ ApplyConfigMap(r XAppConfig, action string) (err error)
+ GetMessages(name string) (msgs MessageTypes)
+ GetNamespace(ns string) string
+ GetNamesFromHelmRepo() (names []string)
+}
+
type Helmer interface {
+ SetCM(ConfigMapper)
Initialize()
- Install(m ConfigMetadata) (xapp Xapp, err error)
+ Install(m XappDeploy) (xapp Xapp, err error)
Status(name string) (xapp Xapp, err error)
StatusAll() (xapps []Xapp, err error)
+ SearchAll() (xapps []string)
List() (xapps []string, err error)
Delete(name string) (xapp Xapp, err error)
}
host string
chartPath string
initDone bool
+ cm ConfigMapper
}
type SubscriptionReq struct {
Id string `json:"id"`
Version int `json:"version"`
EventType string `json:"eventType"`
- XappData []Xapp `json:"xapp"`
+ XApps string `json:"xApps"`
}
type Subscription struct {
}
type MessageTypes struct {
- TxMessages []string `yaml:"txMessages"`
- RxMessages []string `yaml:"rxMessages"`
+ TxMessages []string `json:"txMessages"`
+ RxMessages []string `json:"rxMessages"`
}
type EventType string