Compare commits
5 Commits
93bd83b9f8
...
7ccfb421a5
Author | SHA1 | Date |
---|---|---|
Joe Bellus | 7ccfb421a5 | |
Joe Bellus | 8c2ae654ca | |
Joe Bellus | 3d46ec2dca | |
Joe Bellus | 03d9104808 | |
Joe Bellus | 77c090df3d |
|
@ -4,7 +4,7 @@ date: 2020-07-29T22:45:07-04:00
|
|||
description: "Full command usage"
|
||||
draft: false
|
||||
weight: 1
|
||||
version: "0.2.1"
|
||||
version: "0.3.2"
|
||||
---
|
||||
|
||||
|
||||
|
@ -40,6 +40,20 @@ The name of a component can be used as a subcommand to launch that component by
|
|||
conductor my-component
|
||||
```
|
||||
|
||||
Multiple components can be ran by specifying multiple component subcommands:
|
||||
|
||||
```sh
|
||||
conductor server frontend metrics
|
||||
```
|
||||
|
||||
## Launching groups
|
||||
|
||||
Groups of components can be defined in the conductor.yml and launched by name
|
||||
|
||||
```sh
|
||||
conductor my_group
|
||||
```
|
||||
|
||||
## Setup a stack
|
||||
|
||||
Given a configuration file you can clone and initialize an entire stack. This can be useful for bootstrapping a new computer/developer.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: "Configuration File Reference"
|
||||
date: 2020-07-29T20:42:50-04:00
|
||||
description: "Conductor config file reference"
|
||||
version: "0.2.1"
|
||||
version: "0.3.2"
|
||||
weight: 1
|
||||
---
|
||||
|
||||
|
@ -20,6 +20,37 @@ If the configuration file is located outside the current directory structure you
|
|||
conductor -c /path/to/config/conductor.yaml
|
||||
```
|
||||
|
||||
## Project configuration
|
||||
|
||||
The top level of the configuration has various configurational options for the entire stack.
|
||||
|
||||
```yml
|
||||
name: MyProject
|
||||
services:
|
||||
- name: mysql
|
||||
- name: rabbit
|
||||
groups:
|
||||
- name: group1
|
||||
components:
|
||||
- component1
|
||||
- component2
|
||||
- name: group2
|
||||
components:
|
||||
- component1
|
||||
- component3
|
||||
components:
|
||||
# ...
|
||||
```
|
||||
|
||||
- **name** - An arbitrary name for the project
|
||||
- **services** - An array of external services that can be launched by components. Currently only docker containers are supported.
|
||||
- **name** - The name of the docker container to launch
|
||||
- **groups** - An array of groups can be defined to execute multiple components together
|
||||
- **name** - An arbitrary name for the group
|
||||
- **components** - An array of component names that should be launched as a group
|
||||
|
||||
|
||||
|
||||
## Component configuration
|
||||
|
||||
Components are indvidual applications that are run as part of the stack. All, some, or one of the compoennts can be launched.
|
||||
|
@ -36,7 +67,7 @@ Components are indvidual applications that are run as part of the stack. All, so
|
|||
COLORS: 1
|
||||
NPM_ENV: debug
|
||||
start:
|
||||
- command: npm
|
||||
command: npm
|
||||
args:
|
||||
- start
|
||||
init:
|
||||
|
@ -52,12 +83,13 @@ component itself.
|
|||
* **path** - The working path relative to the configuration file. If not specified the path is assuemd to be a subfolder with the component name.
|
||||
* **env** - A set of environment variables that are set before any commands are run.
|
||||
* **color** - The component will use this color in the log output. Valid color values are: Yellow, Blue, Green, Red, and Purple.
|
||||
* **tags** - A comma seperated list of tags to identify the component. These can be used to execute groups of components using the --tags flag.
|
||||
* **tags** - A list of tags to identify the component. These can be used to execute groups of components using the --tags flag.
|
||||
* **start** - A command block that is executed when the component is ran
|
||||
* **init** - A command block that is ran when the component is initialized
|
||||
* **init** - A list of command blocks that are ran when the component is initialized
|
||||
* **repo** - The repository url for the component. When running init all components are cloned into subfolders if they have repositories specified and their init commands are ran.
|
||||
* **retry** - Specifies whether the command should be rerun if it exits. This is true by default. Setting this to false will cause the command to be executed. This does not apply to init commands.
|
||||
* **delay** - A delay in seconds to wait before executing this command. This is useful if it needs to wait for another component to spin up.
|
||||
* **default** - If set to false the component will not be ran when the bare `conductor` or `conductor run` is executed.
|
||||
|
||||
### Command block reference
|
||||
* **command** - the name of the command to run
|
||||
|
@ -70,13 +102,23 @@ component itself.
|
|||
|
||||
```yaml
|
||||
name: My Web Application
|
||||
services:
|
||||
- name: mysql
|
||||
groups:
|
||||
- name: full
|
||||
components:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
components:
|
||||
- name: frontend
|
||||
env:
|
||||
FORCE_COLOR: 1
|
||||
color: Blue
|
||||
tags:
|
||||
- core
|
||||
start:
|
||||
- command: npm
|
||||
command: npm
|
||||
args:
|
||||
- start
|
||||
init:
|
||||
|
@ -84,6 +126,26 @@ components:
|
|||
args:
|
||||
- install
|
||||
- name: backend
|
||||
services:
|
||||
- mysql
|
||||
color: Purple
|
||||
tags:
|
||||
- core
|
||||
start:
|
||||
- command: mix
|
||||
args:
|
||||
- phx.server
|
||||
init:
|
||||
- command: mix
|
||||
args:
|
||||
- deps.get
|
||||
- command: mix
|
||||
args:
|
||||
- compile
|
||||
- name: production-backend
|
||||
default: false
|
||||
env:
|
||||
MIX_ENV: production
|
||||
color: Purple
|
||||
tags:
|
||||
- core
|
||||
|
|
|
@ -3,12 +3,12 @@ title: "Getting Started"
|
|||
date: 2020-06-28T11:29:09-04:00
|
||||
description: "A quick setup guide to get a server running"
|
||||
draft: false
|
||||
version: "0.2.1"
|
||||
version: "0.3.2"
|
||||
---
|
||||
|
||||
|
||||
# Installation
|
||||
Binaries can be downloaded for [windows](https://github.com/5Sigma/conductor/releases/latest/download/conductor-windows.zip), [Linux](https://github.com/5Sigma/conductor/releases/latest/download/conductor-linux.tar.gz),
|
||||
Binaries can be downloaded for [Windows](https://github.com/5Sigma/conductor/releases/latest/download/conductor-windows.zip), [Linux](https://github.com/5Sigma/conductor/releases/latest/download/conductor-linux.tar.gz),
|
||||
or [MacOS](https://github.com/5Sigma/conductor/releases/latest/download/conductor-darwin.zip)
|
||||
|
||||
## Homebrew
|
||||
|
|
|
@ -19,32 +19,76 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="ui segment basic center aligned">
|
||||
<div class="ui huge basic buttons inverted">
|
||||
<a class="ui button" href="https://github.com/5Sigma/conductor/releases/latest/download/conductor-windows.zip">
|
||||
<div class="ui huge basic inverted buttons" id="download-buttons">
|
||||
<div class="ui button" data-tab="windows-download">
|
||||
<i class="ui life windows icon"></i>
|
||||
Windows
|
||||
</a>
|
||||
<a class="ui button" href="https://github.com/5Sigma/conductor/releases/latest/download/conductor-linux.tar.gz">
|
||||
</div>
|
||||
<div class="ui button" data-tab="linux-download">
|
||||
<i class="ui linux icon"></i>
|
||||
Linux
|
||||
</a>
|
||||
<a class="ui button" href="https://github.com/5Sigma/conductor/releases/latest/download/conductor-darwin.zip">
|
||||
</div>
|
||||
<div class="ui button" data-tab="macos-download">
|
||||
<i class="ui apple icon"></i>
|
||||
MacOS
|
||||
</a>
|
||||
</div>
|
||||
<a class="ui button" href="http://github.com/5Sigma/conductor">
|
||||
<i class="ui icon github"></i>
|
||||
Source Code
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui tab basic segment center aligned" data-tab="windows-download">
|
||||
<div class="ui inverted huge header" style="font-weight: bold;">
|
||||
Binary Download
|
||||
</div>
|
||||
<a class="ui basic huge inverted button"
|
||||
href="https://github.com/5Sigma/conductor/releases/latest/download/conductor-windows.zip">
|
||||
<i class="ui life windows icon"></i> Download
|
||||
</a>
|
||||
</div>
|
||||
<div class="ui tab basic segment center aligned" data-tab="linux-download">
|
||||
<div class="ui inverted huge header" style="font-weight: bold;">
|
||||
Binary Download
|
||||
</div>
|
||||
<a class="ui basic huge inverted button"
|
||||
href="https://github.com/5Sigma/conductor/releases/latest/download/conductor-linux.tar.gz">
|
||||
<i class="ui linux icon"></i>
|
||||
Donwload
|
||||
</a>
|
||||
</div>
|
||||
<div class="ui tab basic segment center aligned" data-tab="macos-download" style="margin: auto; width: 800px;">
|
||||
<div class="ui inverted huge header" style="font-weight: bold;">
|
||||
Hombrew Installation
|
||||
</div>
|
||||
<div style="width: 500px; margin: auto; text-align: left;">
|
||||
<div class="ui inverted segment">
|
||||
<pre style="font-size: 16px; font-weight: bold;">
|
||||
brew tap 5sigma/tap
|
||||
brew install conductor</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui horizontal divider" style="color: white;">
|
||||
Or
|
||||
</div>
|
||||
<div class="ui inverted huge header" style="font-weight: bold;">
|
||||
Binary Download
|
||||
</div>
|
||||
<div class="ui hidden divider"></div>
|
||||
<a class="ui basic huge inverted button"
|
||||
href="https://github.com/5Sigma/conductor/releases/latest/download/conductor-darwin.zip">
|
||||
<i class="ui apple icon"></i>
|
||||
Download
|
||||
</a>
|
||||
</div>
|
||||
<div class="ui hidden section divider"></div>
|
||||
</div>
|
||||
<div class="ui grid two columns">
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<div class="ui basic segment center aligned very padded">
|
||||
<div class="ui large header">
|
||||
<div class="ui large header icon">
|
||||
<i class="ui help boui"></i>
|
||||
Getting started
|
||||
<div class="sub header">
|
||||
Check out the getting started guide for a quick introduction
|
||||
|
@ -58,7 +102,7 @@
|
|||
</div>
|
||||
<div class="column">
|
||||
<div class="ui basic segment center aligned very padded">
|
||||
<div class="ui large header">
|
||||
<div class="ui large icon header">
|
||||
Documentation
|
||||
<div class="sub header">
|
||||
Full documentation and reference articles
|
||||
|
@ -73,6 +117,26 @@
|
|||
</div>
|
||||
</div>
|
||||
{{ partial "footer" . }}
|
||||
<script>
|
||||
$('#download-buttons div.button').tab();
|
||||
$(function () {
|
||||
var OSName = "Unknown OS";
|
||||
if (navigator.appVersion.indexOf("Win") != -1) OSName = "Windows";
|
||||
if (navigator.appVersion.indexOf("Mac") != -1) OSName = "MacOS";
|
||||
if (navigator.appVersion.indexOf("Linux") != -1) OSName = "Linux";
|
||||
switch (OSName) {
|
||||
case "Windows":
|
||||
$('[data-tab=windows-download]').addClass('active');
|
||||
break;
|
||||
case "MacOS":
|
||||
$('[data-tab=macos-download]').addClass('active');
|
||||
break;
|
||||
case "Linux":
|
||||
$('[data-tab=linux-download]').addClass('active');
|
||||
break;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -6,6 +6,6 @@
|
|||
DOCUMENATION
|
||||
</a>
|
||||
<div class="ui right secondary menu">
|
||||
<a class="icon item" href="http://github.com/5Sigma/celerity"><i class="ui github icon"></i></a>
|
||||
<a class="icon item" href="http://github.com/5Sigma/conductor"><i class="ui github icon"></i></a>
|
||||
</div>
|
||||
</div>
|
|
@ -127,6 +127,11 @@ a:hover {
|
|||
height: 40%;
|
||||
}
|
||||
|
||||
#download-buttons .button.active {
|
||||
background: rgba(255,255,255,0.2) !important;
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
h1.title-header {
|
||||
font-size: 48px !important;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue