lbrlabs-pulumi-eks


Namelbrlabs-pulumi-eks JSON
Version 0.17.0 PyPI version JSON
download
home_pageNone
SummaryA batteries included EKS cluster following best practices.
upload_time2024-05-01 04:06:56
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords eks kubernetes aws lbrlabs kind/component category/cloud
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Pulumi LBr Labs EKS 

This repo provides a [multi-language](https://www.pulumi.com/blog/pulumiup-pulumi-packages-multi-language-components/) component that creates a "batteries included" cluster ready for you to attach your EKS nodes to.

> :warning: **This is a work in progress**

It creates:

- an EKS cluster with [CloudTrail logging enabled](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.htmleks), and [secret encryption enabled](https://docs.aws.amazon.com/eks/latest/userguide/enable-kms.html)
- Installs an [operator](https://github.com/rustrial/aws-eks-iam-auth-controller) that eases the process of adding Role Mappings to the [aws-auth](https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html)
- A node group designed to run "system" workloads with a taint
- The [AWS EBS CSI Addon](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) with an [IAM role using IAM Roles for Service accounts](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html)
- The [AWS VPC CBI Addon](https://docs.aws.amazon.com/eks/latest/userguide/managing-vpc-cni.html) with an [IAM role using IAM Roles for Service accounts](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html)
- The CoreDNS Addon
- An internal and external [NGINX ingress controller](https://github.com/kubernetes/ingress-nginx) with relevant ingress classes
- [External DNS](https://github.com/kubernetes-sigs/external-dns), with an IAM role that can modify Route53 domains using IAM Roles for service accounts
- [Cert Manager](https://cert-manager.io/), with an IAM role that can modify Route53 domains using IAM Roles for service accounts

It is designed to be an opinionated implementation of EKS, without the overhead of having to install all of the things required for your cluster to be functional.

It also provides a mechanism to quickly attached a workload node to your newly created cluster, and create an [IAM role for Service accounts](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) with your cluster's OIDC provider.

## Examples

Examples for all languages are in the [examples](examples/) directory. 

Note, you need to create a VPC, and also add your worker nodes. 

## FAQs

### Can you add support for X

Add an issue, but this is mainly designed to be useful for workloads I run, so I reserve the right to refuse.

### Can you make X optional?

I have no plans to make any of the batteries included optional at this time

## Installing

This package is available in many languages in the standard packaging formats.

### Node.js (Java/TypeScript)

To use from JavaScript or TypeScript in Node.js, install using either `npm`:

```
$ npm install @lbrlabs/pulumi-eks
```

or `yarn`:

```
$ yarn add @lbrlabs/pulumi-eks
```

### Python

To use from Python, install using `pip`:

```
$ pip install lbrlabs_pulumi_eks
```

### Go

To use from Go, use `go get` to grab the latest version of the library

```
$ go get github.com/lbrlabs/pulumi-lbrlabs-eks/sdk/go/...
```

### .NET

To use from Dotnet, use `dotnet add package` to install into your project. You must specify the version if it is a pre-release version.


```
$ dotnet add package Lbrlabs.PulumiPackage.Eks
```

## Reference

See the Pulumi registry for API docs:

https://www.pulumi.com/registry/packages/lbrlabs-eks/api-docs/
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "lbrlabs-pulumi-eks",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "eks kubernetes aws lbrlabs kind/component category/cloud",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/f9/dd/c2260dc29ee9b0389800f91892c3b7e222f0bdbdcf6f8ec64198fb44b58c/lbrlabs_pulumi_eks-0.17.0.tar.gz",
    "platform": null,
    "description": "# Pulumi LBr Labs EKS \n\nThis repo provides a [multi-language](https://www.pulumi.com/blog/pulumiup-pulumi-packages-multi-language-components/) component that creates a \"batteries included\" cluster ready for you to attach your EKS nodes to.\n\n> :warning: **This is a work in progress**\n\nIt creates:\n\n- an EKS cluster with [CloudTrail logging enabled](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.htmleks), and [secret encryption enabled](https://docs.aws.amazon.com/eks/latest/userguide/enable-kms.html)\n- Installs an [operator](https://github.com/rustrial/aws-eks-iam-auth-controller) that eases the process of adding Role Mappings to the [aws-auth](https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html)\n- A node group designed to run \"system\" workloads with a taint\n- The [AWS EBS CSI Addon](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) with an [IAM role using IAM Roles for Service accounts](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html)\n- The [AWS VPC CBI Addon](https://docs.aws.amazon.com/eks/latest/userguide/managing-vpc-cni.html) with an [IAM role using IAM Roles for Service accounts](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html)\n- The CoreDNS Addon\n- An internal and external [NGINX ingress controller](https://github.com/kubernetes/ingress-nginx) with relevant ingress classes\n- [External DNS](https://github.com/kubernetes-sigs/external-dns), with an IAM role that can modify Route53 domains using IAM Roles for service accounts\n- [Cert Manager](https://cert-manager.io/), with an IAM role that can modify Route53 domains using IAM Roles for service accounts\n\nIt is designed to be an opinionated implementation of EKS, without the overhead of having to install all of the things required for your cluster to be functional.\n\nIt also provides a mechanism to quickly attached a workload node to your newly created cluster, and create an [IAM role for Service accounts](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) with your cluster's OIDC provider.\n\n## Examples\n\nExamples for all languages are in the [examples](examples/) directory. \n\nNote, you need to create a VPC, and also add your worker nodes. \n\n## FAQs\n\n### Can you add support for X\n\nAdd an issue, but this is mainly designed to be useful for workloads I run, so I reserve the right to refuse.\n\n### Can you make X optional?\n\nI have no plans to make any of the batteries included optional at this time\n\n## Installing\n\nThis package is available in many languages in the standard packaging formats.\n\n### Node.js (Java/TypeScript)\n\nTo use from JavaScript or TypeScript in Node.js, install using either `npm`:\n\n```\n$ npm install @lbrlabs/pulumi-eks\n```\n\nor `yarn`:\n\n```\n$ yarn add @lbrlabs/pulumi-eks\n```\n\n### Python\n\nTo use from Python, install using `pip`:\n\n```\n$ pip install lbrlabs_pulumi_eks\n```\n\n### Go\n\nTo use from Go, use `go get` to grab the latest version of the library\n\n```\n$ go get github.com/lbrlabs/pulumi-lbrlabs-eks/sdk/go/...\n```\n\n### .NET\n\nTo use from Dotnet, use `dotnet add package` to install into your project. You must specify the version if it is a pre-release version.\n\n\n```\n$ dotnet add package Lbrlabs.PulumiPackage.Eks\n```\n\n## Reference\n\nSee the Pulumi registry for API docs:\n\nhttps://www.pulumi.com/registry/packages/lbrlabs-eks/api-docs/",
    "bugtrack_url": null,
    "license": null,
    "summary": "A batteries included EKS cluster following best practices.",
    "version": "0.17.0",
    "project_urls": {
        "Repository": "https://github.com/lbrlabs/pulumi-lbrlabs-eks"
    },
    "split_keywords": [
        "eks",
        "kubernetes",
        "aws",
        "lbrlabs",
        "kind/component",
        "category/cloud"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f9ddc2260dc29ee9b0389800f91892c3b7e222f0bdbdcf6f8ec64198fb44b58c",
                "md5": "e39edef4a43a2bec089be66aa08c9663",
                "sha256": "6f8be6bbeb2b1a663a1820a9a71462b088612596cc77d5bb4b57ef6e57cc2faa"
            },
            "downloads": -1,
            "filename": "lbrlabs_pulumi_eks-0.17.0.tar.gz",
            "has_sig": false,
            "md5_digest": "e39edef4a43a2bec089be66aa08c9663",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 17030,
            "upload_time": "2024-05-01T04:06:56",
            "upload_time_iso_8601": "2024-05-01T04:06:56.383297Z",
            "url": "https://files.pythonhosted.org/packages/f9/dd/c2260dc29ee9b0389800f91892c3b7e222f0bdbdcf6f8ec64198fb44b58c/lbrlabs_pulumi_eks-0.17.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-01 04:06:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "lbrlabs",
    "github_project": "pulumi-lbrlabs-eks",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "lbrlabs-pulumi-eks"
}
        
Elapsed time: 0.26643s