GithubHelp home page GithubHelp logo

corral's Introduction

Corral

Corral is a CLI tool for creating and packaging reproducible development environments. Corral allows developers to manage multiple environments, called corrals, and provision them consistently using shared packages.

Installation

To install corral download the latest binary from the releases.

First Time Setup

Before we can use corral we need to run the first time setup.

corral config

We also want to set a few global variables, digitalocean_token and digitalocean_domain. Any variables set with config will be passed to all corrals. This is useful for setting things like cloud credentials or ssh keys. You can always override these values when creating a new corral with the -v flag.

corral config vars set digitalocean_token $MY_DO_TOKEN
corral config vars set digitalocean_domain $MY_DO_DOMAIN

Create

First we need to create our corral.

corral create simple ghcr.io/rancherlabs/corral/k3s:latest

Once this command finishes we will have a Digitalocean droplet running k3s configured.

List

We can always check what corrals we have running by listing them.

corral list

Vars

Next lets connect to our cluster. We can get the Kubernetes configuration file from the corral's variables. The file is base64 encoded, so we will need to decode it before we can use it.

corral vars simple kubeconfig | base64 --decode > simple.yaml
kubectl --kubeconfig simple.yaml get nodes

Delete

Once we are done using the cluster we can delete it and clean up all the resources generated in Digitalocean.

corral delete simple

What is a corral?

A corral is a collection of resources in a remote environment. Think of it as a way to track the environments you set up and how you set them up. Corrals are created from packages.

What is a corral package?

A corral package is a description of an environment. A package consists of one terraform module and filesystem overlay. The terraform module is used to provision cloud resources. Once the resources are created corral will upload the files in the overlay folder to any nodes generated by terraform and call the commands defined in the manifest.

How do I create a package?

See the tutorial here.

corral's People

Contributors

jakefhyde avatar paynejacob avatar superseb avatar

Watchers

 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.