Adds a compression middleware to the web server to reduce the request size when delivering static files. This speeds up loading times in web clients.
The chi middleware we're using for this currently supports `gzip` as compression algorithm. We might want to extend this to support `br` (Brotli) in the future, since it's a newer and more performant algorithm.
* enhancement: introduce theme processing
* enhancement: introduce theme processing
* enhancement: add theme processing tests and changelog
* Update services/web/pkg/config/config.go
Co-authored-by: Michael Barz <michael.barz@zeitgestalten.eu>
* fix: ci findings
* Apply suggestions from code review
Co-authored-by: Martin <github@diemattels.at>
* enhancement: use the theme assets from web instead of having them inside the oCis repo (license clash Apache vs. AGPLv3)
* fix: golangci tagalign order
* fix: rename UnifiedRoleUploader to UnifiedRoleEditorLite
* fix: some typos
Co-authored-by: Michael Barz <michael.barz@zeitgestalten.eu>
* enhancement: export supported theme logo upload filetypes
* chore: bump reva
* fix: allow init func
---------
Co-authored-by: Michael Barz <michael.barz@zeitgestalten.eu>
Co-authored-by: Martin <github@diemattels.at>
* feat: add CSP and other security related headers in the oCIS proxy service
* fix: consolidate security related headers - drop middleware.Secure
* fix: use github.com/DeepDiver1975/secure
* fix: acceptance tests
* feat: support env var replacements in csp.yaml
* enhancement: allow ocis to provide custom web applications
* enhancement: add an option to disable web apps
* test: add default logger tests
* test: add app loading tests
* test: add asset server tests
* enhancement: make use of dedicated app conf file and app asset paths
* enhancement: adjust asset locations and deprecate WEB_ASSET_PATH
* enhancement: get rid of default logger and use the service level logger instead
* Apply suggestions from code review
Co-authored-by: Benedikt Kulmann <benedikt@kulmann.biz>
Co-authored-by: kobergj <juliankoberg@googlemail.com>
* enhancement: use basename as app id
* Apply suggestions from code review
Co-authored-by: Martin <github@diemattels.at>
* enhancement: use afero as fs abstraction
* enhancement: simplify logo upload
* enhancement: make use of introductionVersion field annotations
---------
Co-authored-by: Benedikt Kulmann <benedikt@kulmann.biz>
Co-authored-by: kobergj <juliankoberg@googlemail.com>
Co-authored-by: Martin <github@diemattels.at>
* enhancement: use reva client pool selectors
register mock service to registry and pass tests
* enhancement: bump reva
* Fix a couple of linter issues
---------
Co-authored-by: Ralf Haferkamp <rhaferkamp@owncloud.com>
TLS for the services can be configure by setting the "OCIS_HTTP_TLS_ENABLED",
"OCIS_HTTP_TLS_CERTIFICATE" and "OCIS_HTTP_TLS_KEY" environment variables.
Currently the ocis proxy is this only service that directly accesses backend
services. It determines whether to use TLS or not by looking a the new registry
metadata "use_tls". As specific CA Cert for certificate verification
can be set with the "PROXY_HTTPS_CACERT" environment variable.