Skip to content

Commit

Permalink
Merge catalogue (#47)
Browse files Browse the repository at this point in the history
* Bring recipes from Mastermind Catalogue
  • Loading branch information
taliaga committed Aug 23, 2018
1 parent 6169f9f commit 7a90cca
Show file tree
Hide file tree
Showing 26 changed files with 890 additions and 0 deletions.
28 changes: 28 additions & 0 deletions recipes/auth/keycloak/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
version: '3'

services:
keycloak:
image: jboss/keycloak:3.4.3.Final
ports:
- "8080:8080"
- "9990:9990"
networks:
- backend
environment:
- MYSQL_ADDR=${MYSQL_ADDR}
# Intentional redundancy here because handling of these wouldn't work
# as documented in keycloak.
- MYSQL_PORT_3306_TCP_ADDR=${MYSQL_ADDR}
- MYSQL_PORT=${MYSQL_PORT}
- MYSQL_PORT_3306_TCP_PORT=${MYSQL_PORT}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- KEYCLOAK_USER=${KEYCLOAK_USER}
- KEYCLOAK_PASSWORD=${KEYCLOAK_PASSWORD}
- KEYCLOAK_LOGLEVEL=DEBUG
networks:
default:
driver_opts:
com.docker.network.driver.mtu: 1500
backend:
driver: overlay
external: true
38 changes: 38 additions & 0 deletions recipes/auth/keycloak/mastermind.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: keycloak
version: 5.7.13
description: Keycloak Identity Manager
protocol_type: HTTP
ngsi_version: 1
environment_variables:
- variable: MYSQL_PORT
name: MySQL Database port
description: The port used by MySQL
required: true
managed: true
default: 3306
- variable: MYSQL_DATABASE
name: MySQL Database
description: The Database used by MySQL
required: true
managed: true
default: catalogue
- variable: KEYCLOAK_USER
name: Keycloak User
description: The User for Keycloak
required: true
managed: true
default: keycloak
- variable: KEYCLOAK_PASSWORD
name: Keycloak Password
description: The Password for Keycloak
required: true
managed: true
default: password
services:
- service_type: mysql
name: MySQL Host
description: The host of the MySQL Database to connect Keycloak to
required: true
managed: true
retrieve: endpoint
as: MYSQL_ADDR
38 changes: 38 additions & 0 deletions recipes/data-management/context-broker/ha/mastermind.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: orion
version: ha
description: Orion Context Broker deployment in High Availability
protocol_type: HTTP
ngsi_version: 1
environment_variables:
- variable: ORION_VERSION_NUMBER
name: Orion Version Number
description: The Number of the Version of Orion to use (e.g 1.12.0)
required: false
managed: true
default: 1.12.0
- variable: ORION_LOG_LEVEL
name: Orion Log Level
description: The Logging level for Orion (e.g. DEBUG)
required: false
managed: true
default: DEBUG
- variable: REPLICASET_NAME
name: Mongo Replicaset Name
description: The name of the Mongo replicaset to use
required: true
managed: true
default: rs
- variable: DOCKER_MTU
name: Docker MTU
description: The Docker MTU to use
required: true
managed: true
default: 1400
services:
- service_type: mongo
name: Mongo Db Host
description: The host of the Mongo DB to connect to
required: true
managed: true
retrieve: endpoint
as: MONGO_SERVICE_URI
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
version: '3'

services:
mongo:
image: mongo:3.2
command: --nojournal
networks:
- orion
orion:
image: fiware/orion:1.9.0
ports:
- 1026:1026
command: -dbhost mongo
networks:
- orion

networks:
orion:
driver: overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: orion
version: simple-1.9.0
description: Orion Context Broker
protocol_type: HTTP
ngsi_version: 1
36 changes: 36 additions & 0 deletions recipes/data-management/cygnus/ha/mastermind.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: cygnus
version: 1.0.0
description: Cygnus is a connector in charge of persisting Orion Context Broker context data in certain configured third-party storages, creating a historical view of such data.
protocol_type: HTTP
ngsi_version: 1
environment_variables:
- variable: CYGNUS_MYSQL_HOST
name: MySQL Host
description: MySQL Host to use. This recipe launches its own MySQL database, so the default value will work. If the user wants to use a different MySQL database, change this
required: true
managed: true
default: mysql
- variable: CYGNUS_MYSQL_USER
name: MySQL User
description: MySQL User for the database to use with Cygnus
required: true
managed: true
default: root
- variable: CYGNUS_MYSQL_PASS
name: MySQL Password
description: MySQL Password for the database to use with Cygnus
required: true
managed: true
default: mypassword
- variable: MYSQL_ROOT_PASSWORD
name: MySQL Root Password
description: MySQL Root Password for the database to start with Cygnus
required: true
managed: true
default: mypassword
- variable: DOCKER_MTU
name: Docker MTU
description: The MTU to use for Docker
required: true
managed: true
default: 1400
53 changes: 53 additions & 0 deletions recipes/data-management/oc-portal/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
version: '3'

services:
catalogue:
image: cerfoglg/catalogue
ports:
- "80:80"
networks:
- backend
environment:
- DJANGO_SETTINGS_MODULE=select4cities.settings.docker_compose_deployment
- LOCAL="True"
- ALLOWED_HOST=${ALLOWED_HOST}
- DEVELOPER_EMAIL=${DEVELOPER_EMAIL}
- ADMIN_NAME=${ADMIN_NAME}
- MYSQL_DATABASE_NAME=${MYSQL_DATABASE_NAME}
- MYSQL_DATABASE_USER=${MYSQL_DATABASE_USER}
- MYSQL_DATABASE_PASSWORD=${MYSQL_DATABASE_PASSWORD}
- MYSQL_DATABASE_HOST=${MYSQL_DATABASE_HOST}
- MYSQL_DATABASE_PORT=${MYSQL_DATABASE_PORT}
- KEYCLOAK_SERVER_HOST=${KEYCLOAK_SERVER_HOST}
- KEYCLOAK_SERVER_PORT=${KEYCLOAK_SERVER_PORT}
- KEYCLOAK_ADMIN_USERNAME=${KEYCLOAK_ADMIN_USERNAME}
- KEYCLOAK_ADMIN_PASSWORD=${KEYCLOAK_ADMIN_PASSWORD}
- PUBLIC_CLIENT_ID=${PUBLIC_CLIENT_ID}
- PUBLIC_URI=${PUBLIC_URI}
- CONFIDENTIAL_CLIENT_ID=${CONFIDENTIAL_CLIENT_ID}
- CONFIDENTIAL_CLIENT_SECRET=${CONFIDENTIAL_CLIENT_SECRET}
- IOT_MANAGER_URL=${IOT_MANAGER_URL}
- ORION_HOST=${ORION_HOST}
- ORION_PORT=${ORION_PORT}
- QL_HOST=${QL_HOST}
- QL_PORT=${QL_PORT}
- ES_HOST=${ES_HOST}
- ES_PORT=${ES_PORT}

kibana:
image: docker.elastic.co/kibana/kibana:5.4.2
environment:
- ELASTICSEARCH_URL=http://${ES_HOST}:${ES_PORT}
- SERVER_PORT=5601
ports:
- "5601:5601"
networks:
- backend

networks:
default:
driver_opts:
com.docker.network.driver.mtu: 1500
backend:
driver: overlay
external: true
150 changes: 150 additions & 0 deletions recipes/data-management/oc-portal/mastermind.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
name: portal
version: latest
description: Orchestra Cities Portal platform
protocol_type: HTTP
ngsi_version: 1
environment_variables:
- variable: ALLOWED_HOST
name: Allowed host
description: The allowed host for the Portal (it should be the ip of the Docker swarm's Master Node for example)
required: true
managed: true
default: 192.168.99.100
- variable: DEVELOPER_EMAIL
name: Developer Email
description: The email of the developer deploying this Portal instance
required: true
managed: true
default: admin@mail.com
- variable: ADMIN_NAME
name: Admin Name
description: The name of the adnin for this Portal instance
required: true
managed: true
default: admin
- variable: MYSQL_DATABASE_NAME
name: MySQL Database Name
description: The name of the database for the Portal
required: true
managed: true
default: catalogue
- variable: MYSQL_DATABASE_USER
name: MySQL Database User
description: The name of the user for the database of the Portal
required: true
managed: true
default: root
- variable: MYSQL_DATABASE_PASSWORD
name: MySQL Database Password
description: The password for the database of the Portal
required: true
managed: true
default: r00t
- variable: MYSQL_DATABASE_PORT
name: MySQL Database Port
description: The port for the MySQL database
required: true
managed: true
default: 3306
- variable: KEYCLOAK_SERVER_PORT
name: Keycloak Port
description: The port for the Keycloak instance
required: true
managed: true
default: 8080
- variable: KEYCLOAK_ADMIN_USERNAME
name: Keycloak Admin Username
description: The username of the Keycloak admin to use
required: true
managed: true
default: keycloak
- variable: KEYCLOAK_ADMIN_PASSWORD
name: Keycloak Admin Password
description: The password of the Keycloak admin to use
required: true
managed: true
default: password
- variable: PUBLIC_CLIENT_ID
name: Keycloak Public Client ID
description: The ID of the Keycloak public openID Connect client to use
required: true
managed: true
default: privacy-manager
- variable: PUBLIC_URI
name: Portal Public URI
description: The URI to use for the Portal (should use the master node of the Swarm Cluster)
required: true
managed: true
default: http://192.168.99.100:80
- variable: CONFIDENTIAL_CLIENT_ID
name: Portal Condifental Client ID
description: The ID of the Keycloak confidential/private openID Connect client to use
required: true
managed: true
default: privacy-manager-openid
- variable: CONFIDENTIAL_CLIENT_SECRET
name: Portal Condifental Client Secret
description: The Secret of the Keycloak confidential/private openID Connect client to use
required: true
managed: true
default: a0007871-6fa5-4c34-9343-a9ecf9146382
- variable: IOT_MANAGER_URL
name: IoT Manager URL
description: The URL of the IoT Manager used by the Portal
required: true
managed: true
default: https://iot-manager.com
- variable: ORION_PORT
name: Orion Port
description: The Port used by Orion
required: true
managed: true
default: 1026
- variable: QL_PORT
name: QuantumLeap Port
description: The Port used by QuantumLeap
required: true
managed: true
default: 8668
- variable: ES_PORT
name: ElasticSearch Port
description: The Port used by ElasticSearch
required: true
managed: true
default: 9200
services:
- service_type: mysql
name: MySQL Host
description: The host of the MySQL Database to connect the Portal to
required: true
managed: true
retrieve: endpoint
as: MYSQL_DATABASE_HOST
- service_type: keycloak
name: Keycloak Host
description: The host of the Keycloak instance to use for the Portal
required: true
managed: true
retrieve: endpoint
as: KEYCLOAK_SERVER_HOST
- service_type: orion
name: Orion Host
description: The host of the Orion instance to use for the Portal
required: true
managed: true
retrieve: endpoint
as: ORION_HOST
- service_type: quantumleap
name: QuantumLeap Host
description: The host of the QuantumLeap instance to use for the Portal
required: true
managed: true
retrieve: endpoint
as: QL_HOST
- service_type: elasticsearch
name: ElasticSearch Host
description: The host of the ElasticSearch instance to use for the Portal
required: true
managed: true
retrieve: endpoint
as: ES_HOST

0 comments on commit 7a90cca

Please sign in to comment.