From 9604139e91191256fbd524eb69c403e2dd7bfc75 Mon Sep 17 00:00:00 2001 From: manu-sj Date: Mon, 17 Aug 2026 10:43:15 +0200 Subject: [PATCH] [FSTORE-2086] Add support for disabling Uploads to Hopsworks https://hopsworks.atlassian.net/browse/FSTORE-2086 Documents the upload_policy configuration on the Cluster Configuration page: the three values, that the backend enforces the policy so it covers the Python API as well as the UI, and that the two ways of setting it interact, since a value from the Helm chart is reapplied on every upgrade and overrides a change made from the Configuration page. States the limits explicitly, because "uploads disabled" reads as stronger than it is. The policy governs uploading new files only, so it does not stop a library being installed from a requirements file already in a project, and it does not remove files uploaded earlier. No nav entry is needed; the section is added to an existing page. Signed-off-by: Manu Sathyarajan Joseph Co-Authored-By: Claude Opus 5 --- docs/setup_installation/admin/variables.md | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/setup_installation/admin/variables.md b/docs/setup_installation/admin/variables.md index dab67d429e..caab95a360 100644 --- a/docs/setup_installation/admin/variables.md +++ b/docs/setup_installation/admin/variables.md @@ -47,3 +47,26 @@ Once you have set the desired properties, you can persist them by clicking *Crea Adding a new configuration property
Adding a new configuration property
+ +## Restricting file uploads + +The `upload_policy` configuration controls who may upload files into the cluster. +Uploads are otherwise available to every user with write access to a dataset, so this setting exists for clusters that ingest data only through governed pipelines, or that have to limit what enters the platform. + +| Value | Who may upload | +| ----- | -------------- | +| `enabled` | Any user with write access to the destination dataset. This is the default, so an existing cluster is unaffected until the value is changed. | +| `admins_only` | Only members of the `HOPS_ADMIN` group. | +| `disabled` | Nobody, administrators included. | + +The policy is enforced by the backend, so it applies to the Hopsworks UI and to clients such as the Python API alike. +A refused upload returns HTTP 403. +In the UI the upload controls are disabled instead, so a blocked user is told before starting an upload rather than watching it fail. + +You can set the value from the *Configuration* page described above, or at deploy time through the `hopsworks.variables.upload_policy` value of the Helm chart. +A value set in the Helm chart is reapplied on every upgrade, so a change made from the Configuration page holds until the cluster is next upgraded. +Any value other than the three above is treated as `enabled`, so that a typo cannot block uploads without anyone noticing. + +This setting governs uploading new files into the cluster, and nothing else. +It does not restrict operations that only reference files already in the cluster filesystem, such as installing a Python library from a requirements file that is already in a project, because no file is transferred in that case. +It also does not remove files that were uploaded before the value was changed.