Skip to content

Latest commit

 

History

History
354 lines (280 loc) · 19.9 KB

README.md

File metadata and controls

354 lines (280 loc) · 19.9 KB

SDDI CKAN Docker

Smart District Data Infrastructure (SDDI) enabled Docker images for CKAN

Report Bug · Request Feature


GitHub Workflow Status GitHub Workflow Status GitHub Workflow Status
DOI

This repository provides CKAN Docker images for the sddi-ckan-k8s Helm chart. The images contain CKAN itself compiled with a set of CKAN extension to add functionality required for the SDDI concept and beyond that. All images are available form ghcr.io/tum-gis Github container registry. See packages for all image flavors and tags.

📖 Table of content

📥 Image flavor overview

The CKAN-SDDI Docker images are released in three flavors, that are described below. For each flavor a one package exists in this repository, where the image can be pulled.

docker pull ghcr.io/tum-gis/ckan-sddi-base
docker pull ghcr.io/tum-gis/ckan-sddi
docker pull ghcr.io/tum-gis/ckan-sddi-social

sddi-base

CKAN base image with a minimal set of extensions required for SDDI. Default SDDI groups and topics are preinstalled. This image is used as base image for the other images. If you plan to extend the SDDI images, use this as base image.

ghcr.io/tum-gis/ckan-sddi-base

sddi

sddi-base + commonly used CKAN extensions for e.g. extended data format and preview support. This is the image most people will usually want.

ghcr.io/tum-gis/ckan-sddi

sddi-social

sddi + optional CKAN extension for social media features, that may require staff for moderation of social media content.

ghcr.io/tum-gis/ckan-sddi-social

🔢 Image versioning

The images in this repo are versioned and tagged according to the releases of this repository. The latest tag points to the latest release number. The edge version is built from the latest commit to the main branch of this repo.

All available tags are listed in the packages of each image:

Development image versions

For development purposes the devel images, which are build from the latest commit to the devel branch are published. The devel images are used for testing and may contain errors. The CKAN and CKAN extension versions used for each image are listed in the table below.

For debugging we provide a debug version for each image version. These images are indicated by the -debug suffix on the image tag, e.g. latest-debug, 0.0.6-debug, edge-debug or devel-debug. The debug images have the FLASK debug toolbar enabled and all required debugging dependencies installed. Read more on CKAN's debug mode in the official docs. Debug images are available starting from v0.0.6.

Warning: The debug image versions should not be used in a production environment! With debug mode enabled, a visitor to your site could execute malicious commands.

Furthermore, for each commit to a Pull request all image flavors are build. These images are published in the ckan-sddi-dev package. Images are named following this pattern:

ghcr.io/tum-gis/ckan-sddi-dev:<IMAGE FLAVOR>-pr-<PR NUMBER>-[-debug] ghcr.io/tum-gis/ckan-sddi-dev:<IMAGE FLAVOR>-pr-<PR NUMBER>-<SHORT-SHA>[-debug]

The image without the SHORT-SHA refer to the latest build of a pull request.

For instance, for commit 19a2e64 to PR #26 following images are build:

  • ghcr.io/tum-gis/ckan-sddi-dev:sddi-base-pr-26
  • ghcr.io/tum-gis/ckan-sddi-dev:sddi-base-pr-26-debug
  • ghcr.io/tum-gis/ckan-sddi-dev:sddi-base-pr-26-19a2e64
  • ghcr.io/tum-gis/ckan-sddi-dev:sddi-base-pr-26-19a2e64-debug
  • ghcr.io/tum-gis/ckan-sddi-dev:sddi-pr-26
  • ghcr.io/tum-gis/ckan-sddi-dev:sddi-pr-26-debug
  • ghcr.io/tum-gis/ckan-sddi-dev:sddi-pr-26-19a2e64
  • ghcr.io/tum-gis/ckan-sddi-dev:sddi-pr-26-19a2e64-debug
  • ghcr.io/tum-gis/ckan-sddi-dev:sddi-social-pr-26
  • ghcr.io/tum-gis/ckan-sddi-dev:sddi-social-pr-26-debug
  • ghcr.io/tum-gis/ckan-sddi-dev:sddi-social-pr-26-19a2e64
  • ghcr.io/tum-gis/ckan-sddi-dev:sddi-social-pr-26-19a2e64-debug

This registry will be cleared periodically.

CKAN and CKAN extension versions

CKAN version: 2.9.9 CKAN base image: ghcr.io/keitaroinc/ckan:2.9.9-focal

The CKAN catalog platform uses several extensions to provide the functionality needed for the SDDI concept. The table below lists the included extensions with the currently used version. Depending of the version of the upstream repository of the individual extensions, the version refers either to a release version or commit hash.

To ensure stable versioning for the images, the versions in the Dockerfiles are alway pinned to a stable release number or commit hash.

Note: Version pinning is only applied for release versions. The edge image may depend on upstream branches instead.

