{"id":21605992,"url":"https://github.com/archf/ansible-masterbook","last_synced_at":"2025-03-18T14:41:17.623Z","repository":{"id":28186808,"uuid":"31688542","full_name":"archf/ansible-masterbook","owner":"archf","description":null,"archived":false,"fork":false,"pushed_at":"2016-11-02T22:13:27.000Z","size":1146,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-24T19:16:48.798Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://archf.github.io/ansible-masterbook","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/archf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-05T01:03:02.000Z","updated_at":"2016-10-24T15:38:10.000Z","dependencies_parsed_at":"2022-09-04T12:10:45.199Z","dependency_job_id":null,"html_url":"https://github.com/archf/ansible-masterbook","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/archf%2Fansible-masterbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archf%2Fansible-masterbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archf%2Fansible-masterbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archf%2Fansible-masterbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/archf","download_url":"https://codeload.github.com/archf/ansible-masterbook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244242875,"owners_count":20421958,"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":[],"created_at":"2024-11-24T20:18:28.573Z","updated_at":"2025-03-18T14:41:17.592Z","avatar_url":"https://github.com/archf.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible Masterbook\n\n# Prerequisite\n\nInstall git and ansible on the control machine:\n\nVia script:\n```bash\ncurl -s https://raw.githubusercontent.com/archf/ansible-masterbook/master/ansible-bootstrap.sh | sh\n```\n\nOr manually:\n\n```bash\n# Debian\napt-get -y install git ansible\n# rhel\nsudo yum -y install git ansible\n# or\nsudo dnf install -y git ansible\n```\n\nAlternatively you could install from a unbuntu ppa or from pip to get a most recent version\n\n## list of quite stable roles\n\n* common: meta roles for roles below\n  - accounts\n  - packages\n  - openssh-server\n  - ntpd\n  - resolv\n  * fail2ban\n  * ntp\n  * disable selinux\n* accounts: create accounts on any machine (requires root)\n* workstation: install package for daily work (this could be splitted eventually)\n            * python\n            * golang\n            * rust\n            * ...\n\n    Currently installs:\n    - python3-ipython\n    - python3-ipdb\n    - python3-devel\n    - python-pip\n    - inotify-tools-devel\n    - pandoc\n    - urlview\n\n* workstation\n* openssh: template sshd-config\ns samba: configure a simple samba file server\n\nwip:\n  * backup\n  * collectd\n  * ansiblecm: install and configure an ansible control machine\n  * network: configure nic on a target\n  * openWrt\n  * multimedia: install multimedia packages\n\ntodo soon:\n  * git-install: install from a git repo\n  * tar-install: install from a tarball\n  * dnsmasq: install and configure dnsmasq\n\n## interesting roles from other people\n  * gitlab: https://galaxy.ansible.com/list#/roles/516\n  * exim: https://galaxy.ansible.com/list#/roles/4842\n  * grafana: https://github.com/azavea/ansible-grafana\n  * influxdb:\n\n## Todo:\n\n### roles to find or create\n* remote-desktop\n* ansible: install and configure ansible\n* postgress\n* powerdns-recursor\n* powerdns-authoritative\n* collectd or python-diammond\n* influx-db\n* graphite or graphana\n* kodi\n* wikia\n* shinken or nagios\n* vagrant - install vagrant from website\n* ldap\n* redmine\n* cobbler\n    - make a special  case to install to openwrt from source\n\n* multimedia: install music or video package\n    - vlc\n    - asunder\n    - easytag\n\n* pythondev:\n* golangdev:\n* rustdev:\n\n### ad-hoc roles\n* dotfiles: update given repos on all targets\n* accounts-remove: remove given accounts on all targets\n\n### other tasks\n*  ntp\n*  fqdn\n*  disk partionning (lvm)\n*  backup (script from a git repo + cronjob) – one for the os and the other for\n*  the data\n*  tmpfs (mount /tmp in a tmpfs when there is enough ram ??? i think this doesn't allow\n    you to suspend to ram)\n\n# Thoughts\n\n## Some roles should be executed on all machines by default\nex:\n* common\n* accounts\n* fail2ban\n* shinken or nagios\n* backup: install backup scripts\n* collectd or python-diammond\n* suspend_ram: cronjob to suspend machine to ram\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchf%2Fansible-masterbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farchf%2Fansible-masterbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchf%2Fansible-masterbook/lists"}