Groups Service Configuration

Introduction

The Infinite Scale Group service

Default Values

  • Groups listens on port 9160 by default.

Configuration

Environment Variables

The groups service is configured via the following environment variables. Read the Environment Variable Types documentation for important details. Column IV shows with which release the environment variable has been introduced.

  • 7.0.0

Environment variables for the groups service
Name IV Type Default Value Description

OCIS_TRACING_ENABLED
GROUPS_TRACING_ENABLED

pre5.0

bool

false

Activates tracing.

OCIS_TRACING_TYPE
GROUPS_TRACING_TYPE

pre5.0

string

The type of tracing. Defaults to '', which is the same as 'jaeger'. Allowed tracing types are 'jaeger' and '' as of now.

OCIS_TRACING_ENDPOINT
GROUPS_TRACING_ENDPOINT

pre5.0

string

The endpoint of the tracing agent.

OCIS_TRACING_COLLECTOR
GROUPS_TRACING_COLLECTOR

pre5.0

string

The HTTP endpoint for sending spans directly to a collector, i.e. http://jaeger-collector:14268/api/traces. Only used if the tracing endpoint is unset.

OCIS_LOG_LEVEL
GROUPS_LOG_LEVEL

pre5.0

string

The log level. Valid values are: 'panic', 'fatal', 'error', 'warn', 'info', 'debug', 'trace'.

OCIS_LOG_PRETTY
GROUPS_LOG_PRETTY

pre5.0

bool

false

Activates pretty log output.

OCIS_LOG_COLOR
GROUPS_LOG_COLOR

pre5.0

bool

false

Activates colorized log output.

OCIS_LOG_FILE
GROUPS_LOG_FILE

pre5.0

string

The path to the log file. Activates logging to this file if set.

GROUPS_DEBUG_ADDR

pre5.0

string

127.0.0.1:9161

Bind address of the debug server, where metrics, health, config and debug endpoints will be exposed.

GROUPS_DEBUG_TOKEN

pre5.0

string

Token to secure the metrics endpoint.

GROUPS_DEBUG_PPROF

pre5.0

bool

false

Enables pprof, which can be used for profiling.

GROUPS_DEBUG_ZPAGES

pre5.0

bool

false

Enables zpages, which can be used for collecting and viewing in-memory traces.

GROUPS_GRPC_ADDR

pre5.0

string

127.0.0.1:9160

The bind address of the GRPC service.

OCIS_GRPC_PROTOCOL
GROUPS_GRPC_PROTOCOL

pre5.0

string

tcp

The transport protocol of the GRPC service.

OCIS_JWT_SECRET
GROUPS_JWT_SECRET

pre5.0

string

The secret to mint and validate jwt tokens.

OCIS_REVA_GATEWAY

pre5.0

string

com.owncloud.api.gateway

The CS3 gateway endpoint.

OCIS_GRPC_CLIENT_TLS_MODE

pre5.0

string

TLS mode for grpc connection to the go-micro based grpc services. Possible values are 'off', 'insecure' and 'on'. 'off': disables transport security for the clients. 'insecure' allows using transport security, but disables certificate verification (to be used with the autogenerated self-signed certificates). 'on' enables transport security, including server certificate verification.

OCIS_GRPC_CLIENT_TLS_CACERT

pre5.0

string

Path/File name for the root CA certificate (in PEM format) used to validate TLS server certificates of the go-micro based grpc services.

GROUPS_SKIP_USER_GROUPS_IN_TOKEN

pre5.0

bool

false

Disables the loading of user’s group memberships from the reva access token.

GROUPS_DRIVER

pre5.0

string

ldap

The driver which should be used by the groups service. Supported values are 'ldap' and 'owncloudsql'.

OCIS_LDAP_URI
GROUPS_LDAP_URI

pre5.0

string

ldaps://localhost:9235

URI of the LDAP Server to connect to. Supported URI schemes are 'ldaps://' and 'ldap://'

OCIS_LDAP_CACERT
GROUPS_LDAP_CACERT

pre5.0

string

/var/lib/ocis/idm/ldap.crt

Path/File name for the root CA certificate (in PEM format) used to validate TLS server certificates of the LDAP service. If not defined, the root directory derives from $OCIS_BASE_DATA_PATH/idm.

OCIS_LDAP_INSECURE
GROUPS_LDAP_INSECURE

pre5.0

bool

false

Disable TLS certificate validation for the LDAP connections. Do not set this in production environments.

