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