Installation Overview

ArmoniK provides multiple deployment options to suit different environments and use cases. Choose the installation method that best fits your needs:

When to Use Each Installation Method

Local Deployment

Best for: Development, testing, and evaluation on your personal machine or WSL2 on Windows.

  • Linux/WSL2: Install ArmoniK directly on Linux systems or Windows Subsystem for Linux (WSL2 with systemd)

  • Use case: Ideal for developers who want a quick setup for development and testing

  • Note: This deployment method is designed for development purposes, not production environments

Kubernetes Deployment

Best for: Running ArmoniK in a containerized orchestrated environment on your local machine.

  • Use case: Suitable for testing Kubernetes configurations and developing against a containerized cluster

  • Includes: All necessary Kubernetes manifests and deployment tools

  • Benefit: Familiar development workflow using Kubernetes locally

AWS Deployment

Best for: Production-grade cloud deployment on Amazon Web Services.

  • Use case: Enterprise deployments requiring AWS infrastructure, scalability, and managed services

  • Includes: Automated setup of AWS resources (EKS, VPC, storage, monitoring, etc.)

  • Benefit: Leverage AWS services for high availability and auto-scaling

GCP Deployment

Best for: Production-grade cloud deployment on Google Cloud Platform.

  • Use case: Enterprise deployments requiring GCP infrastructure, scalability, and managed services

  • Includes: Automated setup of GCP resources (GKE, networking, storage, etc.)

  • Benefit: Integrate with Google Cloud ecosystem and services


Prerequisites (Detailed)

Before installing ArmoniK using any method, ensure you have the following tools installed on your machine:

Make

ArmoniK uses Make to run commands. See the official documentation for installation instructions.

Note

Make is a build automation tool that automatically builds executable programs and libraries from source code by reading files called Makefiles, which specify how to derive the target program. Learn more.

JQ

ArmoniK uses JQ to parse JSON. See the official documentation for installation instructions.

Note

jq is a lightweight and flexible command-line JSON processor used for pretty-printing JSON data, extracting specific values, and reformatting JSON documents. Learn more.

Python3

ArmoniK uses Python3 to run scripts. See the official documentation for installation instructions.

Note

Python is an interpreted, high-level general-purpose programming language that emphasizes code readability through significant whitespace and clear, logical syntax suitable for projects of all scales. Learn more.

HCL2

ArmoniK uses HCL2 to parse Terraform files. See the official documentation for installation instructions.

Note

HCL is a configuration language created by HashiCorp and used by several of its products, including Terraform, Nomad, and Consul. Learn more.

jsonpath-ng

ArmoniK uses jsonpath-ng to parse JSON. See the official documentation for installation instructions.

Note

jsonpath-ng is a Python implementation of JSONPath for querying JSON structures. Learn more.

Terraform

ArmoniK uses Terraform to deploy infrastructure. See the official documentation for installation instructions.

Note

Terraform is an open-source infrastructure-as-code tool created by HashiCorp that uses declarative configuration language (HCL or JSON) to define and manage data center infrastructure across various service providers and custom solutions. Learn more.

Docker

ArmoniK uses Docker to run containers. See the official documentation for installation instructions.

Note

Docker is a containerization platform that uses OS-level virtualization to package software with its dependencies into isolated containers. Containers are lightweight compared to virtual machines since they share the operating system kernel while remaining isolated from one another. Learn more.

Helm

ArmoniK uses Helm to deploy applications. See the official documentation for installation instructions.

Note

Helm is a package manager for Kubernetes that simplifies packaging, configuring, and deploying applications and services onto Kubernetes clusters. Learn more.

Kubectl

ArmoniK uses Kubectl to manage Kubernetes. See the official documentation for installation instructions.

Note

Kubectl is a command-line tool for controlling and managing Kubernetes clusters. Learn more.