Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
cf12614
Initial commit
rimi-itk Aug 28, 2026
32dea1e
Added DDEV and Symfony
rimi-itk Aug 28, 2026
d97f3da
Experiments …
rimi-itk Aug 31, 2026
190ace8
Added ITKDev project template
rimi-itk Sep 1, 2026
9f59e7e
Added server setup
rimi-itk Sep 1, 2026
ecaba9c
Added ADR folder along with ADRs existing so far
jeppekroghitk Sep 1, 2026
9aa1a0b
Updated README
jeppekroghitk Sep 1, 2026
9dadf62
Updated CHANGELOG
jeppekroghitk Sep 1, 2026
6de59da
Added pointers to .env
jeppekroghitk Sep 1, 2026
a56f14c
Added a few commands to Taskfile
jeppekroghitk Sep 1, 2026
ff7146d
Added wgs84 transformer class
jeppekroghitk Sep 1, 2026
0386a7d
Added a generic way to retrieve data from broker via terminal
jeppekroghitk Sep 1, 2026
492d105
Added feedReader
jeppekroghitk Sep 1, 2026
6a2ebea
Added import command
jeppekroghitk Sep 1, 2026
1fdbf47
Added source interface for picking up new source adapters
jeppekroghitk Sep 1, 2026
d518d75
Added mtm spatialmaps handicap parking source adapter
jeppekroghitk Sep 1, 2026
1cde88a
Added NgsiEntity for normalized NGSI-LD output
jeppekroghitk Sep 1, 2026
20798f2
Added NgsiLdBroker for idempotent batch upserts
jeppekroghitk Sep 1, 2026
61f6190
Added tests
jeppekroghitk Sep 1, 2026
db7575b
Renaming paths to new source location structure
jeppekroghitk Sep 1, 2026
8e4f7ca
Added pull request template
jeppekroghitk Sep 1, 2026
4f28de9
Coding standards
jeppekroghitk Sep 1, 2026
b04cb63
Converted all ADRs in readme to draft
jeppekroghitk Sep 1, 2026
22d5017
Added ADR 007: data set metadata in a committed source manifest
jeppekroghitk Sep 4, 2026
8eb2a37
Added source manifest and catalog reader
jeppekroghitk Sep 4, 2026
8e36832
Moved handicap parking feed config from .env to the source manifest
jeppekroghitk Sep 4, 2026
0bd7178
Updated README and changelog for the source manifest
jeppekroghitk Sep 4, 2026
1d1e303
Cleaned up sources.yaml
jeppekroghitk Sep 7, 2026
fd623fc
Cleaned up ADR 007
jeppekroghitk Sep 7, 2026
bfcac87
Shortened comment
jeppekroghitk Sep 7, 2026
f51f611
Updated changelog
jeppekroghitk Sep 7, 2026
e556c01
Updated README
jeppekroghitk Sep 7, 2026
8e0627b
Removed comment from Taskfile
jeppekroghitk Sep 7, 2026
c29945e
Fixed coding standards
jeppekroghitk Sep 7, 2026
01cfeb5
Update src/Geo/Wgs84Transformer.php
jeppekroghitk Sep 7, 2026
b949429
Update src/Geo/Wgs84Transformer.php
jeppekroghitk Sep 7, 2026
684f13e
Update src/Ngsi/NgsiEntity.php
jeppekroghitk Sep 7, 2026
43ef3ac
Update src/Source/SourceInterface.php
jeppekroghitk Sep 7, 2026
21d7559
Update src/Source/FeedReader.php
jeppekroghitk Sep 7, 2026
93897e3
Update src/Source/FeedReader.php
jeppekroghitk Sep 7, 2026
2a56d2c
Renamed FeedReader to DataSourceReader
jeppekroghitk Sep 7, 2026
e4452fd
Validated the source manifest as Symfony config
jeppekroghitk Sep 7, 2026
02cc6cf
Fixed error in pull request template
jeppekroghitk Sep 7, 2026
210c5ac
Corrected adr 007
jeppekroghitk Sep 7, 2026
538ae48
ADR 007 edits
jeppekroghitk Sep 7, 2026
cda1ba2
Raname calls to renamed methods
jeppekroghitk Sep 7, 2026
365325a
Coding standards
jeppekroghitk Sep 7, 2026
0ed7598
Grouped the manifest classes under App\Source\Manifest
jeppekroghitk Sep 8, 2026
78c3538
Cleaned up comments
jeppekroghitk Sep 8, 2026
05fa238
Minor correction in comment
jeppekroghitk Sep 8, 2026
603147d
Extracted the import logic into a DataSourceImporter service
jeppekroghitk Sep 8, 2026
07aec4f
Reduced ImportCommand to console plumbing
jeppekroghitk Sep 8, 2026
64aa10f
Move context from comma seperated list in .env to each dataset via co…
jeppekroghitk Sep 8, 2026
87e540f
Minor corrections
jeppekroghitk Sep 8, 2026
c05adfe
Removed task broker:entities for now
jeppekroghitk Sep 8, 2026
a97f602
Removed comment from .env
jeppekroghitk Sep 8, 2026
346cbc6
Cut some comments
jeppekroghitk Sep 8, 2026
3353d08
Coding standards
jeppekroghitk Sep 8, 2026
388d88a
ADR shortening
jeppekroghitk Sep 8, 2026
58872f6
Merge pull request #3 from itk-dev/feature/8191-data-adapter
rimi-itk Sep 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
296 changes: 296 additions & 0 deletions .ddev/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,296 @@
name: enter
type: symfony
docroot: public
php_version: "8.5"
webserver_type: nginx-fpm
xdebug_enabled: false
additional_hostnames: []
additional_fqdns: []
database:
type: mariadb
version: "11.8"
use_dns_when_possible: true
composer_version: "2"
web_environment: []
nodejs_version: "24"
corepack_enable: false
disable_upload_dirs_warning: true

