-
Notifications
You must be signed in to change notification settings - Fork 521
Weird nested folders that don't exist. #315
Copy link
Copy link
Open
Description
I have deployed this as a sidecar container in kubernetes. The server is working, however it is showing the parent folders nested in the folder tree. When clicked on I get a 404 error. This is hard to explain so let me add some screen shots.
Here is the physical layout
~ $ tree /foundrydata/*
/foundrydata/Config
├── options.json
└── options.json.lock
/foundrydata/Data
├── assets
│ └── README.txt
├── modules
│ └── README.txt
├── systems
│ └── README.txt
└── worlds
├── README.txt
└── hhh
/foundrydata/Logs
├── debug.2026-03-27.log
├── debug.2026-03-28.log
├── error.2026-03-27.log
└── error.2026-03-28.log
when I login to webdav with cyberduck I get the following
You can see from the green underlines that the parent folder is being duplicated. Here is the debug output.
2026-03-28T16:17:47.944Z INFO user authorized {"remote_address": "173.180.115.60", "username": "harry"}
2026-03-28T16:17:47.944Z DEBUG allowed & method & path {"remote_address": "173.180.115.60", "allowed": true, "method": "PROPFIND", "path": "/Data/Data/"}
2026-03-28T16:17:47.944Z DEBUG handle webdav request {"remote_address": "173.180.115.60", "method": "PROPFIND", "path": "/Data/Data/", "error": "stat /foundrydata/Data/Data: no such file or directory"}
the proxy for kubernetes takes the url https://harry.foundryserver.com/webdav and rewrites the url to https://harry.foundryserver.com/ after the routing is done. I use path based routing to get to the container.
Here is the configuration
# Listen ip and port
address: 0.0.0.0
port: 3030
debug: true
# Prefix to apply to the WebDAV path-ing. Default is '/'.
prefix: /
# Whether the server runs behind a trusted proxy or not. When this is true,
# the header X-Forwarded-For will be used for logging the remote addresses
# of logging attempts (if available).
behindProxy: true
# The root directory of the user to serve.
directory: "/foundrydata"
#permissions: The permissions to grant to authenticated users.
permissions: CRUD
# The list of users. If the list is empty, then there will be no authentication.
# Otherwise, basic authentication will automatically be configured.
#
users:
- username: "{env}ENV_USERNAME"
password: "{env}ENV_PASSWORD"
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels