All Projects → yaazkal → ansible-role-bastille

yaazkal / ansible-role-bastille

Licence: BSD-3-Clause license
An ansible role that helps configure a server as a BastilleBSD host

Programming Languages

Jinja
831 projects

Projects that are alternatives of or similar to ansible-role-bastille

Mail-Toaster-6
Mail Toaster 6
Stars: ✭ 40 (+166.67%)
Mutual labels:  freebsd, jails
RHEL7-CIS
Ansible RHEL 7 - CIS Benchmark Hardening Script
Stars: ✭ 28 (+86.67%)
Mutual labels:  ansible-role, ansible-galaxy
ansible-role-zerotier
Ansible role to install Zerotier-One and join a Zerotier network
Stars: ✭ 64 (+326.67%)
Mutual labels:  ansible-role, ansible-galaxy
libjail-rs
Rust implementation of a FreeBSD jail library
Stars: ✭ 32 (+113.33%)
Mutual labels:  freebsd, jails
ansible role proxmox
Ansible role to provision containers in Proxmox VE virtualization
Stars: ✭ 42 (+180%)
Mutual labels:  ansible-role, ansible-galaxy
ansible-role-aptly
Install aptly debian respository manager and enable the REST API
Stars: ✭ 37 (+146.67%)
Mutual labels:  ansible-role, ansible-galaxy
ansible-kafka
Ansible role for installing and configuring Apache Kafka on RedHat and Debian platforms.
Stars: ✭ 56 (+273.33%)
Mutual labels:  ansible-role, ansible-galaxy
ansible-role-do-agent
Cross-distro installation of the DigitalOcean monitoring agent
Stars: ✭ 22 (+46.67%)
Mutual labels:  ansible-role, ansible-galaxy
cis ubuntu 2004
💻 Ansible Role for applying CIS Benchmark for Ubuntu Linux 20.04 LTS (hardening).
Stars: ✭ 30 (+100%)
Mutual labels:  ansible-role, ansible-galaxy
ansible-teamcity-server
Ansible role for automatic setup of TeamCity Server
Stars: ✭ 19 (+26.67%)
Mutual labels:  ansible-galaxy
GoRAT
GoRAT (Go Remote Access Tool) is an extremely powerful reverse shell, file server, and control plane using HTTPS reverse tunnels as a transport mechanism.
Stars: ✭ 34 (+126.67%)
Mutual labels:  freebsd
ansible-role-dotnet-core
Ansible Role - .NET Core for Ubuntu/RHEL/CentOS https://galaxy.ansible.com/ocha/dotnet-core
Stars: ✭ 24 (+60%)
Mutual labels:  ansible-role
ansible-role-redmine
Ansible Role To Install Redmine
Stars: ✭ 17 (+13.33%)
Mutual labels:  ansible-role
ZRouter
No description or website provided.
Stars: ✭ 16 (+6.67%)
Mutual labels:  freebsd
ansible-role-virtualenv
Ansible role to create and update a Python virtualenv.
Stars: ✭ 22 (+46.67%)
Mutual labels:  ansible-role
capsicum-rs
Rust bindings for the FreeBSD capsicum framework
Stars: ✭ 15 (+0%)
Mutual labels:  freebsd
linux-system-roles.github.io
Linux System Roles website
Stars: ✭ 18 (+20%)
Mutual labels:  ansible-galaxy
ansible-galaxy-pyenv
Ansible Galaxy role for pyenv
Stars: ✭ 56 (+273.33%)
Mutual labels:  ansible-role
wimpy.deploy
Ansible role to automate immutable infrastructure scheduling one docker container on one EC2 instance
Stars: ✭ 21 (+40%)
Mutual labels:  ansible-role
gsmartcontrol
GSmartControl - Hard disk drive and SSD health inspection tool
Stars: ✭ 183 (+1120%)
Mutual labels:  freebsd

ansible-role-bastille

An ansible role that helps configure a server as a BastilleBSD host for running containers (jails based) in FreeBSD.

This is a work in progress ansible role. At the moment assuming local interface for networking. Use it at your own risk.

Install this role

Simply run ansible-galaxy install yaazkal.bastille on your machine. Then integrate the role on your own playbook (see the example below).

Requirements

  • FreeBSD 11.4, 12.2 or 13.0
  • Python installed (3.7 recommended).
  • ca_root_nss is also recommended specially on FreeBSD 11.4 in order to not fail when installing custom Bastille version from github tag.

Role variables

This are the role variables and its defaults, set them at your host_vars or host definition as you want it (see example).

Variable Default value Description
bastille_version If set, installs the given version (tag) from bastille repo instead of the pkg version available.
bastille_prefix /usr/local/bastille Where jails, releases, templates, backpus etc lives.
bastille_zfs_enable Set to YES to enable some ZFS magic (recommended).
bastille_zfs_zpool The ZFS pool where Bastille will host its files and jails.
bastille_timezone Etc/UTC
bastille_ext_if vtnet0 External network interface.
bastille_releases 13.0-RELEASE List of releases to be available for jails creation.
bastille_templates List of git repos where templates are hosted. Those templates will be available for jails.
bastille_jails List of jails to be created. See example for options.

Dependencies

None.

Example Playbook

A playbook can look like this:

# File name: bastille_provision.yml
- name: "Initial configuration of the system"
  hosts: bastille
  roles:
    - yaazkal.bastille

An inventory file can look like this (this example overrides all default variables):

# File name: hosts.yml
bastille:
  hosts:
    example.com:
      ansible_user: root
      bastille_version: "0.9.20210714"
      bastille_timezone: "America/Bogota"
      bastille_zfs_enable: "YES"
      bastille_zfs_zpool: "zroot"
      bastille_ext_if: "vtnet0"
      bastille_releases:
        - 13.0-RELEASE
        - 12.2-RELEASE
      bastille_templates:
        - https://gitlab.com/bastillebsd-templates/nginx
        - https://github.com/yaazkal/bastille-postgres
      bastille_jails:
        - name: defaultjail
          release: 13.0-RELEASE
          ip: 10.17.89.1
          templates:
            - "bastillebsd-templates/nginx"
        - name: thickjail
          release: 13.0-RELEASE
          ip: 10.17.89.2
          options: -T

Then you can run:

ansible-playbook -i hosts.yml bastille_provision.yml

License

BSD 3 clause. See LICENSE file.

Author Information

@yaazkal - Juan David Hurtado G.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].