Application Type - Docker
Docker Application is a application that runs Docker containers. You need to specify Docker image and ports.
Example configuration
app:
name: 'fridge-app'
version: '1.1.0'
appType: 'standard'
procType: 'docker'
processProvider:
name: 'DockerOsProcessProviderImpl'
version: '1.0.0'
executable:
start:
imageName: 'onteon/demo-app-fridge:1.1.0'
exposedPort: '${ont_port_1}'
innerPort: '3000'
pullNewerImage: false
successLine: 'Listening at port 3000'
runtimeOptions: null
placeHolder:
name: 'PlaceHolderManagerImpl'
version: '1.0.0'
filesToReplace: []
variables: {}
serviceRepository:
healthCheckUrl: 'http://${address}:${ont_port_1}/isAlive'
entities:
- entity:
priority: 1
port: ${ont_port_1}
protocol:
type: 'HTTP'
version: '1.1'
isExternal: true
isInternal: true
Configuration keys
app.name
Name of application.
app:
name: 'application-name'
app.version
Version of application.
app:
version: '1.0.0'
app.type
Application type. It should be set to standard
.
Possible values:
- standard - Standard application.
- embedded - Application used for internal purposes, such as edge balancer.
- unknown - Unknown application.
app:
appType: 'standard'
app.procType
Process type. It should be set to docker
.
Possible values:
- native - Native application.
- docker - Docker application.
- unknown - Unknown application.
app:
procType: 'native'
app.processProvider.name
Name of process provider. It should be set to DockerOsProcessProviderImpl
.
Possible values:
- GenericOsProcessProviderImpl - for native processes.
- JVMOsProcessProviderImpl - for native JVM processes.
- DockerOsProcessProviderImpl - for docker processes.
app:
processProvider:
name: 'DockerOsProcessProviderImpl'
app.processProvider.version
Version of process provider. It should be set to 1.0.0
.
app:
processProvider:
version: '1.0.0'
app.processProvider.version.executable.start.imageName
Docker image name.
app:
processProvider:
executable:
start:
imageName: 'docker-application-image:1.0.0'
app.processProvider.version.executable.start.exposedPort
Exposed docker container port.
app:
processProvider:
executable:
start:
exposedPort: '${ont_port_1}'
app.processProvider.version.executable.start.innerPort
Inner docker container port, that will be exposed.
app:
processProvider:
executable:
start:
innerPort: '3000'
app.processProvider.version.executable.start.pullNewerImage
If true, it will not pull newer images.
app:
processProvider:
executable:
start:
pullNewerImage: false
app.processProvider.version.executable.start.successLine
Log line that will determine that the application has started. If you do not specify success line, Onteon node will wait 90 seconds. Wait time can be changed here.
app:
processProvider:
executable:
start:
successLine: 'Application started...'
app.processProvider.version.executable.start.runtimeOptions
Additional runtime options for docker command.
app:
processProvider:
executable:
start:
runtimeOptions: null
app.placeHolder.name
Placeholder name.
app:
placeHolder:
name: 'PlaceHolderManagerImpl'
app.placeHolder.version
Placeholder version.
app:
placeHolder:
version: '1.0.0'
app.placeHolder.filesToReplace
List of files that will have placeholder replaced.
app:
placeHolder:
filesToReplace: []
app.placeHolder.variables
Placeholders variables in key-value format.
app:
placeHolder:
variables: {}
app.serviceRepository.healthCheckUrl
Url that will determine if application is alive.
app:
serviceRepository:
healthCheckUrl: 'http://${address}:${ont_port_1}/isAlive/'
app.serviceRepository.entities
List of service repository entities.
app:
serviceRepository:
entities:
- entity:
priority: 1
port: ${ont_port_1} # entity port
protocol:
type: 'HTTP' # entity protocol
version: '1.1' # entity protocol version
isExternal: true # if true, application will be available in edge balancer
isInternal: true # if true, application will be available in inner balancer