From 566a800bcde4b7ac9001cac4c15d939161595ec2 Mon Sep 17 00:00:00 2001 From: Aaron Miller Date: Fri, 6 Sep 2024 10:59:27 -0700 Subject: [PATCH] refactor: ACK controllers --- cmd/install/ack.go | 21 +++++++------------ .../apigatewayv2_controller.go | 8 +++---- .../{ec2_controller => }/ec2_controller.go | 8 +++---- .../{ecr_controller => }/ecr_controller.go | 8 +++---- .../{eks_controller => }/eks_controller.go | 12 +++++------ .../{eks_controller => }/fargate_pod_role.go | 5 ++--- .../{iam_controller => }/iam_controller.go | 12 +++++------ .../prometheusservice_controller.go | 12 +++++------ pkg/application/ack/rds_controller.go | 4 ++-- .../ack/{s3_controller => }/s3_controller.go | 9 ++++---- 10 files changed, 46 insertions(+), 53 deletions(-) rename pkg/application/ack/{apigatewayv2_controller => }/apigatewayv2_controller.go (93%) rename pkg/application/ack/{ec2_controller => }/ec2_controller.go (94%) rename pkg/application/ack/{ecr_controller => }/ecr_controller.go (94%) rename pkg/application/ack/{eks_controller => }/eks_controller.go (92%) rename pkg/application/ack/{eks_controller => }/fargate_pod_role.go (95%) rename pkg/application/ack/{iam_controller => }/iam_controller.go (95%) rename pkg/application/ack/{prometheusservice_controller => }/prometheusservice_controller.go (92%) rename pkg/application/ack/{s3_controller => }/s3_controller.go (90%) diff --git a/cmd/install/ack.go b/cmd/install/ack.go index 05cbf92..74528b1 100644 --- a/cmd/install/ack.go +++ b/cmd/install/ack.go @@ -3,13 +3,6 @@ package install import ( "github.com/awslabs/eksdemo/pkg/application" "github.com/awslabs/eksdemo/pkg/application/ack" - "github.com/awslabs/eksdemo/pkg/application/ack/apigatewayv2_controller" - "github.com/awslabs/eksdemo/pkg/application/ack/ec2_controller" - "github.com/awslabs/eksdemo/pkg/application/ack/ecr_controller" - "github.com/awslabs/eksdemo/pkg/application/ack/eks_controller" - "github.com/awslabs/eksdemo/pkg/application/ack/iam_controller" - "github.com/awslabs/eksdemo/pkg/application/ack/prometheusservice_controller" - "github.com/awslabs/eksdemo/pkg/application/ack/s3_controller" "github.com/spf13/cobra" ) @@ -49,13 +42,13 @@ func NewUninstallAckCmd() *cobra.Command { func init() { ackControllers = []func() *application.Application{ - apigatewayv2_controller.NewApp, - ec2_controller.NewApp, - ecr_controller.NewApp, - eks_controller.NewApp, - iam_controller.NewApp, - prometheusservice_controller.NewApp, + ack.NewAPIGatewayv2Controller, + ack.NewEC2Controller, + ack.NewECRController, + ack.NewEKSController, + ack.NewIAMController, + ack.NewPrometheusServiceController, ack.NewRDSController, - s3_controller.NewApp, + ack.NewS3Controller, } } diff --git a/pkg/application/ack/apigatewayv2_controller/apigatewayv2_controller.go b/pkg/application/ack/apigatewayv2_controller.go similarity index 93% rename from pkg/application/ack/apigatewayv2_controller/apigatewayv2_controller.go rename to pkg/application/ack/apigatewayv2_controller.go index a6c82e3..006a666 100644 --- a/pkg/application/ack/apigatewayv2_controller/apigatewayv2_controller.go +++ b/pkg/application/ack/apigatewayv2_controller.go @@ -1,4 +1,4 @@ -package apigatewayv2_controller +package ack import ( "github.com/awslabs/eksdemo/pkg/application" @@ -17,7 +17,7 @@ import ( // Repo: https://gallery.ecr.aws/aws-controllers-k8s/apigatewayv2-controller // Version: Latest is v1.0.16 (as of 9/5/24) -func NewApp() *application.Application { +func NewAPIGatewayv2Controller() *application.Application { return &application.Application{ Command: cmd.Command{ Parent: "ack", @@ -55,14 +55,14 @@ func NewApp() *application.Application { ReleaseName: "ack-apigatewayv2-controller", RepositoryURL: "oci://public.ecr.aws/aws-controllers-k8s/apigatewayv2-chart", ValuesTemplate: &template.TextTemplate{ - Template: valuesTemplate, + Template: apiGatewayv2ValuesTemplate, }, }, } } // https://github.com/aws-controllers-k8s/apigatewayv2-controller/blob/main/helm/values.yaml -const valuesTemplate = `--- +const apiGatewayv2ValuesTemplate = `--- image: tag: {{ .Version }} fullnameOverride: ack-apigatewayv2-controller diff --git a/pkg/application/ack/ec2_controller/ec2_controller.go b/pkg/application/ack/ec2_controller.go similarity index 94% rename from pkg/application/ack/ec2_controller/ec2_controller.go rename to pkg/application/ack/ec2_controller.go index 463f36e..4904cb9 100644 --- a/pkg/application/ack/ec2_controller/ec2_controller.go +++ b/pkg/application/ack/ec2_controller.go @@ -1,4 +1,4 @@ -package ec2_controller +package ack import ( "github.com/awslabs/eksdemo/pkg/application" @@ -17,7 +17,7 @@ import ( // Repo: https://gallery.ecr.aws/aws-controllers-k8s/ec2-controller // Version: Latest is v1.2.20 (as of 9/4/24) -func NewApp() *application.Application { +func NewEC2Controller() *application.Application { return &application.Application{ Command: cmd.Command{ Parent: "ack", @@ -52,14 +52,14 @@ func NewApp() *application.Application { ReleaseName: "ack-ec2-controller", RepositoryURL: "oci://public.ecr.aws/aws-controllers-k8s/ec2-chart", ValuesTemplate: &template.TextTemplate{ - Template: valuesTemplate, + Template: ec2ValuesTemplate, }, }, } } // https://github.com/aws-controllers-k8s/ec2-controller/blob/main/helm/values.yaml -const valuesTemplate = `--- +const ec2ValuesTemplate = `--- image: tag: {{ .Version }} fullnameOverride: ack-ec2-controller diff --git a/pkg/application/ack/ecr_controller/ecr_controller.go b/pkg/application/ack/ecr_controller.go similarity index 94% rename from pkg/application/ack/ecr_controller/ecr_controller.go rename to pkg/application/ack/ecr_controller.go index ec82901..4a3c44e 100644 --- a/pkg/application/ack/ecr_controller/ecr_controller.go +++ b/pkg/application/ack/ecr_controller.go @@ -1,4 +1,4 @@ -package ecr_controller +package ack import ( "github.com/awslabs/eksdemo/pkg/application" @@ -17,7 +17,7 @@ import ( // Repo: https://gallery.ecr.aws/aws-controllers-k8s/ecr-controller // Version: Latest is v1.0.18 (as of 9/5/24) -func NewApp() *application.Application { +func NewECRController() *application.Application { return &application.Application{ Command: cmd.Command{ Parent: "ack", @@ -52,14 +52,14 @@ func NewApp() *application.Application { ReleaseName: "ack-ecr-controller", RepositoryURL: "oci://public.ecr.aws/aws-controllers-k8s/ecr-chart", ValuesTemplate: &template.TextTemplate{ - Template: valuesTemplate, + Template: ecrValuesTemplate, }, }, } } // https://github.com/aws-controllers-k8s/ecr-controller/blob/main/helm/values.yaml -const valuesTemplate = `--- +const ecrValuesTemplate = `--- image: tag: {{ .Version }} fullnameOverride: ack-ecr-controller diff --git a/pkg/application/ack/eks_controller/eks_controller.go b/pkg/application/ack/eks_controller.go similarity index 92% rename from pkg/application/ack/eks_controller/eks_controller.go rename to pkg/application/ack/eks_controller.go index a42dc43..654e3f9 100644 --- a/pkg/application/ack/eks_controller/eks_controller.go +++ b/pkg/application/ack/eks_controller.go @@ -1,4 +1,4 @@ -package eks_controller +package ack import ( "github.com/awslabs/eksdemo/pkg/application" @@ -17,7 +17,7 @@ import ( // Repo: https://gallery.ecr.aws/aws-controllers-k8s/eks-controller // Version: Latest is v1.4.5 (as of 9/5/24) -func NewApp() *application.Application { +func NewEKSController() *application.Application { return &application.Application{ Command: cmd.Command{ Parent: "ack", @@ -34,7 +34,7 @@ func NewApp() *application.Application { }, PolicyType: irsa.PolicyDocument, PolicyDocTemplate: &template.TextTemplate{ - Template: policyDocTemplate, + Template: eksPolicyDocTemplate, }, }), }, @@ -54,14 +54,14 @@ func NewApp() *application.Application { ReleaseName: "ack-eks-controller", RepositoryURL: "oci://public.ecr.aws/aws-controllers-k8s/eks-chart", ValuesTemplate: &template.TextTemplate{ - Template: valuesTemplate, + Template: eksValuesTemplate, }, }, } } // https://github.com/aws-controllers-k8s/eks-controller/blob/main/config/iam/recommended-inline-policy -const policyDocTemplate = ` +const eksPolicyDocTemplate = ` Version: '2012-10-17' Statement: - Effect: Allow @@ -78,7 +78,7 @@ Statement: Resource: arn:{{ .Partition }}:iam::{{ .Account }}:role/eksdemo.{{ .ClusterName }}.fargate-pod-execution-role ` -const valuesTemplate = `--- +const eksValuesTemplate = `--- image: tag: {{ .Version }} fullnameOverride: ack-eks-controller diff --git a/pkg/application/ack/eks_controller/fargate_pod_role.go b/pkg/application/ack/fargate_pod_role.go similarity index 95% rename from pkg/application/ack/eks_controller/fargate_pod_role.go rename to pkg/application/ack/fargate_pod_role.go index ce79b72..8850566 100644 --- a/pkg/application/ack/eks_controller/fargate_pod_role.go +++ b/pkg/application/ack/fargate_pod_role.go @@ -1,4 +1,4 @@ -package eks_controller +package ack import ( "github.com/aws/aws-sdk-go-v2/service/cloudformation/types" @@ -8,7 +8,7 @@ import ( ) func fargatePodExecutionRole() *resource.Resource { - res := &resource.Resource{ + return &resource.Resource{ Options: &resource.CommonOptions{ Name: "fargate-pod-execution-role", }, @@ -20,7 +20,6 @@ func fargatePodExecutionRole() *resource.Resource { }, }, } - return res } const cloudFormationTemplate = ` diff --git a/pkg/application/ack/iam_controller/iam_controller.go b/pkg/application/ack/iam_controller.go similarity index 95% rename from pkg/application/ack/iam_controller/iam_controller.go rename to pkg/application/ack/iam_controller.go index 41c5d2b..637e094 100644 --- a/pkg/application/ack/iam_controller/iam_controller.go +++ b/pkg/application/ack/iam_controller.go @@ -1,4 +1,4 @@ -package iam_controller +package ack import ( "github.com/awslabs/eksdemo/pkg/application" @@ -17,7 +17,7 @@ import ( // Repo: https://gallery.ecr.aws/aws-controllers-k8s/iam-controller // Version: Latest is v1.3.12 (as of 9/5/24) -func NewApp() *application.Application { +func NewIAMController() *application.Application { return &application.Application{ Command: cmd.Command{ Parent: "ack", @@ -33,7 +33,7 @@ func NewApp() *application.Application { }, PolicyType: irsa.PolicyDocument, PolicyDocTemplate: &template.TextTemplate{ - Template: policyDocTemplate, + Template: iamPolicyDocTemplate, }, }), }, @@ -53,14 +53,14 @@ func NewApp() *application.Application { ReleaseName: "ack-iam-controller", RepositoryURL: "oci://public.ecr.aws/aws-controllers-k8s/iam-chart", ValuesTemplate: &template.TextTemplate{ - Template: valuesTemplate, + Template: iamValuesTemplate, }, }, } } // https://github.com/aws-controllers-k8s/iam-controller/blob/main/config/iam/recommended-inline-policy -const policyDocTemplate = ` +const iamPolicyDocTemplate = ` Version: '2012-10-17' Statement: - Effect: Allow @@ -129,7 +129,7 @@ Statement: ` // https://github.com/aws-controllers-k8s/iam-controller/blob/main/helm/values.yaml -const valuesTemplate = `--- +const iamValuesTemplate = `--- image: tag: {{ .Version }} fullnameOverride: ack-iam-controller diff --git a/pkg/application/ack/prometheusservice_controller/prometheusservice_controller.go b/pkg/application/ack/prometheusservice_controller.go similarity index 92% rename from pkg/application/ack/prometheusservice_controller/prometheusservice_controller.go rename to pkg/application/ack/prometheusservice_controller.go index dade44e..2a744af 100644 --- a/pkg/application/ack/prometheusservice_controller/prometheusservice_controller.go +++ b/pkg/application/ack/prometheusservice_controller.go @@ -1,4 +1,4 @@ -package prometheusservice_controller +package ack import ( "github.com/awslabs/eksdemo/pkg/application" @@ -17,7 +17,7 @@ import ( // Repo: https://gallery.ecr.aws/aws-controllers-k8s/prometheusservice-controller // Version: Latest is v1.2.13 (as of 9/6/24) -func NewApp() *application.Application { +func NewPrometheusServiceController() *application.Application { return &application.Application{ Command: cmd.Command{ Parent: "ack", @@ -33,7 +33,7 @@ func NewApp() *application.Application { }, PolicyType: irsa.PolicyDocument, PolicyDocTemplate: &template.TextTemplate{ - Template: policyDocTemplate, + Template: ampPolicyDocTemplate, }, }), }, @@ -53,14 +53,14 @@ func NewApp() *application.Application { ReleaseName: "ack-prometheusservice-controller", RepositoryURL: "oci://public.ecr.aws/aws-controllers-k8s/prometheusservice-chart", ValuesTemplate: &template.TextTemplate{ - Template: valuesTemplate, + Template: ampValuesTemplate, }, }, } } // https://github.com/aws-controllers-k8s/prometheusservice-controller/blob/main/config/iam/recommended-inline-policy -const policyDocTemplate = ` +const ampPolicyDocTemplate = ` Version: '2012-10-17' Statement: - Effect: Allow @@ -74,7 +74,7 @@ Statement: ` // https://github.com/aws-controllers-k8s/prometheusservice-controller/blob/main/helm/values.yaml -const valuesTemplate = `--- +const ampValuesTemplate = `--- image: tag: {{ .Version }} fullnameOverride: ack-prometheusservice-controller diff --git a/pkg/application/ack/rds_controller.go b/pkg/application/ack/rds_controller.go index de1539b..6b33a6b 100644 --- a/pkg/application/ack/rds_controller.go +++ b/pkg/application/ack/rds_controller.go @@ -52,14 +52,14 @@ func NewRDSController() *application.Application { ReleaseName: "ack-rds-controller", RepositoryURL: "oci://public.ecr.aws/aws-controllers-k8s/rds-chart", ValuesTemplate: &template.TextTemplate{ - Template: valuesTemplate, + Template: rdsValuesTemplate, }, }, } } // https://github.com/aws-controllers-k8s/rds-controller/blob/main/helm/values.yaml -const valuesTemplate = `--- +const rdsValuesTemplate = `--- image: tag: {{ .Version }} fullnameOverride: ack-rds-controller diff --git a/pkg/application/ack/s3_controller/s3_controller.go b/pkg/application/ack/s3_controller.go similarity index 90% rename from pkg/application/ack/s3_controller/s3_controller.go rename to pkg/application/ack/s3_controller.go index c7b7f75..b1e19be 100644 --- a/pkg/application/ack/s3_controller/s3_controller.go +++ b/pkg/application/ack/s3_controller.go @@ -1,4 +1,4 @@ -package s3_controller +package ack import ( "github.com/awslabs/eksdemo/pkg/application" @@ -17,7 +17,7 @@ import ( // Repo: https://gallery.ecr.aws/aws-controllers-k8s/s3-controller // Version: Latest is v1.0.16 (as of 9/6/24) -func NewApp() *application.Application { +func NewS3Controller() *application.Application { return &application.Application{ Command: cmd.Command{ Parent: "ack", @@ -52,13 +52,14 @@ func NewApp() *application.Application { ReleaseName: "ack-s3-controller", RepositoryURL: "oci://public.ecr.aws/aws-controllers-k8s/s3-chart", ValuesTemplate: &template.TextTemplate{ - Template: valuesTemplate, + Template: s3ValuesTemplate, }, }, } } -const valuesTemplate = `--- +// https://github.com/aws-controllers-k8s/s3-controller/blob/main/helm/values.yaml +const s3ValuesTemplate = `--- image: tag: {{ .Version }} fullnameOverride: ack-s3-controller