in pkg/config/config.go [55:110]
func (c *Config) Validate() error {
if c.NS == "" {
return errors.New("--namespace is required")
}
if c.Registry == "" {
return errors.New("--registry is required")
}
if c.MSIClientID == "" {
return errors.New("--msi is required")
}
if c.TenantID == "" {
return errors.New("--tenant-id is required")
}
if c.Cloud == "" {
return errors.New("--cloud is required")
}
if c.Location == "" {
return errors.New("--location is required")
}
if c.ConcurrencyWatchdogThres <= 100 {
return errors.New("--concurrency-watchdog-threshold must be greater than 100")
}
if c.ConcurrencyWatchdogVotes < 1 {
return errors.New("--concurrency-watchdog-votes must be a positive number")
}
if c.OperatorDeployment == "" {
return errors.New("--operator-deployment is required")
}
if c.ClusterUid == "" {
return errors.New("--cluster-uid is required")
}
if dnsZonesString != "" {
if err := c.ParseAndValidateZoneIDs(dnsZonesString); err != nil {
return err
}
}
if c.DnsSyncInterval <= 0 {
c.DnsSyncInterval = defaultDnsSyncInterval
}
crdPathStat, err := os.Stat(c.CrdPath)
if os.IsNotExist(err) {
return fmt.Errorf("crd path %s does not exist", c.CrdPath)
}
if err != nil {
return fmt.Errorf("checking crd path %s: %s", c.CrdPath, err)
}
if !crdPathStat.IsDir() {
return fmt.Errorf("crd path %s is not a directory", c.CrdPath)
}
return nil
}