= Code Valet Master

This repository contains the script and code necessary to build a Docker image
with a link:https://jenkins.io/[Jenkins] master and the necessary plugins for
it to operate.

This code was originally located in the
link:https://github.com/codevalet/codevalet[codevalet/codevalet] repository but
has since been moved out to allow for more independent iteration on the master
image itself.


== Hacking

=== Prerequisites

* Git
* GNU/Make
* Docker
* Docker Compose

=== Running locally

. `docker pull codevalet/master:latest`
. `docker run -p 8080:80 -e GITHUB_USER=yourgithubname codevalet/master:latest`
. Navigate to link:http://localhost:8080/blue/pipelines[localhost:8080/blue/pipelines]

==== Environment Variables

* `GITHUB_USER` link:https://github.com/[GitHub] user name to grant
  permissions
* `CLIENT_ID` (_optional_) custom GitHub OAuth Application Client ID
* `CLIENT_SECRET` (_optional_) custom GitHub OAuth Application Client Secret
* `MAX_AGENTS` (_optional_) maximum number of agents (defaults to 2)
* `AZURE_TENANT_ID` Azure tenant ID for agent provisioning
* `AZURE_SUBSCRIPTION_ID` Azure subscription ID for agent provisioning
* `AZURE_CLIENT_ID` Azure client ID for agent provisioning
* `AZURE_CLIENT_SECRET` Azure client secret for agent provisioning.
* `SENTRY_DSN` (_optional_) link:https://sentry.io[Sentry] DSN for sending
  error logs.
