All Projects → opoplawski → Ansible Pfsense

opoplawski / Ansible Pfsense

Licence: gpl-3.0
Ansible modules for managing pfSense firewalls

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Ansible Pfsense

Network
An ansible role to configure networking
Stars: ✭ 134 (-11.26%)
Mutual labels:  ansible
Ansibleplaybooks
A collection of Ansible Playbooks that configure Kali to use Fish & install a number of tools
Stars: ✭ 143 (-5.3%)
Mutual labels:  ansible
Ansible Role Repo Epel
Ansible Role - EPEL Repository for RHEL/CentOS
Stars: ✭ 149 (-1.32%)
Mutual labels:  ansible
Ansible Role Logstash
Ansible Role - Logstash
Stars: ✭ 136 (-9.93%)
Mutual labels:  ansible
Ansible Role Nfs
Ansible Role - NFS
Stars: ✭ 141 (-6.62%)
Mutual labels:  ansible
Oracle Java
Ansible role to install Oracle Java 8/11 on Debian and RedHat based distributions.
Stars: ✭ 144 (-4.64%)
Mutual labels:  ansible
Ypsilon
Automated Use Case Testing
Stars: ✭ 135 (-10.6%)
Mutual labels:  ansible
Nginx
A fairly flexible and feature full Ansible role for the NGINX web server.
Stars: ✭ 151 (+0%)
Mutual labels:  ansible
Forklift
Helpful deployment scripts for Foreman and Katello
Stars: ✭ 141 (-6.62%)
Mutual labels:  ansible
Ansible Aur
Ansible module to manage packages from the AUR
Stars: ✭ 149 (-1.32%)
Mutual labels:  ansible
Td4a
Template designer for automation
Stars: ✭ 139 (-7.95%)
Mutual labels:  ansible
Ansible stdout compact logger
Ansible Stdout Compact Logger
Stars: ✭ 141 (-6.62%)
Mutual labels:  ansible
Gitlab Ci Stack
Full CI pipeline project based on Gitlab & Gitlab CI running Docker, completely automated setup by Vagrant & Ansible, providing Let´s Encrypt certificates for private Servers, multiple Gitlab-Runners and the Gitlab Container Registry, incl. GitLab Pages
Stars: ✭ 146 (-3.31%)
Mutual labels:  ansible
Tensor
Tensor - Comprehensive web-based automation framework and Centralized infrastructure management platform
Stars: ✭ 136 (-9.93%)
Mutual labels:  ansible
Ansible Role Composer
Ansible Role - Composer PHP Dependency Manager
Stars: ✭ 149 (-1.32%)
Mutual labels:  ansible
Cygwin Portable Installer
Windows batch file to perform unattended installations of a portable Cygwin environment.
Stars: ✭ 135 (-10.6%)
Mutual labels:  ansible
Ansible Gitlab Runner
Ansible role to install gitlab-runner
Stars: ✭ 143 (-5.3%)
Mutual labels:  ansible
Ops Cli
Ops - cli wrapper for Terraform, Ansible, Helmfile and SSH for cloud automation
Stars: ✭ 152 (+0.66%)
Mutual labels:  ansible
Jetson
Helmut Hoffer von Ankershoffen experimenting with arm64 based NVIDIA Jetson (Nano and AGX Xavier) edge devices running Kubernetes (K8s) for machine learning (ML) including Jupyter Notebooks, TensorFlow Training and TensorFlow Serving using CUDA for smart IoT.
Stars: ✭ 151 (+0%)
Mutual labels:  ansible
Php Ansible
php oop wrapper for ansible provisioning tool
Stars: ✭ 147 (-2.65%)
Mutual labels:  ansible

Ansible-pfsense / pfsensible.core

This is a set of modules to allow you to configure pfSense firewalls with ansible.

Installation using ansible galaxy

Ansible Galaxy (as of version 2.9) now has an option for collections. A collection is a distribution format for delivering all type of Ansible content (not just roles as it was before). We have renamed the collection 'pfsensible.core' for galaxy distribution. To install:

ansible-galaxy collection install pfsensible.core

Optionally, you can specify the path of the collection installation with the -p option.

ansible-galaxy collection install pfsensible.core -p ./collections

Additionally, you can set the collections_paths option in your ansible.cfg file to automatically designate install locations.

# ansible.cfg
[defaults]
collections_paths=collections

NOTE: Changes with pfsensible.core 0.4.0

With pfsensible.core 0.4.0 we have stopped stripping the pfsense_ prefix from the module names. This caused conflicts with other modules (like the ansible core 'setup' module). You can use the 'collections' keyword in your playbooks and roles to simplify the module names instead.

Installing using ansible pre-2.9 (not galaxy)

Just checkout the repository and run your playbooks from the ansible-pfsense directory.

Configuration

Current ansible (2.9) python discovery should detect the installed python. If not, you can set in your playbook or hosts vars:

pfSense >= 2.4.5:

ansible_python_interpreter: /usr/local/bin/python3.7

pfSense < 2.4.5:

ansible_python_interpreter: /usr/local/bin/python2.7

Modules must run as root in order to make changes to the system. By default pfSense does not have sudo capability so become will not work. You can install it with:

  - name: "Install packages"
    package:
      name:
        - pfSense-pkg-sudo
      state: present

and then configure sudo so that your user has permission to use sudo.

Modules

The following modules are currently available:

Bulk modules

These modules allow you to make important changes at once and, using the purge parameters, to keep the targets configuration strictly synchronized with your playbooks:

Third party modules

These modules allow you to manage installed packages:

Operation

Modules in the collection work by editing /cf/conf/config.xml using xml.etree.ElementTree, then calling the appropriate php update function via the pfsense php developer shell.

Some formatting is lost, and CDATA items are converted to normal entries, but so far no problems with that have been noted.

License

GPLv3.0 or later

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].