jupyter-server / enterprise_gateway

A lightweight, multi-tenant, scalable and secure gateway that enables Jupyter Notebooks to share resources across distributed clusters such as Apache Spark, Kubernetes and others.
https://jupyter-enterprise-gateway.readthedocs.io/en/latest/
Other
617 stars 222 forks source link

Rename allowed env configuration traits #1137

Closed kevin-bates closed 1 year ago

kevin-bates commented 2 years ago

This pull request is a partial "redo" of #1000 and attempts to move EG in the right direction, although not completely. It consists of the following changes, some of which require further discussion.

  1. env_whitelist and env_process_whitelist have been deprecated in favor of client_envs and inherited_envs respectively. Hopefully, the names are more clear than the previous ones.
  2. Applicable documentation and deployment scripts have been updated accordingly.

EDIT - these changes have been reverted per discussion... 3. The use of env_whitelist = '*' has been removed. 4. The set of client_envs can be specified globally, via the EG configuration, but also at the kernelspec level via metadata.client_envs. Kernelspecs retrieved from the EG server will be updated to include BOTH those client_envs defined in the spec, as well as those configured at the global level.

I believe items 3 and 4 require further discussion:

kevin-bates commented 2 years ago

I've placed this into draft mode simply to prevent its merging until we've completed our discussion.

cc: @telamonian, @kiersten-stokes, and designated reviewers

kevin-bates commented 2 years ago

After discussion with maintainers, we've decided to pull back on this and only address the configuration name changes for now (items 1 & 2) in the 3.0 release.

Sending the set of configured client_envs (item 4) seemed better suited in 4.0 when (hopefully) we can address parameterization. And since we won't be using a pull model, using '*' as a wildcard (item 3) to trust the payload envs still held value.

The next commit will essentially remove code related to these (and restore code for item 3), after which I'll take this out of draft mode.