All Projects → georchestra → ansible

georchestra / ansible

Licence: ISC license
Ansible playbooks to deploy a fullblown geOrchestra instance

Programming Languages

Jinja
831 projects
ruby
36898 projects - #4 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to ansible

ansible-war-deploy
A playbook to deploy a WAR on Tomcat & restart it.
Stars: ✭ 20 (+42.86%)
Mutual labels:  playbook
ansible-role-fail2ban
Install and configure fail2ban on your system.
Stars: ✭ 42 (+200%)
Mutual labels:  playbook
easy-ansible
基于Ansible的自动部署平台-Automatical Deployment Platform Based on Ansible。
Stars: ✭ 41 (+192.86%)
Mutual labels:  playbook
automated-testing-playbook
A set of principles, practices, idioms, and strategies pertaining to automated software testing and its adoption
Stars: ✭ 50 (+257.14%)
Mutual labels:  playbook
elk-upgrade
Elastic Stack Upgrade with Ansible
Stars: ✭ 28 (+100%)
Mutual labels:  playbook
ansible-docgen
Generate documentation from annotated Ansible Playbooks and Roles
Stars: ✭ 61 (+335.71%)
Mutual labels:  playbook
wordpress-ansible-playbook
An ansible playbook for setting up production and staging WordPress site(s). Nginx, php7.3, ssl ready (via letsencrypt), mariadb.
Stars: ✭ 85 (+507.14%)
Mutual labels:  playbook
dotfiles
🔨 My dotfiles for setting up my Macs with Ansible
Stars: ✭ 31 (+121.43%)
Mutual labels:  playbook
bane
Chainlink security and orchestration tools for Ubuntu server
Stars: ✭ 6 (-57.14%)
Mutual labels:  playbook
usegalaxy-playbook
Ansible Playbook for usegalaxy.org
Stars: ✭ 30 (+114.29%)
Mutual labels:  playbook
mysql secure installation Ansible
Idempotent Ansible Module that provides the functions of "mysql_secure_installation" script
Stars: ✭ 34 (+142.86%)
Mutual labels:  playbook
macos-playbook
Ansible playbook for OS X. Installs the common apps and libraries for web developers
Stars: ✭ 34 (+142.86%)
Mutual labels:  playbook
avbot-charts
Aviation charts
Stars: ✭ 20 (+42.86%)
Mutual labels:  playbook
mastible
An Ansible playbook to install Mastodon
Stars: ✭ 17 (+21.43%)
Mutual labels:  playbook
Playbook
The Nodes iOS team Playbook 📖
Stars: ✭ 18 (+28.57%)
Mutual labels:  playbook
mac-setup-playbooks
Ansible playbooks for setting up mac
Stars: ✭ 32 (+128.57%)
Mutual labels:  playbook
ansible-role-etcd
Ansible role for installing etcd cluster
Stars: ✭ 38 (+171.43%)
Mutual labels:  playbook
initial-webserver-setup
Ansible playbook for initial ubuntu 16.04 webserver setup and Laravel zero time deployment
Stars: ✭ 50 (+257.14%)
Mutual labels:  playbook
ansible-aws-infra-services
Manage your AWS infrastructure and ECS tasks with two separate ansible playbooks
Stars: ✭ 23 (+64.29%)
Mutual labels:  playbook
raspberry-metrics
Expose Raspberry PI metrics using Prometheus and Grafana. Install with single command.
Stars: ✭ 41 (+192.86%)
Mutual labels:  playbook

geOrchestra-ansible

A simple ansible playbook to deploy a fullblown geOrchestra SDI instance.

Right now, this will deploy a working geOrchestra from the master branch with mostly default configs and empty databases/datadirs.

Prerequisite

  • Debian Bullseye (11.x) VM
  • JAVA11 (could use AdoptOpenJDK project)
  • Token access to allow connection from VM to GitHub and allow to get MapStore2 artifact (see playbook.yml)

setup

In order to deploy all the middleware and components of a geOrchestra instance, you just need to:

  • use ansible-galaxy to install external roles required for geonetwork 4:
ansible-galaxy install -r requirements.yaml
  • Clone source :

    git clone https://github.com/georchestra/ansible.git

  • setup variables for your own instance in playbooks/georchestra.yml

  • Open hosts file

  • Replace IP_OF_YOUR_MACHINE by the IP of a host where you have ssh-with-passphrase root access (ideally, an lxc container, a vm, or whatever suits you) to get something like :

    mygeorchestra ansible_ssh_host=192.xxx.xx.x

... and run:

ansible-playbook playbooks/georchestra.yml

👉 If you run the playbook with a remote access (ssh) you maybe need to run the playbook with this command :

`ansible-playbook playbook.yml -i hosts --user=<username> --extra-vars "ansible_sudo_pass=<yourPassword>"`

additional config

  • Set MapStore2-georchestra config extensions

To import plugins, Tomcat (or Jetty) will need to write into a plugins folder. He can't by default and you get some errors. In fact, this folder could be the default datadir (/etc/georchestra/datadir) but it's not fully recomended.

More details here

So, we suggest you to set an alternative mapstore plugins directory. To do that, open /etc/default/tomcat-georchestra and add this JVM option :

-Dgeorchestra.extensions=/target/path/extensions \

Don't forget to restart the service next... and be sure this path is writable by tomcat.

If you really want to use datadir, you have to set correct right to the /mapstore directory.

If an extensions.json file is missing, just add it manually with empty {} json content.

cleanup

If you want to remove/cleanup the webapps, databases, LDAP DIT and datadirs, sub-tasks have been added and can be run using

ansible-playbook -t cleanup -e "cleanup=true" playbooks/georchestra.yml

Those sub-tasks aren't run by default, you need to specify the cleanup=true variable.

example setup with vagrant

Install the dependencies with:

sudo apt-get install vagrant virtualbox ansible

Optionally, to install the "guest additions", you may run:

vagrant plugin install vagrant-vbguest

Finally, create a virtual machine and provision it (according to the playbook), with:

vagrant up

When the machine is provisioned, you can vagrant ssh into it, look around, and once you're done, you may halt the machine (vagrant halt) or destroy it (vagrant destroy).

To browse your SDI, just drop a line in your /etc/hosts file, registering the IP of the VM with the FQDN you declared in the playbook, eg:

192.168.0.19 georchestra.example.org

... and open https://georchestra.example.org/geonetwork/ in your browser.

Serverspec

a serverspec testsuite is provided to test the vagrant environments Once the box is up (see previous section), you can test the setup with the following command:

$ rake spec

This will require the ruby-serverspec package to be installed on the host.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].