Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Remove multi-stage documentation #1272

Merged
merged 2 commits into from
Mar 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions .docs/content/0.armonik/0.index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,12 @@ ArmoniK should be used when the following criteria are met:

## Versions

The current version of ArmoniK uses the tags listed in [armonik-versions.txt](https://github.com/aneoconsulting/ArmoniK/blob/main/armonik-versions.txt) where:

- `core` is the ArmoniK Core tag used for container images of Control plane, Polling agent and Metrics exporter.
- `worker` is the tag used for the container image of the workers
- `admin-gui` is the tag used for the container images of ArmoniK AdminGUI (admin-api and admin-app)
- `samples` is the tag for ArmoniK Samples
The current version of ArmoniK uses the tags listed in [versions.tfvars.json](https://github.com/aneoconsulting/ArmoniK/blob/main/versions.tfvars.json) where:

- `armonik` is the tag of the main repository of [ArmoniK](https://github.com/aneoconsulting/ArmoniK)
- `infra` is the tag of [ArmoniK.Infra](https://github.com/aneoconsulting/ArmoniK.Infra) repository which host the infrastructure modules
- `core` is the tag of [ArmoniK.Core](https://github.com/aneoconsulting/ArmoniK.Core) repository used for container images of Control plane, Polling agent and Metrics exporter
- `api` is the tag of [ArmoniK.Api](https://github.com/aneoconsulting/ArmoniK.Api) repository (informative only)
- `gui` is the tag of [ArmoniK.Admin.GUI](https://github.com/aneoconsulting/ArmoniK.Admin.GUI) repository used for container images of ArmoniK AdminGUI
- `extcsharp` is the tag of [ArmoniK.Extensions.Csharp](https://github.com/aneoconsulting/ArmoniK.Extensions.Csharp) repository used for container images of the DLL worker
- `samples` is the tag of [ArmoniK.Samples](https://github.com/aneoconsulting/ArmoniK.Samples) repository
174 changes: 21 additions & 153 deletions .docs/content/1.installation/1.linux/1.deployment.md
Original file line number Diff line number Diff line change
@@ -1,179 +1,47 @@
# Deployment
# All in one deployment

Now that prerequisites are installed, you can install ArmoniK. In order to do that, we provide a script to deploy all the infrastructure in one command.
If you want to deploy ArmoniK with all the cloud services, this section is for you.

::alert{type="info"}
This installation will not enable authentification nor authorization. You can find more information about this in [the authentication and authorization](../../2.guide/1.how-to/how-to-configure-authentication.md) section.
::

## Setup environment variables

Before running the script, you must set environment variables.

From the root of the repository:

```bash [shell]
cd infrastructure/quick-deploy/localhost
```

Then, you can set environment variables in the file `envvars.sh`:

```bash [shell]
source envvars.sh
```

::alert{type="info"}
Please, read the file `envvars.sh` before running it.
This deployment is for development purposes.
::

## Deploy

Create data directory:
To launch the deployment, go to the [`infrastructure/quick-deploy/localhost`](https://github.com/aneoconsulting/ArmoniK/tree/main/infrastructure/quick-deploy/localhost) directory:

```bash [shell]
mkdir -p "${ARMONIK_SHARED_HOST_PATH}"
```
If you want to deploy on AWS, go to the dedicated section on [`AWS`](https://github.com/aneoconsulting/ArmoniK/tree/main/infrastructure/quick-deploy/aws)

::alert{type="danger"}
If you do not create the data directory, the deployment will fail when the compute plane will try to mount the shared directory.
::
Execute the following command:

::alert{type="info"}
You can find why your pod doesn't start by using `kubectl describe pod <pod_name> -n armonik`.
::

Finally, you can run the script to deploy ArmoniK on your local machine:

```bash [shell]
make deploy-all
```bash
make
```

Now, you may have a coffee and wait for the end of the deployment. :coffee:

You will easily recognize the end of the deployment when you see the following message:

```hsl
armonik = {
"admin_api_url" = "http://<your_ip>:5000/api"
"admin_app_url" = "http://<your_ip>:5000/admin"
"admin_old_url" = "http://<your_ip>:5000/old-admin"
"control_plane_url" = "http://<your_ip>:5001"
"grafana_url" = "http://<your_ip>:5000/grafana/"
"seq_web_url" = "http://<your_ip>:5000/seq/"
}
or

```bash
make deploy
```

You can also deploy each resource independently:

After setting the environment variables, the command creates a Kubernetes namespace:
## Configuration

```bash [shell]
make create-namespace
```

::alert{type="danger"}
If you do not create a Kubernetes namespace, the deployment will fail.
::

Now, you can deploy each resource independently :

```bash [shell]
make deploy-keda
```

```bash [shell]
make deploy-metrics-server
```

```bash [shell]
make deploy-storage
```

```bash [shell]
make deploy-monitoring
```

```bash [shell]
make deploy-armonik
```
All parameters are contained in [`parameters.tfvars`](https://github.com/aneoconsulting/ArmoniK/blob/main/infrastructure/quick-deploy/localhost/parameters.tfvars)

::alert{type="info"}
The order matters because top level resources depend on the bottom level resources.
By default, all the cloud services are set to launch. To see what kind of parameters are available, read [`variables.tf`](https://github.com/aneoconsulting/ArmoniK/blob/main/infrastructure/quick-deploy/localhost/variables.tf)
::

## Destroy
You can specify a custom parameter file. When executing the `make` command, you may use the `PARAMETERS_FILE` option to set the path to your file.

To destroy all the infrastructure, you can run the following command:

```bash [shell]
make destroy-all
```

::alert{type="warning"}
To reinstall, you must restart from [setup environment variables](#setup-environment-variables).
::

You can also destroy each resource independently:

```bash [shell]
make destroy-armonik
```

```bash [shell]
make destroy-monitoring
```

```bash [shell]
make destroy-storage
```

```bash [shell]
make destroy-metrics-server
```

```bash [shell]
make destroy-keda
```

::alert{type="info"}
The order matters. You must destroy the resources in the reverse order of the deployment.
::

## Clean

To clean all the generated files from the deployment, you can run the following command:

```bash [shell]
make clean-all
```

::alert{type="warning"}
To reinstall, you must restart from [setup environment variables](#setup-environment-variables).
::

You can also clean each resource independently:

```bash [shell]
make clean-armonik
```bash
make PARAMETERS_FILE=my-custom-parameters.tfvars
```

```bash [shell]
make clean-monitoring
```

```bash [shell]
make clean-storage
```
## Destroy

```bash [shell]
make clean-metrics-server
```
To destroy the deployment, type:

```bash [shell]
make clean-keda
```bash
make destroy
```

::alert{type="info"}
The order matters. You must clean the resources in the reverse order of the deployment.
::
47 changes: 0 additions & 47 deletions .docs/content/1.installation/1.linux/2.all-in-one-deployment.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,10 @@ 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.Samples/blob/main/tools/tests/symphony_like.sh) from the **root** repository:
* Execute [tools/tests/unified_api.sh](https://github.com/aneoconsulting/ArmoniK.Samples/blob/main/tools/tests/unified_api.sh) from the **root** repository:

```bash [shell]
tools/tests/symphony_like.sh
tools/tests/unified_api.sh
```

::alert{type="info"}
Expand Down
Loading
Loading