OCIS_LDAP_BIND_DN
GROUPS_LDAP_BIND_DN

pre5.0

string

uid=reva,ou=sysusers,o=libregraph-idm

LDAP DN to use for simple bind authentication with the target LDAP server.

OCIS_LDAP_BIND_PASSWORD
GROUPS_LDAP_BIND_PASSWORD

pre5.0

string

Password to use for authenticating the 'bind_dn'.

OCIS_LDAP_USER_BASE_DN
GROUPS_LDAP_USER_BASE_DN

pre5.0

string

ou=users,o=libregraph-idm

Search base DN for looking up LDAP users.

OCIS_LDAP_GROUP_BASE_DN
GROUPS_LDAP_GROUP_BASE_DN

pre5.0

string

ou=groups,o=libregraph-idm

Search base DN for looking up LDAP groups.

OCIS_LDAP_USER_SCOPE
GROUPS_LDAP_USER_SCOPE

pre5.0

string

sub

LDAP search scope to use when looking up users. Supported scopes are 'base', 'one' and 'sub'.

OCIS_LDAP_GROUP_SCOPE
GROUPS_LDAP_GROUP_SCOPE

pre5.0

string

sub

LDAP search scope to use when looking up groups. Supported scopes are 'base', 'one' and 'sub'.

LDAP_GROUP_SUBSTRING_FILTER_TYPE
GROUPS_LDAP_GROUP_SUBSTRING_FILTER_TYPE

pre5.0

string

any

Type of substring search filter to use for substring searches for groups. Supported values are 'initial', 'final' and 'any'. The value 'initial' is used for doing prefix only searches, 'final' for doing suffix only searches or 'any' for doing full substring searches

OCIS_LDAP_USER_FILTER
GROUPS_LDAP_USER_FILTER

pre5.0

string

LDAP filter to add to the default filters for user search like '(objectclass=ownCloud)'.

OCIS_LDAP_GROUP_FILTER
GROUPS_LDAP_GROUP_FILTER

pre5.0

string

LDAP filter to add to the default filters for group searches.

OCIS_LDAP_USER_OBJECTCLASS
GROUPS_LDAP_USER_OBJECTCLASS

pre5.0

string

inetOrgPerson

The object class to use for users in the default user search filter ('inetOrgPerson').

OCIS_LDAP_GROUP_OBJECTCLASS
GROUPS_LDAP_GROUP_OBJECTCLASS

pre5.0

string

groupOfNames

The object class to use for groups in the default group search filter ('groupOfNames').

OCIS_URL
OCIS_OIDC_ISSUER
GROUPS_IDP_URL

pre5.0

string

https://localhost:9200

The identity provider value to set in the group IDs of the CS3 group objects for groups returned by this group provider.

OCIS_LDAP_USER_SCHEMA_ID
GROUPS_LDAP_USER_SCHEMA_ID

pre5.0

string

ownclouduuid

LDAP Attribute to use as the unique id for users. This should be a stable globally unique id like a UUID.

OCIS_LDAP_USER_SCHEMA_ID_IS_OCTETSTRING
GROUPS_LDAP_USER_SCHEMA_ID_IS_OCTETSTRING

pre5.0

bool

false

Set this to true if the defined 'ID' attribute for users is of the 'OCTETSTRING' syntax. This is e.g. required when using the 'objectGUID' attribute of Active Directory for the user ID’s.

OCIS_LDAP_USER_SCHEMA_MAIL
GROUPS_LDAP_USER_SCHEMA_MAIL

pre5.0

string

mail

LDAP Attribute to use for the email address of users.

OCIS_LDAP_USER_SCHEMA_DISPLAYNAME
GROUPS_LDAP_USER_SCHEMA_DISPLAYNAME

pre5.0

string

displayname

LDAP Attribute to use for the displayname of users.

OCIS_LDAP_USER_SCHEMA_USERNAME
GROUPS_LDAP_USER_SCHEMA_USERNAME

pre5.0

string

uid

LDAP Attribute to use for username of users.

OCIS_LDAP_GROUP_SCHEMA_ID
GROUPS_LDAP_GROUP_SCHEMA_ID

pre5.0

string

ownclouduuid

LDAP Attribute to use as the unique id for groups. This should be a stable globally unique ID like a UUID.

OCIS_LDAP_GROUP_SCHEMA_ID_IS_OCTETSTRING
GROUPS_LDAP_GROUP_SCHEMA_ID_IS_OCTETSTRING

