wis2-gdc is a Reference Implementation of a WIS2 Global Discovery Catalogue.
Note: architecture diagrams referenced from the WIS2 Guide
- connects to a WIS2 Global Broker, subscribed to the following:
origin/a/wis2/+/+/metadata/#
- on discovery metadata notifications, run the WCMP2 ATS via pywcmp
- ATS
- KPIs
- publish to a WIS2 GDC (OGC API - Records) using one of the supported transaction backends:
- OGC API - Features - Part 4: Create, Replace, Update and Delete
- Elasticsearch direct
- Python 3
- virtualenv
Dependencies are listed in requirements.txt. Dependencies are automatically installed during pywis-pubsub installation.
# setup virtualenv
python3 -m venv --system-site-packages wis2-gdc
cd wis2-gdc
source bin/activate
# clone codebase and install
git clone https://github.com/wmo-im/wis2-gdc.git
cd wis2-gdc
python3 setup.py install
# setup environment and configuration
cp wis2-gdc.env local.env
vim local.env # update accordingly
source local.env
cp pywis-pubsub-config.yml local.yml
vim local.yml # update accordingly
# setup pywis-pubsub - sync WIS2 notification schema
pywis-pubsub schema sync
# connect to Global Broker
# discovery metadata notifications will trigger wis2-gdc to validate and publish
# WCMP2 to the GDC identified in local.env
pywis-pubsub subscribe --config local.yml
# loading metadata manually (single file)
wis2-gdc register /path/to/wcmp2-file.json
# loading metadata manually (directory of .json files)
wis2-gdc register /path/to/dir/or/wcmp2-files
# install dev requirements
pip3 install -r requirements-dev.txt
# run tests like this:
python3 tests/run_tests.py
# or this:
python3 setup.py test
All bugs, enhancements and issues are managed on GitHub.