EvoBSD is a set of Ansible playbooks and roles providing a customisation of the OpenBSD operating system used by Evolix.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Tristan PILAT 864f85a49a Change default Python version to 3.x 2 years ago
roles Revert "Add user with legacy hash ($2a…) instead of current hash ($2b…) for OpenBSD versions older than 5.7" 2 years ago
tasks Fix commit_etc_git.yml task author 3 years ago
vars Add empty vars_files for them not to generate errors 2 years ago
.drone.yml fix forgotten quote in .drone.yml 3 years ago
CHANGELOG Update CHANGELOG and bump to version 6.8.0 2 years ago
CONTRIBUTING.md Apply fix in last commit to other markdown files 3 years ago
LICENSE Update copyright to 2020 3 years ago
README.md Update CHANGELOG and bump to version 6.7.2 2 years ago
evolixisation.yml Add a pf tag that we skip for subsequent use 2 years ago
hosts Change default Python version to 3.x 2 years ago
prerequisite.yml Change default Python version to 3.x 2 years ago


EvoBSD 6.7.2

EvoBSD is an ansible project used for customising OpenBSD hosts used by Evolix.

How to install an OpenBSD machine

Note : The system must be installed with a root account only. Put your public key in the remote root's autorized_keys (/root/.ssh/authorized_keys)

  1. Install ansible's prerequisites
ansible-playbook prerequisite.yml -CDi hosts -l HOSTNAME
  1. Run it

First use (become_method: su, and var_files uncommented) :

ansible-playbook evolixisation.yml --ask-vault-pass -CDki hosts -l HOSTNAME -u root

Subsequent use (become_method: sudo) :

ansible-playbook evolixisation.yml --ask-vault-pass -CDKi hosts -l HOSTNAME


Changes can be tested by using Packer and vmm(4) :

  • This process depends on the Go programming language.


Needing a Golang eco system and some basics

pkg_add go-- packer-- git--
git clone https://github.com/double-p/packer-builder-openbsd-vmm.git


Set GOPATH (default: ~/go), if the 1.4GB dependencies wont fit.

make install
  • You need your unprivileged user to be able to run vmctl(8) through doas(1)
echo "permit nopass myunprivilegeduser as root cmd /usr/sbin/vmctl" >> /etc/doas.conf

See packer-builder-openbsd-vmm/examples/README.examples for further instructions

  • Enable NAT on your host machine
pass out on em0 inet from tap0:network to any nat-to (em0)

assuming em0 is your egress interface


See the contribution guidelines


MIT License