-application:
  -root: string
  -env: string
  -RAILS_ROOT: string
  -RAILS_ENV: string
-auth:
  arbitrary: true
  value-types:
    string:
      required: false
    map:
      -domain: string
      -credentials:
        arbitrary: true
-environment:
  arbitrary: true
-injection:
  -enabled: boolean
-jobs:
  dependencies: /application/root
  type: map
  arbitrary: true
  -concurrency: integer
  value-types:
    integer:
      required: false
    map:
      job: string
      cron: string
      -description: string
      -singleton: boolean
      -config:
        type: map
        arbitrary: true
      -timeout:
        type: string
        regex: ^[0-9]+(\s*(ms|s|m|h)\s*){0,1}$
-messaging:
  type: map
  arbitrary: true
  -default_message_encoding:
    type: enum
    values: [marshal, marshal_base64, json, text]
  value-types:
    string:
    map:
      arbitrary: true
      value-types:
        string:
          required: false
        map:
          -concurrency: integer
          -selector: string
          -durable: boolean
          -config:
            type: map
            arbitrary: true
          -client_id: string
          -singleton: boolean
    list:
      value-types:
        string:
        map: 
          arbitrary: true
          value-types:
            map:
              -concurrency: integer
              -selector: string
              -durable: boolean
              -config:
                arbitrary: true
              -client_id: string
              -singleton: boolean
-pooling:
  dependencies: /application/root
  arbitrary: true
  value-types:
    enum:
      values: [shared, global]
    map:
      -min: integer
      -max: integer
      -type: string
      -lazy: boolean
-queues:
  arbitrary: true
  value-types:
    string:
      required: false
    map:
      -durable: boolean
-ruby:
  dependencies: /application/root
  type: map
  -version:
    type: enum
    values: [1.8, 1.9]
  -compile_mode:
    type: enum
    values: [jit, force, off]
  -debug: boolean
  -interactive: boolean
  -profile_api: boolean
-services:
  dependencies: /application/root
  arbitrary: true
  value-types:
    string:
      required: false
    map:
      arbitrary: true
      -service: string
      -singleton: boolean
      -config:
        arbitrary: true
-stomp:
  dependencies: /application/root
  -host: string
  stomplets:
    arbitrary: true
    value-types:
      map:
       route: string
       class: string
       -config:
         arbitrary: true
-topics:
  arbitrary: true
  value-types:
    string:
      required: false
    map:
      -durable: boolean
-tasks:
  arbitrary: true
  dependencies: /application/root
  value-types:
    string:
      required: false
    map:
      -concurrency: integer
-web:
  arbitrary: true
  dependencies: /application/root
  -rackup:
  -host:
    type:
      - string
      - list:
        value-types: string
  -context:
  -static:
  -session-timeout:
    type: string
    regex: ^[0-9]+(\s*(ms|s|m|h)\s*){0,1}$
