Enable Collabora/WOPI/office suite #1
No reviewers
Labels
No labels
Kind/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
backlog
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TWS/ocis-deployment#1
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/office-suite"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This adds support for WOPI and Collabora office suite integration, based on the example configuration here.
Most of the bugs are worked out, but we're still getting an error:
hard to read raw output, or...
If we inspect the
app-provider
network configuration...We can see the problem: the subnet that
app-provider
is trying to reach theocis
container on is not the network that theapp-provider
container is on. Sure enough, if we inspect theocis
container:We can see that, sure, the
ocis
container is on theapp-provider-net
network, but it's also on theweb
network, which is the subnet theapp-provider
container is trying to reach it on. This suggests that either the mDNS/service registry system1 is only reporting the IP address of theweb
network, or the client is only trying the first IP that it gets in response to the mDNS query and discarding any other networks. I don't really know that much about how mDNS works, but I did try to do a bit of spelunking in the code... the relevant code is here which seems to be just a bit of glue to tie in Go Micro which seems to be a microservice framework. The portion of that relevant to the mDNS registry is here.2Unfortunately, at first pass I didn't see well enough how things worked to track down why it isn't working. I may come back to that, based on our discussion here, and try to spend some more time diving more deeply into that code, if that's what we want to do.
Another option, I considered out of the list of available registries is
etcd
, but that doesn't seem designed to fit this use-case, and distribution is...odd. It's a project which is out of the Cloud Native Computing Foundation, which is Red Hat, which is Going Through Some Shit right now... To make matters worse, the CNCF official docker image distribution is from their own container registry (which is fine, I use quay.io, they're no better or worse than docker hub), but is only documented for a very old version and doesn't seem to have semver aliases on the tags or alatest
tag (so we'd have to watch closely for point releases). They seem to expect it to be deployed as a microservice as a part of a Cloud Native K8s web application, rather than the sort of dockerised environment we're working with here. There's also a distrubution by VMWare on docker hub, but......I don't know, at this point I'm just not super sure what to do. On top of all that, we don't really have any guarantee that we won't see the same issue under a different backend for the service provider. The example configuration this was all based on expects that everything be on a single network...in our case that would have to be the
web
network, which is the network shared across the physical system by all services which are directly proxied by Traefik out to the public internet. I prefer to keep dependent services (e.g. postgres, redis, or in this case, Tika, the app-provider itself, and possibly etcd) on a separate subnet, preferably as finely as possible, as a security measure, which goes double at least for things like redis or Tika which don't have authentication (at least not as configured) and rely on network segmentation as basically the only thing preventing their data from being exposed to the internet.There's some relevant documentation to what the service registry is and how it's configured here ↩︎
I'm mostly just leaving these code links here so I can reference them later. ↩︎
Oh, this is frustrating. In both
ocis
andapp-provider
containers, if I rundig ocis
and `dig app-provider it gives me IPs on the same subnet!I created a forum post about this yesterday.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.