Skip to content

Conversation

@ghost
Copy link

@ghost ghost commented Jan 29, 2025

What type of PR is this?
Feature & Documentation

Which issue does this PR fix:
N/A

What does this PR do / Why do we need it:
This reduces developer onboarding time and simplifies the setup process. It also includes upgrades to our tooling dependencies.

If an issue # is not available please add repro steps and logs from aws-gateway-controller showing the issue:
N/A

Testing done on this change:

make setup was ran successfully to setup a new cluster with make presubmit passing.

Automation added to e2e:

N/A

Will this PR introduce any new dependencies?:

No

Will this break upgrades or downgrades. Has updating a running cluster been tested?:
No

Does this PR introduce any user-facing change?:

`make setup` now replaces `make toolchain` to further automate the setup process

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@ghost ghost requested review from erikfuller and mikestvz January 29, 2025 23:00
@ghost ghost added documentation Improvements or additions to documentation enhancement New feature or request labels Jan 30, 2025
Copy link
Contributor

@mikestvz mikestvz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few comments about versioning for the different packages

Makefile Outdated

# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
ENVTEST_K8S_VERSION = 1.22
ENVTEST_K8S_VERSION = 1.32
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have we fully tested with v1.32?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our current guidance is confusing since we ask users to actually install kubebuilder in different areas that may include use of this old version or the latest. I will run the e2e tests again to confirm they are passing on 1.32 to double-check.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see the E2E tests have been failing for some time here. I'll need to root cause these to be certain first.

The quickest way to get started is by running `bash ./scripts/setup.sh`, or `make setup` if you already have `make` installed. This script guides you through credential, tool, EKS cluster, and CRD setup.

## Prerequisites
## Manual Setup
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this an actual Manual Setup ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now is it yes, since this portion is automated with make setup.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to delete it completely? Could there be others still using it ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is cleaner to delete since this is not working in its current state, on a fresh setup.

scripts/setup.sh Outdated

if ! command -v golangci-lint &> /dev/null; then
echo "Installing golangci-lint"
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.62.2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will this work if i have another golang version installed?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have upgraded our golang version since we selected v1.62.2 without issue. On future releases we will continue to confirm. make presubmit will fail in these cases.

scripts/setup.sh Outdated
kubectl apply -f https://raw.githubusercontent.com/aws/aws-application-networking-k8s/main/files/controller-installation/deploy-namesystem.yaml

echo "Setting up the Pod Identities Agent"
aws eks create-addon --cluster-name $CLUSTER_NAME --addon-name eks-pod-identity-agent --addon-version v1.0.0-eksbuild.1 --no-cli-pager
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we check the version of this addon? maybe there is a most recent one

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is actually still the recommended version from here.

scripts/setup.sh Outdated
fi
fi

read -p "Do you want to install the Gateway API CRDs? (Y/N): " install_crds
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any particular reason to have the option to override the version? I think we only support v1.2 from last release.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added this option since some users may need to upgrade to v.1.1.0 first as part of our migration steps to v1.2.0.

@ghost ghost requested a review from mikestvz January 30, 2025 19:53
@ghost ghost enabled auto-merge (squash) January 31, 2025 19:43
@ghost ghost closed this Feb 4, 2025
auto-merge was automatically disabled February 4, 2025 19:44

Pull request was closed

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant