Skip to content

Commit 72fcc27

Browse files
committed
Add stellio v2.
1 parent db21687 commit 72fcc27

5 files changed

Lines changed: 70 additions & 87 deletions

File tree

.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ SCORPIO_PORT=9090
1010
SCORPIO_VERSION=2.1.21
1111

1212
# Stellio variables
13-
STELLIO_DOCKER_TAG=v1.12.0
13+
STELLIO_DOCKER_TAG=2.0.0-dev
1414
STELLIO_PORT=8080
1515

1616
# MongoDB variables

.gitpod.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,21 @@ ports:
77
description: Context Broker
88
port: 1026
99
onOpen: notify
10+
- name: Scorpio
11+
description: Context Broker
12+
port: 9090
13+
onOpen: notify
14+
visibility: public
15+
- name: Stellio
16+
description: Context Broker
17+
port: 8080
18+
onOpen: notify
19+
visibility: public
20+
- name: JSON-LD context (HTTPD)
21+
description: Public User JSON-LD context
22+
port: 3004
23+
onOpen: notify
24+
visibility: public
1025
- name: Tutorial App
1126
description: Web app displaying context data
1227
port: 3000

docker-compose/common.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@ services:
4949
image: fiware/tutorials.context-provider
5050
hostname: tutorial
5151
container_name: fiware-tutorial
52-
depends_on:
53-
- orion
5452
networks:
5553
default:
5654
aliases:

docker-compose/kafka/update_run.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/sh
2+
3+
# Docker workaround: Remove check for KAFKA_ZOOKEEPER_CONNECT parameter
4+
sed -i '/KAFKA_ZOOKEEPER_CONNECT/d' /etc/confluent/docker/configure
5+
6+
# Docker workaround: Ignore cub zk-ready
7+
sed -i 's/cub zk-ready/echo ignore zk-ready/' /etc/confluent/docker/ensure
8+
9+
# KRaft required step: Format the storage directory with a new cluster ID
10+
echo "kafka-storage format --ignore-formatted -t $(kafka-storage random-uuid) -c /etc/kafka/kafka.properties" >> /etc/confluent/docker/ensure
11+

docker-compose/stellio.yml

Lines changed: 43 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -28,23 +28,8 @@ services:
2828
- SPRING_PROFILES_ACTIVE=docker
2929
ports:
3030
- "${STELLIO_PORT}:8080"
31-
32-
entity-service:
33-
restart: always
34-
container_name: stellio-entity-service
35-
labels:
36-
org.fiware: 'tutorial'
37-
image: stellio/stellio-entity-service:${STELLIO_DOCKER_TAG}
38-
environment:
39-
- SPRING_PROFILES_ACTIVE=docker
40-
- APPLICATION_AUTHENTICATION_ENABLED=false
41-
ports:
42-
- 8082:8082
43-
depends_on:
44-
neo4j:
45-
condition: service_healthy
46-
kafka:
47-
condition: service_started
31+
networks:
32+
- default
4833

4934
search-service:
5035
container_name: stellio-search-service
@@ -55,11 +40,14 @@ services:
5540
- SPRING_PROFILES_ACTIVE=docker
5641
- SPRING_R2DBC_URL=r2dbc:postgresql://postgres/stellio_search
5742
- SPRING_FLYWAY_URL=jdbc:postgresql://postgres/stellio_search
58-
- SPRING_R2DBC_USERNAME=stellio_search
59-
- SPRING_R2DBC_PASSWORD=stellio_search_db_password
43+
- SPRING_R2DBC_USERNAME=stellio
44+
- SPRING_R2DBC_PASSWORD=stellio_password
6045
- APPLICATION_AUTHENTICATION_ENABLED=false
6146
ports:
6247
- 8083:8083
48+
networks:
49+
- default
50+
restart: always
6351
depends_on:
6452
postgres:
6553
condition: service_healthy
@@ -75,107 +63,78 @@ services:
7563
- SPRING_PROFILES_ACTIVE=docker
7664
- SPRING_R2DBC_URL=r2dbc:postgresql://postgres/stellio_subscription
7765
- SPRING_FLYWAY_URL=jdbc:postgresql://postgres/stellio_subscription
78-
- SPRING_R2DBC_USERNAME=stellio_subscription
79-
- SPRING_R2DBC_PASSWORD=stellio_subscription_db_password
66+
- SPRING_R2DBC_USERNAME=stellio
67+
- SPRING_R2DBC_PASSWORD=stellio_password
8068
- APPLICATION_AUTHENTICATION_ENABLED=false
8169
ports:
82-
- 8084:8084
70+
- 8085:8084
71+
networks:
72+
- default
73+
restart: always
8374
depends_on:
8475
postgres:
8576
condition: service_healthy
8677
kafka:
8778
condition: service_started
8879

