---
name: auctioneer

templates:
  auctioneer.json.erb: config/auctioneer.json
  auctioneer_as_vcap.erb: bin/auctioneer_as_vcap
  auctioneer_ca.crt.erb: config/certs/auctioneer/ca.crt
  auctioneer_ctl.erb: bin/auctioneer_ctl
  auctioneer_server.crt.erb: config/certs/auctioneer/server.crt
  auctioneer_server.key.erb: config/certs/auctioneer/server.key
  bbs_ca.crt.erb: config/certs/bbs/ca.crt
  bbs_client.crt.erb: config/certs/bbs/client.crt
  bbs_client.key.erb: config/certs/bbs/client.key
  bpm.yml.erb: config/bpm.yml
  drain.erb: bin/drain
  rep_ca.crt.erb: config/certs/rep/ca.crt
  rep_client.crt.erb: config/certs/rep/client.crt
  rep_client.key.erb: config/certs/rep/client.key
  loggregator_ca.crt.erb: config/certs/loggregator/ca.crt
  loggregator_client.crt.erb: config/certs/loggregator/client.crt
  loggregator_client.key.erb: config/certs/loggregator/client.key

packages:
  - pid_utils
  - auctioneer

properties:
  bpm.enabled:
    description: "Experimental: use the BOSH Process Manager to manage the auctioneer process."
    default: false
  diego.auctioneer.ca_cert:
    description: "PEM-encoded CA certificate for the auctioneer API server."
  diego.auctioneer.server_cert:
    description: "PEM-encoded certificate for the auctioneer API server."
  diego.auctioneer.server_key:
    description: "PEM-encoded key for the auctioneer API server."

  diego.auctioneer.debug_addr:
    description: "address at which to serve debug info"
    default: "127.0.0.1:17001"
  diego.auctioneer.listen_addr:
    description: "address where auctioneer listens for LRP and task start auction requests"
    default: "0.0.0.0:9016"
  diego.auctioneer.log_level:
    description: "Log level"
    default: "info"
  diego.auctioneer.cell_state_timeout:
    description: "Timeout applied to HTTP requests to the Cell State endpoint."
    default: "10s"
  diego.auctioneer.starting_container_weight:
    description: "Factor to bias against cells with starting containers (0.0 - 1.0)"
    default: 0.25
  diego.auctioneer.starting_container_count_maximum:
    description: "Maximum number of inflight container starts allowed globally. Value of 0 or less indicates no limit."
    default: 0
  diego.auctioneer.dropsonde_port:
    description: "local metron agent's port. Deprecated, will be removed when loggregator API v1 support is removed."
    default: 3457

  diego.auctioneer.bbs.api_location:
    description: "Address to the BBS Server"
    default: "bbs.service.cf.internal:8889"
  diego.auctioneer.bbs.ca_cert:
    description: "PEM-encoded CA certificate"
  diego.auctioneer.bbs.client_cert:
    description: "PEM-encoded client certificate"
  diego.auctioneer.bbs.client_key:
    description: "PEM-encoded client key"
  diego.auctioneer.bbs.require_ssl:
    description: "require ssl for all communication with the bbs. Deprecated, TLS will be required for the bbs in Diego v2.0+."
    default: true
  diego.auctioneer.bbs.client_session_cache_size:
    description: "capacity of the tls client cache"
  diego.auctioneer.bbs.max_idle_conns_per_host:
    description: "maximum number of idle http connections"

  diego.auctioneer.rep.require_tls:
    description: "Whether to require TLS for communication to the securable rep API server"
    default: false
  diego.auctioneer.rep.ca_cert:
    description: "CA cert for communication to the rep."
  diego.auctioneer.rep.client_cert:
    description: "Client cert for communication to the rep."
  diego.auctioneer.rep.client_key:
    description: "Client key for communication to the rep."
  diego.auctioneer.rep.client_session_cache_size:
    description: "capacity of the tls client cache"
    default: 4096

  diego.auctioneer.locket.api_location:
    description: "Hostname and port of the Locket server. When set, the BBS attempts to claim a lock from the Locket API."
  diego.auctioneer.skip_consul_lock:
    default: false
    description: "Set to 'true' for the auctioneer to skip acquiring a Consul lock. Requires 'diego.auctioneer.locket.api_location' to be set."

  enable_consul_service_registration:
    description: "Enable the auctioneer to register itself as a service with Consul, for client discovery via Consul DNS. Do not disable without arranging alternate service discovery."
    default: true

  loggregator.use_v2_api:
    description: "True to use local metron agent gRPC v2 API. False to use UDP v1 API."
    default: false
  loggregator.v2_api_port:
    description: "Local metron agent gRPC port"
    default: 3458
  loggregator.ca_cert:
    description: "CA Cert used to communicate with local metron agent over gRPC"
  loggregator.cert:
    description: "Cert used to communicate with local metron agent over gRPC"
  loggregator.key:
    description: "Key used to communicate with local metron agent over gRPC"
