<commit_before># Orchestrator for Developers

`orchestrator` is open source and accepts pull requests.

If you would like to build `orchestrator` on your own machine, or eventually submit PRs, follow this guide.

#### Requirements

`orchestrator` is built on Linux. OS/X should generally follow same guidelines. I have no hint about MS Windows, and the
build is incompatible with Windows.

#### Go setup

You will need to have a *Go 1.5* or higher environment. *1.5* is required as of Dec 2015 due to [vendor directories](https://golang.org/cmd/go/#hdr-Vendor_Directories) - Go's package dependencies solution.

With `1.5` you will need to

	export GO15VENDOREXPERIMENT=1

This guide assumes you have set your Go environment, along with `GOPATH`.

To get started, issue

	go get github.com/github/orchestrator/...

Change directory into `$GOPATH:/src/github.com/github/orchestrator`

Test that your code builds via

	go run go/cmd/orchestrator/main.go

#### DB setup

`orchestrator` requires a MySQL backend to run. This could be installed anywhere. I usually use [mysqlsandbox](http://mysqlsandbox.net/) for local installations. You may choose to just install mysql-server on your dev machine.

Once your backend MySQL setup is complete, issue:

    CREATE DATABASE IF NOT EXISTS orchestrator;
    GRANT ALL PRIVILEGES ON `orchestrator`.* TO 'orchestrator'@'127.0.0.1'
    IDENTIFIED BY '<PASSWORD>';

`orchestrator` uses a configuration file whose search path is either `/etc/orchestrator.conf.json`,  `conf/orchestrator.conf.json` or `orchestrator.conf.json`.
The repository includes a file called `conf/orchestrator.conf.json.sample` with some basic settings. Issue:

	cp conf/orchestrator.conf.json.sample conf/orchestrator.conf.json

The `conf/orchestrator.conf.json` file is not part of the repository and there is in fact a `.gitignore` entry for this file.<commit_msg>Auto-merged master into failover-remote-ssh-relaylogs on deployment<commit_after># Orchestrator for Developers

`orchestrator` is open source and accepts pull requests.

If you would like to build `orchestrator` on your own machine, or eventually submit PRs, follow this guide.

#### Requirements

`orchestrator` is built on Linux. OS/X should generally follow same guidelines. I have no hint about MS Windows, and the
build is incompatible with Windows.

#### Go setup

You will need to have a *Go 1.5* or higher environment. *1.5* is required as of Dec 2015 due to [vendor directories](https://golang.org/cmd/go/#hdr-Vendor_Directories) - Go's package dependencies solution.

With `1.5` you will need to

	export GO15VENDOREXPERIMENT=1

This guide assumes you have set your Go environment, along with `GOPATH`.

To get started, issue

	go get github.com/github/orchestrator/...

Change directory into `$GOPATH:/src/github.com/github/orchestrator`

Test that your code builds via

	go run go/cmd/orchestrator/main.go

#### DB setup

`orchestrator` requires a MySQL backend to run. This could be installed anywhere. I usually use [mysqlsandbox](http://mysqlsandbox.net/) for local installations. You may choose to just install mysql-server on your dev machine.

Once your backend MySQL setup is complete, issue:

    CREATE DATABASE IF NOT EXISTS orchestrator;
    GRANT ALL PRIVILEGES ON `orchestrator`.* TO 'orchestrator'@'127.0.0.1'
    IDENTIFIED BY 'orch_backend_password';

`orchestrator` uses a configuration file whose search path is either `/etc/orchestrator.conf.json`,  `conf/orchestrator.conf.json` or `orchestrator.conf.json`.
The repository includes a file called `conf/orchestrator-sample.conf.json` with some basic settings. Issue:

	cp conf/orchestrator-sample.conf.json conf/orchestrator.conf.json

The `conf/orchestrator.conf.json` file is not part of the repository and there is in fact a `.gitignore` entry for this file.
{'fraction_non_alphanumeric': 0.08536266038229903, 'fraction_numerical': 0.009950248756218905, 'mean_word_length': 4.4415954415954415, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1411647', 'n_tokens_mistral': 1176, 'n_tokens_neox': 1147, 'n_words': 462}