Go to file
Sérgio Ramos 0917d67b07 chore: use yarn workspaces 2017-08-04 00:51:24 +01:00
docker chore: simplify frontend docker image 2017-08-03 23:00:01 +01:00
packages chore: use yarn workspaces 2017-08-04 00:51:24 +01:00
scripts chore: upgrade prettier 2017-07-26 11:44:49 +01:00
.conventional-changelog-lintrc chore: initial lerna setup 2017-05-25 10:56:50 +01:00
.dockerignore build: update config files to support containerpilot v3 2017-06-20 00:18:34 +01:00
.eslintrc style: update root lint rules 2017-05-31 20:17:12 +01:00
.gitignore feat: add docker-compose-api to compose 2017-06-21 20:01:02 +01:00
.licensesrc.json chore: initial lerna setup 2017-05-25 10:56:50 +01:00
.tern-project chore: initial lerna setup 2017-05-25 10:56:50 +01:00
.yarnclean feat: number input and mutations for restart, stop and start 2017-06-19 13:48:34 +01:00
.yarnrc chore: use yarn workspaces 2017-08-04 00:51:24 +01:00
CHANGELOG.md chore: enable changelog on root level 2017-05-26 10:19:48 +01:00
CONTRIBUTING.md docs: document commit types 2017-05-31 22:37:10 +01:00
GETTING_STARTED.md docs: add instructions to start dev environment 2017-06-06 11:34:23 +01:00
LICENSE Change license to MPL2 2016-12-09 17:39:42 +00:00
README.md feat: add getting start guide 2017-08-03 11:00:05 +01:00
circle.yml chore: use yarn workspaces 2017-08-04 00:51:24 +01:00
copilot.png feat: add getting start guide 2017-08-03 11:00:05 +01:00
docker-compose.yml feat: add getting start guide 2017-08-03 11:00:05 +01:00
lerna.json chore: use yarn workspaces 2017-08-04 00:51:24 +01:00
local-compose.yml chore: simplify frontend docker image 2017-08-03 23:00:01 +01:00
package.json chore: use yarn workspaces 2017-08-04 00:51:24 +01:00
setup.sh feat: support TLS auth 2017-08-01 23:58:56 +01:00
triton-compose.yml feat: add getting start guide 2017-08-03 11:00:05 +01:00
yarn.lock chore: use yarn workspaces 2017-08-04 00:51:24 +01:00

README.md

CoPilot Logo

CircleCI License: MPL 2.0 standard-readme compliant

Table of Contents

Requirements

Install

Set local environment variables

There is a setup.sh script that is used to create an environment (_env) file that will contain the keys you use to connect to Triton as well as the keys used to secure the CoPilot installation. In order for this to work correctly you will need to first load the Triton environment variables with the triton profile you plan to use. Below is an example of setting these environment variables using the triton CLI.

$ eval "$(triton env)"

Additionally, you will need a Certificate Authority certificate file, a server certificate, and a server key file. In the subsection below is an example of generating these files.

Generating Certificates to Secure CoPilot

Credit is due to this CodeShip blog post for the original instructions.

Create the appropriate folders to contain the ca, server, and client certificate files.

$ mkdir -p ca server client

Generate the CA key and certificate files

$ openssl genrsa -aes256 -out ca/ca.key 4096 chmod 400 ca/ca.key
$ openssl req -new -x509 -sha256 -days 730 -key ca/ca.key -out ca/ca.crt
$ chmod 444 ca/ca.crt

Generate the server key files. The FQDN for your host should be specified. In the example below the host that the server will reside on is 'workshop.host' (please change to whatever host CoPilot will be accessible from).

$ openssl genrsa -out server/workshop.host.key 2048
$ chmod 400 server/workshop.host.key
$ openssl req -new -key server/workshop.host.key -sha256 -out server/workshop.host.csr
$ openssl x509 -req -days 365 -sha256 -in server/workshop.host.csr -CA ca/ca.crt -CAkey ca/ca.key -set_serial 1 -out server/workshop.host.crt
$ chmod 444 server/workshop.host.crt

Generate the client certificates that will be installed into the browser.

$ openssl genrsa -out client/browser.key 2048
$ openssl req -new -key client/browser.key -out client/browser.csr
$ openssl x509 -req -days 365 -sha256 -in client/browser.csr -CA ca/ca.crt -CAkey ca/ca.key -set_serial 2 -out client/browser.crt
$ openssl pkcs12 -export -clcerts -in client/browser.crt -inkey client/browser.key -out client/browser.p12

Next you should install the client/browser.p12 certificate in your browser.

Generate _env file from setup.sh

Execute the setup.sh script with the path to your key files.

$ ./setup.sh ~/.ssh/id_rsa ca/ca.crt server/workshop.host.key server/workshop.host.crt

Usage

You have 3 options for where to run CoPilot. You can either run it using the published docker images locally, or on Triton. The last option is to build the docker images and run docker containers from these locally built images.

Start CoPilot using published docker images locally

$ docker-compose up -d

Navigate to https://localhost to load the dashboard.

Deploy and run CoPilot on Triton

$ docker-compose -f triton-compose.yml up -d

Optionally use triton-docker

$ triton-compose -f triton-compose.yml up -d

Build and run CoPilot locally

$ docker-compose -f local-compose.yml up -d

Contribute

See the contribute file!

License

MPL-2.0