89-
zookeeper:
90-
labels:
91-
org.fiware: 'tutorial'
92-
image: confluentinc/cp-zookeeper:5.5.7
93-
container_name: zookeeper
94-
ports:
95-
- 2181:2181
96-
restart: always
97-
environment:
98-
ZOOKEEPER_SERVER_ID: 1
99-
ZOOKEEPER_CLIENT_PORT: 2181
100-
ZOOKEEPER_TICK_TIME: 2000
101-
10280
kafka:
10381
labels:
10482
org.fiware: 'tutorial'
105-
image: confluentinc/cp-kafka:5.5.7
83+
image: confluentinc/cp-kafka:7.3.1
10684
container_name: kafka
10785
ports:
10886
- 29092:29092
87+
networks:
88+
- default
10989
restart: always
11090
environment:
111-
KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka:9092,EXTERNAL://localhost:29092
112-
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
113-
KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL
114-
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
11591
KAFKA_BROKER_ID: 1
116-
KAFKA_LOG4J_ROOT_LOGLEVEL: INFO
92+
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
93+
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
11794
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
118-
depends_on:
119-
- zookeeper
120-
95+
KAFKA_PROCESS_ROLES: 'broker,controller'
96+
KAFKA_NODE_ID: 1
97+
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka:29093'
98+
KAFKA_LISTENERS: CONTROLLER://kafka:29093,PLAINTEXT://kafka:9092,PLAINTEXT_HOST://0.0.0.0:29092
99+
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
100+
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
101+
KAFKA_LOG4J_ROOT_LOGLEVEL: INFO
102+
volumes:
103+
- ./stellio/kafka/update_run.sh:/tmp/update_run.sh
104+
command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"
121105

122106

123107
# Databases
124-
neo4j:
125-
labels:
126-
org.fiware: 'tutorial'
127-
image: neo4j:4.4
128-
hostname: neo4j
129-
container_name: db-neo4j
130-
volumes:
131-
- neo4j-db:/data
132-
environment:
133-
- NEO4J_dbms_default__database=stellio
134-
- NEO4J_AUTH=none
135-
- "NEO4J_dbms_security_procedures_unrestricted=apoc.*"
136-
- "NEO4J_dbms_security_procedures_allowlist=apoc.*"
137-
- NEO4JLABS_PLUGINS=["apoc"]
138-
ports:
139-
- 7474:7474
140-
- 7687:7687
141-
# following https://github.com/neo4j/neo4j/issues/7203#issuecomment-898511474
142-
healthcheck:
143-
test: wget -qO- http://localhost:7474 || exit 1
144-
interval: 1s
145-
timeout: 10s
146-
retries: 20
147-
start_period: 3s
148-
149108
postgres:
150109
labels:
151110
org.fiware: 'tutorial'
152-
image: stellio/stellio-timescale-postgis:2.3.0-pg13
111+
image: stellio/stellio-timescale-postgis:14-2.9.1-3.3
153112
hostname: postgres
154113
container_name: db-postgres
155114
environment:
156-
- POSTGRES_PASSWORD=password
157-
- "POSTGRES_MULTIPLE_DATABASES=stellio_search,stellio_search,stellio_search_db_password: stellio_subscription,stellio_subscription,stellio_subscription_db_password"
158-
- PGDATA=/var/lib/postgresql/data/pgdata
115+
- POSTGRES_USER=stellio
116+
- POSTGRES_PASS=stellio_password
117+
- POSTGRES_DBNAME=stellio_search,stellio_subscription
118+
- POSTGRES_MULTIPLE_EXTENSIONS=postgis,timescaledb,pgcrypto
119+
- ACCEPT_TIMESCALE_TUNING=TRUE
159120
ports:
160121
- 5432:5432
122+
networks:
123+
- default
161124
volumes:
162-
- postgres-db:/var/lib/postgresql/data
125+
- postgres-db:/var/lib/postgresql
163126
healthcheck:
164-
test: ["CMD-SHELL", "pg_isready -U postgres"]
127+
test: ["CMD-SHELL", "pg_isready -h localhost -U stellio"]
165128
interval: 10s
166129
timeout: 5s
167130
retries: 20
168131
start_period: 10s
169132

170-
# Tutorial connects to the Stellio Broker
171-
tutorial:
172-
environment:
173-
- IOTA_DEFAULT_RESOURCE=/iot/d
174-
- DUMMY_DEVICES_PORT=${TUTORIAL_DUMMY_DEVICE_PORT} # Port used by the dummy IOT devices to receive commands
175-
- DUMMY_DEVICES_TRANSPORT=HTTP # Default transport used by dummy Io devices
176-
- DUMMY_DEVICES_PAYLOAD=ULTRALIGHT
177-
- CONTEXT_BROKER=http://stellio:${STELLIO_PORT}/ngsi-ld/v1 # URL of the context broker to update context
133+
134+
networks:
135+
default:
136+
labels:
137+
org.fiware: 'tutorial'
178138

179139
volumes:
180-
neo4j-db: ~
181140
postgres-db: ~

0 commit comments

Comments
 (0)