GithubHelp home page GithubHelp logo

dfddd's Introduction

Crossplane configuration for "EKS as a Service"

This repository contains the definition for a Crossplane configuration that bundles a set of API definitions. This configuration is a starting point for new users who are creating their first control plane in Upbound.

When this configuration is installed on a control plane, the control plane will have APIs to provision fully configured Amazon Elastic Kubernetes Service (EKS) clusters with secure networking, composed using cloud service primitives from the Upbound Official AWS Provider. App deployments can securely connect to the infrastructure they need using secrets distributed directly to the app namespace.

What's Inside

A custom API in Crossplane is defined by:

  • a CompositeResourceDefinition (XRD). This defines the schema or shape of the API.
  • A Composition(s). Compositions implement the schema by composing a set of Crossplane managed resources together.

For this configuration, the EKS API is defined by:

  • a KubernetesCluster type
  • the KubernetesCluster is composed of an XNetwork and XEKS types.
  • the XNetwork is composed of a the following resources: a VPC, InternetGateway, 4 Subnets, a RouteTable, Routes, 5 RouteTableAssociations, a SecurityGroup, and 2 security group role.
  • the XEKS is composed of the following resources: Cluster, a NodeGroup, an OpenIDConnectProvider, 2 Roles, 4 RolePolicyAttachments, and ClusterAuth.

This repository also contains an example claim. You can apply this file on your control plane to invoke the EKS API and cause a cluster to be created.

Next Steps

This repository is a starting point. You should be feel encouraged to:

  1. create new API definitions in this same repo
  2. tweak the existing API definition for EKS to your needs

Upbound will automatically detect the commits you make in your repo and build the configuration package for you. To learn more about how to build APIs for your managed control planes in Upbound, read the guide on Upbound's docs.

dfddd's People

Contributors

hasheddan avatar cwilhit avatar

Watchers

James Cloos avatar Milosz Sobczak 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.