# Key features of DDEV's config.yaml:

# name: <projectname> # Name of the project, automatically provides
# http://projectname.ddev.site and https://projectname.ddev.site
# If the name is omitted, the project will take the name of the enclosing directory,
# which is useful if you want to have a copy of the project side by side with this one.

# type: <projecttype> # asterios, backdrop, cakephp, codeigniter, craftcms, drupal, drupal6, drupal7, drupal8, drupal9, drupal10, drupal11, drupal12, generic, joomla, laravel, magento, magento2, php, shopware6, silverstripe, symfony, typo3, wordpress, wp-bedrock
# See https://docs.ddev.com/en/stable/users/quickstart/ for more
# information on the different project types

# docroot: <relative_path> # Relative path to the directory containing index.php.

# php_version: "8.4" # PHP version to use, "5.6" through "8.5"

# You can explicitly specify the webimage but this
# is not recommended, as the images are often closely tied to DDEV's behavior,
# so this can break upgrades.

# webimage: <docker_image>
# It’s unusual to change this option, and we don’t recommend it without Docker experience and a good reason.
# Typically, this means additions to the existing web image using a .ddev/web-build/Dockerfile.*

# database:
# type: <dbtype> # mysql, mariadb, postgres
# version: <version> # database version, like "10.11" or "8.0"
# MariaDB versions can be 5.5-10.8, 10.11, 11.4, 11.8, 12.3
# MySQL versions can be 5.5-8.0, 8.4
# PostgreSQL versions can be 9-18

# router_http_port: <port> # Port to be used for http (defaults to global configuration, usually 80)
# router_https_port: <port> # Port for https (defaults to global configuration, usually 443)

# xdebug_enabled: false # Set to true to enable Xdebug and "ddev start" or "ddev restart"
# Note that for most people the commands
# "ddev xdebug" to enable Xdebug and "ddev xdebug off" to disable it work better,
# as leaving Xdebug enabled all the time is a big performance hit.

# xhgui_http_port: "8143"
# xhgui_https_port: "8142"
# The XHGui ports can be changed from the default 8143 and 8142
# Very rarely used

# host_xhgui_port: "8142"
# Can be used to change the host binding port of the XHGui
# application. Rarely used; only when port conflict and
# bind_all_ports is used (normally with router disabled)

# xhprof_mode: [prepend|xhgui|global]
# Default is "xhgui"

# webserver_type: nginx-fpm, apache-fpm, generic

# timezone: Europe/Berlin
# If timezone is unset, DDEV will attempt to derive it from the host system timezone
# using the $TZ environment variable or the /etc/localtime symlink.
# This is the timezone used in the containers and by PHP;
# it can be set to any valid timezone,
# see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
# For example Europe/Dublin or MST7MDT

# composer_root: <relative_path>
# Relative path to the Composer root directory from the project root. This is
# the directory which contains the composer.json and where all Composer related
# commands are executed.

# composer_version: "2"
# You can set it to "" or "2" (default) for Composer v2
# to use the latest major version available at the time your container is built.
# It is also possible to use any other Composer version channel. This includes:
# - 2.2 (latest Composer LTS version)
# - stable
# - preview
# - snapshot
# Alternatively, an explicit Composer version may be specified, for example "2.2.18".
# To reinstall Composer after the image was built, run "ddev utility rebuild".

# nodejs_version: "24"
# change from the default system Node.js version to any other version.
# See https://docs.ddev.com/en/stable/users/configuration/config/#nodejs_version for more information
# and https://www.npmjs.com/package/n#specifying-nodejs-versions for the full documentation.