pre5.0

bool

false

Set this to true if the defined 'id' attribute for groups is of the 'OCTETSTRING' syntax. This is e.g. required when using the 'objectGUID' attribute of Active Directory for the group ID’s.

OCIS_LDAP_GROUP_SCHEMA_MAIL
GROUPS_LDAP_GROUP_SCHEMA_MAIL

pre5.0

string

mail

LDAP Attribute to use for the email address of groups (can be empty).

OCIS_LDAP_GROUP_SCHEMA_DISPLAYNAME
GROUPS_LDAP_GROUP_SCHEMA_DISPLAYNAME

pre5.0

string

cn

LDAP Attribute to use for the displayname of groups (often the same as groupname attribute).

OCIS_LDAP_GROUP_SCHEMA_GROUPNAME
GROUPS_LDAP_GROUP_SCHEMA_GROUPNAME

pre5.0

string

cn

LDAP Attribute to use for the name of groups.

OCIS_LDAP_GROUP_SCHEMA_MEMBER
GROUPS_LDAP_GROUP_SCHEMA_MEMBER

pre5.0

string

member

LDAP Attribute that is used for group members.

GROUPS_OWNCLOUDSQL_DB_USERNAME

pre5.0

string

owncloud

Database user to use for authenticating with the owncloud database.

GROUPS_OWNCLOUDSQL_DB_PASSWORD

pre5.0

string

Password for the database user.

GROUPS_OWNCLOUDSQL_DB_HOST

pre5.0

string

mysql

Hostname of the database server.

GROUPS_OWNCLOUDSQL_DB_PORT

pre5.0

int

3306

Network port to use for the database connection.

GROUPS_OWNCLOUDSQL_DB_NAME

pre5.0

string

owncloud

Name of the owncloud database.

GROUPS_OWNCLOUDSQL_IDP

pre5.0

string

https://localhost:9200

The identity provider value to set in the userids of the CS3 user objects for users returned by this user provider.

GROUPS_OWNCLOUDSQL_NOBODY

pre5.0

int64

90

Fallback number if no numeric UID and GID properties are provided.

GROUPS_OWNCLOUDSQL_JOIN_USERNAME

pre5.0

bool

false

Join the user properties table to read usernames.

GROUPS_OWNCLOUDSQL_JOIN_OWNCLOUD_UUID

pre5.0

bool

false

Join the user properties table to read user IDs.

GROUPS_OWNCLOUDSQL_ENABLE_MEDIAL_SEARCH

pre5.0

bool

false

Allow 'medial search' when searching for users instead of just doing a prefix search. This allows finding 'Alice' when searching for 'lic'.

YAML Example

  • 7.0.0

# Autogenerated
# Filename: groups-config-example.yaml

tracing:
  enabled: false
  type: ""
  endpoint: ""
  collector: ""
log:
  level: ""
  pretty: false
  color: false
  file: ""
debug:
  addr: 127.0.0.1:9161
  token: ""
  pprof: false
  zpages: false
grpc:
  addr: 127.0.0.1:9160
  tls: null
  protocol: tcp
token_manager:
  jwt_secret: ""
reva:
  address: com.owncloud.api.gateway
  tls:
    mode: ""
    cacert: ""
skip_user_groups_in_token: false
driver: ldap
drivers:
  ldap:
    uri: ldaps://localhost:9235
    ca_cert: /var/lib/ocis/idm/ldap.crt
    insecure: false
    bind_dn: uid=reva,ou=sysusers,o=libregraph-idm
    bind_password: ""
    user_base_dn: ou=users,o=libregraph-idm
    group_base_dn: ou=groups,o=libregraph-idm
    user_scope: sub
    group_scope: sub
    group_substring_filter_type: any
    user_filter: ""
    group_filter: ""
    user_object_class: inetOrgPerson
    group_object_class: groupOfNames
    idp: https://localhost:9200
    user_schema:
      id: ownclouduuid
      id_is_octet_string: false
      mail: mail
      display_name: displayname
      user_name: uid
    group_schema:
      id: ownclouduuid
      id_is_octet_string: false
      mail: mail
      display_name: cn
      group_name: cn
      member: member
  owncloudsql:
    db_username: owncloud
    db_password: ""
    db_host: mysql
    db_port: 3306
    db_name: owncloud
    idp: https://localhost:9200
    nobody: 90
    join_username: false
    join_owncloud_uuid: false
    enable_medial_search: false