{"id":24702971,"url":"https://github.com/richlamdev/ansible-server-freebsd","last_synced_at":"2026-04-11T04:32:37.157Z","repository":{"id":140093508,"uuid":"579565529","full_name":"richlamdev/ansible-server-freebsd","owner":"richlamdev","description":"FreeBSD Server (or desktop) Ansible Playbook basic configuration","archived":false,"fork":false,"pushed_at":"2023-01-30T04:23:05.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-09T00:44:44.788Z","etag":null,"topics":["ansible","automation","bsd","configuration-management","deployment","freebsd","server","unix"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/richlamdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-12-18T05:24:35.000Z","updated_at":"2022-12-22T09:38:57.000Z","dependencies_parsed_at":"2023-04-22T06:22:06.944Z","dependency_job_id":null,"html_url":"https://github.com/richlamdev/ansible-server-freebsd","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/richlamdev/ansible-server-freebsd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richlamdev%2Fansible-server-freebsd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richlamdev%2Fansible-server-freebsd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richlamdev%2Fansible-server-freebsd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richlamdev%2Fansible-server-freebsd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/richlamdev","download_url":"https://codeload.github.com/richlamdev/ansible-server-freebsd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richlamdev%2Fansible-server-freebsd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31669115,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["ansible","automation","bsd","configuration-management","deployment","freebsd","server","unix"],"created_at":"2025-01-27T05:51:42.735Z","updated_at":"2026-04-11T04:32:37.148Z","avatar_url":"https://github.com/richlamdev.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible Playbook for FreeBSD\n\n## Introduction\n\nThe is an Ansible playbook to provision a basic FreeBSD system.  It can be used as a baseline for either\na desktop or server system.\n\n\n## How to use\n\n### Prerequisites\n\nAnsible Server:\n- Ansible\n- sshpass\n  - notes:\n    - sshpass has potential security concerns, and is not a best practice to use\n    - preferred practice is to deploy and utilize SSH keys (assuming minimum Ansible requirements are met)\n    - to install sshpass on Debian based Linux ```sudo apt install sshpass```\n\nAnsible Client:\n- FreeBSD (tested with 13.1)\n- Python3\n  - the base role will check for Python 3, if it's not installed, it will proceed to install it\n- SSH server enabled\n  - non-privilege user access\n  - root access\n\n### Quickstart\n\n```git clone https://github.com/richlamdev/ansible-server-freebsd.git```\n\n```cd ansible-server-freebsd```\n\nEdit inventory file at the root of the repo to reflect the hostname and/or IP to have this playbook applied to.\n\nEdit the vars file at role/base/defaults/main.yml, to your requirements.\n\n```ansible-playbook main.yml -bkKu \u003cusername\u003e```\n\nEnter the \u003cusername\u003e password when prompted:\n\n**SSH password:**\n\nEnter the root password when prompted:\n\n**BECOME password[defaults to SSH password]:**\n\n*NOTE: This playbook was designed for standard FreeBSD deployment.  FreeBSD, by convention, does not have\\\nsudo installed, consequently, privilege escalation is achieved via su, as opposed to sudo.  Therefore the connection\\\nis established via non-privileged user by SSH, followed by the root password for privilege escalation.  See below\\\nconsiderations section for potential implementation options.*\n\n\n### Base role\n\n1. Checks presence of Python 3, will install Python 3, if it is not already installed.\n\n2. Deploys the following static configuration files:\n    * loader.conf.local\n    * newsyslog.conf\n    * pf.conf\n    * rc.local\n\n3. Deploys the following dynamic configuration files:\n    * ntp.conf\n    * rc.conf\n    * syslog.conf\n\nThis role is idempotent.\n\n\n## Notes, General Information \u0026 Considerations\n\n1. This playbook minimizes installation of additional software, to minimize potential security vulnerabilities.\n\n2. As mentioned above, sudo is not installed or assumed to be installed for the execution of this playbook.  Privilege\\\nescalation is achieved via su.\n\n3. Python is a requirement for Ansible.  (to use the full potential of modules, which will enable idempotency)\n\n4. This [Vagrant file](https://github.com/richlamdev/vagrant-files/blob/main/freebsd/Vagrantfile) works with this repo to start an FreeBSD virtual machine for testing.\nThe setup.sh forces the root password of each virtual machine to be password1. (obviously not secure, but for the purposes of testing and life of these virtual machines, not so much an issue)\nAdditionally the vagrant user is added to the wheel group.\n\nNaturally, you will need Vagrant and VirtualBox, use and installation is information beyond the scope of this repo.\n\n5. Post deployment, consider disabling password authentication via SSH and restrict authentication to SSH key only.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichlamdev%2Fansible-server-freebsd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frichlamdev%2Fansible-server-freebsd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichlamdev%2Fansible-server-freebsd/lists"}