Giter Club home page Giter Club logo

aws-eks-orb's Introduction

AWS EKS Orb CircleCI status CircleCI Orb Version GitHub license CircleCI Community

A CircleCI Orb to simplify deployments to Amazon Elastic Container Service for Kubernetes (Amazon EKS).

Here are some features that the AWS EKS orb provides:

  • Setting up and tearing down of EKS clusters via the create-cluster and delete-cluster commands / jobs
  • Allowing kubectl and other tools that access kubeconfig (like helm) to work with an EKS cluster via the update-kubeconfig-with-authenticator command
  • Updating deployments with container image updates via the update-container-image job
  • Installing helm and helm charts (See: install-helm-on-cluster and install-helm-chart)

Usage

See the orb registry listing for usage guidelines.

Requirements

  • AWS credential information should be accessible to the AWS CLI. The easiest way to provide the information would be to configure AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_DEFAULT_REGION as CircleCI project or context environment variables.

  • curl should be present in PATH.

  • A python installation present in PATH that supports running the AWS CLI

  • pip if the AWS CLI needs to be installed

Examples

Full usage examples can be found on the AWS EKS orb's page in the orb registry, here.

A demo project is also available here.

version: 2.1

orbs:
  aws-eks: openbean/[email protected]
  kubernetes: openbean/[email protected]

jobs:
  create-deployment:
    executor: aws-eks/python3
    parameters:
      cluster-name:
        description: |
          Name of the EKS cluster
        type: string
    steps:
      - checkout
      - aws-eks/update-kubeconfig-with-authenticator:
          cluster-name: << parameters.cluster-name >>
          install-kubectl: true
      - kubernetes/create-or-update-resource:
          resource-file-path: "tests/nginx-deployment/deployment.yaml"
          resource-name: "deployment/nginx-deployment"
          get-rollout-status: true
          show-kubectl-command: true

workflows:
  deployment:
    jobs:
      - aws-eks/create-cluster:
          cluster-name: eks-demo-deployment
      - create-deployment:
          cluster-name: eks-demo-deployment
          requires:
            - aws-eks/create-cluster
      - aws-eks/update-container-image:
          cluster-name: eks-demo-deployment
          resource-name: "deployment/nginx-deployment"
          container-image-updates: "nginx=nginx:1.9.1"
          record: true
          requires:
            - create-deployment
      - aws-eks/delete-cluster:
          cluster-name: eks-demo-deployment
          requires:
              - aws-eks/update-container-image

Contributing

We welcome issues to and pull requests against this repository!

For further questions/comments about this or other orbs, visit CircleCI's orbs discussion forum.

aws-eks-orb's People

Contributors

danburkert avatar dodvarko avatar eddiewebb avatar iynere avatar jmingtan avatar kobim avatar kyletryon avatar lokst avatar mislavcimpersak avatar zhukovalexander 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.