-
Notifications
You must be signed in to change notification settings - Fork 0
Quick Setup
- Quick Setup
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 is a tool that allows you to create and manage virtual machines.
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.
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.
You should follow the instructions in the Official Vagrant documentation.
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).
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.
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
- You should follow the instructions available in the Vagrant Libvirt Documentation.
vagrant plugin install vagrant-libvirt
-
Fedora
sudo dnf install vagrant-libvirt
-
Arch
- You should follow the instructions available in the Arch Wiki.
Ansible is a tool that allows you to automate tasks on your infrastructure.
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.
You should follow the instructions in Ansible for Linux.
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.
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 is a containerization platform that allows you to run applications in isolated environments.
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.
To install Docker on Windows, you should follow the instructions available in the Docker documentation.
To install Docker on MacOS, you should follow the instructions available in the Docker documentation.
Kubectl is a tool that allows you to interact with Kubernetes clusters.
To install kubectl
on Linux, you should follow the instructions available in the Kubectl documentation.
kubectl
is automatically installed with Docker Desktop for Windows and MacOS. As such, you don't need to install it separately.
Helm is a "package manager" for Kubernetes. It allows you to install and manage applications on your Kubernetes cluster.
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.
To install Helm on WSL, follow the instructions in Helm for Linux, according to your WSL distribution.
To install Helm on MacOS, you should execute the following commands:
brew update
brew install helm
Kind is a tool that allows you to run and develop with Kubernetes clusters locally.
To install Kind on Linux, you should follow the instructions available in the Kind documentation.
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.
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 is a networking tool that allows you to create, manage and monitor network policies.
To install Cilium on Linux and MacOS, you should follow the instructions available in the Cilium documentation.
To install Cilium on WSL, you should follow the instructions in Cilium for Linux and MacOS.
Node.js is a JavaScript runtime that allows you to run JavaScript code on your computer.
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
To install Node.js on MacOS, you should execute the following commands:
brew update
brew install node@20
πππππππππππ (βΈβΈβΈ>οΉ<βΈβΈβΈ)