Oregon State University is currently in the process of scoping our TIER midPoint entity registry implementation project. A big first step is actually deploying the midPoint application so we can learn how it works and what it can do.

Since the TIER midPoint Docker installation was not yet available, we followed our standard processes at OSU to use Ansible to automate our application deployments. To that end, we have written an Ansible playbook that allows us to deploy midPoint on RedHat/CentOS with a single command, optionally installing a MariaDB backend and Apache with SSL frontend.

The playbook is available on GitHub: https://github.com/OSU-IAM/ansible-midpoint

Assumptions

  • You want to install midPoint 3.6.1
  • You are running Ansible 2.4+
  • Your target system is running RedHat/CentOS

Minimal Install

A minimal install will deploy midPoint with its default H2 database.

Create a variable file in group_vars/

---
midpoint:
  use_apache_ssl: false


And a matching inventory file in inventory/

[dev]
my-new-midpoint.someplace.edu


Then run the playbook:
$ ansible-playbook -i inventory/dev install.yml

Install With Optional Components

Installing midPoint with MariaDB or Apache with SSL requires additional configuration options in the variable file. See README.md in the playbook for details.

Playbook Structure

  • install.yml - playbook file
  • group_vars/ - contains variable files to configure the playbook and target host(s)
  • inventory/ - contains inventory files for target host(s)
  • roles/install/tasks/ - task files for installing and setting up the software
  • roles/install/files/ - configuration files for midPoint and supporting software
  • roles/install/templates/ - configuration files for midPoint and supporting software

Next Steps

The playbook installs midPoint 3.6.1. We'd like to make the version configurable in the future.

As the midPoint Docker version is now available, we will review how to install it into our environment.

We are currently evaluating options and need to select the database platform we will use for production.