{"id":13501088,"url":"https://github.com/adfinis/foreman-ansible","last_synced_at":"2025-03-29T08:31:18.701Z","repository":{"id":10323390,"uuid":"65338228","full_name":"adfinis/foreman-ansible","owner":"adfinis","description":"Ansible playbook to deploy a complete Foreman instance within minutes.","archived":true,"fork":false,"pushed_at":"2018-08-21T12:33:02.000Z","size":62,"stargazers_count":54,"open_issues_count":0,"forks_count":31,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-03-05T01:36:12.989Z","etag":null,"topics":["ansible","automation","configuration-management","foreman"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adfinis.png","metadata":{"files":{"readme":"README.rst","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}},"created_at":"2016-08-10T00:46:46.000Z","updated_at":"2023-12-12T01:49:09.000Z","dependencies_parsed_at":"2022-09-16T10:41:51.805Z","dependency_job_id":null,"html_url":"https://github.com/adfinis/foreman-ansible","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adfinis%2Fforeman-ansible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adfinis%2Fforeman-ansible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adfinis%2Fforeman-ansible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adfinis%2Fforeman-ansible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adfinis","download_url":"https://codeload.github.com/adfinis/foreman-ansible/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246161721,"owners_count":20733347,"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":["ansible","automation","configuration-management","foreman"],"created_at":"2024-07-31T22:01:25.177Z","updated_at":"2025-03-29T08:31:18.259Z","avatar_url":"https://github.com/adfinis.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"========================\nForeman Ansible Playbook\n========================\n\n|Travis| |License|\n\n.. |Travis| image:: https://img.shields.io/travis/adfinis-sygroup/foreman-ansible.svg?style=flat-square\n   :target: https://travis-ci.org/adfinis-sygroup/foreman-ansible\n.. |License| image:: https://img.shields.io/github/license/adfinis-sygroup/foreman-ansible.svg?style=flat-square\n   :target: LICENSE\n\nAnsible playbook to deploy a complete up and running Foreman instance within\nminutes.\n\nFeatures\n========\nThe goal of this playbook is to offer a fully automated way to deploy a\ncomplete and ready-to-use Foreman instance within minutes.\n\nIt contains multiple different roles with numerous customizable variables,\nwhich provide the following features:\n\n* setup database (SQLite or MySQL)\n* setup webserver (plain nginx as a proxy or nginx-passenger)\n* setup isc-dhcp-server\n* setup TFTP server\n* setup foreman-proxy\n* setup Foreman including configuration (templates, hosts, domains, etc.)\n\n**None of the roles will install Puppet or use the official foreman-installer,\ninstead the plain Foreman packages are used!**\n\nIn addition this playbook makes use of `foreman-yml`_ to automatically configure\nForeman through the API based on a YAML file, which includes adding all \ntemplates, OS, media, hosts, etc. and linking them accordingly.\n\nPlease note that at the current time the following distributions are supported:\n\n* Debian 7 \u0026 8\n* Ubuntu 14.04 \u0026 16.04\n* CentOS 6 \u0026 7\n* Red Hat Enterprise Linux 6 \u0026 7\n\nRequirements\n============\nThe target machine should fulfill the following requirements before the\nplaybook is applied:\n\n* FQDN configured\n* SELinux disabled\n* Required ports 67, 69, 80, 443, etc. open\n* Internet and repository access (e.g. Red Hat Optional repository)\n\n**Ansible 2.0+ is required to use this playbook!**\n\nInstallation\n============\nBelow the required steps to execute the default playbook:\n\n1. Clone this repository\n2. Initialize the submodules containing the foreman-yml repository: ::\n\n   $ git submodule update --init\n\n3. Install and configure Ansible to manage the target server\n4. Create an inventory file containing either the hostname or IP address of\n   target machine: ::\n\n    $ echo \"$TARGET_IP\" \u003e /tmp/inventory\n\n5. Use the playbook foreman.yml to deploy a default setup with MySQL,\n   nginx-passenger, TFTP, DHCP and foreman-proxy: :: \n\n    $ ansible-playbook foreman.yml -i /tmp/inventory -u root\n\n6. After a successful deployment you should be able to access Foreman through \n   http://$TARGET_IP/.\n\nThe password of the ``admin`` user is by default set to ``foreman``. In addition\n``safemode_render`` is changed to ``false``.\n\nExamples\n========\nThe templates directory contains example `foreman-yml`_ YAML templates to\ngive you a head start to bootstrap Foreman.\n\nIn addition the variables overwritten in vars/example.yml are the minimum\namount of variables that need to be defined, e.g. the MySQL role does not\ncreate any users or databases by default.\n\nRoles\n=====\nBelow a short overview of all included roles:\n\n+-----------------+----------------------------------------------------+\n| Name            | Description                                        |\n+=================+====================================================+\n| common          | update apt cache                                   |\n+-----------------+----------------------------------------------------+\n| foreman         | add repos and install Foreman                      |\n+-----------------+----------------------------------------------------+\n| foreman_proxy   | add repos, install and configure foreman-proxy     |\n+-----------------+----------------------------------------------------+\n| foreman_yml     | configure the Foreman instance with `foreman-yml`_ |\n+-----------------+----------------------------------------------------+\n| isc_dhcp_server | install and configure isc-dhcp-server              |\n+-----------------+----------------------------------------------------+\n| mysql           | install MySQL, create users and databases          |\n+-----------------+----------------------------------------------------+\n| nginx           | add upstream repos if requested and setup nginx    |\n+-----------------+----------------------------------------------------+\n| passenger_nginx | add repos and setup passenger-nginx                |\n+-----------------+----------------------------------------------------+\n| sqlite          | install sqlite and create db directory             |\n+-----------------+----------------------------------------------------+\n| tftp            | install and setup TFTP including PXE boot files    |\n+-----------------+----------------------------------------------------+\n\nUpcoming features\n=================\nSee the issues page for a list of upcoming and planned features.\n\nContributions\n=============\nContributions are more than welcome! Please feel free to open new issues or\npull requests.\n\nLicense\n=======\nGNU GENERAL PUBLIC LICENSE Version 3\n\nSee the `LICENSE`_ file.\n\n.. _LICENSE: LICENSE\n.. _foreman-yml: https://github.com/adfinis-sygroup/foreman-yml\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadfinis%2Fforeman-ansible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadfinis%2Fforeman-ansible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadfinis%2Fforeman-ansible/lists"}