aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/ipython/py3/IPython/lib/guisupport.py
diff options
context:
space:
mode:
authorAndrey Chulkov <achulkov2@nebius.com>2024-12-31 15:51:31 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2024-12-31 16:06:16 +0300
commitf5fce646b73a1cb5047dffd7ae6ca80de0fc2519 (patch)
tree6de1cca57cccf95ffcb838235aedaaf53f5bcd18 /contrib/python/ipython/py3/IPython/lib/guisupport.py
parentf8a11a158e05e0297e5b986a14b10a9575361faa (diff)
downloadydb-f5fce646b73a1cb5047dffd7ae6ca80de0fc2519.tar.gz
Introduce temporary tokens for operations
This PR adds two new spec options available for all operations. If `issue_temporary_token` is set to true, the scheduler will issue a token for the authenticated user of the operation via the Cypress tokens mechanism. The token will be placed into the operation's secure vault with `temporary_token_environment_variable_name` used as key. The token is removed by operations cleaner. In order for that to work, we persist the Cypress node id of the issued token in the `temporary_token_node_id` operation node attribute. Such dependent nodes are removed strictly before removing the operation node. To improve performance, instead of issuing a token transactionally with creating the operation node, we issue it with an expiration timeout first, and then remove the expiration timeout after the operation node is created. If scheduler fails after token is issued but before the operation node is actually created, the expiration timeout will ensure that the token is eventually deleted. I chose this approach over more typical lease extension mechanisms mainly because I feel that the proposed solution is simpler than introducing new periodic logic to scheduler/CA. There is also the concern of tokens expiring during job revival, which is unlikely if the lease timeout is large enough, but still makes me like the other solution a bit less. * Changelog entry Type: feature Component: scheduler Add the ability to issue temporary tokens valid during the lifetime of an operation and place them into the operation's secure vault. --- Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1004 commit_hash:f26afe1940fa5f13519b72a3104b98ee1c54f9d3
Diffstat (limited to 'contrib/python/ipython/py3/IPython/lib/guisupport.py')
0 files changed, 0 insertions, 0 deletions