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.

OTHER License

Stars
620
Committers
113

Bot releases are hidden (Show)

enterprise_gateway - Jupyter Enterprise Gateway 3.2.3 Latest Release

Published by lresende 8 months ago

Our 3.2.3 release includes the following high-level changes:

  • Add support for jinja2 templates when defining KERNEL_POD_NAME
  • Expose kernel_info_timeout configuration
  • Replace conda with mamba for package management on docker images
  • Drop support for Python 3.7
  • Multiple dependency security fixes

Thank you to all of our contributors! ❤️ 🎉

What's Changed

New Contributors

Full Changelog: https://github.com/jupyter-server/enterprise_gateway/compare/v3.2.2...v3.2.3

enterprise_gateway - Jupyter Enterprise Gateway 3.2.2

Published by lresende over 1 year ago

Our 3.2.2 release includes the following high-level changes:

  • Fixes to Spark Operator based kernels to propagate errors on Spark Operator CRD failures
  • Update Spark Operator based kernels to set restart strategy to never for spark operator
  • Introduces EG_SENSITIVE_ENV_KEYS to filter sensitive values from being logged in ProcessProxy

What's Changed

New Contributors

Full Changelog: https://github.com/jupyter-server/enterprise_gateway/compare/v3.2.1...v3.2.2

enterprise_gateway - Jupyter Enterprise Gateway 3.2.1

Published by lresende over 1 year ago

Our 3.2.1 release includes the following high-level changes:

  • Enhanced Kernel Image Puller with capabilities to pull additional images
  • Fixes to Kernel restart corner cases that could cause leaks
  • Fixes to Spark Operator based kernels to properly flow environment variables

What's Changed

New Contributors

Full Changelog: https://github.com/jupyter-server/enterprise_gateway/compare/v3.2.0...v3.2.1

enterprise_gateway - Jupyter Enterprise Gateway 3.2.0

Published by lresende almost 2 years ago

Our 3.2.0 release includes the following high-level changes:

  • Enhanced support for Spark Operator based kernels
  • Helm chart improvements to configuring culling connected kernels

What's Changed

Full Changelog: https://github.com/jupyter-server/enterprise_gateway/compare/v3.1.0...v3.2.0

enterprise_gateway - Jupyter Enterprise Gateway 3.1.0

Published by kevin-bates almost 2 years ago

The primary purpose of this release is to cap our dependency on Jupyter Server to < 2.0 since that release requires jupyter_client >= 7 which we can't support.

Since there are some feature-based contributions, we decided to make this a minor release.

Thank you to all of our contributors! ❤️ 🎉

What's Changed

New Contributors

Full Changelog: https://github.com/jupyter-server/enterprise_gateway/compare/v3.0.0...v3.1.0

enterprise_gateway - Jupyter Enterprise Gateway 3.0.0

Published by kevin-bates almost 2 years ago

Our 3.0.0 release includes the following high-level changes.

  • Support for Spark 3.0 and pod templates
  • Improved deployment of new kernels in containerized environments
  • Support for CRDs and ConfigMaps on Spark Operator
  • Improved helm chart integration
  • Extended kernel persistence support
  • Role-based documentation: Users, Operators, Contributors, Developers
  • Enabled support for images from private registries
  • Formalized HA support (singe-instance vs. multi-instance)
  • Extend LB algorithms for distributed kernels
  • Enabled support for any subclass of IpyKernel kernels
  • Enabled support for ConfigMaps in Spark Operator
  • Allow operators to increase the maximum sockets and thread pool of the ZMQ context
  • Add support for managing service and config map in kernel-pod
  • Bug fixes and maintenance

Thank you to all of our contributors!

What's Changed

New Contributors

Full Changelog: https://github.com/jupyter-server/enterprise_gateway/compare/v2.6.0...v3.0.0

enterprise_gateway - Jupyter Enterprise Gateway 3.0.0rc1

Published by kevin-bates almost 2 years ago

