2
0

get.go 790 B

123456789101112131415161718192021222324252627282930313233
  1. package envgroup
  2. import (
  3. "errors"
  4. "github.com/porter-dev/porter/api/types"
  5. "github.com/porter-dev/porter/internal/kubernetes"
  6. v1 "k8s.io/api/core/v1"
  7. )
  8. func GetEnvGroup(agent *kubernetes.Agent, name, namespace string, version uint) (*types.EnvGroup, error) {
  9. var configMap *v1.ConfigMap
  10. var err error
  11. if version == 0 {
  12. configMap, _, err = agent.GetLatestVersionedConfigMap(name, namespace)
  13. } else {
  14. configMap, err = agent.GetVersionedConfigMap(name, namespace, version)
  15. }
  16. if err != nil && errors.Is(err, kubernetes.IsNotFoundError) {
  17. // if the configmap isn't found, search for a v1 configmap
  18. configMap, err = agent.GetConfigMap(name, namespace)
  19. if err != nil {
  20. return nil, err
  21. }
  22. } else if err != nil {
  23. return nil, err
  24. }
  25. return ToEnvGroup(configMap)
  26. }