# corepack_enable: false
# Change to 'true' to 'corepack enable' and gain access to latest versions of yarn/pnpm

# additional_hostnames:
# - somename
# - someothername
# would provide http and https URLs for "somename.ddev.site"
# and "someothername.ddev.site".

# additional_fqdns:
# - example.com
# - sub1.example.com
# would provide http and https URLs for "example.com" and "sub1.example.com"
# Please take care with this because it can cause great confusion.

# upload_dirs: "custom/upload/dir"
#
# upload_dirs:
# - custom/upload/dir
# - ../private
#
# would set the destination paths for ddev import-files to <docroot>/custom/upload/dir
# When Mutagen is enabled this path is bind-mounted so that all the files
# in the upload_dirs don't have to be synced into Mutagen.

# disable_upload_dirs_warning: false
# If true, turns off the normal warning that says
# "You have Mutagen enabled and your 'php' project type doesn't have upload_dirs set"

# ddev_version_constraint: ""
# Example:
# ddev_version_constraint: ">= 1.24.8"
# This will enforce that the running ddev version is within this constraint.
# See https://github.com/Masterminds/semver#checking-version-constraints for
# supported constraint formats

# working_dir:
# web: /var/www/html
# db: /home
# would set the default working directory for the web and db services.
# These values specify the destination directory for ddev ssh and the
# directory in which commands passed into ddev exec are run.

# omit_containers: [db, ddev-ssh-agent]
# Currently only these containers are supported. Some containers can also be
# omitted globally in the ~/.ddev/global_config.yaml. Note that if you omit
# the "db" container, several standard features of DDEV that access the
# database container will be unusable. In the global configuration it is also
# possible to omit ddev-router, but not here.

# performance_mode: "global"
# DDEV offers performance optimization strategies to improve the filesystem
# performance depending on your host system. Should be configured globally.
#
# If set, will override the global config. Possible values are:
# - "global": uses the value from the global config.
# - "none": disables performance optimization for this project.
# - "mutagen": enables Mutagen for this project.
#
# See https://docs.ddev.com/en/stable/users/install/performance/#mutagen

# fail_on_hook_fail: False
# Decide whether 'ddev start' should be interrupted by a failing hook

# host_https_port: "59002"
# The host port binding for https can be explicitly specified. It is
# dynamic unless otherwise specified.
# This is not used by most people, most people use the *router* instead
# of the localhost port.

# host_webserver_port: "59001"
# The host port binding for the ddev-webserver can be explicitly specified. It is
# dynamic unless otherwise specified.
# This is not used by most people, most people use the *router* instead
# of the localhost port.

# host_db_port: "59002"
# The host port binding for the ddev-dbserver can be explicitly specified. It is dynamic
# unless explicitly specified.

# mailpit_http_port: "8025"
# mailpit_https_port: "8026"
# The Mailpit ports can be changed from the default 8025 and 8026

# host_mailpit_port: "8025"
# The mailpit port is not normally bound on the host at all, instead being routed
# through ddev-router, but it can be bound directly to localhost if specified here.

# webimage_extra_packages: ['php${DDEV_PHP_VERSION}-tidy', 'php${DDEV_PHP_VERSION}-yac']
# Extra Debian packages that are needed in the webimage can be added here

# dbimage_extra_packages: [netcat, telnet, sudo]
# Extra Debian packages that are needed in the dbimage can be added here

# use_dns_when_possible: true
# If the host has internet access and the domain configured can
# successfully be looked up, DNS will be used for hostname resolution
# instead of editing /etc/hosts
# Defaults to true

# project_tld: ddev.site
# The top-level domain used for project URLs
# The default "ddev.site" allows DNS lookup via a wildcard

# share_default_provider: ngrok
# The default share provider to use for "ddev share"
# Defaults to global configuration, usually "ngrok"
# Can be "ngrok" or "cloudflared" or the name of a custom provider from .ddev/share-providers/

# share_provider_args: --basic-auth username:pass1234
# Provide extra flags to the share provider script
# See https://docs.ddev.com/en/stable/users/configuration/config/#share_provider_args

# disable_settings_management: false
# If true, DDEV will not create CMS-specific settings files like
# Drupal's settings.php/settings.ddev.php or TYPO3's additional.php
# In this case the user must provide all such settings.

# You can inject environment variables into the web container with:
# web_environment:
# - SOMEENV=somevalue
# - SOMEOTHERENV=someothervalue

# no_project_mount: false
# (Experimental) If true, DDEV will not mount the project into the web container;
# the user is responsible for mounting it manually or via a script.
# This is to enable experimentation with alternate file mounting strategies.
# For advanced users only!

