OpenCDMS Architecture#

Containers#

The C4 container diagram below shows the main components in the OpenCDMS software. These are described in more detail below.

https://www.plantuml.com/plantuml/svg/hLPTR-Cs47pths250h41sIhIFXrGu7Asyr74iHCxJGiKC2Xg9REXH8MaxFJVTqbHikHSqYjm3t4aSZcpEpjB-xCsL9ag5-Jsui_busPxEx_SR1zkhgut95YMK4ndYtKm6Fp02oQg1CZEc59_YY953vECcrqLLneKauM1maoOpADIqC8YZhL918-ZwI_ZbLrwNDn6ETK652vjftY2yWBKfCJOmM3mXdyuGje4KWmYi_dlDzFbtVeRw4rLqaJzV4o3u-uunOYnBXKte9ii4jZRFNtUqYnctvybf_Z9gMX9dlxu_YG7e6O7gkLOhkPtjdFVoYInqop9zV4Xn-P4YMGwqh9I3A8jEiLm5ddcZYMQvaJx2lxMTJ_VRfPIcqo1VX6-uss8LpsYZ87MMyDpE05f8b8faiOnRpQPa5MoVQcWWbE6dXpHuPKUJjFiHvJ_P21foJyCQgJoP6VUm4ytcsjqyTNyRcOTtFfysCI796WUnxGi0tntmjc7pGw8LPvmx8rAAGDYTjJW1n0cE7f92fbnRUe0oemc1-medlsnRiol7cnqP9x5GoH3z1arQ1Ufm59PcJMZ0cPVxEiNofwXI4Y2CJ7Lo2k9YoKoHhFiiVSuAeHYI0w6sh0kwR6xNUOXQjWlbrkkHbxKsUna4OJ1IiazJq2JvTLqVB6wGJ6Eq3ww2tnlkpp4Qfvr62pGDJG34Ylv30hHSgbVAcwC38wRpXVTZ3jsEH4hHSnBBX2mGasC1U45js1hGpDUP8Gge2IL2hk0qsDNh1uaLJ8d6WejLQrKN8bdKfL2qaHFY2jIeun4flu0icW71A_Ope8AOhNcE0Ta29DiGfvkrkUJdqOTEUePwAcSqm9BL25ArKWTs1SlRjDQ7_R9FsZYzAkpTZgud3NRGL89AsJBsQAE1YjGMXP3QyOmc7OjsMvkvwzcU3YtTqmOr0KG-sBxx0885fnJjiFaUtMumGo3Yyh8tDurn5zhn5qzhfRWWsrIYahNmc96M2dnoYHkHd2gx1ZP0HvrZU1Oktcu_BCu3Aw4ZB4bjQ_8iEs5pSBNbNL34FKD36jX65OC7wAu20SoEEiOqW5PmRLC3OxFOdfjfyZ-pHlRsAhQsGr2H7W0CGpiAQJfkE9HW_rtlTcirbYqYt9Z6M00Vbw1qHqtEqUWUVoQ7IaIhEzlcwCTv1fbGP_HMJZ2M8qGsfq8VbilxwAlKARst0FWTDHi4JcuBvUMp4UxEETMEuGkdK8QddBchwLwrEytcvQWxggdS4UY4sniW8_rWz7MK3EKIjhl8tYtXkEnDhKgrapn6BwMKSPm9OlV3GjxqZIGgoeMNE-QlAFszlMzw5F4_vbCsCt6wu_3hxjTxrUB9ywwDl56_FzUgQ-4TqGugUGOQ_ESoKFXBj5kZgHlueuJ-qw1FVxAiIH_5G_0WE-XNVF5zfZhAXlxz4l4XSlDQeZtnsZm6S7j5_-_

opencdms-app#

This container is the main interface for interacting with the OpenCDMS software, including data entry, data and metadata management, system configuration, and visualisation.

opencdms-api#

This container implements OGC-APIs for access to the data and metadata, including processes. These are implemented via pygeoapi.

pyopencdms#

This container acts as an event handler, listening for events via the message broker. Scheduled events also run on this container. Interaction with the data occurs via the opencdms-api container.

Datastore#

This container hosts the backend database for storing the climate data and metadata as well as configuration settings.

File bucket#

S3 compatible object store. Used for incoming data for providing static files to external services.

Message broker#

Internal message broker for event driven workflows. This can also be used for connecting with the WIS2.0.