You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This example assumes that the NextCloud username is identical to the Galaxy username. If this is not the case also the username could be a user preference that is stored in a vault.
114
+
This example assumes that the NextCloud username is identical to the Galaxy username. If this is not the case also the username could be a user preference that is stored in a vault.
115
+
116
+
## Tool Credentials System
117
+
118
+
Starting with Galaxy 25.1, tools can request credentials directly through a new tool credentials system. This system provides a secure, user-friendly way for tools to access external APIs and services using credentials stored in the vault.
119
+
120
+
### Overview
121
+
122
+
The tool credentials system allows tool developers to declaratively specify credential requirements in their tool XML, and Galaxy automatically:
123
+
- Presents a user-friendly credential management interface in the tool form
124
+
- Stores sensitive credentials (secrets) encrypted in the configured vault
125
+
- Injects credentials as environment variables when tools execute
126
+
- Provides centralized credential management in User Preferences
127
+
128
+
### How it works
129
+
130
+
1. **Tool Definition**: Tool developers add a `<credentials>` element to their tool XML defining required secrets (API keys, passwords) and optional variables (endpoints, usernames).
131
+
2. **User Experience**: When users run a tool requiring credentials, they see a credential management section in the tool form where they can provide or select existing credentials.
132
+
3. **Secure Storage**: All secrets are automatically stored encrypted in the vault (configured via `vault_config_file`).
133
+
4. **Automatic Injection**: When the tool runs, Galaxy injects the credentials as environment variables into the tool's execution environment.
134
+
135
+
### Vault Configuration Requirements
136
+
137
+
The tool credentials system requires a properly configured vault. Any of the supported vault backends (hashicorp, custos, or database) can be used. Ensure you have:
138
+
139
+
1. Set up your vault configuration as described in the sections above
140
+
2. Configured the `vault_config_file` setting in `galaxy.yml`
141
+
3. Tested that the vault is working properly
142
+
143
+
The tool credentials system will automatically use the configured vault to store all tool secrets.
144
+
145
+
### Admin Considerations
146
+
147
+
- **No additional configuration needed**: Unlike the older user preferences approach, the tool credentials system requires no admin configuration in `user_preferences_extra_conf.yml`. Tools can define their own credential requirements.
148
+
- **Vault is required**: The tool credentials system only works when a vault is configured. If no vault is configured, tools requesting credentials will not function properly.
149
+
- **User isolation**: Each user's credentials are isolated in the vault. Credentials cannot be shared between users.
150
+
- **Migration from user preferences**: If you previously configured tool credentials via `user_preferences_extra_conf.yml`, those can be gradually phased out as tools migrate to the new system. Both systems can coexist.
151
+
152
+
### API Access
153
+
154
+
The tool credentials system provides a REST API at `/api/users/{user_id}/credentials` for programmatic credential management. This can be useful for:
155
+
- Automating credential setup for multiple users
156
+
- Building custom credential management interfaces
157
+
- Integrating with external identity management systems
158
+
159
+
For more information on the tool credentials system from a developer perspective, see the [Tool XML Schema documentation](https://docs.galaxyproject.org/en/master/dev/schema.html#tool-requirements-credentials).
Copy file name to clipboardExpand all lines: doc/source/releases/25.1_announce.rst
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -97,6 +97,13 @@ Deprecation Notices
97
97
* `Galaxy Monitoring with Telegraf and Grafana <https://training.galaxyproject.org/training-material/topics/admin/tutorials/monitoring/tutorial.html>`__
98
98
* `Galaxy Monitoring with gxadmin <https://training.galaxyproject.org/training-material/topics/admin/tutorials/gxadmin/tutorial.html>`__
99
99
100
+
**Deprecation of Python 3.9 support in Galaxy release 26.0**
101
+
Since Python 3.9 reached its end-of-life in October 2025, support for it will
102
+
be removed in Galaxy 26.0.
103
+
Administrators should upgrade their Python environment to version 3.10 or
104
+
higher to avoid security vulnerabilities and ensure a smooth transition to
0 commit comments