Skip to content

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