Our 3.0.0 release is set to include the following (we'll firm these up as we near GA - hopefully the week of Oct 24):

  • Support for Spark 3.0 and pod templates
  • Improved deployment of new kernels in containerized environments
  • Support for CRDs and ConfigMaps on Spark Operator
  • Improved helm chart integration
  • Extended kernel persistence support
  • Role-based documentation: Users, Operators, Contributors, Developers
  • Enabled support for images from private registries
  • Formalized HA support (singe-instance vs. multi-instance)
  • Extend LB algorithms for distributed kernels
  • Enabled support for any subclass of IpyKernel kernels
  • Enabled support for ConfigMaps in Spark Operator
  • Allow operators to increase the maximum sockets and thread pool of the ZMQ context
  • Bug fixes and maintenance
enterprise_gateway - Jupyter Enterprise Gateway 3.0.0rc0

Published by kevin-bates about 2 years ago

Our 3.0.0 release is set to include the following (we'll firm these up as we near GA):

  • Support for Spark 3.0 and pod templates
  • Improved deployment of new kernels in containerized environments
  • Support for CRDs and ConfigMaps on Spark Operator
  • Improved helm chart integration
  • Extended kernel persistence support
  • Role-based documentation: Users, Operators, Contributors, Developers
  • Enabled support for images from private registries
  • Formalized HA support (singe-instance vs. multi-instance)
  • Extend LB algorithms for distributed kernels
  • Enabled support for any subclass of IpyKernel kernels
  • Enabled support for ConfigMaps in Spark Operator
  • Allow operators to increase the maximum sockets and thread pool of the ZMQ context
  • Bug fixes and maintenance
enterprise_gateway - Jupyter Enterprise Gateway 3.0.0b0

Published by kevin-bates about 2 years ago

Our 3.0.0 release is set to include the following (we'll firm these up as we near GA):

  • Support for Spark 3.0 and pod templates
  • Improved deployment of new kernels in containerized environments
  • Support for CRDs and ConfigMaps on Spark Operator
  • Improved helm chart integration
  • Extended kernel persistence support
  • Role-based documentation: Users, Operators, Contributors, Developers
  • Enabled support for images from private registries
  • Formalized HA support (singe-instance vs. multi-instance)
  • Extend LB algorithms for distributed kernels
  • Enabled support for any subclass of IpyKernel kernels
  • Enabled support for ConfigMaps in Spark Operator
  • Bug fixes and maintenance
enterprise_gateway - Jupyter Enterprise Gateway 2.6.0

Published by kevin-bates over 2 years ago

Our 2.6.0 release contains the following changes:

Full Change Log

Features

  • Use jupyter_server instead of notebook (#927)
  • Single Response Address Support (#877)
  • Add support for auth token to kernel image puller (#959)
  • Allow SSH authentication via GSS. (#950)
  • Add crd process proxy to support some crd based k8s applications (#991) ** E X P E R I M E N T A L **
  • Normalize kernel-launcher arguments (#988)
  • KIP: Add support for containerd-based installations (#1007)
  • Add support for YARN API non-anonymous access (#981)
  • Enable debugger for python-related kernelspecs, add option to mount kernelspecs with pvc (#986)

Fixes and Maintenance Changes

  • Update build status to reflect GH actions (#937)
  • Fix port range handling (#952)
  • Update broken links to Jupyter pages (#958)
  • Fix lazy import of launch_instance (#961)
  • Modify the logic that converts EG_LOG_LEVEL to int (#966)
  • Add typing hints to kernelspec handler (#965)
  • Update docker.md (#973)
  • Changes necessary to get itest-docker passing (#964)
  • Factor out key_exists helper (#982)
  • Update Watchdog dependency to version 2.1.3 (#977)
  • Cap jupyter_client < 7.0 (#983)
  • Fix make dev to set PYTHONPATH (#993)
  • Fix Makefile install target (#994)
  • Response port retries (#990)
  • Add typing hints to api handler (#1006)
  • Add origin restriction config (#997)
  • Make KIP sleep when container runtime is not docker (#995)
  • Fix kernelspec authorization (#987)
  • Fix Spark K8s Kernel Restart issue (#1014)
  • Fix issue when log file got rewritten on kernel's restart (#1015)
  • Pass self.base_url to Tornado constructor (#1019)
  • Update helm deployment instructions in docs (#1026)
  • Update base jupyter images, use their jupyter packages (#1029)
  • Validate images relative to python, spark, and debugger (#1030)
  • Spark operator k8s updates to enable it in gateway on k8s (#1031)
  • Build images during release, capture release build/dist dirs (#1032)
  • Fix deployment of spark_python_operator (#1033)

Many thanks to the following contributors:

(GitHub contributors page for this release)

@abzymeinsjtu, @akchinSTC, Aleksandr Kandrin, @amarinder-bindra, @bgerrity, @bug-developer021, @camer314, @Carreau, @faurik, @gaocegege, @gogasca, @kevin-bates, @lresende, @rahul26goyal, @ricklamers, @taeyeopkim1, @telamonian, @uniocto, 忆梵

enterprise_gateway - Jupyter Enterprise Gateway 2.5.2

Published by kevin-bates almost 3 years ago

Jupyter Enterprise Gateway 2.5.2 includes the following updates:

  • Fix Spark K8s Kernel Restart issue (#1014)
  • Fix issue when log file got rewritten on kernel's restart (#1015)
  • Pass self.base_url to Tornado constructor (#1019)

Many thanks to the following contributors:

  • @faurik
  • Rahul Goyal (@rahul26goyal)
  • Rick Lamers (@ricklamers)

Note: Some of the assets originally published here did not contain correct image tags. Those assets (including the docker image docker.io/elyra/enterprise-gateway:2.5.2) have been updated as of Jan 18, 2022. (See #1023)

enterprise_gateway - Jupyter Enterprise Gateway 2.5.1

Published by kevin-bates about 3 years ago

Jupyter Enterprise Gateway 2.5.1 merely caps the version of jupyter_client < 7.0.

Jupyter Client 7.0 adds support for Kernel Provsioning - which is not compatible with Enterprise Gateway. We plan to provide a provisioner-compatible version of EG in an upcoming release.

enterprise_gateway - Jupyter Enterprise Gateway 2.5.0

Published by kevin-bates over 3 years ago

Jupyter Enterprise Gateway 2.5.0 drops support for Python 3.5 and includes the following:

  • Adds support for kernelspec caching (#908)
  • Migrate builds from Travis to Github Actions (#913)
  • Update TF kernelspecs to Tensorflow 2.4.0 release (#920)
  • Remove NB2KG image and references (#924)
  • Propagate port range to kernel pods (#935)
  • and various other bug/build fixes

Many thanks to the following contributors:

  • Eric Charles (@echarles)
  • Kevin Bates (@kevin-bates)
  • Luciano Resende (@lresende)
  • Max Klein (@telamonian)
enterprise_gateway - Jupyter Enterprise Gateway 2.4.0

Published by kevin-bates almost 4 years ago

Jupyter Enterprise Gateway 2.4.0 is a small release with a couple of minor enhancements:

  • Add resource limit into K8s kernel pod template
  • EG_KERNEL_WHITELIST: include brackets in start-enterprise-gateway.sh
  • Add ability to allow all envs in kernel request body
  • Make FROM configurable for Docker images
  • Docker Swarm HA Gateway
  • Protect load_session() functionality when persistence is disabled
  • Fix badge for pypi in README

Many thanks to the following contributors:

  • Dmitry Romanenko (@dimon222)
  • Kevin Bates (@kevin-bates)
  • Matt Todd (@mattjtodd)
  • Rick Lamers (@ricklamers)
  • Wiput Pootong (@wiput1999)
enterprise_gateway - Jupyter Enterprise Gateway 2.3.0

Published by kevin-bates about 4 years ago

This release of Jupyter Enterprise Gateway is mostly a maintenance release with some enhancements.

  • Fixed a bug where users could no longer bring their own kernel ID via KERNEL_ID.
  • Fixed a typo in the Kubernetes deployment script wrt EmptyDir.
  • Fix kill() to be a sync method and run it in an executor from async methods to address 'not awaited' error.
  • Allow specified request headers to be available for process proxies
  • Enabled supporting custom trust stores for EG dispatch to SSL Enabled Yarn
  • Flow KERNEL_IMAGE value for kernel launch
  • Add support for Conductor Proxy to work with JEG outside of Conductor Cluster
  • Handle supporting using both pycryptdome and pycryptodomex

Many thanks to the following contributors:

  • Akshay Kotecha Jain (@akshaykjain)
  • Ashvin Nihalani (@ashvinnihalani)
  • Donatas Mažionis (@donatasm)
  • Kevin Bates (@kevin-bates)
  • Kevin Doyle (@kjdoyle)
enterprise_gateway - Jupyter Enterprise Gateway 2.2.0

Published by kevin-bates about 4 years ago

This release of Jupyter Enterprise Gateway contains some significant improvements.

  • Kernel management is now asynchronous, leveraging changes in the Notebook and jupyter_client packages. This allows for simultaneous kernel start requests, whereas these were sequenced previously.
  • Kernelspec retrievals now honor authorization lists to filter out unauthorized users. Previously, kernelspecs were not filtered so users would find that they're not authorized to use a given kernel until attempting to use it. Now, such users won't have that kernel in their available list.
  • RemoteKernelManager has been refactored such that it can be used by applications directly - bypassing the need to stand up an EG instance.
  • Spark-based kernel images (Kubernetes) and Hadoop YARN example kernelspecs now use Spark 2.4.6.
  • Various stabilization improvements.

Many thanks to the following contributors:

  • @aviadr
  • @golf-player
  • Jalpan (@jalpan-randeri)
  • Kevin Bates (@kevin-bates)
  • Luciano Resende (@lresende)
  • Luis Cabezon Manchado (@lucabem)
  • Sri Harsha (@applecool)
  • Taeyeop Kim (@taeyeopkim1)
enterprise_gateway - Jupyter Enterprise Gateway 2.2.0rc2

Published by kevin-bates over 4 years ago

This release of Jupyter Enterprise Gateway contains some significant improvements.

  • Kernel management is now asynchronous, leveraging changes in the Notebook and jupyter_client packages. This allows for simultaneous kernel start requests, whereas these were sequenced previously.
  • Kernelspec retrievals now honor authorization lists to filter out unauthorized users. Previously, kernelspecs were not filtered so users would find that they're not authorized to use a given kernel until attempting to use it. Now, such users won't have that kernel in their available list.
  • RemoteKernelManager has been refactored such that it can be used by applications directly - bypassing the need to stand up an EG instance.
  • Various stabilization improvements.

Many thanks to the following contributors:

  • @aviadr
  • @golf-player
  • Jalpan (@jalpan-randeri)
  • Kevin Bates (@kevin-bates)
  • Luciano Resende (@lresende)
  • Luis Cabezon Manchado (@lucabem)
  • Taeyeop Kim (@taeyeopkim1)
enterprise_gateway - Jupyter Enterprise Gateway 2.2.0rc1

Published by kevin-bates over 4 years ago

This release of Jupyter Enterprise Gateway contains some significant improvements.

  • Kernel management is now asynchronous, leveraging changes in the Notebook and jupyter_client packages. This allows for simultaneous kernel start requests, whereas these were sequenced previously.
  • Kernelspec retrievals now will honor authorization lists to filter out unauthorized users. Previously, kernelspecs were not filtered so users would find that they're not authorized to use a given kernel until attempting to use it. Now, such users won't have that kernel in their available list.
  • RemoteKernelManager has been refactored such that it can be used by applications directly - bypassing the need to stand up an EG instance.
  • Various bug fixes.

NOTE: After producing the release, the commits were pushed too soon and we found an issue with the Spark-related images on Kubernetes (sigh). We will focus on getting those working ASAP and produce rc2 at that time. Sorry for the inconvenience.

Many thanks to the following contributors:

  • @aviadr
  • @golf-player
  • Jalpan (@jalpan-randeri)
  • Kevin Bates (@kevin-bates)
  • Luciano Resende (@lresende)
  • Luis Cabezon Manchado (@lucabem)
  • Taeyeop Kim (@taeyeopkim1)
enterprise_gateway - Jupyter Enterprise Gateway 2.1.1

Published by kevin-bates over 4 years ago

Jupyter Enterprise Gateway release 2.1.1 is strictly a maintenance release:

  • jupyter_client's cache_ports feature is disabled since they don't apply to remote kernels
  • KeyError: 'jinja2_env' when the kernel doesn't exist no longer occurs
  • pycrypto has been replaced with pycryptodomex
  • Python kernel launcher was made compatible with Python 2
  • Tolerate async updates coming on next notebook release. This allows this EG release to continue working with updated Notebook releases until EG 2.2 is ready.

Many thanks to the following contributors:

  • Alan Chin (@akchinSTC)
  • Blair Azzopardi (@bsdz)
  • Kevin Bates (@kevin-bates)
  • Luciano Resende (@lresende)
enterprise_gateway - Jupyter Enterprise Gateway 2.1.0

Published by kevin-bates over 4 years ago

Jupyter Enterprise Gateway release 2.1.0 includes the following:

  • Enterprise Gateway is no longer dependent on Jupyter Kernel Gateway - allowing for increased freedom to make handler-based changes
  • Dynamic Configurables are now available
  • EG now uses yarn-api-client 1.x for its interactions with Hadoop YARN cluster managers
  • Enhancements towards better HA support
  • Documentation updates
  • Bug fixes

Many thanks to the following contributors:

  • @amangarg96
  • Gottam Sai Bharath (@Gsbreddy)
  • Joris Jamers (@JorisJamers)
  • Kevin Bates (@kevin-bates)
  • Luciano Resende (@lresende)
  • Michelle Ufford (@MichelleUfford)
  • Siou (@abz53378)
  • @tatsuya-ogawa