From d534a15c03e4674a7ba54d27eacfa156bcf5dcda Mon Sep 17 00:00:00 2001 From: Don Domingo Date: Thu, 21 Nov 2019 03:12:05 +0000 Subject: [PATCH 1/4] README.md edited online with Bitbucket --- README.md | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 72136e1..3485790 100644 --- a/README.md +++ b/README.md @@ -27,12 +27,11 @@ sourced as environment variables to be retrieved at runtime . See the helper-script `bin/ansible-with-atl-env` and the corresponding `groups_vars/aws_node_local.yml` var-file. -#### Overriding parameters +### Customizing your deployment -If you want to customise the playbook behaviour the simplest method is to fork -this repository and add your own. However, for some one-off tasks you can also -override the default and calculated settings with special values. To do this, provide -command-line overrides to +To customise playbook behaviour, you can fork this repository and edit it as +needed. However, for one-off tasks you can also override the default and +calculated settings with special values. To do this, provide command-line overrides to [ansible-playbook](https://docs.ansible.com/ansible/latest/cli/ansible-playbook.html). The most likely use-case for this is to download a custom product distribution @@ -61,6 +60,14 @@ them in the `Custom command-line parameters for Ansible` field: -e atl_product_download_url=http://s3.amazon.com/atlassian/jira-9.0.0-PRE-TEST.tar.gz -e atl_use_system_jdk=true -e atl_download_format=tarball +#### Parameters you can override + +The following files contain many of the most common system configuration parameters +you can override for your deployment: + +- `[/roles/product_install/defaults/main.yml](roles/product_install/defaults/main.yml)` +- `[/group_vars/aws_node_local.yml](group_vars/aws_node_local.yml)` + ## Reporting issues If you find any bugs in this repository, or have feature requests or use cases @@ -79,11 +86,14 @@ Where possible the roles are also product-agnostic (e.g. downloads), with more specific functionality added in later product-specific roles. Roles should be reasonably self-contained, with sensible defaults configured in -`/defaults/main.yml` and overridden by the playbook at runtime. Roles may +`/roles//defaults/main.yml`. Like all playbook parameters, you can override +them at runtime (see + +and overridden by the playbook at runtime. Roles may implicitly depend on variables being defined elsewhere where they cannot define -them natively (e.g. the `jira_config` role depends on the `atl_cluster_node_id` +them natively. For example, the `jira_config` role depends on the `atl_cluster_node_id` var being defined; on AWS this is provided by the `aws_common` role, which -should be run first). +should be run first. ### Development and testing From 2e3db07637879dad10ec9c58dc4149782ad8b37c Mon Sep 17 00:00:00 2001 From: Don Domingo Date: Thu, 21 Nov 2019 05:59:41 +0000 Subject: [PATCH 2/4] More edits --- README.md | 43 +++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 3485790..ce36a5c 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ cloud environments. ## Usage -### Cloud DC-node deployment playbooks +### Configuring Data Center nodes on cloud deployments The usual scenario for usage as part of a cloud deployment is to invoke the script as part of post-creation actions invoked while a new product node is @@ -60,38 +60,34 @@ them in the `Custom command-line parameters for Ansible` field: -e atl_product_download_url=http://s3.amazon.com/atlassian/jira-9.0.0-PRE-TEST.tar.gz -e atl_use_system_jdk=true -e atl_download_format=tarball -#### Parameters you can override +#### Other customizable parameters -The following files contain many of the most common system configuration parameters -you can override for your deployment: +Consult the following files for clues on other parameters you can customize for your deployment: - `[/roles/product_install/defaults/main.yml](roles/product_install/defaults/main.yml)` - `[/group_vars/aws_node_local.yml](group_vars/aws_node_local.yml)` -## Reporting issues +More customizable parameters are defined in specific roles -- specifically, in the +role's `defaults/main.yml` file. Most of these parameters use the `atl_` prefix. You can +use the following [Bitbucket code search query](https://confluence.atlassian.com/bitbucket/search-873876782.html) to find them: -If you find any bugs in this repository, or have feature requests or use cases -for us, please raise them in our [public Jira project](https://jira.atlassian.com/projects/SCALE/summary). + repo:dc-deployments-automation repo:dc-deployments-automation path:*/defaults/main.yml atl ## Development ### Development philosophy The suite is intended to consist of a number of small, composable roles that can -be combined together into playbooks. Wherever possible the roles should be -platform-agnostic as possible, with platform-specific functionality broken out -into more specific roles. - -Where possible the roles are also product-agnostic (e.g. downloads), with more -specific functionality added in later product-specific roles. +be combined together into playbooks. Wherever possible, roles should be product-agnostic +(e.g. downloads) and platform-agnostic. Functions that are product-specific or +platform-specific are split off into separate roles. Roles should be reasonably self-contained, with sensible defaults configured in `/roles//defaults/main.yml`. Like all playbook parameters, you can override -them at runtime (see +them at runtime. -and overridden by the playbook at runtime. Roles may -implicitly depend on variables being defined elsewhere where they cannot define -them natively. For example, the `jira_config` role depends on the `atl_cluster_node_id` +Some roles implicitly depend on other variables beind defined elsewhere. +For example, the `jira_config` role depends on the `atl_cluster_node_id` var being defined; on AWS this is provided by the `aws_common` role, which should be run first. @@ -107,15 +103,18 @@ environment and running tests. information. * Inventory files are under `inv/`. For AWS `cfn-init` the inventory `inv/aws_node_local` inventory is probably what you want. - * Note that this expects the environment to be setup with infrastructure - information; see _Usage_ above. + * Note that this expects the environment to be setup with infrastructure information (refer to the _Usage_ section above). * Global group vars loaded automatically from `group_vars/.yml`. In particular note `group_vars/aws_node_local.yml` which loads infrastructure information from the environment. * Roles are under `roles/` - * Platform specific roles start with `_...`, - e.g. `roles/aws_common/`. - * Similarly, product-specific roles should start with `_...`. + * Platform specific roles start with `_...`, e.g. `roles/aws_common/`. + * Similarly, product-specific roles should start with `_...`. + +## Reporting issues + +If you find any bugs in this repository, or have feature requests or use cases +for us, please raise them in our [public Jira project](https://jira.atlassian.com/projects/SCALE/summary). ## License From deb3d2a6cf5e9a7a73817872c96007e70f311d6d Mon Sep 17 00:00:00 2001 From: Don Domingo Date: Thu, 21 Nov 2019 13:42:55 +0000 Subject: [PATCH 3/4] More edits added TOC testing anchor links --- README.md | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index ce36a5c..b313967 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # Atlassian Data-Center Installation Automation +[TOC] + ## Introduction This repository is a suite of Ansible roles, playbooks and support scripts to @@ -62,22 +64,27 @@ them in the `Custom command-line parameters for Ansible` field: #### Other customizable parameters -Consult the following files for clues on other parameters you can customize for your deployment: +For more deployment customization options, consult the following files for parameters you can +override: -- `[/roles/product_install/defaults/main.yml](roles/product_install/defaults/main.yml)` -- `[/group_vars/aws_node_local.yml](group_vars/aws_node_local.yml)` +- [`/roles/product_install/defaults/main.yml`](roles/product_install/defaults/main.yml) +- [`/group_vars/aws_node_local.yml`](group_vars/aws_node_local.yml) More customizable parameters are defined in specific roles -- specifically, in the role's `defaults/main.yml` file. Most of these parameters use the `atl_` prefix. You can -use the following [Bitbucket code search query](https://confluence.atlassian.com/bitbucket/search-873876782.html) to find them: +use the following [Bitbucket code search query](https://confluence.atlassian.com/bitbucket/search-873876782.html) +to find them: repo:dc-deployments-automation repo:dc-deployments-automation path:*/defaults/main.yml atl -## Development +### Development and testing -### Development philosophy +See [Development](DEVELOPMENT.md) for details on setting up a development +environment and running tests. -The suite is intended to consist of a number of small, composable roles that can +## Roles philosophy + +This suite is intended to consist of many small, composable roles that can be combined together into playbooks. Wherever possible, roles should be product-agnostic (e.g. downloads) and platform-agnostic. Functions that are product-specific or platform-specific are split off into separate roles. @@ -91,23 +98,19 @@ For example, the `jira_config` role depends on the `atl_cluster_node_id` var being defined; on AWS this is provided by the `aws_common` role, which should be run first. -### Development and testing - -See [Development](DEVELOPMENT.md) for details on setting up a development -environment and running tests. ## Ansible layout * Helper scripts are in `bin/`. In particular the `bin/ansible-with-atl-env` - wrapper is of use during AWS node initialisation. See _Usage_ above for more - information. + wrapper is of use during AWS node initialisation. Refer to the [Usage](#markdown-header-usage) section for + more information. * Inventory files are under `inv/`. For AWS `cfn-init` the inventory `inv/aws_node_local` inventory is probably what you want. * Note that this expects the environment to be setup with infrastructure information (refer to the _Usage_ section above). * Global group vars loaded automatically from `group_vars/.yml`. In particular note `group_vars/aws_node_local.yml` which loads infrastructure information from the environment. -* Roles are under `roles/` +* Roles are defined in `roles/` * Platform specific roles start with `_...`, e.g. `roles/aws_common/`. * Similarly, product-specific roles should start with `_...`. From 22f05459e58f05a90b324acc8167a555d8527ab7 Mon Sep 17 00:00:00 2001 From: Don Domingo Date: Thu, 21 Nov 2019 14:01:55 +0000 Subject: [PATCH 4/4] more edits, then added proper page anchors --- README.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index b313967..29605c6 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,16 @@ - -# Atlassian Data-Center Installation Automation - -[TOC] - -## Introduction +# Atlassian Data Center Installation Automation This repository is a suite of Ansible roles, playbooks and support scripts to automate the installation and maintenance of Atlassian Data Center products in cloud environments. -## Usage +On this page: -### Configuring Data Center nodes on cloud deployments +[TOC] + +# Usage + +## Configuring Data Center nodes on cloud deployments The usual scenario for usage as part of a cloud deployment is to invoke the script as part of post-creation actions invoked while a new product node is @@ -25,11 +24,11 @@ In practice, the Ansible roles require some information about the infrastructure that was deployed (e.g. RDS endpoint/password). The way this is currently achieved (on AWS) is that have the CloudFormation template dump this information into the file `/etc/atl` as `RESOURCE_VAR=` lines. This can be then -sourced as environment variables to be retrieved at runtime . See the +sourced as environment variables to be retrieved at runtime. See the helper-script `bin/ansible-with-atl-env` and the corresponding `groups_vars/aws_node_local.yml` var-file. -### Customizing your deployment +## Customizing your deployment To customise playbook behaviour, you can fork this repository and edit it as needed. However, for one-off tasks you can also override the default and @@ -62,7 +61,7 @@ them in the `Custom command-line parameters for Ansible` field: -e atl_product_download_url=http://s3.amazon.com/atlassian/jira-9.0.0-PRE-TEST.tar.gz -e atl_use_system_jdk=true -e atl_download_format=tarball -#### Other customizable parameters +### Other customizable parameters For more deployment customization options, consult the following files for parameters you can override: @@ -77,12 +76,12 @@ to find them: repo:dc-deployments-automation repo:dc-deployments-automation path:*/defaults/main.yml atl -### Development and testing +# Development and testing See [Development](DEVELOPMENT.md) for details on setting up a development environment and running tests. -## Roles philosophy +# Roles philosophy This suite is intended to consist of many small, composable roles that can be combined together into playbooks. Wherever possible, roles should be product-agnostic @@ -99,14 +98,15 @@ var being defined; on AWS this is provided by the `aws_common` role, which should be run first. -## Ansible layout +# Ansible layout * Helper scripts are in `bin/`. In particular the `bin/ansible-with-atl-env` wrapper is of use during AWS node initialisation. Refer to the [Usage](#markdown-header-usage) section for more information. * Inventory files are under `inv/`. For AWS `cfn-init` the inventory `inv/aws_node_local` inventory is probably what you want. - * Note that this expects the environment to be setup with infrastructure information (refer to the _Usage_ section above). + * Note that this expects the environment to be setup with infrastructure information. + Refer to the [Usage](#markdown-header-usage) section for more information. * Global group vars loaded automatically from `group_vars/.yml`. In particular note `group_vars/aws_node_local.yml` which loads infrastructure information from the environment. @@ -114,12 +114,12 @@ should be run first. * Platform specific roles start with `_...`, e.g. `roles/aws_common/`. * Similarly, product-specific roles should start with `_...`. -## Reporting issues +# Reporting issues If you find any bugs in this repository, or have feature requests or use cases for us, please raise them in our [public Jira project](https://jira.atlassian.com/projects/SCALE/summary). -## License +# License Copyright © 2019 Atlassian Corporation Pty Ltd. Licensed under the Apache License, Version 2.0.