Air-gapped install#

Goal#

This tutorial will guide you through building a docker container with all dependencies inside, for installing Hashistack in an air-gapped environment.

Prerequisites#

  • Follow the Docker Installer guide.

  • Docker on your deploy system

  • Debian 11 fresh install and up to date

  • DNS delegation

  • Wildcard certificate for subdomain

  • SSH key

Steps#

  • Build the container with dependencies inside

> make container-offline-installer
  • Start container from hashistack directory:

> docker run --rm -it   --mount type=bind,source=${PWD}/inventories,target=/opt/hashistack/inventories       --mount type=bind,source=${PWD}/.env.secrets,target=/opt/hashistack/.env.secrets        -h hs-offline hs-offline:latest bash
  • Enable direnv:

> direnv allow
  • Create instance directory

> make init_instance name=XXXX parent_domain=%sub.domain.tld% archi=mono
> cd inventories/hs_XXXX
  • Update ssh file and test

> vim ssh.cfg
> ansible all -m ping -v
  • Upload all dependencies

> ansible-playbook ../../playbooks/00_offline_prepare.yml
  • Deploy

> make stage_1 stage_2 stage_3 stage_4 ARGS="--skip-tags=online"