App-Registry Service Configuration
Introduction
The Infinite Scale App-Registry service is the single point where all apps register themselves and their respective supported mime types.
Administrators can set default applications on a per MIME type basis and also allow the creation of new files for certain MIME types. This per MIME type configuration also features a description, file extension option and an icon.
MIME Type Configuration / Creation Allow List
The apps will register their supported MIME types automatically, so that users can open supported files with them.
Administrators can set default applications for each MIME type and also allow the creation of new files for certain mime types. This, per MIME type configuration, also features a description, file extension option and an icon.
MIME Type Configuration
Modifing the MIME type config can only be achieved via a yaml configuration. Using environment variables is not possible. For an example, see the ocis_wopi/config/ocis/app-registry.yaml
at docker-compose example. The following is a brief structure and a field description:
- Structure
-
app_registry: mimetypes: - mime_type: application/vnd.oasis.opendocument.spreadsheet extension: ods name: OpenSpreadsheet description: OpenDocument spreadsheet document icon: https://some-website.test/opendocument-spreadsheet-icon.png default_app: Collabora allow_creation: true - mime_type: ...
- Fields
-
-
mime_type
The MIME type you want to configure. -
extension
The file extension to be used for new files. -
name
The name of the file / MIME type. -
description
The human-readable description of the file / MIME type. -
icon
The URL to an icon which should be used for that MIME type. -
default_app
The name of the default app which opens this MIME type if the user doesn’t specify one. -
allow_creation
Whether a user should be able to create new files of that MIME type (true or false).
-
App Drivers
App drivers represent apps if the app is not able to register itself. Currently there is only the CS3org WOPI server app driver.
CS3org WOPI Server App Driver
The CS3org WOPI server app driver is included in Infinite Scale by default. It needs at least one WOPI-compliant app like Collabora, OnlyOffice or the Microsoft Online Server or a CS3org WOPI bridge supported app like CodiMD or Etherpad and the CS3org WOPI server.
App Provider Configuration
The configuration of the actual app provider in a docker-compose example can be found in the full ocis-wopi
example directory especially in the config sections ocis-appprovider-collabora
and ocis-appprovider-onlyoffice
.
Configuration
Environment Variables
The app-registry
service is configured via the following environment variables. Read the Environment Variable Types documentation for important details.
Name | Type | Default Value | Description |
---|---|---|---|
|
bool |
false |
Activates tracing. |
|
string |
|
The type of tracing. Defaults to '', which is the same as 'jaeger'. Allowed tracing types are 'jaeger' and '' as of now. |
|
string |
|
The endpoint of the tracing agent. |
|
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. |
|
string |
|
The log level. Valid values are: 'panic', 'fatal', 'error', 'warn', 'info', 'debug', 'trace'. |
|
bool |
false |
Activates pretty log output. |
|
bool |
false |
Activates colorized log output. |
|
string |
|
The path to the log file. Activates logging to this file if set. |
|
string |
127.0.0.1:9243 |
Bind address of the debug server, where metrics, health, config and debug endpoints will be exposed. |
|
string |
|
Token to secure the metrics endpoint. |
|
bool |
false |
Enables pprof, which can be used for profiling. |
|
bool |
false |
Enables zpages, which can be used for collecting and viewing in-memory traces. |
|
string |
127.0.0.1:9242 |
The bind address of the GRPC service. |
|
string |
tcp |
The transport protocol of the GRPC service. |
|
string |
|
The secret to mint and validate jwt tokens. |
|
string |
com.owncloud.api.gateway |
The CS3 gateway endpoint. |
|
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. |
|
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. |
YAML Example
-
Note the file shown below must be renamed and placed in the correct folder according to the Configuration File Naming conventions to be effective.
-
See the Notes for Environment Variables if you want to use environment variables in the yaml file.
# Autogenerated
# Filename: app-registry-config-example.yaml
tracing:
enabled: false
type: ""
endpoint: ""
collector: ""
log:
level: ""
pretty: false
color: false
file: ""
debug:
addr: 127.0.0.1:9243
token: ""
pprof: false
zpages: false
grpc:
addr: 127.0.0.1:9242
tls: null
protocol: tcp
token_manager:
jwt_secret: ""
reva:
address: com.owncloud.api.gateway
tls:
mode: ""
cacert: ""
app_registry:
mimetypes:
- mime_type: application/pdf
extension: pdf
name: PDF
description: PDF document
icon: ""
default_app: ""
allow_creation: false
- mime_type: application/vnd.oasis.opendocument.text
extension: odt
name: OpenDocument
description: OpenDocument text document
icon: ""
default_app: ""
allow_creation: true
- mime_type: application/vnd.oasis.opendocument.spreadsheet
extension: ods
name: OpenSpreadsheet
description: OpenDocument spreadsheet document
icon: ""
default_app: ""
allow_creation: true
- mime_type: application/vnd.oasis.opendocument.presentation
extension: odp
name: OpenPresentation
description: OpenDocument presentation document
icon: ""
default_app: ""
allow_creation: true
- mime_type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
extension: docx
name: Microsoft Word
description: Microsoft Word document
icon: ""
default_app: ""
allow_creation: true
- mime_type: application/vnd.openxmlformats-officedocument.wordprocessingml.form
extension: docxf
name: Form Document
description: Form Document
icon: ""
default_app: ""
allow_creation: true
- mime_type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
extension: xlsx
name: Microsoft Excel
description: Microsoft Excel document
icon: ""
default_app: ""
allow_creation: true
- mime_type: application/vnd.openxmlformats-officedocument.presentationml.presentation
extension: pptx
name: Microsoft PowerPoint
description: Microsoft PowerPoint document
icon: ""
default_app: ""
allow_creation: true
- mime_type: application/vnd.jupyter
extension: ipynb
name: Jupyter Notebook
description: Jupyter Notebook
icon: ""
default_app: ""
allow_creation: false
- mime_type: text/markdown
extension: md
name: Markdown file
description: Markdown file
icon: ""
default_app: ""
allow_creation: true
- mime_type: application/compressed-markdown
extension: zmd
name: Compressed markdown file
description: Compressed markdown file
icon: ""
default_app: ""
allow_creation: false
- mime_type: application/vnd.geogebra.slides
extension: ggs
name: GeoGebra Slides
description: GeoGebra Slides
icon: ""
default_app: ""
allow_creation: false