Skip to content

Quick Setup

AndrΓ© Lima edited this page Oct 26, 2024 · 3 revisions

Quick Setup

Table of Contents

Pre-requisites

In order to develop niployments, you will need to install a few tools. Below you will find instructions on how to install them.

Caution

Windows users

Windows support for developing niployments is non-existent, now and in the future. Some of the tools (Ansible, for instance) mentioned below do not support Windows nor WSL.

As such, if you're on Windows, it is heavily recommended that you dual-boot your computer with a Linux distribution. If this is not realistic, you can try using WSL.

MacOS users

MacOS support for developing niployments is untested, but it should work.

Vagrant

Vagrant is a tool that allows you to create and manage virtual machines.

Vagrant for Linux

If you're on Linux, you should check if vagrant is packaged for your distribution and, if it is, install the packaged version.

# Ubuntu/Debian
apt search vagrant
## There is no packaged version for Ubuntu/Debian :(

# Fedora
dnf search vagrant
## Fedora has a packaged version :)
sudo dnf install vagrant

If a packaged version is not available, you should follow the instructions in the Official Vagrant documentation.

Vagrant for Windows (WSL)

On WSL, you should follow the instructions for Linux.

Then, you need to follow the instructions available in the Vagrant documentation for usage on WSL.

Note

You can ignore the "Using Docker" section of the documentation.

Vagrant for MacOS

You should follow the instructions in the Official Vagrant documentation.

Vagrant Providers

Vagrant Providers are plugins that allow Vagrant to interact with different virtualization providers.

You can either use VirtualBox (available on all platforms) or libvirt (available on Linux only).

VirtualBox

To install VirtualBox, you should follow the instructions available in the VirtualBox documentation. On Fedora, you should install the VirtualBox akmod package, made available by RPM Fusion.

libvirt

To install libvirt, you should check the installation instructions relevant to your distribution.

Here are examples for some distributions:

After installing libvirt, you need to add the vagrant-libvirt plugin:

  • Ubuntu/Debian

    vagrant plugin install vagrant-libvirt
  • Fedora

    sudo dnf install vagrant-libvirt
  • Arch

    • You should follow the instructions available in the Arch Wiki.

Ansible

Ansible is a tool that allows you to automate tasks on your infrastructure.

Ansible for Linux

You can find specific instructions for installing Ansible on your distribution in the Ansible documentation.

If the installation instructions do not work, you can try installing Ansible with Python 3.

Ansible for Windows (WSL)

You should follow the instructions in Ansible for Linux.

Ansible for MacOS

To install Ansible on MacOS, you can run the following commands:

brew update
brew install ansible

If the installation instructions do not work, you can try installing Ansible with Python 3.

Ansible with Python 3

If any of the above installation methods do not work, you can try installing Ansible with Python 3.

python3 -m pip install --user ansible

Docker

Docker is a containerization platform that allows you to run applications in isolated environments.

Docker for Linux

In Linux, you have two options: Docker Engine and Docker Desktop. Docker Engine has been tested and is known to work with niployments. Docker Desktop provides stronger isolation and is not tested, but it might work. It is recommended to use Docker Engine.

Docker Engine

To install Docker Engine, you should follow the instructions available in the Docker Engine documentation.

Important

After finishing the installation, don't forget to follow the instructions in the Manage Docker as a non-root user section.

Docker Desktop

To install Docker Desktop, you should follow the instructions available in the Docker Desktop documentation.

Docker for Windows (WSL)

To install Docker on Windows, you should follow the instructions available in the Docker documentation.

Docker for MacOS

To install Docker on MacOS, you should follow the instructions available in the Docker documentation.

Kubectl

Kubectl is a tool that allows you to interact with Kubernetes clusters.

Kubectl for Linux

To install kubectl on Linux, you should follow the instructions available in the Kubectl documentation.

Kubectl for Windows (WSL) and MacOS

kubectl is automatically installed with Docker Desktop for Windows and MacOS. As such, you don't need to install it separately.

Helm

Helm is a "package manager" for Kubernetes. It allows you to install and manage applications on your Kubernetes cluster.

Helm for Linux

To install Helm on Linux, you should follow the instructions available in the Helm documentation. If you're on Fedora or Debian/Ubuntu, you should follow these instructions instead.

Helm for Windows (WSL)

To install Helm on WSL, follow the instructions in Helm for Linux, according to your WSL distribution.

Helm for MacOS

To install Helm on MacOS, you should execute the following commands:

brew update
brew install helm

Kind

Kind is a tool that allows you to run and develop with Kubernetes clusters locally.

Kind for Linux

To install Kind on Linux, you should follow the instructions available in the Kind documentation.

Kind for Windows (WSL)

Kind on WSL is not very well supported. However, you can try it either way.

To install Kind on WSL, you should follow the instructions in Kind for Linux. After the installation, you should follow the instructions in the Settings for Docker Desktop section.

Kind for MacOS

To install Kind on MacOS, you should execute the following commands:

brew update
brew install kind

After the installation, you should follow the instructions in the Settings for Docker Desktop section.

Cilium

Cilium is a networking tool that allows you to create, manage and monitor network policies.

Cilium for Linux and MacOS

To install Cilium on Linux and MacOS, you should follow the instructions available in the Cilium documentation.

Cilium for Windows (WSL)

To install Cilium on WSL, you should follow the instructions in Cilium for Linux and MacOS.

Node.js

Node.js is a JavaScript runtime that allows you to run JavaScript code on your computer.

Node.js for Linux and Windows (WSL)

To install Node.js on Linux and on WSL, you should execute the following commands:

# installs nvm (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
# download and install Node.js (you may need to restart the terminal)
nvm install 20
# enable PNPM
corepack enable

Node.js for MacOS

To install Node.js on MacOS, you should execute the following commands:

brew update
brew install node@20