Databases¶
CyVerse uses PostgreSQL as its primary database platform.
Each database is maintained in its own GitHub Repository in the core CyVerse Organization or CyVerse Discovery Environment Organization
Provisioning¶
iCAT - the iRODS iCAT metadata database
DE - the Discovery Environment database
Metadata - the CyVerse Metadata Service
Keycloak - the database used by Keycloak
Notifications - the database used for notifications
Unleash - the database used for Unleash service
Grouper - the database for Grouper service
QMS - the database for QMS service
Portal - the User Portal database
User Guides¶
DevOps - instructions for setting up a remote DevOps environment to manage a CyVerse deployment
Discovery Environment - designed for data scientists, students, and researchers who want to use CyVerse for research.
Data Store - instructions for using the iRODS Data Store.
This database dedicated to the discovery environment of Cyverse, which is used for multiple services such as:
NOTE: permissions database has been merged with DE database.
Install¶
The installation of this database is manully done on the host DB_HOST.com'
.
See documentation on how to install postgresql?
Installing postgresql 12 on Centos7
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql12-server
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
sudo systemctl enable postgresql-12
sudo systemctl start postgresql-12
sudo yum install postgresql12-contrib
Setup¶
On this paragraph we will cover first and necessary steps to configure the database.
~postgres/12/data/pg_hba.conf
IPv4 local connections:
Add IP or IP range of kubernetes worker node, that requires connection to this database.
TYPE | DATABASE | USER | ADDRESS | METHOD |
---|---|---|---|---|
host | all | all | *******/32 | md5 |
host | all | all | *******/32 | md5 |
host | all | all | *******/32 | md5 |
host | all | all | *******/32 | md5 |
host | all | all | *******/32 | md5 |
host | all | all | *******/32 | md5 |
~postgres/12/data/postgresql.conf
# vi ~postgres/12/data/postgresql.conf
listen_addresses = '*' # what IP address(es) to listen on;
** .pgpass**
TODO:
Databases and its Users¶
DATABASE | USER |
---|---|
de | de |
notifications | de |
metadata | de |
unleash | unleash_user |
grouper | grouper |
portal | portal |
keycloak | keycloak |
qms | de |