# bind_all_interfaces: false
# If true, host ports will be bound on all network interfaces,
# not the localhost interface only. This means that ports
# will be available on the local network if the host firewall
# allows it.

# default_container_timeout: 120
# The default time that DDEV waits for all containers to become ready can be increased from
# the default 120. This helps in importing huge databases, for example.

#web_extra_exposed_ports:
#- name: nodejs
# container_port: 3000
# http_port: 2999
# https_port: 3000
#- name: something
# container_port: 4000
# https_port: 4000
# http_port: 3999
# Allows a set of extra ports to be exposed via ddev-router
# Fill in all three fields even if you don’t intend to use the https_port!
# If you don’t add https_port, then it defaults to 0 and ddev-router will fail to start.
#
# The port behavior on the ddev-webserver must be arranged separately, for example
# using web_extra_daemons.
# For example, with a web app on port 3000 inside the container, this config would
# expose that web app on https://<project>.ddev.site:9999 and http://<project>.ddev.site:9998
# web_extra_exposed_ports:
# - name: myapp
# container_port: 3000
# http_port: 9998
# https_port: 9999

#web_extra_daemons:
#- name: "http-1"
# command: "/var/www/html/node_modules/.bin/http-server -p 3000"
# directory: /var/www/html
#- name: "http-2"
# command: "/var/www/html/node_modules/.bin/http-server /var/www/html/sub -p 3000"
# directory: /var/www/html

# override_config: false
# By default, config.*.yaml files are *merged* into the configuration
# But this means that some things can't be overridden
# For example, if you have 'use_dns_when_possible: true' you can't override it with a merge
# and you can't erase existing hooks or all environment variables.
# However, with "override_config: true" in a particular config.*.yaml file,
# 'use_dns_when_possible: false' can override the existing values, and
# hooks:
# post-start: []
# or
# web_environment: []
# or
# additional_hostnames: []
# can have their intended effect. 'override_config' affects only behavior of the
# config.*.yaml file it exists in.

# Many DDEV commands can be extended to run tasks before or after the
# DDEV command is executed, for example "post-start", "post-import-db",
# "pre-composer", "post-composer"
# See https://docs.ddev.com/en/stable/users/extend/custom-commands/ for more
# information on the commands that can be extended and the tasks you can define
# for them. Example:
#hooks:
## Un-comment to consume async message.
# post-start:
# - exec: symfony run --daemon --watch=config,src,templates,vendor bin/console messenger:consume async -vv
37 changes: 37 additions & 0 deletions .ddev/docker-compose.scorpio.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
networks:
scorpio:

# https://docs.ddev.com/en/stable/users/extend/custom-docker-services/
services:
scorpio:
container_name: "ddev-${DDEV_SITENAME}-scorpio"
hostname: scorpio.local
image: scorpiobroker/all-in-one-runner:java-latest
restart: "no"
ports:
- "9090"
environment:
- VIRTUAL_HOST=${DDEV_HOSTNAME}
- HTTP_EXPOSE=9090:9999
- DBHOST=scorpio-db
depends_on:
- "scorpio-db"
networks:
- default
- scorpio
platform: "linux/amd64"

scorpio-db:
container_name: "ddev-${DDEV_SITENAME}-scorpio-db"
image: postgis/postgis
environment:
- POSTGRES_USER=ngb
- POSTGRES_PASSWORD=ngb
- POSTGRES_DB=ngb
networks:
- scorpio
volumes:
- ./data/scorpio-db:/var/lib/postgresql/data
platform: "linux/amd64"
# https://stackoverflow.com/a/58806511
command: ["postgres", "-c", "log_statement=all"]
5 changes: 5 additions & 0 deletions .docker/data/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Ignore everything in this directory
*
# Except
!.gitignore
!README.md
26 changes: 26 additions & 0 deletions .docker/data/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# .docker/data

Please map persistent volumes to this directory on the servers.

If a container needs to persist data between restarts you can map the relevant files in the container to ``docker/data/<container-name>`.

## RabbitMQ example
If you are using RabbitMQ running in a container as a message broker you need to configure a persistent volume for RabbitMQs data directory to avoid losing message on container restarts.

```yaml
# docker-compose.server.override.yml

services:
rabbit:
image: rabbitmq:3.9-management-alpine
hostname: "${COMPOSE_PROJECT_NAME}"
networks:
- app
- frontend
environment:
- "RABBITMQ_DEFAULT_USER=${RABBITMQ_USER}"
- "RABBITMQ_DEFAULT_PASS=${RABBITMQ_PASSWORD}"
- "RABBITMQ_ERLANG_COOKIE=${RABBITMQ_ERLANG_COOKIE}"
volumes:
- ".docker/data/rabbitmq:/var/lib/rabbitmq/mnesia/"
```
Loading