From 75280e49d366136e53198c300374343eb832eccf Mon Sep 17 00:00:00 2001 From: Paul Haesler Date: Thu, 18 Apr 2024 09:20:55 +1000 Subject: [PATCH] Update documentation --- README.rst | 12 ++++++++---- docs/database.rst | 10 +++++----- docs/diagrams/ows_diagram.png | Bin 0 -> 51867 bytes docs/environment_variables.rst | 22 +++++----------------- 4 files changed, 18 insertions(+), 26 deletions(-) create mode 100644 docs/diagrams/ows_diagram.png diff --git a/README.rst b/README.rst index b40c3f01..ae1ee189 100644 --- a/README.rst +++ b/README.rst @@ -38,6 +38,11 @@ Features * Supports WCS versions 1.0.0, 2.0.0 and 2.1.0. * Richly featured styling engine for serving data visualisations via WMS and WMTS. +System Architecture +------------------- + +.. image:: https://private-user-images.githubusercontent.com/4548530/323402306-25f0d5d0-b165-4b46-b2f7-f05193dde9d1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTMzOTU4MjEsIm5iZiI6MTcxMzM5NTUyMSwicGF0aCI6Ii80NTQ4NTMwLzMyMzQwMjMwNi0yNWYwZDVkMC1iMTY1LTRiNDYtYjJmNy1mMDUxOTNkZGU5ZDEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDQxNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA0MTdUMjMxMjAxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MDBhMzUwMWM2MmI4NGQyYjEwNTQwNWQxODNlYzI1MzUwNjZiNGU2Y2E4NTFhYmMwY2NiYTU3NzVkZTg5NjY1YyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.oHLvAbdB1aFp8lthx_MfT2uFgst4PqQ_t91Q7FcQS1Y + Community --------- @@ -134,9 +139,8 @@ To run the standard Docker image, create a docker volume containing your ows con -e AWS_NO_SIGN_REQUEST=yes # Allowing access to AWS S3 buckets -e AWS_DEFAULT_REGION=ap-southeast-2 \ # AWS Default Region (supply even if NOT accessing files on S3! See Issue #151) -e SENTRY_DSN=https://key@sentry.local/projid \ # Key for Sentry logging (optional) - -e DB_HOSTNAME=172.17.0.1 -e DB_PORT=5432 \ # Hostname/IP address and port of ODC postgres database - -e DB_DATABASE=datacube \ # Name of ODC postgres database - -e DB_USERNAME=cube -e DB_PASSWORD=DataCube \ # Username and password for ODC postgres database + \ # Database connection URL: postgresql://:@:/ + -e ODC_DEFAULT_DB_URL=postgresql://cube:DataCube@172.17.0.1:5432/datacube \ -e PYTHONPATH=/code # The default PATH is under env, change this to target /code -p 8080:8000 \ # Publish the gunicorn port (8000) on the Docker \ # container at port 8008 on the host machine. @@ -175,7 +179,7 @@ The following instructions are for installing on a clean Linux system. * init datacube and ows schema:: - export DATACUBE_DB_URL=postgresql:///ows + export ODC_DEFAULT_DB_URL=postgresql:///ows datacube system init # to create schema, tables and materialised views used by datacube-ows. diff --git a/docs/database.rst b/docs/database.rst index bb4bd575..99cb017f 100644 --- a/docs/database.rst +++ b/docs/database.rst @@ -10,13 +10,13 @@ entities: 2. Public `materialised views over ODC indexes <#materialised-views-over-odc-indexes>`_ 3. `OWS range tables <#range-tables-layer-extent-cache>`_. -Database relationship diagram ------------------------------- +System Architecture Diagram +--------------------------- -.. figure:: ./diagrams/db-relationship-diagram.svg - :target: /_images/db-relationship-diagram.svg +.. figure:: ./diagrams/ows_diagram.png + :target: /_images/ows_diagram.png - Current database relationship diagram + OWS Architecture Diagram, including Database structure. Open Data Cube Native Entities ------------------------------ diff --git a/docs/diagrams/ows_diagram.png b/docs/diagrams/ows_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..319758fec9fc6feedf49f0743ae4763531f17108 GIT binary patch literal 51867 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:@:/ Other valid methods for configuring an OpenDatacube instance (e.g. a ``.datacube.conf`` file) -should also work. +should also work. However OWS currently expects to use the `default` configuration environment +and only works with legacy/postgres index driver. Configuring AWS Access ----------------------