Giter Site home page Giter Site logo

eks-operator's Introduction

rancher/eks-operator

EKS operator is a Kubernetes CRD controller that controls cluster provisioning in Elastic Kubernetes Service using an EKSClusterConfig defined by a Custom Resource Definition.

Build

Operator binary can be built using the following command:

    make operator

After this, you can also downscale operator deployment and run operator from a local binary.

Tests

Running unit tests can be done using the following command:

    make test

E2E

We run e2e tests after every merged PR and periodically every 24 hours. They are triggered by a Github action

For running e2e set the following variables and run:

    export AWS_ACCESS_KEY_ID="replace_with_your_value"
    export AWS_SECRET_ACCESS_KEY="replace_with_your_value"
    export AWS_REGION="replace_with_your_value"
    make kind-e2e-tests

A Kind cluster will be created, and the e2e tests will be run against it.

Release

When should I release?

A KEv2 operator should be released if

  • There have been several commits since the last release,
  • You need to pull in an update/bug fix/backend code to unblock UI for a feature enhancement in Rancher
  • The operator needs to be unRC for a Rancher release

How do I release?

Tag the latest commit on the master branch. For example, if latest tag is:

  • v1.0.8-rc1 you should tag v1.0.8-rc2.
  • v1.0.8 you should tag v1.0.9-rc1.
# Get the latest upstream changes
# Note: `upstream` must be the remote pointing to `[email protected]:rancher/eks-operator.git`.
git pull upstream master --tags

# Export the tag of the release to be cut, e.g.:
export RELEASE_TAG=v1.0.8-rc2

# Create tags locally
git tag -s -a ${RELEASE_TAG} -m ${RELEASE_TAG}

# Push tags
# Note: `upstream` must be the remote pointing to `[email protected]:rancher/eks-operator.git`.
git push upstream ${RELEASE_TAG}

After pushing the release tag, you need to run 2 Github actions. You can find them in the Actions tab of the repo:

  • Update EKS operator in rancher/rancher - This action will update the EKS operator in rancher/rancher repo. It will bump go dependencies.
  • Update EKS Operator in rancher/charts - This action will update the EKS operator in rancher/charts repo. It will bump the chart version.

How do I unRC?

UnRC is the process of removing the rc from a KEv2 operator tag and means the released version is stable and ready for use. Release the KEv2 operator but instead of bumping the rc, remove the rc. For example, if the latest release of EKS operator is:

  • v1.0.8-rc1, release the next version without the rc which would be v1.0.8.
  • v1.0.8, that has no rc so release that version or v1.0.9 if updates are available.

eks-operator's People

Contributors

rmweir avatar alexander-demicev avatar dependabot[bot] avatar salasberryfin avatar furkatgofurov7 avatar mjura avatar cmurphy avatar richardcase avatar cbron avatar mbologna avatar macedogm avatar phillipsj avatar jiaqiluo avatar kevinjoiner avatar jakefhyde avatar oxr463 avatar superseb avatar

Stargazers

Andy Blendermann avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.