Skip to content

Commit

Permalink
Fix doc dead links
Browse files Browse the repository at this point in the history
  • Loading branch information
lemaitre-aneo authored May 22, 2023
1 parent b1fa227 commit d286dac
Show file tree
Hide file tree
Showing 7 changed files with 284 additions and 44 deletions.
16 changes: 0 additions & 16 deletions .docs/content/1.installation/1.linux/0.prerequisites.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,6 @@

In order to install ArmoniK locally or on-premise, you must have a few of things installed on your machine.

## Installation

You can easily install all of them using the [ArmoniK prerequisites installer](https://github.com/aneoconsulting/ArmoniK/tree/main/infrastructure/utils/scripts/installation/pre-requisites-installer.sh) from the root repository.

```bash
./infrastructure/utils/scripts/installation/prerequisites-installer.sh
```

::alert{type="info"}
Please, read the script before running it and make sure to have Docker Desktop disabled if you are on Windows.
::

::alert{type="warning"}
We do not recommend you to manually install the pre-requisites for compatibility reasons. If you want to install them manually, please follow the prerequisites installer script.
::

## Programs

### Make
Expand Down
13 changes: 4 additions & 9 deletions .docs/content/1.installation/1.linux/2.verify-installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,11 @@ http://<ip_address>:5000
## Samples

<!-- TODO: Create a sample in order to test installation (no more Symphony or DataSynapse) -->
There are three scripts that can be used in order to verify the installation of ArmoniK :
There these scripts that can be used in order to verify the installation of ArmoniK :

* [Symphony Like](https://github.com/aneoconsulting/ArmoniK.Samples/tree/main/tools/tests/symphony_like.sh)
* [Symphony Like End to End](https://github.com/aneoconsulting/ArmoniK.Samples/tree/main/tools/tests/symphony_endToendTests.sh).
* [Unified](https://github.com/aneoconsulting/ArmoniK.Samples/tree/main/tools/tests/unified_api.sh)
* [Stress Test](https://github.com/aneoconsulting/ArmoniK.Samples/tree/main/tools/tests/stress-tests.sh)

::alert{type="info"}
<!-- TODO: Redirect to a readme -->
Expand All @@ -66,18 +67,12 @@ git clone https://github.com/aneoconsulting/ArmoniK.Samples.git ./Source/ArmoniK
### Execute Samples

<!-- TODO: Verify how to execute samples -->
* Execute [tools/tests/symphony_like.sh](https://github.com/aneoconsulting/ArmoniK/blob/main/tools/tests/symphony_like.sh) from the **root** repository:
* Execute [tools/tests/symphony_like.sh](https://github.com/aneoconsulting/ArmoniK.Samples/blob/main/tools/tests/symphony_like.sh) from the **root** repository:

```bash
tools/tests/symphony_like.sh
```

* Execute [tools/tests/symphony_endToendTests.sh](https://github.com/aneoconsulting/ArmoniK/blob/main/tools/tests/symphony_endToendTests.sh) from the **root**
repository:

```bash
tools/tests/symphony_endToendTests.sh
```

::alert{type="info"}
You can check the logs using Seq.
Expand Down
269 changes: 269 additions & 0 deletions .docs/content/1.installation/1.linux/3.deploy-script.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,269 @@
# Table of contents

- [Introduction](#introduction)
- [Prerequisites](#prerequisites)
- [Install Kubernetes](#install-kubernetes)
- [Script bash](#script-bash)

# Introduction

Hereafter, You have instructions to deploy ArmoniK on dev/test environment upon your local machine with a simple deploy
script [deploy-dev-test-infra.sh](../utils/scripts/deploy-dev-test-infra.sh)

The infrastructure is composed of:

* Addons for Kubernetes:
* Keda
* Metrics server
* Storage:
* ActiveMQ
* MongoDB
* Redis
* Monitoring:
* ArmoniK metrics exporter
* Grafana
* Node exporter
* Prometheus
* Seq server for structured log data of ArmoniK.
* ArmoniK:
* AdminGUI
* Control plane
* Compute plane: polling agent and workers
* Ingress

# Prerequisites

The following software or tool should be installed upon your local Linux machine:

* If You have Windows machine, You have to install [WSL 2](../docs/wsl2.md)
* [Docker](https://docs.docker.com/engine/install/)
* [GNU make](https://www.gnu.org/software/make/)
* [JQ](https://stedolan.github.io/jq/download/)
* [Kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/)
* [Python](https://docs.python-guide.org/starting/install3/linux/) version 3
* [hcl2](https://pypi.org/project/python-hcl2/)
* [jsonpath-ng](https://pypi.org/project/jsonpath-ng/)
* [Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli)

# Install Kubernetes

You must have a Kubernetes on your local machine to install ArmoniK. If not, You can follow instructions in one of the
following documentation [Install Kubernetes on dev/test local machine](../docs/k3s.md).

# Script bash all-in-one

From the **root** of the repository, position yourself in directory `infrastructure/utils/scripts/`:

```bash
cd infrastructure/utils/scripts
```

- To see the usage command:
```bash
./deploy-dev-test-infra.sh -h
```
- To deploy for the first time all infrastructure:
```bash
./deploy-dev-test-infra.sh -m deploy-all
```
- To redeploy all infrastructure:
```bash
./deploy-dev-test-infra.sh -m redeploy-all
```
- To destroy all infrastructure:
```bash
./deploy-dev-test-infra.sh -m destroy-all
```
- To clean and delete all generated files from all deployment:
```bash
./deploy-dev-test-infra.sh --clean all
```

If You want to deploy each resource independently:

- To deploy Keda:
```bash
./deploy-dev-test-infra.sh -m deploy-keda
```
- To deploy Metrics server:
```bash
./deploy-dev-test-infra.sh -m deploy-metrics-server
```
- To deploy storage:
```bash
./deploy-dev-test-infra.sh -m deploy-storage
```
- To deploy monitoring:
```bash
./deploy-dev-test-infra.sh -m deploy-monitoring
```
- To deploy ArmoniK:
```bash
./deploy-dev-test-infra.sh -m deploy-armonik
```

If You want to redeploy each resource independently:

- To redeploy Keda:
```bash
./deploy-dev-test-infra.sh -m redeploy-keda
```
- To redeploy Metrics server:
```bash
./deploy-dev-test-infra.sh -m redeploy-metrics-server
```
- To redeploy storage:
```bash
./deploy-dev-test-infra.sh -m redeploy-storage
```
- To redeploy monitoring:
```bash
./deploy-dev-test-infra.sh -m redeploy-monitoring
```
- To redeploy ArmoniK:
```bash
./deploy-dev-test-infra.sh -m redeploy-armonik
```

If You want to destroy each resource independently:

- To destroy Keda:
```bash
./deploy-dev-test-infra.sh -m destroy-keda
```
- To destroy Metrics server:
```bash
./deploy-dev-test-infra.sh -m destroy-metrics-server
```
- To destroy storage:
```bash
./deploy-dev-test-infra.sh -m destroy-storage
```
- To destroy monitoring:
```bash
./deploy-dev-test-infra.sh -m destroy-monitoring
```
- To destroy ArmoniK:
```bash
./deploy-dev-test-infra.sh -m destroy-armonik
```

If You want to clean and delete generated files from each deployment independently:

- To clean Keda:
```bash
./deploy-dev-test-infra.sh --clean keda
```
- To clean Metrics server:
```bash
./deploy-dev-test-infra.sh --clean metrics-server
```
- To clean storage:
```bash
./deploy-dev-test-infra.sh --clean storage
```
- To clean monitoring:
```bash
./deploy-dev-test-infra.sh --clean monitoring
```
- To clean ArmoniK:
```bash
./deploy-dev-test-infra.sh --clean armonik
```

If You want to deploy ArmoniK components on specific Kubernetes namespace, You execute the following command:

```bash
./deploy-dev-test-infra.sh -m deploy-all --namespace <NAMESPACE>
```

If the `host_path` for shared storage for ArmoniK workers is not `${HOME}/data`, You can deploy the infrastructure as
follows:

```bash
./deploy-dev-test-infra.sh -m deploy-all --host-path <HOST_PATH>
```

If You have a NFS filesystem as shared storage for ArmoniK workers, You deploy the infrastructure as follows:

```bash
./deploy-dev-test-infra.sh \
-m deploy-all \
--host-path <HOST_PATH> \
--nfs-server-ip <SERVER_NFS_IP> \
--shared-storage-type NFS
```

If You want to change container image and/or tag of control plane, polling agent, worker or metrics exporter:

```bash
./deploy-dev-test-infra.sh \
-m deploy-all \
--control-plane-image <CONTROL_PLANE_IMAGE> \
--polling-agent-image <POLLING_AGENT_IMAGE> \
--worker-image <WORKER_IMAGE> \
--metrics-exporter-image <METRCS_EXPORTER_IMAGE> \
--core-tag <CORE_TAG> \
--worker-tag <WORKER_TAG>
```

where `--core-tag <CORE_TAG>` allows to update the container tag for ArmoniK Core (control plane, polling agent and
metrics exporter).

If You change the max, min or idle replicas in the HPA of the compute plane:

```bash
./deploy-dev-test-infra.sh \
-m deploy-all \
--hpa-min-compute-plane-replicas <HPA_MIN_COMPUTE_PLANE_REPLICAS> \
--hpa-max-compute-plane-replicas <HPA_MAX_COMPUTE_PLANE_REPLICAS> \
--hpa-idle-compute-plane-replicas <HPA_IDLE_COMPUTE_PLANE_REPLICAS> \
--compute-plane-hpa-target-value <COMPUTE_PLANE_HPA_TARGET_VALUE>
```

where `<COMPUTE_PLANE_HPA_TARGET_VALUE>` is the target value for the number of messages in the queue.

**Warning:** `<HPA_IDLE_CONTOL_PLANE_REPLICAS>` must be less than `<HPA_MIN_CONTOL_PLANE_REPLICAS>` !

If You change the max, min or idle replicas in the HPA of the control plane:

```bash
./deploy-dev-test-infra.sh \
-m deploy-all \
--hpa-min-control-plane-replicas <HPA_MIN_CONTOL_PLANE_REPLICAS> \
--hpa-max-control-plane-replicas <HPA_MAX_CONTOL_PLANE_REPLICAS> \
--hpa-idle-control-plane-replicas <HPA_IDLE_CONTOL_PLANE_REPLICAS> \
--control-plane-hpa-target-value <CONTROL_PLANE_HPA_TARGET_VALUE>
```

where `<CONTROL_PLANE_HPA_TARGET_VALUE>` is the target value in percentage for the CPU and memory utilization.

**Warning:** `<HPA_IDLE_CONTOL_PLANE_REPLICAS>` must be less than `<HPA_MIN_CONTOL_PLANE_REPLICAS>` !

If You want to change logging level for ArmoniK components:

```bash
./deploy-dev-test-infra.sh -m deploy-all --logging-level <LOGGING_LEVEL_FOR_ARMONIK>
```

If You want to activate the TLS:

```bash
./deploy-dev-test-infra.sh -m deploy-all --with-tls
```

If You want to activate the mTLS:

```bash
./deploy-dev-test-infra.sh -m deploy-all --with-mtls
```

If You want to deactivate the ingress with NGINX:

```bash
./deploy-dev-test-infra.sh -m deploy-all --without-nginx
```

### [Return to the infrastructure main page](../README.md)

### [Return to the project main page](../../README.md)
10 changes: 1 addition & 9 deletions .docs/content/1.installation/2.windows/2.wsl2-with-genie.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,7 @@ You must have installed WSL2 and Ubuntu before continuing. If you haven't, pleas

## Install genie

To install `genie`:

```bash
./infrastructure/utils/scripts/installation/install-genie.sh
```

::alert{type="info"}
Please, read the script `install-genie.sh` before executing it.
::
To install `genie` please refer to https://arkane-systems.github.io/wsl-transdebian/

Finally, in order to avoid some issues, you need to mask some services.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ The JSON authentication configuration file must have the following format (note
}
```

To know more about permission strings, please refer to [this document](https://github.com/aneoconsulting/ArmoniK.Core/blob/main/Documentation/articles/authentication.md#user-permissions). Please note that the ```Username``` and ```RoleName``` **MUST** be uniquely defined. A badly defined json may fail silently.
Please note that the ```Username``` and ```RoleName``` **MUST** be uniquely defined. A badly defined json may fail silently.

The resulting configuration is stored in the MongoDB database. If the database is restarted when MongoDB isn't setup with a persistent volume or if the database is emptied it needs to be repopulated by relaunching the authentication-in-database job. In a local deployment, this can be achieved using the following shell command:

Expand Down
16 changes: 8 additions & 8 deletions .docs/content/2.guide/default-images.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@

The all-in-one terraform deployments support to omit the image names and tags in the tfvars.

If the image name is omitted, a default image name is used, specified directly in [`variables.tf`](../infrastructure/quick-deploy/localhost/all/variables.tf).
If the image name is omitted, a default image name is used, specified directly in [`variables.tf`](https://github.com/aneoconsulting/ArmoniK/blob/main/infrastructure/quick-deploy/localhost/all/variables.tf).
If the image tag is omitted, the default tag for this very image is used.
The default tags are defined in [`versions.tfvars.json`](../versions.tfvars.json).
The default tags are defined in [`versions.tfvars.json`](https://github.com/aneoconsulting/ArmoniK/blob/main/versions.tfvars.json).

For all ArmoniK images, the default tag correspond to the version (in [`armonik_versions`](../versions.tfvars.json#L2...L9) variable) of the ArmoniK component that generates the image (in [`armonik_images`](../versions.tfvars.json#L10...L36) variable).
For third-party images, the default tag of an image is defined in [`image_tags`](../versions.tfvars.json#L37...L58) variable.
For all ArmoniK images, the default tag correspond to the version (in [`armonik_versions`](https://github.com/aneoconsulting/ArmoniK/blob/main/versions.tfvars.json#L2...L9) variable) of the ArmoniK component that generates the image (in [`armonik_images`](https://github.com/aneoconsulting/ArmoniK/blob/main/versions.tfvars.json#L10...L36) variable).
For third-party images, the default tag of an image is defined in [`image_tags`](https://github.com/aneoconsulting/ArmoniK/blob/main/versions.tfvars.json#L37...L58) variable.

You are still be able to specify custom image names and/or image tags in your tfvars if you want, without needing to modify [`versions.tfvars.json`](../versions.tfvars.json).
If you try to use an image name that is not listed in [`versions.tfvars.json`](../versions.tfvars.json), you are required to also specify a tag for this image.
You are still be able to specify custom image names and/or image tags in your tfvars if you want, without needing to modify [`versions.tfvars.json`](https://github.com/aneoconsulting/ArmoniK/blob/main/versions.tfvars.json).
If you try to use an image name that is not listed in [`versions.tfvars.json`](https://github.com/aneoconsulting/ArmoniK/blob/main/versions.tfvars.json), you are required to also specify a tag for this image.

## Examples

Expand Down Expand Up @@ -44,7 +44,7 @@ All the examples are for the all-in-one local deployment for mongodb, with the f
}
```

Specifying the image and its version within the tfvars (ex: [`parameters.tfvars`](../infrastructure/quick-deploy/aws/all/parameters.tfvars))
Specifying the image and its version within the tfvars (ex: [`parameters.tfvars`](https://github.com/aneoconsulting/ArmoniK/blob/main/infrastructure/quick-deploy/aws/all/parameters.tfvars))

## Use the default image and tag

Expand Down Expand Up @@ -96,7 +96,7 @@ control_plane = {

### Special case of the workers

There is no default image for the workers, but you can still omit the tag if the image is listed in [`versions.tfvars.json`](../versions.tfvars.json):
There is no default image for the workers, but you can still omit the tag if the image is listed in [`versions.tfvars.json`](https://github.com/aneoconsulting/ArmoniK/blob/main/versions.tfvars.json):

```terraform
compute_plane = {
Expand Down
Loading

0 comments on commit d286dac

Please sign in to comment.