Commit 0604ee25 authored by Truc Nguyen's avatar Truc Nguyen Committed by JeremJR

feat(requirements): add system requirements and compatibility page (BCD-259) (#74)

* feat(requirements): add system requirements and compatibility page (BCD-259)
parent 82e5845e
......@@ -19,9 +19,9 @@ Loaded image: bonitasoft/bcd-controller:latest
## Usage
To enter the BCD controller environment, a Docker container has to be started on your control workstation using the BCD controller image.
To enter the BCD controller environment, a Docker container has to be started on your control host using the BCD controller image.
Besides the following files have to be bind mounted from the control workstation to make them available to the BCD controller container:
Besides the following files have to be bind mounted from the control host to make them available to the BCD controller container:
- **`/host/path/to/bonita-continuous-delivery_<version>`** (mounted as `/home/bonita/bonita-continuous-delivery`) - This directory provides BCD Ansible playbooks and is known as the `BCD_HOME` directory.
- <div class="list-group-item list-group-item-warning">This file is required for <strong>Provisioning</strong>. It is not required for Living App management.</div>
......@@ -43,7 +43,7 @@ Once the required files are prepared, the BCD controller container can be starte
### Starting a BCD controller with `docker run`
The first method to start a BCD Controller Docker container on the control workstation is to use the `docker run` command.
The first method to start a BCD Controller Docker container on the control host is to use the `docker run` command.
**Example**:
......
......@@ -7,11 +7,11 @@ This page describes how to use this archive to start your journey with Bonita Co
## Installation guide
In order to ease your environment setup, we provide a Docker image called **[BCD Controller](bcd_controller.md)** image which contains all required dependencies and tools for the control workstation (ie. the host from which Bonita Continuous Delivery commands are launched).
In order to ease your environment setup, we provide a Docker image called **[BCD Controller](bcd_controller.md)** image which contains all required dependencies and tools for the control host (ie. the host from which Bonita Continuous Delivery commands are launched).
### Common installation steps
Follow these installation steps on your control workstation.
Follow these installation steps on your control host.
1. Make sure Docker is installed as described in the [Install Docker](https://docs.docker.com/engine/installation/) documentation.
......@@ -22,7 +22,7 @@ Follow these installation steps on your control workstation.
This step creates a `bonita-continuous-delivery_<version>` directory which contains:
* Bonita Continuous Delivery Ansible playbooks and roles.
* A pre-built Docker image for the control workstation. This Docker image is provided as a `bcd-controller_<version>.tar.zip` archive located in the `bonita-continuous-delivery_<version>/docker` directory.
* A pre-built Docker image for the control host. This Docker image is provided as a `bcd-controller_<version>.tar.zip` archive located in the `bonita-continuous-delivery_<version>/docker` directory.
3. Load the `bcd-controller_<version>.tar.zip` Docker image:
$ cd bonita-continuous-delivery_<version>/docker
......@@ -31,20 +31,20 @@ Follow these installation steps on your control workstation.
Loaded image: bonitasoft/bcd-controller:<version>
Loaded image: bonitasoft/bcd-controller:latest
The `bonitasoft/bcd-controller` Docker image is now available on the control workstation.
The `bonitasoft/bcd-controller` Docker image is now available on the control host.
4. Make sure BCD dependencies are present.
BCD expects Bonita version-specific dependencies to be present in the `bonita-continuous-delivery_<version>/dependencies` directory. BCD dependencies are provided separately as a `bonita-continuous-delivery-dependencies_<bonita_version>.zip` archive.
Basically, the following artifacts must be extracted from the `bonita-continuous-delivery-dependencies_<bonita_version>.zip` archive into the `dependencies` directory:
* `bonita-subscription_<bonita_version>.tar.gz`
* `bonita-la-builder-<bonita_version>-exec.jar`
* `bonita-sp-<bonita_version>-maven-repository.zip`
5. Start a BCD Controller Docker container on the control workstation:
5. Start a BCD Controller Docker container on the control host:
$ docker run --rm -ti --hostname bcd-controller --name bcd-controller \
-v <host_path_to_bonita-continuous-delivery_directory>:/home/bonita/bonita-continuous-delivery \
bonitasoft/bcd-controller /bin/bash
This command bind mounts the _bonita-continuous-delivery_ directory on the control workstation into the BCD controller container.
This command bind mounts the _bonita-continuous-delivery_ directory on the control host into the BCD controller container.
### Additional steps for Provisioning
......@@ -69,7 +69,7 @@ BCD can create and delete [AWS EC2 instances](https://aws.amazon.com/ec2/) autom
aws_access_key_id = <YOUR_AWS_ACCESS_KEY>
aws_secret_access_key = <YOUR_AWS_SECRET_ACCESS_KEY>
Then the `.boto` file has to be mounted from the control workstation into the BCD controller while starting the container. Add the following option to the `docker run` command:
Then the `.boto` file has to be mounted from the control host into the BCD controller while starting the container. Add the following option to the `docker run` command:
-v <host_path_to_.boto_file>:/home/bonita/.boto
......@@ -77,7 +77,7 @@ Then the `.boto` file has to be mounted from the control workstation into the BC
BCD uses SSH to communicate with target machines. Therefore the BCD controller must have access to the related SSH private key file. For AWS, this is the private part of your [EC2 key pair](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html). **This file must only be accessible from your user** (`chmod 600 <host_path_to_ssh_private_key_file>`).
Then the SSH key file has to be mounted from the control workstation into the BCD controller while starting the container. Add the following option to the `docker run` command:
Then the SSH key file has to be mounted from the control host into the BCD controller while starting the container. Add the following option to the `docker run` command:
-v <host_path_to_ssh_private_key_file>:/home/bonita/.ssh/<ssh_private_key>
......
......@@ -69,7 +69,7 @@ This add-on provides a `bcd` command-line interface (BCD CLI) which enables to:
* Deploy a full Bonita stack - A **Bonita stack** is formed by a database service, Bonita Docker containers running Tomcat application servers and a HAProxy load balancer when deploying a multi-node Bonita cluster.
The BCD CLI is provided within a ready-to-use environment called **BCD Controller**. This environment is packaged as a Docker image.
Then a controller container will have to be started interactively on your control workstation from which `bcd` commands will be issued.
Then a controller container will have to be started interactively on your control host from which `bcd` commands will be issued.
::: warning
It is highly recommended to have a clear understanding of [Docker essential concepts](https://docs.docker.com/engine/docker-overview/) prior to reading this documentation.
......
......@@ -73,7 +73,7 @@ The `bcd livingapp build` command does not allow to migrate your repository to t
Here is a complete example of how to build the [Bonita Vacation Management example repository](https://github.com/bonitasoft/bonita-vacation-management-example) for Bonita version 7.7.0.
In this example, the REST API extension has a dependency on Bonita 7.6.3.
**On the control workstation**
**On the control host**
```
$ cd bonita-continuous-delivery_2.0.0
......
# Requirements and compatibility
This page describes which system requirements need to be met in order to use the Bonita Continuous Delivery Add-On.
You will also find information about BCD and Bonita version compatibility.
## System requirements
There are different environments where requirements are to be met for BCD:
- **Control host** - the host where your [BCD controller](bcd_controller.md) will run.
- **Bonita stack hosts** - the target hosts where your Bonita stack will be deployed using BCD.
- **Jenkins server** - the server where BCD commands are executed by Jenkins Continuous Integration platform.
### Control host
The **Docker Engine** must be up and running on your control host prior to using BCD. BCD is compatible with Docker version 17.04.0 and above.
You may have [Docker Community Edition (Docker CE)](https://docs.docker.com/install/) or [Docker Enterprise Edition (Docker EE)](https://docs.docker.com/ee/supported-platforms/) installed on your host to start using BCD.
::: info
The Docker Engine may be installed on Linux, MacOS, Microsoft Windows or Cloud platforms as described in [Docker installation guide](https://docs.docker.com/install/).
:::
### Bonita stack hosts
::: warning
These requirements must be fulfilled when using BCD for **Provisioning**. They apply to target hosts where the Bonita stack will be deployed.
:::
The system requirements for the target hosts are as follows:
- Minimum hardware requirements: 1 CPU / 1GiB RAM / 8GiB storage (Equivalent to AWS EC2 `t2.micro` instance)
- Supported operating systems: Ubuntu-14.04, Ubuntu-16.04
Besides, the following technical requirements must be met:
- Target hosts must have **Internet access** in order to communicate with Bonitasoft License webservice.
It is also required to install packages and to pull Docker public images for the database instance when applicable.
- Target hosts must be accessible from the BCD controller using **SSH public-key authentication**.
- The user configured to connect to the target hosts must have `sudo` or `root` privileges in order to install the Bonita stack.
Basically, here are the steps to manually install a target host for BCD:
1. Install one of the supported operating systems.
2. Create a user and grant `sudo` or `root` privileges.
3. Generate SSH keys for this user.
The SSH private key has to be retrieved on your BCD controller and its path configured in your BCD scenario.
### Jenkins server
BCD commands may be executed by a Jenkins agent (slave) which runs the BCD controller Docker container.
Therefore the Jenkins server shall meet the same requirements as the Control host.
## Version compatibility
The following table shows which BCD versions support specific Bonita releases.
This compatibility information is also specified in the [Release notes](release_notes.md) for each version of BCD.
<div style="min-width: 270px; max-width: 370px;">
| BCD version | Bonita release |
|-------------|----------------|
| 2.0.0 | 7.7.0 |
</div>
::: warning
If a Bonita release is not listed in the previous table, then it is not supported by the BCD Add-On.
:::
* [Release notes](release_notes.md)
* [Requirements and compatibility](requirements-and-compatibility.md)
* [Getting started](getting_started.md)
* [BCD services and scenarios](_bcd_services_and_scenarios.md)
* [Controller Docker image](bcd_controller.md)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment