Simple Git-based workflow to Deploy Authenticated Dashboards on Kubernetes
ContainDS Deploy watches Git repositories to deploy data scientists’ code instantly as live dashboards in your existing Kubernetes cluster. A simple YAML configuration file can be added to each repo to control authentication and execution details.
Easily plug into data scientists’ existing workflows. If notebooks or Python scripts are already stored in git, simply list the repo as a node in ContainDS Deploy’s main configuration, then add a small dashboard.yaml file to the repo describing which framework is used to run the app.
Voilà, Streamlit, Panel, Bokeh, Plotly Dash, and R Shiny are all supported as standard. Bespoke frameworks or advanced web servers such as Flask can also be added.
Enterprise-ready components can connect directly to your existing authentication provider (PingFed, Auth0 etc), allowing simple specification of groups to be authorized for each app.
Global authentication settings and permitted groups can be set in the main configuration; apps in the individual git repos can easily reference the available groupings and resource configurations.
ContainDS Deploy can be controlled by your existing CI/CD pipelines or work standalone, initiated by webhooks. GitHub Actions, Azure DevOps Pipelines, etc. can all be supported easily.
ContainDS Deploy runs completely independently from any JupyterHub but you can reuse your JupyterLab Docker images and Conda environments as the basis for dashboard deployments.
A dashboard app can be created by adding an entry to its repository’s dashboards.yaml file. The basic settings can be inherited from the main configuration (or defaults), or can be overridden for greater control – provided they remain within any constraints set in the main config.
- name: Internal App framework: plotlydash path: ./app1/dash_main.py access: devgroup_profile - name: Bigger App framework: streamlit path: ./app2/streamlit.py access: everyone_profile replicas: 2 memory: 4GB env: +numba==0.53.1