integrations.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package types
  2. // PorterIntegration is a supported integration service, specifying an auth
  3. // mechanism and the category of integration. A single service can have multiple
  4. // auth mechanisms. For example, a GKE integration can have both an "oauth" mechanism
  5. // and a "gcp" mechanism:
  6. //
  7. // PorterIntegration{
  8. // AuthMechanism: "oauth",
  9. // Category: "cluster",
  10. // Service: GKE,
  11. // }
  12. //
  13. // PorterIntegration{
  14. // AuthMechanism: "gcp",
  15. // Category: "cluster",
  16. // Service: GKE,
  17. // }
  18. type PorterIntegration struct {
  19. AuthMechanism string `json:"auth_mechanism"`
  20. Category string `json:"category"`
  21. Service string `json:"service"`
  22. }
  23. // PorterClusterIntegrations are the supported cluster integrations
  24. var PorterClusterIntegrations = []PorterIntegration{
  25. {
  26. AuthMechanism: "gcp",
  27. Category: "cluster",
  28. Service: string(GKE),
  29. },
  30. {
  31. AuthMechanism: "aws",
  32. Category: "cluster",
  33. Service: string(EKS),
  34. },
  35. {
  36. AuthMechanism: "kube",
  37. Category: "cluster",
  38. Service: string(Kube),
  39. },
  40. }
  41. // PorterRegistryIntegrations are the supported registry integrations
  42. var PorterRegistryIntegrations = []PorterIntegration{
  43. {
  44. AuthMechanism: "gcp",
  45. Category: "registry",
  46. Service: string(GCR),
  47. },
  48. {
  49. AuthMechanism: "aws",
  50. Category: "registry",
  51. Service: string(ECR),
  52. },
  53. {
  54. AuthMechanism: "basic",
  55. Category: "registry",
  56. Service: string(DockerHub),
  57. },
  58. }
  59. // PorterHelmRepoIntegrations are the supported helm repo integrations
  60. var PorterHelmRepoIntegrations = []PorterIntegration{
  61. {
  62. AuthMechanism: "basic",
  63. Category: "helm",
  64. Service: "helmrepo",
  65. },
  66. }