Extension Version sddi-base sddi sddi-social Description
scheming f98daec ✔️ ✔️ ✔️ Configure and share CKAN dataset metadata forms.
hierarchy v1.2.0 ✔️ ✔️ ✔️ Allows to organize organizations and groups in a hierarchy tree (nested groups/orgs).
grouphierarchysddi 1.1.4 ✔️ ✔️ ✔️ Extends hierarchy with pre-defined groups and topics of the SDDI concept.
relation 1.0.3 ✔️ ✔️ ✔️ Enables to create and visualize different types of relations (realated_to, depends_on, part_of) between catalog entries.
spatial c2118b9 ✔️ ✔️ ✔️ Provides the ability to search for datasets according to a given spatial extent.
datesearch 1.0.2 ✔️ ✔️ ✔️ Provides the ability to search for datasets according to a given time frame. The search includes all datasets, in which the time of validity overlaps in at least one second with the search time frame.
repeating 1.0.0 ✔️ ✔️ ✔️ This extension provides a way to store repeating fields in CKAN datasets, resources, organizations and groups.
composite 1e6d7bb ✔️ ✔️ ✔️ The extension allows to store structured dataset metadata, single or multiple fields. Only one level of subfields is possible. The subfields can be basic text, date type or dropboxes.
restricted 1.0.0 ✔️ ✔️ CKAN extension to restrict the accessibility to the resources of a dataset. This way the package metadata is accesible but not the data itself (resource). The resource access restriction level can be individualy defined for every package.
dcat v1.4.0 ✔️ ✔️ Allow CKAN to expose and consume metadata from other catalogs using RDF documents serialized using DCAT.
geoview v0.0.20 ✔️ ✔️ This extension contains view plugins to display geospatial files and services in CKAN.
disqus ✔️ The Disqus extension allows site visitors to comment on individual packages using an AJAX-based commenting system. The downsides of this plugin are that comments are not stored locally and user information is not shared between CKAN and the commenting system.
password_policy 5618dc9 ✔️ ✔️ ✔️ CKAN extension that adds password policy for all the users.

🚀 Usage

The images provided in this repo are designed for the sddi-ckan-k8s Helm chart. Go to the Helm chart repository to find examples an how to run the images.

📖 Configuration an documentation

The configuration of the Docker images is mainly done using environment variables using the naming convention of ckanext-envvars. Refer to the documentation of ckan and the extensions listed below to find the available configuration options.

🛠️ Contributing

Bug fixes, issue reports and contributions are greatly appreciated.

Contributors

Marija Knezevic and Bruno Willenborg at Technical University of Munich, Chair of Geoinformatics realized the current SDDI CKAN Docker images and Helm chart and updated the CKAN SDDI extensions (ckanext-grouphierarchy, ckanext-relation) initially implemented by Mandana Moshrefzadeh and Wolfgang Deigele.

The core concepts, documentation, and initial implementation for SDDI were realized at Technical University of Munich, Chair of Geoinformatics by:

Technical University of Munich, Chair of Geoinformatics

Github contributors to this repo

🎓 Research

An overview of the Smart District Data Infrastructure (SDDI) Project is available at the Chair of Geoinformatics, Technical University of Munich homepage in english and german.

Publications

The full list of SDDI related publications is available here. Some key publications are listed below:

  • Knezevic et al. (2022): Managing Urban Digital Twins with an Extended Catalog Service, Proceedings of the 7th International Smart Data and Smart Cities (SDSC) Conference 2022, ISPRS Annals of Photogrammetry, Remote Sensing and Spatial Information Sciences, PDF download / DOI.

  • Deigele, W. et al. (2021): Leitfaden – Geobasierter Digitaler Zwilling nach der SDDI-Methode, Ed.: Bayern Innovativ, ZD.B – Themenplattform Smart Cities and Regions.

  • Gackstetter, D. et al. (2021): Smart Rural Areas Data Infrastructure (SRADI) – an information logistics framework for digital agriculture based on open standards, 41. GIL-Jahrestagung 2021 - Fokus: Informations- und Kommunikationstechnologie in kritischen Zeiten, Gesellschaft für Informatik e.V. (GI), PDF download / DOI.

  • Kolbe, T. H. et al. (2020): The Data Integration Challenge in Smart City Projects, Chair of Geoinformatics, Technical University of Munich, PDF download / DOI.

  • Moshrefzadeh, M. et al. (2020): Towards a Distributed Digital Twin of the Agricultural Landscape, Journal of Digital Landscape Architecture (5), PDF download / DOI.

  • Moshrefzadeh, M. et al. (2017): Integrating and Managing the Information for Smart Sustainable Districts - The Smart District Data Infrastructure (SDDI), In: Kolbe, Thomas H.; Bill, Ralf; Donaubauer, Andreas (Hrsg.): Geoinformationssysteme 2017 – Beiträge zur 4. Münchner GI-Runde. . Wichmann Verlag, PDF download / DOI.

  • Moshrefzadeh, M. and T.H. Kolbe (2016): Smart Data Infrastructure for Smart and Sustainable Cities, DDSS 2016, PDF download / DOI.

Cite this repository

To cite this repository, please use the DOI provided by Zenodo. If you want to reference a specific release version of the software, click the badge and navigate to the desired version on the page.

DOI

🤝 Thanks

We would like to thank following institutions and persons for their contributions to the SDDI concepts, tools, documentations, education, and funding:

TwinBy

Bayerische Staatsministerium für Digitales

Bayern Innovativ GmbH

📝 License

This Helm chart is distributed under the Apache License 2.0. See LICENSE for more information.