k8s.go 709 B

1234567891011121314151617181920212223242526
  1. package forms
  2. import (
  3. "github.com/porter-dev/porter/internal/kubernetes"
  4. "github.com/porter-dev/porter/internal/repository"
  5. )
  6. // K8sForm is the generic base type for CRUD operations on k8s objects
  7. type K8sForm struct {
  8. K8sOptions *kubernetes.OutOfClusterConfig `json:"k8s" form:"required"`
  9. UserID uint `json:"user_id"`
  10. }
  11. // PopulateK8sOptions uses the passed user ID to populate the HelmOptions object
  12. func (kf *K8sForm) PopulateK8sOptions(repo repository.UserRepository) error {
  13. user, err := repo.ReadUser(kf.UserID)
  14. if err != nil {
  15. return err
  16. }
  17. kf.K8sOptions.AllowedContexts = user.ContextToSlice()
  18. kf.K8sOptions.KubeConfig = user.RawKubeConfig
  19. return nil
  20. }