Menu

Configure

  • user (object|string) The Unix Flume login name or a user object (see Nikita User documentation).
  • group (object|string) The Unix Flume group name or a group object (see Nikita Group documentation).

Example:

{
  "ryba": {
    "flume": {
      "user": {
        "name": "flume", "system": true, "gid": "flume",
        "comment": "Flume User", "home": "/var/lib/flume"
      },
      "group": {
        "name": "flume", "system": true
      },
      "conf_dir": "/etc/flume/conf"
    }
  }
}
module.exports = (service) ->
  options = service.options

Environment

  options.conf_dir = '/etc/flume/conf'

Identities

  # Group
  options.group = name: options.group if typeof options.group is 'string'
  options.group ?= {}
  options.group.name ?= 'flume'
  options.group.system ?= true
  # User
  options.user = name: options.user if typeof options.user is 'string'
  options.user ?= {}
  options.user.name ?= 'flume'
  options.user.system ?= true
  options.user.gid ?= options.group.name
  options.user.comment ?= 'Flume User'
  options.user.home ?= '/var/lib/flume'

Kerberos

  # Administration
  options.krb5 ?= {}
  options.krb5.realm ?= service.deps.krb5_client.options.etc_krb5_conf?.libdefaults?.default_realm
  throw Error 'Required Options: "realm"' unless options.krb5.realm
  options.krb5.admin ?= service.deps.krb5_client.options.admin[options.krb5.realm]
  # Flume Principal
  options.krb5_user ?= {}
  options.krb5_user.principal ?= "#{options.user.name}/#{service.deps.fqdn}@#{options.krb5.realm}"
  options.krb5_user.keytab ?= "#{options.conf_dir}/flume.service.keytab"
  options.krb5_user.randkey ?= true