Graph Extension Configuration

Introduction

The Infinite Scale Graph extension provides a simple graph world API which can be used by clients or other extensions.

Extensions are under development because of the beta badge 1 stage of Infinite Scale. Their service, environment variables and configuration may change. Forgive us if there are mistakes or information is missing. Feel free to report issues and we’ll take care of them as soon as possible on github. You want to fix them yourself? We’d appreciate that even more.

Sequence Diagram

The following image gives an overview when a client request to list available spaces the user has access to. To do so, the client is directed with his request automatically via the proxy extension to the graph extension.

mermaid graph

Configuration

Environment Variables

The graph extension is configured via the following environment variables:

Environment variables for the graph extension
Name Type Default Value Description

OCIS_TRACING_ENABLED
GRAPH_TRACING_ENABLED

bool

false

OCIS_TRACING_TYPE
GRAPH_TRACING_TYPE

string

OCIS_TRACING_ENDPOINT
GRAPH_TRACING_ENDPOINT

string

OCIS_TRACING_COLLECTOR
GRAPH_TRACING_COLLECTOR

string

OCIS_LOG_LEVEL
GRAPH_LOG_LEVEL

string

OCIS_LOG_PRETTY
GRAPH_LOG_PRETTY

bool

false

OCIS_LOG_COLOR
GRAPH_LOG_COLOR

bool

false

OCIS_LOG_FILE
GRAPH_LOG_FILE

string

GRAPH_DEBUG_ADDR

string

127.0.0.1:9124

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

GRAPH_DEBUG_TOKEN

string

Token to secure the metrics endpoint

GRAPH_DEBUG_PPROF

bool

false

Enables pprof, which can be used for profiling

GRAPH_DEBUG_ZPAGES

bool

false

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

GRAPH_HTTP_ADDR

string

127.0.0.1:9120

GRAPH_HTTP_ROOT

string

/graph

REVA_GATEWAY

string

127.0.0.1:9142

OCIS_JWT_SECRET
GRAPH_JWT_SECRET

string

OCIS_URL
GRAPH_SPACES_WEBDAV_BASE

string

https://localhost:9200

GRAPH_SPACES_WEBDAV_PATH

string

/dav/spaces/

GRAPH_SPACES_DEFAULT_QUOTA

string

1000000000

OCIS_INSECURE
GRAPH_SPACES_INSECURE

bool

false

GRAPH_SPACES_EXTENDED_SPACE_PROPERTIES_CACHE_TTL

int

0

GRAPH_IDENTITY_BACKEND

string

ldap

LDAP_URI
GRAPH_LDAP_URI

string

ldaps://localhost:9235

OCIS_INSECURE
GRAPH_LDAP_INSECURE

bool

true

LDAP_BIND_DN
GRAPH_LDAP_BIND_DN

string

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

LDAP_BIND_PASSWORD
GRAPH_LDAP_BIND_PASSWORD

string

GRAPH_LDAP_SERVER_UUID

bool

false

GRAPH_LDAP_SERVER_WRITE_ENABLED

bool

true

LDAP_USER_BASE_DN
GRAPH_LDAP_USER_BASE_DN

string

ou=users,o=libregraph-idm

LDAP_USER_SCOPE
GRAPH_LDAP_USER_SCOPE

string

sub

LDAP_USER_FILTER
GRAPH_LDAP_USER_FILTER

string

LDAP_USER_OBJECTCLASS
GRAPH_LDAP_USER_OBJECTCLASS

string

inetOrgPerson

LDAP_USER_SCHEMA_MAIL
GRAPH_LDAP_USER_EMAIL_ATTRIBUTE

string

mail

LDAP_USER_SCHEMA_DISPLAY_NAME
GRAPH_LDAP_USER_DISPLAYNAME_ATTRIBUTE

string

displayName

LDAP_USER_SCHEMA_USERNAME
GRAPH_LDAP_USER_NAME_ATTRIBUTE

string

uid

LDAP_USER_SCHEMA_ID
GRAPH_LDAP_USER_UID_ATTRIBUTE

string

owncloudUUID

LDAP_GROUP_BASE_DN
GRAPH_LDAP_GROUP_BASE_DN

string

ou=groups,o=libregraph-idm

LDAP_GROUP_SCOPE
GRAPH_LDAP_GROUP_SEARCH_SCOPE

string

sub

LDAP_GROUP_FILTER
GRAPH_LDAP_GROUP_FILTER

string

LDAP_GROUP_OBJECTCLASS
GRAPH_LDAP_GROUP_OBJECTCLASS

string

groupOfNames

LDAP_GROUP_SCHEMA_GROUPNAME
GRAPH_LDAP_GROUP_NAME_ATTRIBUTE

string

cn

LDAP_GROUP_SCHEMA_ID
GRAPH_LDAP_GROUP_ID_ATTRIBUTE

string

owncloudUUID

GRAPH_EVENTS_ENDPOINT

string

127.0.0.1:9233

the address of the streaming service

GRAPH_EVENTS_CLUSTER

string

ocis-cluster

the clusterID of the streaming service. Mandatory when using nats

Since Version: + added, - deprecated

YAML Example

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

tracing:
  enabled: false
  type: ""
  endpoint: ""
  collector: ""
log:
  level: ""
  pretty: false
  color: false
  file: ""
debug:
  addr: 127.0.0.1:9124
  token: ""
  pprof: false
  zpages: false
http:
  addr: 127.0.0.1:9120
  root: /graph
reva:
  address: 127.0.0.1:9142
token_manager:
  jwt_secret: ""
spaces:
  webdav_base: https://localhost:9200
  webdav_path: /dav/spaces/
  default_quota: "1000000000"
  insecure: false
  extended_space_properties_cache_ttl: 0
identity:
  backend: ldap
  ldap:
    uri: ldaps://localhost:9235
    insecure: true
    bind_dn: uid=libregraph,ou=sysusers,o=libregraph-idm
    bind_password: ""
    use_server_uuid: false
    write_enabled: true
    user_base_dn: ou=users,o=libregraph-idm
    user_search_scope: sub
    user_filter: ""
    user_objectclass: inetOrgPerson
    user_mail_attribute: mail
    user_displayname_attribute: displayName
    user_name_attribute: uid
    user_id_attribute: owncloudUUID
    group_base_dn: ou=groups,o=libregraph-idm
    group_search_scope: sub
    group_filter: ""
    group_objectclass: groupOfNames
    group_name_attribute: cn
    group_id_attribute: owncloudUUID
events:
  endpoint: 127.0.0.1:9233
  cluster: ocis-cluster