func NewEventRouter(name string, priority int, apiUrl string, accessKey string, secretKey string, apiClient *client.RancherClient, eventHandlers map[string]EventHandler, workerCount int) (*EventRouter, error) { if apiClient == nil { var err error apiClient, err = client.NewRancherClient(&client.ClientOpts{ Url: apiUrl, AccessKey: accessKey, SecretKey: secretKey, }) if err != nil { return nil, err } } // TODO Get subscribe collection URL from API instead of hard coding subscribeUrl := strings.Replace(apiUrl+"/subscribe", "http", "ws", -1) return &EventRouter{ name: name, priority: priority, apiUrl: apiUrl, accessKey: accessKey, secretKey: secretKey, apiClient: apiClient, subscribeUrl: subscribeUrl, eventHandlers: eventHandlers, workerCount: workerCount, mu: &sync.Mutex{}, }, nil }
func (c *Context) open() error { if c.isOpen { return nil } if err := c.readRancherConfig(); err != nil { return err } if c.Url == "" { return fmt.Errorf("RANCHER_URL is not set") } if client, err := rancherClient.NewRancherClient(&rancherClient.ClientOpts{ Url: c.Url, AccessKey: c.AccessKey, SecretKey: c.SecretKey, }); err != nil { return err } else { c.Client = client } if err := c.loadEnv(); err != nil { return err } c.isOpen = true return nil }
func GetRancherClient() (*rclient.RancherClient, error) { apiUrl := config.Config.CattleUrl accessKey := config.Config.CattleAccessKey secretKey := config.Config.CattleSecretKey if apiUrl == "" || accessKey == "" || secretKey == "" { return nil, nil } apiClient, err := rclient.NewRancherClient(&rclient.ClientOpts{ Url: apiUrl, AccessKey: accessKey, SecretKey: secretKey, }) if err != nil { return nil, err } return apiClient, nil }