diff --git a/Vagrantfile b/Vagrantfile index 18f77a34eb6391f76f01cbef21eea63aed53eafa..8f8dcbddbe3a9613a767d693bd840ca7278936a4 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -14,11 +14,13 @@ Vagrant.configure(2) do |config| config.vm.define "openbsd" do |openbsd| openbsd.vm.box = "tmatilai/openbsd-5.7" #openbsd.vm.box = "twingly/openbsd-5.7-amd64" + openbsd.vm.network "forwarded_port", guest: 443, host: 8000 + openbsd.vm.network "forwarded_port", guest: 80, host: 8001 end config.vm.define "kodi" do |kodi| kodi.vm.box = "fujimakishouten/debian-9-testing-virtualbox" - kodi.vm.network "forwarded_port", guest: 443, host: 8000 + kodi.vm.network "forwarded_port", guest: 443, host: 8002 # TODO: Find the correct syntax for a single command. #kodi.vm.provider("virtualbox"), gui: true kodi.vm.provider "virtualbox" do |vb| @@ -31,25 +33,42 @@ Vagrant.configure(2) do |config| end config.vm.define "cgit" do |cgit| - cgit.vm.network "forwarded_port", guest: 80, host: 8000 + cgit.vm.network "forwarded_port", guest: 443, host: 8003 end config.vm.define "wordpress" do |wordpress| - wordpress.vm.network "forwarded_port", guest: 80, host: 8000 + wordpress.vm.network "forwarded_port", guest: 443, host: 8004 end - config.vm.define "ldap" do |ldap| - ldap.vm.network "forwarded_port", guest: 443, host: 8000 + config.vm.define "directory" do |directory| + directory.vm.network "forwarded_port", guest: 443, host: 8005 end config.vm.define "owncloud" do |owncloud| - owncloud.vm.network "forwarded_port", guest: 443, host: 8000 + owncloud.vm.network "forwarded_port", guest: 443, host: 8006 end - config.vm.define "dovecot" do |dovecot| + config.vm.define "mail" do |mail| end - config.vm.define "exim" do |exim| - exim.vm.synced_folder "roles/exim/web1", "/vagrant" + config.vm.define "logstash" do |logstash| + logstash.vm.network "forwarded_port", guest: 443, host: 8007 end + + config.vm.define "riemann" do |riemann| + riemaan.vm.network "forwarded_port", guest: 443, host: 8008 + end + + config.vm.define "consul" do |consul| + end + + config.vm.define "ejabberd" do |ejabberd| + end + + config.vm.define "horde" do |horde| + end + + #config.vm.define "openwrt" do |openwrt| + # openwrt.vm.box= "???" + #end end diff --git a/host_vars/consul b/host_vars/consul new file mode 100644 index 0000000000000000000000000000000000000000..8a8bad77635fc7e68f8a94bc15d32abc56eb7016 --- /dev/null +++ b/host_vars/consul @@ -0,0 +1 @@ +consul_mode: server diff --git a/openbsd-bootstrap.yml b/openbsd-bootstrap.yml new file mode 100644 index 0000000000000000000000000000000000000000..61988a06797fc9115bdc2794cadf1b9dd0ab86ca --- /dev/null +++ b/openbsd-bootstrap.yml @@ -0,0 +1,36 @@ +--- +# Bootstrap an OpenBSD machine to be able to run Ansible on it. + +- hosts: + - openbsd + vars: + ansible_python_interpreter: /usr/local/bin/python2.7 + pkg_mirror: http://www.mirrorservice.org/pub + tasks: + - name: Install Python + raw: "PKG_PATH={{ pkg_mirror }}/OpenBSD/$(uname -r)/packages/$(arch -s)/ /usr/sbin/pkg_add py-pip" + register: pkg_add_python + changed_when: "'python' in pkg_add_python.stdout" + + - name: Symlink python + file: + path: /usr/bin/python + src: /usr/local/bin/python2.7 + state: link + force: yes + + - name: Gather facts + setup: + + - name: Configure pkg + lineinfile: + dest: /etc/pkg.conf + line: 'installpath = {{ pkg_mirror }}/OpenBSD/{{ ansible_distribution_release }}/packages/{{ ansible_architecture }}/' + regexp: '^installpath =' + state: present + create: yes + + - name: Install Bash + openbsd_pkg: + name: bash + state: latest diff --git a/requirements.yml b/requirements.yml index 4dc67e5f804cb67bfbc8bee502cb3335127959b2..fd8e623d7f86310c0b3495c094842fff44fead18 100644 --- a/requirements.yml +++ b/requirements.yml @@ -23,7 +23,71 @@ scm: git path: roles/ name: wordpress -- src: https://www.shore.co.il/cgit/ansible-ldap +- src: https://www.shore.co.il/cgit/ansible-openldap scm: git path: roles/ - name: ldap + name: openldap +- src: https://www.shore.co.il/cgit/ansible-common + scm: git + path: roles/ + name: common +- src: https://www.shore.co.il/cgit/ansible-consul + scm: git + path: roles/ + name: consul +- src: https://www.shore.co.il/cgit/ansible-dovecot + scm: git + path: roles/ + name: dovecot +- src: https://www.shore.co.il/cgit/ansible-ejabberd + scm: git + path: roles/ + name: ejabberd +- src: https://www.shore.co.il/cgit/ansible-elasticsearch + scm: git + path: roles/ + name: elasticsearch +- src: https://www.shore.co.il/cgit/ansible-exim + scm: git + path: roles/ + name: exim +- src: https://www.shore.co.il/cgit/ansible-freeradius + scm: git + path: roles/ + name: freeradius +- src: https://www.shore.co.il/cgit/ansible-grafana + scm: git + path: roles/ + name: grafana +- src: https://www.shore.co.il/cgit/ansible-horde + scm: git + path: roles/ + name: horde +- src: https://www.shore.co.il/cgit/ansible-influxdb + scm: git + path: roles/ + name: influxdb +- src: https://www.shore.co.il/cgit/ansible-kibana + scm: git + path: roles/ + name: kibana +- src: https://www.shore.co.il/cgit/ansible-logstash + scm: git + path: roles/ + name: logstash +- src: https://www.shore.co.il/cgit/ansible-mysql + scm: git + path: roles/ + name: mysql +- src: https://www.shore.co.il/cgit/ansible-openwrt + scm: git + path: roles/ + name: openwrt +- src: https://www.shore.co.il/cgit/ansible-owncloud + scm: git + path: roles/ + name: owncloud +- src: https://www.shore.co.il/cgit/ansible-riemann + scm: git + path: roles/ + name: riemann diff --git a/site.yml b/site.yml index 7234ea402fcee9bc936f6c414b94044dbe59b9ad..12e8a0153492d60c44155e92a636763349160606 100644 --- a/site.yml +++ b/site.yml @@ -1,57 +1,82 @@ --- - hosts: - - all + - all roles: - - common + - common - hosts: - - cgit + - cgit roles: - - cgit + - cgit - hosts: - - dovecot + - mail roles: - - dovecot + - exim + - dovecot - hosts: - - kodi + - kodi roles: - - kodi - - rutorrent + - kodi + - rutorrent - hosts: - - openldap + - directory roles: - - openldap - vars: - #tls_cert: self-signed.crt - #tls_key: self-signed.key + - openldap + - freeradius - hosts: - - nspawn + - nspawn roles: - - nspawn + - nspawn - hosts: - - openbsd + - openbsd roles: - - role: openbsd-bootstrap - gather_facts: False - - openbsd + - openbsd - hosts: - - wordpress + - wordpress roles: - - wordpress + - wordpress - hosts: - owncloud roles: - - openldap - - owncloud + - role: owncloud + +- hosts: + - logstash + roles: + - elasticsearch + - logstash + - kibana + +- hosts: + - riemann + roles: + - influxdb + - riemann + - grafana + +- hosts: + - consul + roles: + - conusl + +- hosts: + - ejabberd + roles: + - ejabberd + +- hosts: + - horde + roles: + - horde - hosts: - - exim + - openwrt roles: - - exim + - openwrt