{"id":15099014,"url":"https://github.com/bodgit/puppet-pf","last_synced_at":"2026-01-07T01:08:08.499Z","repository":{"id":57664731,"uuid":"137996147","full_name":"bodgit/puppet-pf","owner":"bodgit","description":"Puppet Module for managing PF","archived":false,"fork":false,"pushed_at":"2018-06-21T17:35:37.000Z","size":72,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-07T00:03:33.438Z","etag":null,"topics":["openbsd","pf","puppet"],"latest_commit_sha":null,"homepage":"https://forge.puppetlabs.com/bodgit/pf","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bodgit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-06-20T07:30:24.000Z","updated_at":"2018-06-21T17:35:38.000Z","dependencies_parsed_at":"2022-09-14T21:41:59.295Z","dependency_job_id":null,"html_url":"https://github.com/bodgit/puppet-pf","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodgit%2Fpuppet-pf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodgit%2Fpuppet-pf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodgit%2Fpuppet-pf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodgit%2Fpuppet-pf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bodgit","download_url":"https://codeload.github.com/bodgit/puppet-pf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245858878,"owners_count":20684057,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openbsd","pf","puppet"],"created_at":"2024-09-25T17:02:12.625Z","updated_at":"2026-01-07T01:08:08.444Z","avatar_url":"https://github.com/bodgit.png","language":"Ruby","readme":"# pf\n\nTested with Travis CI\n\n[![Build Status](https://travis-ci.com/bodgit/puppet-pf.svg?branch=master)](https://travis-ci.com/bodgit/puppet-pf)\n[![Coverage Status](https://coveralls.io/repos/bodgit/puppet-pf/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/bodgit/puppet-pf?branch=master)\n[![Puppet Forge](http://img.shields.io/puppetforge/v/bodgit/pf.svg)](https://forge.puppetlabs.com/bodgit/pf)\n\n#### Table of Contents\n\n1. [Description](#description)\n2. [Setup - The basics of getting started with pf](#setup)\n    * [Beginning with pf](#beginning-with-pf)\n3. [Usage - Configuration options and additional functionality](#usage)\n4. [Reference - An under-the-hood peek at what the module is doing and how](#reference)\n5. [Limitations - OS compatibility, etc.](#limitations)\n6. [Development - Guide for contributing to the module](#development)\n\n## Description\n\nThis module manages the packet filter (pf) firewall primarily found on\nOpenBSD. It manages the `/etc/pf.conf` configuration file containing the\nfirewall rules. It can also manage the user shell (authpf) used for\nimplementing an authenticating gateway.\n\nOpenBSD is supported using Puppet 4.5.0 or later.\n\n## Setup\n\n### Beginning with pf\n\nTo use the default example ruleset:\n\n```puppet\nclass { '::pf':\n  source =\u003e '/etc/examples/pf.conf',\n}\n```\n\n## Usage\n\nTo set up the authenticating gateway:\n\n```puppet\ninclude ::bsdauth\ninclude ::bsdauth::authpf\n\nclass { '::pf':\n  content =\u003e @(EOS/L),\n    int_if=\"em0\"\n    ...\n    ťable \u003cauthpf_users\u003e persist\n    ...\n    anchor \"authpf/*\" in on $int_if\n    ...\n    | EOS\n}\n\nclass { '::pf::authpf':\n  rules =\u003e @(EOS/L),\n    int_if=\"em0\"\n    ...\n    pass in on $int_if inet from \u003cauthpf_users\u003e to ! $int_if:network \\\n      keep state\n    ...\n    | EOS\n}\n\ngroup { 'alice':\n  ensure =\u003e present,\n}\n\nuser { 'alice':\n  ensure     =\u003e present,\n  gid        =\u003e 'alice',\n  loginclass =\u003e 'authpf',\n  managehome =\u003e true,\n}\n```\n\n## Reference\n\nThe reference documentation is generated with\n[puppet-strings](https://github.com/puppetlabs/puppet-strings) and the latest\nversion of the documentation is hosted at\n[https://bodgit.github.io/puppet-pf/](https://bodgit.github.io/puppet-pf/).\n\n## Limitations\n\nThis module has been built on and tested against Puppet 4.5.0 and higher.\n\nThe module has been tested on:\n\n* OpenBSD 6.2/6.3\n\n## Development\n\nThe module has both [rspec-puppet](http://rspec-puppet.com) and\n[beaker-rspec](https://github.com/puppetlabs/beaker-rspec) tests. Run them\nwith:\n\n```\n$ bundle exec rake test\n$ PUPPET_INSTALL_TYPE=agent PUPPET_INSTALL_VERSION=x.y.z bundle exec rake beaker:\u003cnodeset\u003e\n```\n\nPlease log issues or pull requests at\n[github](https://github.com/bodgit/puppet-pf).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbodgit%2Fpuppet-pf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbodgit%2Fpuppet-pf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbodgit%2Fpuppet-pf/lists"}