[FSTORE-2049] Add support for Mandatory Tags in Models and Deployments#611
Open
manu-sj wants to merge 11 commits into
Open
[FSTORE-2049] Add support for Mandatory Tags in Models and Deployments#611manu-sj wants to merge 11 commits into
manu-sj wants to merge 11 commits into
Conversation
https://hopsworks.atlassian.net/browse/FSTORE-2049 Document tags on models and deployments and the new mandatory tags feature. Extend the tags guide with model and deployment add_tag, get_tags and delete_tag examples, and note that model and deployment tags are stored and retrievable but not indexed for free text search. Add a mandatory tags guide covering cluster-wide and project-specific configuration across all artifact types and the missing_mandatory_tags surfacing on models and deployments. Register the new page in the nav. Signed-off-by: Manu Sathyarajan Joseph <manu.joseph@logicalclocks.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR extends the Feature Store tagging documentation to cover models and deployments, and introduces a new guide explaining how to configure and use mandatory tags for governance in Hopsworks.
Changes:
- Added model/deployment
add_tag/get_tags/delete_tagexamples and clarified that model/deployment tags are not indexed for free-text search. - Added a new “Mandatory Tags” page describing cluster-wide and project-specific configuration and how missing mandatory tags are surfaced on models/deployments.
- Registered the new Mandatory Tags page in
mkdocs.ymlnavigation.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| mkdocs.yml | Adds the new “Mandatory Tags” page to the FS Tags navigation. |
| docs/user_guides/fs/tags/tags.md | Documents tagging APIs for models/deployments and notes search indexing behavior. |
| docs/user_guides/fs/tags/mandatory_tags.md | New guide describing mandatory tag configuration and missing_mandatory_tags usage. |
https://hopsworks.atlassian.net/browse/FSTORE-2049 Give the model and deployment example tabs distinct labels. Two consecutive tabs titled "Python" in one tab group render ambiguously in mkdocs-material; label them "Model (Python)" and "Deployment (Python)" in the tags and mandatory tags guides. Signed-off-by: Manu Sathyarajan Joseph <manu.joseph@logicalclocks.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
https://hopsworks.atlassian.net/browse/FSTORE-2049 Name the unaffected artifacts explicitly in the mandatory tags example instead of the ambiguous "feature store artifacts". Signed-off-by: Manu Sathyarajan Joseph <manu.joseph@logicalclocks.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
https://hopsworks.atlassian.net/browse/FSTORE-2049 Replace the ambiguous [tags][tags] autorefs cross-references in the mandatory tags guide with explicit relative links to tags.md, fixing the strict CI build (mkdocs_autorefs found four pages defining a "tags" anchor and aborted). Correct the missing_mandatory_tags refresh semantics: the property is populated at fetch time and add_tag does not update the object in hand, so the model and deployment examples now refetch the artifact and check the property again. Document the write-path enforcement: the bulk tag REST endpoint (PUT .../tags with the full tag set) rejects a set omitting a mandatory tag with HTTP 400 INVALID_MANDATORY_TAG (370008), while single-tag writes such as add_tag() are not gated. Clarify per-artifact enforcement: feature groups, feature views and training datasets are validated at creation and rejected when a mandatory tag is missing, while models and deployments are created regardless and surface the gap via missing_mandatory_tags. Drop the unsupported "before it is promoted" claim from the intro, and extend the tags guide enumerations to include models and deployments now that they support tags. Signed-off-by: Manu Sathyarajan Joseph <manu.joseph@logicalclocks.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
https://hopsworks.atlassian.net/browse/FSTORE-2049 Update the mandatory tags guide so models and deployments are documented the same way as feature groups, feature views and training datasets: enforced at creation and surfaced on read. The create request is validated against the configured mandatory tags, so a missing mandatory tag rejects the create with HTTP 400, and an artifact created before a tag became mandatory stays valid but warns on fetch. Merge the previously split per-artifact enforcement section into a single description covering all five artifact types. Add create-time examples passing the mandatory tag through create_model(tags=...), model.deploy(tags=...) and create_deployment(tags=...) with concrete literal values so creation succeeds. Show the get-time UserWarning: Missing mandatory tags emitted when refetching a pre-existing model or deployment. This corrects the earlier surface-only description that singled out models and deployments as non-blocking. Signed-off-by: Manu Sathyarajan Joseph <manu.joseph@logicalclocks.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
https://hopsworks.atlassian.net/browse/FSTORE-2049 Update the mandatory tags examples to pass tags in the shared name/value list form accepted by the Tag normalizer, matching how feature groups take tags. The create-time examples for create_model, model.deploy, and create_deployment previously passed tags as a {tag_name: tag_value} mapping, which the Tag normalizer does not accept and would silently drop. Each now passes a list of {"name": ..., "value": ...} dictionaries. The surrounding prose is updated to describe the accepted shape. Signed-off-by: Manu Sathyarajan Joseph <manu.joseph@logicalclocks.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
https://hopsworks.atlassian.net/browse/FSTORE-2049 Drop the separate model and deployment tags subsection from the tags guide. The add_tag, get_tag, get_tags, and delete_tag APIs are identical across artifact types, so extend the existing note to say the same APIs work for feature views, training datasets, models, and deployments rather than repeating the examples. Signed-off-by: Manu Sathyarajan Joseph <manu.joseph@logicalclocks.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
https://hopsworks.atlassian.net/browse/FSTORE-2049 Correct the location for configuring project-specific mandatory tags. They are set by an administrator from Cluster settings > Projects by selecting the project, not from the project's own settings. Signed-off-by: Manu Sathyarajan Joseph <manu.joseph@logicalclocks.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
https://hopsworks.atlassian.net/browse/FSTORE-2049 Remove the single-tag and bulk tag writes section and inline its HTTP 400 detail into the two places that referenced it, so the mandatory tags guide focuses on creation-time enforcement without the extra section. Signed-off-by: Manu Sathyarajan Joseph <manu.joseph@logicalclocks.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
https://hopsworks.atlassian.net/browse/FSTORE-2049 Add feature group, feature view, and training dataset examples to the attach-mandatory-tags-at-creation section, so the tags argument is shown for all five artifact types rather than only models and deployments. Signed-off-by: Manu Sathyarajan Joseph <manu.joseph@logicalclocks.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
https://hopsworks.atlassian.net/browse/FSTORE-2049 Add UI screenshots to the mandatory tags configuration section: the cluster-wide governance policies under Cluster settings > Tag Schemas, and the project-specific mandatory tags under Cluster settings > Projects when editing a project. Signed-off-by: Manu Sathyarajan Joseph <manu.joseph@logicalclocks.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
add_tag/get_tags/delete_tagexamples and note that model/deployment tags are stored and retrievable but not indexed for free text search.missing_mandatory_tagssurfacing on models and deployments. Register the new page in the nav.Test plan
Related PRs