sudo apt-get update --fix-missing
# For Debian 9 and Ubuntu 18.04
sudo apt install puppet
sudo apt install postgresql
# For Ubuntu 16.04
wget https://apt.puppetlabs.com/puppet5-release-xenial.deb
sudo dpkg -i puppet5-release-xenial.deb
sudo apt update
sudo apt install puppet5-release
# Install puppet modules
sudo puppet module install puppet-archive -v 3.2.1
sudo puppet module install puppetlabs-java -v 3.3.0
sudo puppet module install puppetlabs-postgresql -v 5.11.0
# Check Puppet version, Puppet 4.8 and Puppet 5 should be fine.
puppet --version
Note: module will create a database and user with password (see parameters here) if it does note exist.
git submodule add https://github.com/thehyve/puppet-gb_backend.git gb_backend
The instructions are for installing
- the Keycloak identity provider,
- the TranSMART API server, and
- the Glowing Bear user interface for the backend.
Copy the transmart_core and glowing_bear module repositories to the /etc/puppetlabs/code/modules directory:
cd /etc/puppetlabs/code/modules
git clone https://github.com/thehyve/puppet-transmart_core.git transmart_core
git clone https://github.com/thehyve/puppet-glowing_bear.git glowing_bearKeycloak parameters. They should match with that ones that frontend glowing bear application uses.
| hiera key | default value | description |
|---|---|---|
gb_backend::keycloak_server_url |
keycloak url that used. e.g. https://keycloak.example.com/auth |
|
gb_backend::keycloak_realm |
keycloak realm. | |
gb_backend::keycloak_client_id |
keycloak client id. | |
gb_backend::keycloak_offline_token |
keycloak offline token. |
Please note that transmart.api-version hardcoded to v2.
| hiera key | default value | description |
|---|---|---|
gb_backend::transmart_server_url |
transmart url that used. e.g. https://transmart.example.com |
Database parameters used to create database if it does not exist and used by the application to establish connnection.
Note: Creationg of the databse supported only for localhost db host.
PostgeSQL is used by default at the moment.
| Hiera key | Default value | Description |
|---|---|---|
gb_backend::db_user |
gb |
Database user that used by the application to connect to the database. |
gb_backend::db_password |
gb |
The user password to the database. |
gb_backend::db_host |
localhost |
The database server host name. |
gb_backend::db_port |
5432 |
The database server port. |
gb_backend::db_name |
gb_backend |
The database name. |
| Hiera key | Default value | Description |
|---|---|---|
gb_backend::nexus_url |
https://repo.thehyve.nl |
The Nexus/Maven repository server. |
gb_backend::reporsitory |
snapshots |
The repository to use. releases or snapshots are only valid options. |
| Hiera key | Default value | Description |
|---|---|---|
gb_backend::user |
gb |
System user that runs the application. |
gb_backend::user_home |
/home/${user} |
The user home directory. |
| Hiera key | Default value | Description |
|---|---|---|
gb_backend::vesion |
0.1-SNAPSHOT |
The version of application to install. |
gb_backend::app_port |
8083 |
The port the application runs on. |
| Hiera key | Default value | Description |
|---|---|---|
gb_backend::notifications_enabled |
false |
Enable notification for query subscriptions. |
gb_backend::notifications_sets |
20 |
Number of sets. |
gb_backend::notifications_trigger_hour |
0 |
Hour for daily notification trigger. |
gb_backend::notifications_trigger_minute |
0 |
Minute for daily notification trigger. |
gb_backend::notifications_client_app_name |
Glowing Bear |
Name of the client application on behalf of which gb-backend will send notification email |
gb_backend::notifications_client_app_url |
URL of the client application | |
gb_backend::sender_email |
Email address used in "from" field in the emails sent by the glowing bear. |
Start the gb-backend service:
sudo systemctl start gb-backendCheck the status of the service:
sudo systemctl status gb-backendStop the service:
sudo systemctl stop gb-backendCheck log of the service
sudo journalctl -u gb-backend.serviceThe module has been tested on Ubuntu 16.04 with Puppet version 5.5.0. There are some automated tests, run using rake.
A version of ruby before 2.3 is required. rvm can be used to install a specific version of ruby.
Use rvm install 2.1 to use ruby version 2.1.
The tests are automatically run on our Bamboo server: PUPPET-PUPPETTS.
Install rake using the system-wide ruby:
yum install ruby-devel
gem install bundler
export PUPPET_VERSION=4.8.2
bundleor using rvm:
rvm install 2.3
gem install bundler
export PUPPET_VERSION=4.8.2
bundleRun the test suite:
rake testCopyright © 2019 The Hyve.
The puppet module for gb-backend is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.