<commit_before># dcos-launch configuration YAML

To see sample config files, see the [sample_configs](dcos_launch/sample_configs/) directory.

This is a WIP to more thoroughly document all the parameters. The code this is based off of is in dcos_launch/config.py. Please report any errors or unclear items.

TODO: blank template for each of the deployment types that contained all the possible params with blank values.

Here `optional` means you don't have to manually provide it in the config.yaml file, and that it will be set to the default value if not provided.

## Design Intention
The intention of this configuration file is to provide an interface by which
all deployments of DC/OS, regardless of provider, have a similar format, thus
complementing the goal of dcos-launch to provide a single tool for launching
across a variety of provider APIs.

## Supported Deployments and Examples
- [Simple AWS Cloudformation](aws-cf.yaml)
- [Zen AWS Cloudformation](aws-zen-cf.yaml)
- [Onprem Install on AWS Bare Cluster](aws-onprem.yaml)
- [Azure Template Deployment](azure.yaml)
- [Onprem Installation on Google Cloud Platform](gcp-onprem-with-helper.yaml)
- [GCP Onprem with fault-domain helper](gcp-onprem-with-fd-helper.yaml)

* `onprem` can only be provisioned via `aws` and `gcp` platforms
* DC/OS deployed from aws or azure provider do not technically need `ssh_user` or `ssh_private_key_filename`. However, without this additional data, the integration tests will not be trigger-able from dcos-launch. Thus, it is not recommended, but allowable, to omit these fields when not using the onprem provider

## Universal params

These options are for any config

### `provider`

string, required

Which provider you will deploy a cluster to.

* `aws`: Uses Amazon Web Services (AWS) CloudFormation console. Supports both zen and simple templates. (Can only be used with `platform: aws`. Requires: `template_url`, `template_parameters`
* `azure`: Uses Azure Resource Manager deployment templates. Supports both ACS (Azure Container Service) and DC/OS templates. (Can only be used with `platform: azure`. Requires `template_url`, and `template_parameters`
* `onprem`: Uses the DC/OS bash installer to orchestrate a deployment on arbitrary hosts of a bare cluster. Requires `num_masters`, `num_private_agents`, `num_public_agents`, `installer_url`, `instance_type`, `os_name`, and `dcos_config`


Allowed: aws, azure, acs-engine, onprem, terraform.

### `launch_config_version`

integer, required

This is still a tool under active development and as such a strict version specifier must be included. (Right now there is only v1.)

Allowed: 1

### `ssh_port`
<commit_msg>fix links to example configs<commit_after># dcos-launch configuration YAML

To see sample config files, see the [sample_configs](dcos_launch/sample_configs/) directory.

This is a WIP to more thoroughly document all the parameters. The code this is based off of is in dcos_launch/config.py. Please report any errors or unclear items.

TODO: blank template for each of the deployment types that contained all the possible params with blank values.

Here `optional` means you don't have to manually provide it in the config.yaml file, and that it will be set to the default value if not provided.

## Design Intention
The intention of this configuration file is to provide an interface by which
all deployments of DC/OS, regardless of provider, have a similar format, thus
complementing the goal of dcos-launch to provide a single tool for launching
across a variety of provider APIs.

## Supported Deployments and Examples
- [Simple AWS Cloudformation](dcos_launch/sample_configs/aws-cf.yaml)
- [Zen AWS Cloudformation](dcos_launch/sample_configs/aws-zen-cf.yaml)
- [Onprem Install on AWS Bare Cluster](dcos_launch/sample_configs/aws-onprem.yaml)
- [Azure Template Deployment](dcos_launch/sample_configs/azure.yaml)
- [Onprem Installation on Google Cloud Platform](dcos_launch/sample_configs/gcp-onprem-with-helper.yaml)
- [GCP Onprem with fault-domain helper](dcos_launch/sample_configs/gcp-onprem-with-fd-helper.yaml)

* `onprem` can only be provisioned via `aws` and `gcp` platforms
* DC/OS deployed from aws or azure provider do not technically need `ssh_user` or `ssh_private_key_filename`. However, without this additional data, the integration tests will not be trigger-able from dcos-launch. Thus, it is not recommended, but allowable, to omit these fields when not using the onprem provider

## Universal params

These options are for any config

### `provider`

string, required

Which provider you will deploy a cluster to.

* `aws`: Uses Amazon Web Services (AWS) CloudFormation console. Supports both zen and simple templates. (Can only be used with `platform: aws`. Requires: `template_url`, `template_parameters`
* `azure`: Uses Azure Resource Manager deployment templates. Supports both ACS (Azure Container Service) and DC/OS templates. (Can only be used with `platform: azure`. Requires `template_url`, and `template_parameters`
* `onprem`: Uses the DC/OS bash installer to orchestrate a deployment on arbitrary hosts of a bare cluster. Requires `num_masters`, `num_private_agents`, `num_public_agents`, `installer_url`, `instance_type`, `os_name`, and `dcos_config`


Allowed: aws, azure, acs-engine, onprem, terraform.

### `launch_config_version`

integer, required

This is still a tool under active development and as such a strict version specifier must be included. (Right now there is only v1.)

Allowed: 1

### `ssh_port`

{'fraction_non_alphanumeric': 0.07537597390831673, 'fraction_numerical': 0.0007247689798876608, 'mean_word_length': 5.112956810631229, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2436498', 'n_tokens_mistral': 1592, 'n_tokens_neox': 1523, 'n_words': 700}