Skip to content

Commit

Permalink
WebDAV Api docs
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Barz <mbarz@owncloud.com>
  • Loading branch information
micbar committed Sep 21, 2023
1 parent 261a527 commit 3279a6c
Show file tree
Hide file tree
Showing 6 changed files with 676 additions and 21 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ ocis/cmd/ocis/config/

# docs
/hugo
/docs/services/*/_index.md

# IDEs
.idea
Expand Down
533 changes: 533 additions & 0 deletions docs/apis/http/webdav/_index.md

Large diffs are not rendered by default.

94 changes: 83 additions & 11 deletions docs/helpers/extended_vars.yaml
Original file line number Diff line number Diff line change
@@ -1,50 +1,82 @@
variables:
- rawname: CS3_GATEWAY
path: services/idp/pkg/backends/cs3/bootstrap/cs3.go:76
foundincode: true
foundincode: false
name: CS3_GATEWAY
type: ""
default_value: ""
description: ""
do_ignore: true
- rawname: CS3_GATEWAY
path: ./services/idp/pkg/backends/cs3/bootstrap/cs3.go:76
foundincode: true
name: CS3_GATEWAY
type: ""
default_value: ""
description: ""
do_ignore: false
- rawname: CS3_MACHINE_AUTH_API_KEY
path: services/idp/pkg/backends/cs3/bootstrap/cs3.go:77
foundincode: true
foundincode: false
name: CS3_MACHINE_AUTH_API_KEY
type: ""
default_value: ""
description: ""
do_ignore: true
- rawname: CS3_MACHINE_AUTH_API_KEY
path: ./services/idp/pkg/backends/cs3/bootstrap/cs3.go:77
foundincode: true
name: CS3_MACHINE_AUTH_API_KEY
type: ""
default_value: ""
description: ""
do_ignore: false
- rawname: MICRO_LOG_LEVEL
path: ocis-pkg/log/log.go:31
path: ./ocis-pkg/log/log.go:31
foundincode: true
name: MICRO_LOG_LEVEL
type: ""
default_value: ""
description: ""
do_ignore: false
- rawname: MICRO_LOG_LEVEL
path: ocis-pkg/log/log.go:31
foundincode: false
name: MICRO_LOG_LEVEL
type: string
default_value: Error
description: Set the log level for the internal go micro framework. Only change
on supervision of ownCloud Support.
do_ignore: false
- rawname: MICRO_LOG_LEVEL
path: ocis-pkg/log/log.go:35
foundincode: true
foundincode: false
name: MICRO_LOG_LEVEL
type: ""
default_value: ""
description: ""
do_ignore: true
- rawname: MICRO_LOG_LEVEL
path: ./ocis-pkg/log/log.go:35
foundincode: true
name: MICRO_LOG_LEVEL
type: ""
default_value: ""
description: ""
do_ignore: false
- rawname: registryEnv
path: ocis-pkg/registry/registry.go:44
foundincode: true
foundincode: false
name: MICRO_REGISTRY
type: string
default_value: ""
description: 'Go micro registry type to use. Supported types are: ''nats'', ''kubernetes'',
''etcd'', ''consul'', ''memory'' and ''mdns''. Will be selected automatically. Only change
on supervision of ownCloud Support.'
''etcd'', ''consul'', ''memory'' and ''mdns''. Will be selected automatically.
Only change on supervision of ownCloud Support.'
do_ignore: false
- rawname: registryAddressEnv
path: ocis-pkg/registry/registry.go:42
foundincode: true
foundincode: false
name: MICRO_REGISTRY_ADDRESS
type: string
default_value: ""
Expand All @@ -53,7 +85,7 @@ variables:
do_ignore: false
- rawname: OCIS_BASE_DATA_PATH
path: ocis-pkg/config/defaults/paths.go:23
foundincode: true
foundincode: false
name: OCIS_BASE_DATA_PATH
type: string
default_value: '''/var/lib/ocis'' or ''$HOME/.ocis/'''
Expand All @@ -62,10 +94,26 @@ variables:
for binary releases. Services can have, if available, an individual setting with
an own environment variable.
do_ignore: false
- rawname: OCIS_BASE_DATA_PATH
path: ./ocis-pkg/config/defaults/paths.go:23
foundincode: true
name: OCIS_BASE_DATA_PATH
type: ""
default_value: ""
description: ""
do_ignore: false
- rawname: OCIS_CONFIG_DIR
path: ocis-pkg/config/defaults/paths.go:56
path: ./ocis-pkg/config/defaults/paths.go:56
foundincode: true
name: OCIS_CONFIG_DIR
type: ""
default_value: ""
description: ""
do_ignore: false
- rawname: OCIS_CONFIG_DIR
path: ocis-pkg/config/defaults/paths.go:56
foundincode: false
name: OCIS_CONFIG_DIR
type: string
default_value: '''/etc/ocis'' or ''$HOME/.ocis/config'''
description: The default directory location for config files. Predefined to '/etc/ocis'
Expand All @@ -74,9 +122,33 @@ variables:
do_ignore: false
- rawname: parts[0]
path: ocis-pkg/config/envdecode/envdecode.go:382
foundincode: true
foundincode: false
name: parts[0]
type: ""
default_value: ""
description: false positive - code that extract envvars for config structs
do_ignore: true
- rawname: parts[0]
path: ./ocis-pkg/config/envdecode/envdecode.go:382
foundincode: true
name: parts[0]
type: ""
default_value: ""
description: ""
do_ignore: false
- rawname: registryAddressEnv
path: ./ocis-pkg/registry/registry.go:42
foundincode: true
name: registryAddressEnv
type: ""
default_value: ""
description: ""
do_ignore: false
- rawname: registryEnv
path: ./ocis-pkg/registry/registry.go:44
foundincode: true
name: registryEnv
type: ""
default_value: ""
description: ""
do_ignore: false
34 changes: 30 additions & 4 deletions docs/services/auth-machine/_index.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,42 @@
---
title: Auth-Machine
date: 2022-03-02T00:00:00+00:00
date: 2023-09-21T09:08:15.21901+02:00
weight: 20
geekdocRepo: https://github.com/owncloud/ocis
geekdocEditPath: edit/master/docs/services/auth-machine
geekdocFilePath: _index.md
geekdocEditPath: edit/master/services/auth-machine
geekdocFilePath: README.md
geekdocCollapseSection: true
---

<!-- Do not edit this file, it is autogenerated. Edit the service README.md instead -->

## Abstract


The oCIS Auth Machine is used for interservice communication when using user impersonation.

ocis uses serveral authentication services for different use cases. All services that start with `auth-` are part of the authentication service family. Each member authenticates requests with different scopes. As of now, these services exist:
- `auth-basic` handles basic authentication
- `auth-bearer` handles oidc authentication
- `auth-machine` handles interservice authentication when a user is impersonated
- `auth-service` handles interservice authentication when using service accounts


## Table of Contents

{{< toc-tree >}}
* [User Impersonation](#user-impersonation)
* [Deprecation](#deprecation)
* [Example Yaml Config](#example-yaml-config)

## User Impersonation

When one ocis service is trying to talk to other ocis services, it needs to authenticate itself. To do so, it will impersonate a user using the `auth-machine` service. It will then act on behalf of this user. Any action will show up as action of this specific user, which gets visible when e.g. logged in the audit log.

## Deprecation

With the upcoming `auth-service` service, the `auth-machine` service will be used less frequently and is probably a candidate for deprecation.
## Example Yaml Config
{{< include file="services/_includes/auth-machine-config-example.yaml" language="yaml" >}}

{{< include file="services/_includes/auth-machine_configvars.md" >}}

4 changes: 2 additions & 2 deletions docs/services/ocdav/_index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: ocDAV
date: 2023-05-31T13:33:51.029749931+02:00
date: 2023-09-21T09:08:15.223649+02:00
weight: 20
geekdocRepo: https://github.com/owncloud/ocis
geekdocEditPath: edit/master/services/ocdav
Expand All @@ -12,8 +12,8 @@ geekdocCollapseSection: true

## Abstract

The ocdav service provides the WebDAV API which is required by ownCloud clients. Previews (thumbnails) are provided by the [WebDAV service](../webdav).

The ocdav service provides the WebDAV API which is required by ownCloud clients. Previews (thumbnails) are provided by the [WebDAV service](../webdav).

## Table of Contents

Expand Down
31 changes: 27 additions & 4 deletions docs/services/sse/_index.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,39 @@
---
title: SSE
date: 2022-08-08T00:00:00+00:00
date: 2023-09-21T09:08:15.226196+02:00
weight: 20
geekdocRepo: https://github.com/owncloud/ocis
geekdocEditPath: edit/master/docs/services/sse
geekdocFilePath: _index.md
geekdocEditPath: edit/master/services/sse
geekdocFilePath: README.md
geekdocCollapseSection: true
---

<!-- Do not edit this file, it is autogenerated. Edit the service README.md instead -->

## Abstract


The `sse` service is responsible for sending sse (Server-Sent Events) to a user. See [What is Server-Sent Events](https://medium.com/yemeksepeti-teknoloji/what-is-server-sent-events-sse-and-how-to-implement-it-904938bffd73) for a simple introduction and examples of server sent events.


## Table of Contents

{{< toc-tree >}}
* [The Log Service Ecosystem](#the-log-service-ecosystem)
* [Subscribing](#subscribing)
* [Example Yaml Config](#example-yaml-config)

## The Log Service Ecosystem

Log services like the `userlog`, `clientlog` and `sse` are responsible for composing notifications for a certain audience.
- The `userlog` service translates and adjusts messages to be human readable.
- The `clientlog` service composes machine readable messages, so clients can act without the need to query the server.
- The `sse` service is only responsible for sending these messages. It does not care about their form or language.

## Subscribing

Clients can subscribe to the `/sse` endpoint to be informed by the server when an event happens. The `sse` endpoint will respect language changes of the user without needing to reconnect. Note that SSE has a limitation of six open connections per browser which can be reached if one has opened various tabs of the Web UI pointing to the same Infinite Scale instance.
## Example Yaml Config
{{< include file="services/_includes/sse-config-example.yaml" language="yaml" >}}

{{< include file="services/_includes/sse_configvars.md" >}}

0 comments on commit 3279a6c

Please sign in to comment.