XtremeCloud Controller

multi-cloud through standards





This blog is not intended to be a primer on OAuth2, but we'll start with some terminology that is important to understand the openness of the Eupraxia Labs Active-Active Platform for Cloud-Native Applications


One of the keys to an open platform is not to be dependent on one database solution. To achieve this, the initial installation of any XtremeCloud Active-Active application uses Liquibase to install the database schema. Regardless of the database selected for installation, the Data Definition Language (DDL) has been fully tested to work in a Bi-Directional Replication (BDR) setup.

Subsequent versions  of the active-active application use Liquibase changesets to make modifications to the underlying schema to support new features in the application.



<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
<changeSet author="david" id="1547066730310-1">
<createSequence sequenceName="customer_sequence11"/>
</changeSet>
<changeSet author="david" id="1547066730310-2">
<createSequence sequenceName="hibernate_sequence"/>
</changeSet>
<changeSet author="david" id="1547066730310-3">
<createTable tableName="customer">
<column autoIncrement="true" name="cust_id" type="SERIAL">
<constraints primaryKey="true" primaryKeyName="customer_pkey"/>
</column>
<column name="cust_name" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="created_by" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column defaultValueComputed="now()" name="create_date" type="TIMESTAMP(6) WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
<column name="modified_by" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column defaultValueComputed="now()" name="modified_date" type="TIMESTAMP(6) WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
<column name="address" type="VARCHAR(255)"/>
<column name="email" type="VARCHAR(255)"/>
<column name="name" type="VARCHAR(255)"/>
<column name="phone_number" type="VARCHAR(255)"/>
</createTable>
</changeSet>
<changeSet author="david" id="1547066730310-4">
<createTable tableName="global_traffic_manager">
<column autoIncrement="true" name="gtm_id" type="SERIAL">
<constraints primaryKey="true" primaryKeyName="global_traffic_manager_pkey"/>
</column>
<column name="cust_id" type="INT">
<constraints nullable="false"/>
</column>
<column name="gtm_name" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="gtm_type" type="VARCHAR(20)">
<constraints nullable="false"/>
</column>
<column name="provision_url" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="auth_key" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="icon" type="BYTEA">
<constraints nullable="false"/>
</column>
<column name="created_by" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column defaultValueComputed="now()" name="create_date" type="TIMESTAMP(6) WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
<column name="modified_by" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column defaultValueComputed="now()" name="modified_date" type="TIMESTAMP(6) WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
</createTable>
</changeSet>
<changeSet author="david" id="1547066730310-5">
<createTable tableName="gtm_type">
<column name="gtm_type" type="VARCHAR(20)">
<constraints nullable="false"/>
</column>
<column name="gtm_desc" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="created_by" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column defaultValueComputed="now()" name="create_date" type="TIMESTAMP(6) WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
<column name="modified_by" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column defaultValueComputed="now()" name="modified_date" type="TIMESTAMP(6) WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
</createTable>
</changeSet>
<changeSet author="david" id="1547066730310-6">
<createTable tableName="origin">
<column autoIncrement="true" name="origin_id" type="SERIAL">
<constraints primaryKey="true" primaryKeyName="origin_pkey"/>
</column>
<column name="pool_id" type="INT">
<constraints nullable="false"/>
</column>
<column name="origin_name" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="origin_address" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="metric" type="INT">
<constraints nullable="false"/>
</column>
<column name="created_by" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column defaultValueComputed="now()" name="create_date" type="TIMESTAMP(6) WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
<column name="modified_by" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column defaultValueComputed="now()" name="modified_date" type="TIMESTAMP(6) WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
</createTable>
</changeSet>
<changeSet author="david" id="1547066730310-7">
<createTable tableName="pool">
<column autoIncrement="true" name="pool_id" type="SERIAL">
<constraints primaryKey="true" primaryKeyName="pool_pkey"/>
</column>
<column name="gtm_id" type="INT">
<constraints nullable="false"/>
</column>
<column name="pool_type" type="VARCHAR(20)">
<constraints nullable="false"/>
</column>
<column name="pool_name" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="created_by" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column defaultValueComputed="now()" name="create_date" type="TIMESTAMP(6) WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
<column name="modified_by" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column defaultValueComputed="now()" name="modified_date" type="TIMESTAMP(6) WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
</createTable>
</changeSet>
<changeSet author="david" id="1547066730310-8">
<createTable tableName="pool_type">
<column name="pool_type" type="VARCHAR(20)">
<constraints nullable="false"/>
</column>
<column name="pool_desc" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="created_by" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column defaultValueComputed="now()" name="create_date" type="TIMESTAMP(6) WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
<column name="modified_by" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column defaultValueComputed="now()" name="modified_date" type="TIMESTAMP(6) WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
</createTable>
</changeSet>
<changeSet author="david" id="1547066730310-9">
<addPrimaryKey columnNames="gtm_type" constraintName="gtm_type_pkey" tableName="gtm_type"/>
</changeSet>
<changeSet author="david" id="1547066730310-10">
<addPrimaryKey columnNames="pool_type" constraintName="pool_type_pkey" tableName="pool_type"/>
</changeSet>
<changeSet author="david" id="1547066730310-11">
<addForeignKeyConstraint baseColumnNames="gtm_type" baseTableName="global_traffic_manager" constraintName="fkglobal_tra111265" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="gtm_type" referencedTableName="gtm_type"/>
</changeSet>
<changeSet author="david" id="1547066730310-12">
<addForeignKeyConstraint baseColumnNames="cust_id" baseTableName="global_traffic_manager" constraintName="fkglobal_tra831416" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="cust_id" referencedTableName="customer"/>
</changeSet>
<changeSet author="david" id="1547066730310-13">
<addForeignKeyConstraint baseColumnNames="pool_id" baseTableName="origin" constraintName="fkorigin91357" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="pool_id" referencedTableName="pool"/>
</changeSet>
<changeSet author="david" id="1547066730310-14">
<addForeignKeyConstraint baseColumnNames="pool_type" baseTableName="pool" constraintName="fkpool262913" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="pool_type" referencedTableName="pool_type"/>
</changeSet>
<changeSet author="david" id="1547066730310-15">
<addForeignKeyConstraint baseColumnNames="gtm_id" baseTableName="pool" constraintName="fkpool767785" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="gtm_id" referencedTableName="global_traffic_manager"/>
</changeSet>
</databaseChangeLog>

 

Leave a comment

You must be logged in to post a comment.

  • David J. Brewer on 01/08/2019 11:54:50

    Does the Angular 7 OAuth2 connector pass the auth token to the REST endpoint to validate the users's role to allow access to the REST services?