Code Monkey home page Code Monkey logo

coiled-terraform-template's Introduction

Coiled Workspace Terraform Template

This terraform module is intended to serve as a template for users who required a high degree of customization for their Coiled workspace.

We recommend you copy this template and modify it to fit your needs. Modifications are possible but we recommend contacting [email protected] for detailed help on the process.

This template creates a highly restricted version of the standard Coiled policies and roles, while still allowing users to proceed through setup in a normal fashion. Coiled will be able to "adopt" resources without being able to modify them.

VPC Requirements

  • The VPC must allow outbound traffic to the Coiled control plane for all instances.
  • Instances must be able to communicate with each other on all ports.
  • For the easiest setup, users should be able to connect from their client environment to the scheduler on ports 8787-8786, although if this is an issue for your security requirements alternatives are possible.

Other limitations

  • The name of the Cloudwatch log group cannot be altered and must match the Coiled workspace name
  • The name of the policy attached to the "coiled cluster role" must be CoiledInstancePolicy
  • The name of the coiled cluster role must take the form coiled-<workspace-name>
  • The name of the instance profile must take the form coiled-<workspace-name>

Finishing setup when the template is applied

The template outputs contain all the information needed to finish coiled setup

Using this example:

coiled_cluster_sg = "sg-0797fe44409cb07b0"
coiled_external_id = "8b7846c6cd4b645d"
coiled_instance_profile_arn = "arn:aws:iam::687241535879:instance-profile/coiled-aaaaaa"
coiled_role_arn = "arn:aws:iam::687241535879:role/coiled-control-plane-role"
coiled_scheduler_sg = "sg-00c0fa7479dfcb482"
coiled_subnet_ids = [
  "subnet-0905c86d89e0c38a4",
  "subnet-07460177bd0443f90",
  "subnet-07abb1162257c2c37",
]
coiled_vpc_id = "vpc-03dc146b0f3568563"

We take coiled_role_arn and coiled_external_id and fill out the cloud provider setup form.

role.mp4

Next we can move to the Infrastruture tab and have Coiled adopt the instance profile.

global_infra.mp4

Now we can adopt the VPC, and subnets we created.

region.mp4

Your Coiled workspace is now ready to create clusters!

coiled-terraform-template's People

Contributors

shughes-uk 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.