deploying docs: docs(k8s): making it clear users MUST update secrets for prod instances. (#27954)

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com> (apache/superset@c5c5f4dbc1b4b3201a0716440efb7a756c3fb0dc)
diff --git a/404.html b/404.html
index cb38238..b54874c 100644
--- a/404.html
+++ b/404.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/assets/js/fe0957ee.462a9d48.js b/assets/js/fe0957ee.462a9d48.js
new file mode 100644
index 0000000..046c8b1
--- /dev/null
+++ b/assets/js/fe0957ee.462a9d48.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[]).push([[8359],{15680:(e,n,t)=>{t.d(n,{xA:()=>u,yg:()=>y});var a=t(96540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},s=Object.keys(e);for(a=0;a<s.length;a++)t=s[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)t=s[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var o=a.createContext({}),p=function(e){var n=a.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},u=function(e){var n=p(e.components);return a.createElement(o.Provider,{value:n},e.children)},g="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},c=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,s=e.originalType,o=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),g=p(t),c=r,y=g["".concat(o,".").concat(c)]||g[c]||d[c]||s;return t?a.createElement(y,l(l({ref:n},u),{},{components:t})):a.createElement(y,l({ref:n},u))}));function y(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var s=t.length,l=new Array(s);l[0]=c;var i={};for(var o in n)hasOwnProperty.call(n,o)&&(i[o]=n[o]);i.originalType=e,i[g]="string"==typeof e?e:r,l[1]=i;for(var p=2;p<s;p++)l[p]=t[p];return a.createElement.apply(null,l)}return a.createElement.apply(null,t)}c.displayName="MDXCreateElement"},72451:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>s,metadata:()=>i,toc:()=>p});var a=t(58168),r=(t(96540),t(15680));const s={title:"Installing on Kubernetes",hide_title:!0,sidebar_position:1,version:1},l=void 0,i={unversionedId:"installation/running-on-kubernetes",id:"installation/running-on-kubernetes",title:"Installing on Kubernetes",description:"Installing on Kubernetes",source:"@site/docs/installation/running-on-kubernetes.mdx",sourceDirName:"installation",slug:"/installation/running-on-kubernetes",permalink:"/docs/installation/running-on-kubernetes",draft:!1,editUrl:"https://github.com/apache/superset/edit/master/docs/docs/installation/running-on-kubernetes.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Installing on Kubernetes",hide_title:!0,sidebar_position:1,version:1},sidebar:"tutorialSidebar",previous:{title:"Quickstart",permalink:"/docs/quickstart"},next:{title:"Installing from PyPI",permalink:"/docs/installation/installing-superset-from-pypi"}},o={},p=[{value:"Installing on Kubernetes",id:"installing-on-kubernetes",level:2},{value:"Prerequisites",id:"prerequisites",level:3},{value:"Running",id:"running",level:3},{value:"Important settings",id:"important-settings",level:3},{value:"Security settings",id:"security-settings",level:4},{value:"Dependencies",id:"dependencies",level:4},{value:"superset_config.py",id:"superset_configpy",level:4},{value:"Environment Variables",id:"environment-variables",level:4},{value:"System packages",id:"system-packages",level:4},{value:"Data sources",id:"data-sources",level:4},{value:"Configuration Examples",id:"configuration-examples",level:3},{value:"Setting up OAuth",id:"setting-up-oauth",level:4},{value:"Enable Alerts and Reports",id:"enable-alerts-and-reports",level:4},{value:"Install a supported webdriver in the Celery worker",id:"install-a-supported-webdriver-in-the-celery-worker",level:5},{value:"Run the Celery beat",id:"run-the-celery-beat",level:5},{value:"Configure the appropriate Celery jobs and SMTP/Slack settings",id:"configure-the-appropriate-celery-jobs-and-smtpslack-settings",level:5},{value:"Load the Examples data and dashboards",id:"load-the-examples-data-and-dashboards",level:4}],u={toc:p},g="wrapper";function d(e){let{components:n,...t}=e;return(0,r.yg)(g,(0,a.A)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("h2",{id:"installing-on-kubernetes"},"Installing on Kubernetes"),(0,r.yg)("p",null,"Running Superset on Kubernetes is supported with the provided ",(0,r.yg)("a",{parentName:"p",href:"https://helm.sh/"},"Helm")," chart\nfound in the official ",(0,r.yg)("a",{parentName:"p",href:"https://apache.github.io/superset/index.yaml"},"Superset helm repository"),"."),(0,r.yg)("h3",{id:"prerequisites"},"Prerequisites"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"A Kubernetes cluster"),(0,r.yg)("li",{parentName:"ul"},"Helm installed")),(0,r.yg)("admonition",{type:"note"},(0,r.yg)("p",{parentName:"admonition"},"For simpler, single host environments, we recommend using\n",(0,r.yg)("a",{parentName:"p",href:"https://minikube.sigs.k8s.io/docs/start/"},"minikube")," which is easy to setup on many platforms\nand works fantastically well with the Helm chart referenced here.")),(0,r.yg)("h3",{id:"running"},"Running"),(0,r.yg)("ol",null,(0,r.yg)("li",{parentName:"ol"},"Add the Superset helm repository")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-sh"},'helm repo add superset https://apache.github.io/superset\n"superset" has been added to your repositories\n')),(0,r.yg)("ol",{start:2},(0,r.yg)("li",{parentName:"ol"},"View charts in repo")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-sh"},"helm search repo superset\nNAME                    CHART VERSION   APP VERSION     DESCRIPTION\nsuperset/superset       0.1.1           1.0             Apache Superset is a modern, enterprise-ready b...\n")),(0,r.yg)("ol",{start:3},(0,r.yg)("li",{parentName:"ol"},"Configure your setting overrides")),(0,r.yg)("p",null,"Just like any typical Helm chart, you'll need to craft a ",(0,r.yg)("inlineCode",{parentName:"p"},"values.yaml")," file that would define/override any of the values exposed into the default ",(0,r.yg)("a",{parentName:"p",href:"https://github.com/apache/superset/tree/master/helm/superset/values.yaml"},"values.yaml"),", or from any of the dependent charts it depends on:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://artifacthub.io/packages/helm/bitnami/redis"},"bitnami/redis")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://artifacthub.io/packages/helm/bitnami/postgresql"},"bitnami/postgresql"))),(0,r.yg)("p",null,"More info down below on some important overrides you might need."),(0,r.yg)("ol",{start:4},(0,r.yg)("li",{parentName:"ol"},"Install and run")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-sh"},"helm upgrade --install --values my-values.yaml superset superset/superset\n")),(0,r.yg)("p",null,"You should see various pods popping up, such as:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-sh"},"kubectl get pods\nNAME                                    READY   STATUS      RESTARTS   AGE\nsuperset-celerybeat-7cdcc9575f-k6xmc    1/1     Running     0          119s\nsuperset-f5c9c667-dw9lp                 1/1     Running     0          4m7s\nsuperset-f5c9c667-fk8bk                 1/1     Running     0          4m11s\nsuperset-init-db-zlm9z                  0/1     Completed   0          111s\nsuperset-postgresql-0                   1/1     Running     0          6d20h\nsuperset-redis-master-0                 1/1     Running     0          6d20h\nsuperset-worker-75b48bbcc-jmmjr         1/1     Running     0          4m8s\nsuperset-worker-75b48bbcc-qrq49         1/1     Running     0          4m12s\n")),(0,r.yg)("p",null,"The exact list will depend on some of your specific configuration overrides but you should generally expect:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"N ",(0,r.yg)("inlineCode",{parentName:"li"},"superset-xxxx-yyyy")," and ",(0,r.yg)("inlineCode",{parentName:"li"},"superset-worker-xxxx-yyyy")," pods (depending on your ",(0,r.yg)("inlineCode",{parentName:"li"},"supersetNode.replicaCount")," and ",(0,r.yg)("inlineCode",{parentName:"li"},"supersetWorker.replicaCount")," values)"),(0,r.yg)("li",{parentName:"ul"},"1 ",(0,r.yg)("inlineCode",{parentName:"li"},"superset-postgresql-0")," depending on your postgres settings"),(0,r.yg)("li",{parentName:"ul"},"1 ",(0,r.yg)("inlineCode",{parentName:"li"},"superset-redis-master-0")," depending on your redis settings"),(0,r.yg)("li",{parentName:"ul"},"1 ",(0,r.yg)("inlineCode",{parentName:"li"},"superset-celerybeat-xxxx-yyyy")," pod if you have ",(0,r.yg)("inlineCode",{parentName:"li"},"supersetCeleryBeat.enabled = true")," in your values overrides")),(0,r.yg)("ol",null,(0,r.yg)("li",{parentName:"ol"},"Access it")),(0,r.yg)("p",null,"The chart will publish appropriate services to expose the Superset UI internally within your k8s cluster. To access it externally you will have to either:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"Configure the Service as a ",(0,r.yg)("inlineCode",{parentName:"li"},"LoadBalancer")," or ",(0,r.yg)("inlineCode",{parentName:"li"},"NodePort")),(0,r.yg)("li",{parentName:"ul"},"Set up an ",(0,r.yg)("inlineCode",{parentName:"li"},"Ingress")," for it - the chart includes a definition, but will need to be tuned to your needs (hostname, tls, annotations etc...)"),(0,r.yg)("li",{parentName:"ul"},"Run ",(0,r.yg)("inlineCode",{parentName:"li"},"kubectl port-forward superset-xxxx-yyyy :8088")," to directly tunnel one pod's port into your localhost")),(0,r.yg)("p",null,"Depending how you configured external access, the URL will vary. Once you've identified the appropriate URL you can log in with:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"user: ",(0,r.yg)("inlineCode",{parentName:"li"},"admin")),(0,r.yg)("li",{parentName:"ul"},"password: ",(0,r.yg)("inlineCode",{parentName:"li"},"admin"))),(0,r.yg)("h3",{id:"important-settings"},"Important settings"),(0,r.yg)("h4",{id:"security-settings"},"Security settings"),(0,r.yg)("p",null,"Default security settings and passwords are included but you ",(0,r.yg)("strong",{parentName:"p"},"MUST")," update them to run ",(0,r.yg)("inlineCode",{parentName:"p"},"prod")," instances, in particular:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},"postgresql:\n  postgresqlPassword: superset\n")),(0,r.yg)("p",null,"Make sure, you set a unique strong complex alphanumeric string for your SECRET_KEY and use a tool to help you generate\na sufficiently random sequence."),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"To generate a good key you can run, ",(0,r.yg)("inlineCode",{parentName:"li"},"openssl rand -base64 42"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},"configOverrides:\n  secret: |\n    SECRET_KEY = 'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'\n")),(0,r.yg)("p",null,"If you want to change the previous secret key then you should rotate the keys.\nDefault secret key for kubernetes deployment is ",(0,r.yg)("inlineCode",{parentName:"p"},"thisISaSECRET_1234")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},"configOverrides:\n  my_override: |\n    PREVIOUS_SECRET_KEY = 'YOUR_PREVIOUS_SECRET_KEY'\n    SECRET_KEY = 'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'\ninit:\n  command:\n    - /bin/sh\n    - -c\n    - |\n      . {{ .Values.configMountPath }}/superset_bootstrap.sh\n      superset re-encrypt-secrets\n      . {{ .Values.configMountPath }}/superset_init.sh\n")),(0,r.yg)("admonition",{type:"note"},(0,r.yg)("p",{parentName:"admonition"},"Superset uses ",(0,r.yg)("a",{parentName:"p",href:"https://about.scarf.sh/scarf-gateway"},"Scarf Gateway")," to collect telemetry data.  Knowing the installation counts for different Superset versions informs the  project's decisions about patching and long-term support. Scarf purges personally identifiable information (PII) and provides only aggregated statistics."),(0,r.yg)("p",{parentName:"admonition"},"To opt-out of this data collection in your Helm-based installation, edit the ",(0,r.yg)("inlineCode",{parentName:"p"},"repository:")," line in your ",(0,r.yg)("inlineCode",{parentName:"p"},"helm/superset/values.yaml")," file, replacing ",(0,r.yg)("inlineCode",{parentName:"p"},"apachesuperset.docker.scarf.sh/apache/superset")," with ",(0,r.yg)("inlineCode",{parentName:"p"},"apache/superset")," to pull the image directly from Docker Hub.")),(0,r.yg)("h4",{id:"dependencies"},"Dependencies"),(0,r.yg)("p",null,"Install additional packages and do any other bootstrap configuration in the bootstrap script.\nFor production clusters it's recommended to build own image with this step done in CI."),(0,r.yg)("admonition",{type:"note"},(0,r.yg)("p",{parentName:"admonition"},"Superset requires a Python DB-API database driver and a SQLAlchemy\ndialect to be installed for each datastore you want to connect to."),(0,r.yg)("p",{parentName:"admonition"},"See ",(0,r.yg)("a",{parentName:"p",href:"/docs/databases/installing-database-drivers"},"Install Database Drivers")," for more information.")),(0,r.yg)("p",null,"The following example installs the Big Query and Elasticsearch database drivers so that you can\nconnect to those datasources in your Superset installation:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},'bootstrapScript: |\n  #!/bin/bash\n  pip install psycopg2==2.9.6 \\\n    sqlalchemy-bigquery==1.6.1 \\\n    elasticsearch-dbapi==0.2.5 &&\\\n  if [ ! -f ~/bootstrap ]; then echo "Running Superset with uid {{ .Values.runAsUser }}" > ~/bootstrap; fi\n')),(0,r.yg)("h4",{id:"superset_configpy"},"superset_config.py"),(0,r.yg)("p",null,"The default ",(0,r.yg)("inlineCode",{parentName:"p"},"superset_config.py")," is fairly minimal and you will very likely need to extend it. This is done by specifying one or more key/value entries in ",(0,r.yg)("inlineCode",{parentName:"p"},"configOverrides"),", e.g.:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},'configOverrides:\n  my_override: |\n    # This will make sure the redirect_uri is properly computed, even with SSL offloading\n    ENABLE_PROXY_FIX = True\n    FEATURE_FLAGS = {\n        "DYNAMIC_PLUGINS": True\n    }\n')),(0,r.yg)("p",null,"Those will be evaluated as Helm templates and therefore will be able to reference other ",(0,r.yg)("inlineCode",{parentName:"p"},"values.yaml")," variables e.g. ",(0,r.yg)("inlineCode",{parentName:"p"},"{{ .Values.ingress.hosts[0] }}")," will resolve to your ingress external domain."),(0,r.yg)("p",null,"The entire ",(0,r.yg)("inlineCode",{parentName:"p"},"superset_config.py")," will be installed as a secret, so it is safe to pass sensitive parameters directly... however it might be more readable to use secret env variables for that."),(0,r.yg)("p",null,"Full python files can be provided by running ",(0,r.yg)("inlineCode",{parentName:"p"},"helm upgrade --install --values my-values.yaml --set-file configOverrides.oauth=set_oauth.py")),(0,r.yg)("h4",{id:"environment-variables"},"Environment Variables"),(0,r.yg)("p",null,"Those can be passed as key/values either with ",(0,r.yg)("inlineCode",{parentName:"p"},"extraEnv")," or ",(0,r.yg)("inlineCode",{parentName:"p"},"extraSecretEnv")," if they're sensitive. They can then be referenced from ",(0,r.yg)("inlineCode",{parentName:"p"},"superset_config.py")," using e.g. ",(0,r.yg)("inlineCode",{parentName:"p"},'os.environ.get("VAR")'),"."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},'extraEnv:\n  SMTP_HOST: smtp.gmail.com\n  SMTP_USER: user@gmail.com\n  SMTP_PORT: "587"\n  SMTP_MAIL_FROM: user@gmail.com\n\nextraSecretEnv:\n  SMTP_PASSWORD: xxxx\n\nconfigOverrides:\n  smtp: |\n    import ast\n    SMTP_HOST = os.getenv("SMTP_HOST","localhost")\n    SMTP_STARTTLS = ast.literal_eval(os.getenv("SMTP_STARTTLS", "True"))\n    SMTP_SSL = ast.literal_eval(os.getenv("SMTP_SSL", "False"))\n    SMTP_USER = os.getenv("SMTP_USER","superset")\n    SMTP_PORT = os.getenv("SMTP_PORT",25)\n    SMTP_PASSWORD = os.getenv("SMTP_PASSWORD","superset")\n')),(0,r.yg)("h4",{id:"system-packages"},"System packages"),(0,r.yg)("p",null,"If new system packages are required, they can be installed before application startup by overriding the container's ",(0,r.yg)("inlineCode",{parentName:"p"},"command"),", e.g.:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},"supersetWorker:\n  command:\n    - /bin/sh\n    - -c\n    - |\n      apt update\n      apt install -y somepackage\n      apt autoremove -yqq --purge\n      apt clean\n\n      # Run celery worker\n      . {{ .Values.configMountPath }}/superset_bootstrap.sh; celery --app=superset.tasks.celery_app:app worker\n")),(0,r.yg)("h4",{id:"data-sources"},"Data sources"),(0,r.yg)("p",null,"Data source definitions can be automatically declared by providing key/value yaml definitions in ",(0,r.yg)("inlineCode",{parentName:"p"},"extraConfigs"),":"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},'extraConfigs:\n  import_datasources.yaml: |\n    databases:\n    - allow_file_upload: true\n      allow_ctas: true\n      allow_cvas: true\n      database_name: example-db\n      extra: "{\\r\\n    \\"metadata_params\\": {},\\r\\n    \\"engine_params\\": {},\\r\\n    \\"\\\n        metadata_cache_timeout\\": {},\\r\\n    \\"schemas_allowed_for_file_upload\\": []\\r\\n\\\n        }"\n      sqlalchemy_uri: example://example-db.local\n      tables: []\n')),(0,r.yg)("p",null,"Those will also be mounted as secrets and can include sensitive parameters."),(0,r.yg)("h3",{id:"configuration-examples"},"Configuration Examples"),(0,r.yg)("h4",{id:"setting-up-oauth"},"Setting up OAuth"),(0,r.yg)("admonition",{type:"note"},(0,r.yg)("p",{parentName:"admonition"},"OAuth setup requires that the ",(0,r.yg)("a",{parentName:"p",href:"https://authlib.org/"},"authlib")," Python library is installed. This can\nbe done using ",(0,r.yg)("inlineCode",{parentName:"p"},"pip")," by updating the ",(0,r.yg)("inlineCode",{parentName:"p"},"bootstrapScript"),". See the ",(0,r.yg)("a",{parentName:"p",href:"#dependencies"},"Dependencies")," section\nfor more information.")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},'extraEnv:\n  AUTH_DOMAIN: example.com\n\nextraSecretEnv:\n  GOOGLE_KEY: xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com\n  GOOGLE_SECRET: xxxxxxxxxxxxxxxxxxxxxxxx\n\nconfigOverrides:\n  enable_oauth: |\n    # This will make sure the redirect_uri is properly computed, even with SSL offloading\n    ENABLE_PROXY_FIX = True\n\n    from flask_appbuilder.security.manager import AUTH_OAUTH\n    AUTH_TYPE = AUTH_OAUTH\n    OAUTH_PROVIDERS = [\n        {\n            "name": "google",\n            "icon": "fa-google",\n            "token_key": "access_token",\n            "remote_app": {\n                "client_id": os.getenv("GOOGLE_KEY"),\n                "client_secret": os.getenv("GOOGLE_SECRET"),\n                "api_base_url": "https://www.googleapis.com/oauth2/v2/",\n                "client_kwargs": {"scope": "email profile"},\n                "request_token_url": None,\n                "access_token_url": "https://accounts.google.com/o/oauth2/token",\n                "authorize_url": "https://accounts.google.com/o/oauth2/auth",\n                "authorize_params": {"hd": os.getenv("AUTH_DOMAIN", "")}\n            },\n        }\n    ]\n\n    # Map Authlib roles to superset roles\n    AUTH_ROLE_ADMIN = \'Admin\'\n    AUTH_ROLE_PUBLIC = \'Public\'\n\n    # Will allow user self registration, allowing to create Flask users from Authorized User\n    AUTH_USER_REGISTRATION = True\n\n    # The default user self registration role\n    AUTH_USER_REGISTRATION_ROLE = "Admin"\n')),(0,r.yg)("h4",{id:"enable-alerts-and-reports"},"Enable Alerts and Reports"),(0,r.yg)("p",null,"For this, as per the ",(0,r.yg)("a",{parentName:"p",href:"/docs/installation/email-reports"},"Alerts and Reports doc"),", you will need to:"),(0,r.yg)("h5",{id:"install-a-supported-webdriver-in-the-celery-worker"},"Install a supported webdriver in the Celery worker"),(0,r.yg)("p",null,"This is done either by using a custom image that has the webdriver pre-installed, or installing at startup time by overriding the ",(0,r.yg)("inlineCode",{parentName:"p"},"command"),". Here's a working example for ",(0,r.yg)("inlineCode",{parentName:"p"},"chromedriver"),":"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},"supersetWorker:\n  command:\n    - /bin/sh\n    - -c\n    - |\n      # Install chrome webdriver\n      # See https://github.com/apache/superset/blob/4fa3b6c7185629b87c27fc2c0e5435d458f7b73d/docs/src/pages/docs/installation/email_reports.mdx\n      apt-get update\n      apt-get install -y wget\n      wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb\n      apt-get install -y --no-install-recommends ./google-chrome-stable_current_amd64.deb\n      wget https://chromedriver.storage.googleapis.com/88.0.4324.96/chromedriver_linux64.zip\n      apt-get install -y zip\n      unzip chromedriver_linux64.zip\n      chmod +x chromedriver\n      mv chromedriver /usr/bin\n      apt-get autoremove -yqq --purge\n      apt-get clean\n      rm -f google-chrome-stable_current_amd64.deb chromedriver_linux64.zip\n\n      # Run\n      . {{ .Values.configMountPath }}/superset_bootstrap.sh; celery --app=superset.tasks.celery_app:app worker\n")),(0,r.yg)("h5",{id:"run-the-celery-beat"},"Run the Celery beat"),(0,r.yg)("p",null,"This pod will trigger the scheduled tasks configured in the alerts and reports UI section:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},"supersetCeleryBeat:\n  enabled: true\n")),(0,r.yg)("h5",{id:"configure-the-appropriate-celery-jobs-and-smtpslack-settings"},"Configure the appropriate Celery jobs and SMTP/Slack settings"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},'extraEnv:\n  SMTP_HOST: smtp.gmail.com\n  SMTP_USER: user@gmail.com\n  SMTP_PORT: "587"\n  SMTP_MAIL_FROM: user@gmail.com\n\nextraSecretEnv:\n  SLACK_API_TOKEN: xoxb-xxxx-yyyy\n  SMTP_PASSWORD: xxxx-yyyy\n\nconfigOverrides:\n  feature_flags: |\n    import ast\n\n    FEATURE_FLAGS = {\n        "ALERT_REPORTS": True\n    }\n\n    SMTP_HOST = os.getenv("SMTP_HOST","localhost")\n    SMTP_STARTTLS = ast.literal_eval(os.getenv("SMTP_STARTTLS", "True"))\n    SMTP_SSL = ast.literal_eval(os.getenv("SMTP_SSL", "False"))\n    SMTP_USER = os.getenv("SMTP_USER","superset")\n    SMTP_PORT = os.getenv("SMTP_PORT",25)\n    SMTP_PASSWORD = os.getenv("SMTP_PASSWORD","superset")\n    SMTP_MAIL_FROM = os.getenv("SMTP_MAIL_FROM","superset@superset.com")\n\n    SLACK_API_TOKEN = os.getenv("SLACK_API_TOKEN",None)\n  celery_conf: |\n    from celery.schedules import crontab\n\n    class CeleryConfig:\n      broker_url = f"redis://{env(\'REDIS_HOST\')}:{env(\'REDIS_PORT\')}/0"\n      imports = (\n          "superset.sql_lab",\n          "superset.tasks.cache",\n          "superset.tasks.scheduler",\n      )\n      result_backend = f"redis://{env(\'REDIS_HOST\')}:{env(\'REDIS_PORT\')}/0"\n      task_annotations = {\n          "sql_lab.get_sql_results": {\n              "rate_limit": "100/s",\n          },\n      }\n      beat_schedule = {\n          "reports.scheduler": {\n              "task": "reports.scheduler",\n              "schedule": crontab(minute="*", hour="*"),\n          },\n          "reports.prune_log": {\n              "task": "reports.prune_log",\n              \'schedule\': crontab(minute=0, hour=0),\n          },\n          \'cache-warmup-hourly\': {\n              "task": "cache-warmup",\n              "schedule": crontab(minute="*/30", hour="*"),\n              "kwargs": {\n                  "strategy_name": "top_n_dashboards",\n                  "top_n": 10,\n                  "since": "7 days ago",\n              },\n          }\n      }\n\n    CELERY_CONFIG = CeleryConfig\n  reports: |\n    EMAIL_PAGE_RENDER_WAIT = 60\n    WEBDRIVER_BASEURL = "http://{{ template "superset.fullname" . }}:{{ .Values.service.port }}/"\n    WEBDRIVER_BASEURL_USER_FRIENDLY = "https://www.example.com/"\n    WEBDRIVER_TYPE= "chrome"\n    WEBDRIVER_OPTION_ARGS = [\n        "--force-device-scale-factor=2.0",\n        "--high-dpi-support=2.0",\n        "--headless",\n        "--disable-gpu",\n        "--disable-dev-shm-usage",\n        # This is required because our process runs as root (in order to install pip packages)\n        "--no-sandbox",\n        "--disable-setuid-sandbox",\n        "--disable-extensions",\n    ]\n')),(0,r.yg)("h4",{id:"load-the-examples-data-and-dashboards"},"Load the Examples data and dashboards"),(0,r.yg)("p",null,"If you are trying Superset out and want some data and dashboards to explore, you can load some examples by creating a ",(0,r.yg)("inlineCode",{parentName:"p"},"my_values.yaml")," and deploying it as described above in the ",(0,r.yg)("strong",{parentName:"p"},"Configure your setting overrides")," step of the ",(0,r.yg)("strong",{parentName:"p"},"Running")," section.\nTo load the examples, add the following to the ",(0,r.yg)("inlineCode",{parentName:"p"},"my_values.yaml")," file:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},"init:\n  loadExamples: true\n")))}d.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/fe0957ee.f8f94342.js b/assets/js/fe0957ee.f8f94342.js
deleted file mode 100644
index 9cae3e4..0000000
--- a/assets/js/fe0957ee.f8f94342.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[]).push([[8359],{15680:(e,n,t)=>{t.d(n,{xA:()=>u,yg:()=>y});var a=t(96540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},s=Object.keys(e);for(a=0;a<s.length;a++)t=s[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)t=s[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var o=a.createContext({}),p=function(e){var n=a.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},u=function(e){var n=p(e.components);return a.createElement(o.Provider,{value:n},e.children)},g="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},c=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,s=e.originalType,o=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),g=p(t),c=r,y=g["".concat(o,".").concat(c)]||g[c]||d[c]||s;return t?a.createElement(y,l(l({ref:n},u),{},{components:t})):a.createElement(y,l({ref:n},u))}));function y(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var s=t.length,l=new Array(s);l[0]=c;var i={};for(var o in n)hasOwnProperty.call(n,o)&&(i[o]=n[o]);i.originalType=e,i[g]="string"==typeof e?e:r,l[1]=i;for(var p=2;p<s;p++)l[p]=t[p];return a.createElement.apply(null,l)}return a.createElement.apply(null,t)}c.displayName="MDXCreateElement"},72451:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>s,metadata:()=>i,toc:()=>p});var a=t(58168),r=(t(96540),t(15680));const s={title:"Installing on Kubernetes",hide_title:!0,sidebar_position:1,version:1},l=void 0,i={unversionedId:"installation/running-on-kubernetes",id:"installation/running-on-kubernetes",title:"Installing on Kubernetes",description:"Installing on Kubernetes",source:"@site/docs/installation/running-on-kubernetes.mdx",sourceDirName:"installation",slug:"/installation/running-on-kubernetes",permalink:"/docs/installation/running-on-kubernetes",draft:!1,editUrl:"https://github.com/apache/superset/edit/master/docs/docs/installation/running-on-kubernetes.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Installing on Kubernetes",hide_title:!0,sidebar_position:1,version:1},sidebar:"tutorialSidebar",previous:{title:"Quickstart",permalink:"/docs/quickstart"},next:{title:"Installing from PyPI",permalink:"/docs/installation/installing-superset-from-pypi"}},o={},p=[{value:"Installing on Kubernetes",id:"installing-on-kubernetes",level:2},{value:"Prerequisites",id:"prerequisites",level:3},{value:"Running",id:"running",level:3},{value:"Important settings",id:"important-settings",level:3},{value:"Security settings",id:"security-settings",level:4},{value:"Dependencies",id:"dependencies",level:4},{value:"superset_config.py",id:"superset_configpy",level:4},{value:"Environment Variables",id:"environment-variables",level:4},{value:"System packages",id:"system-packages",level:4},{value:"Data sources",id:"data-sources",level:4},{value:"Configuration Examples",id:"configuration-examples",level:3},{value:"Setting up OAuth",id:"setting-up-oauth",level:4},{value:"Enable Alerts and Reports",id:"enable-alerts-and-reports",level:4},{value:"Install a supported webdriver in the Celery worker",id:"install-a-supported-webdriver-in-the-celery-worker",level:5},{value:"Run the Celery beat",id:"run-the-celery-beat",level:5},{value:"Configure the appropriate Celery jobs and SMTP/Slack settings",id:"configure-the-appropriate-celery-jobs-and-smtpslack-settings",level:5},{value:"Load the Examples data and dashboards",id:"load-the-examples-data-and-dashboards",level:4}],u={toc:p},g="wrapper";function d(e){let{components:n,...t}=e;return(0,r.yg)(g,(0,a.A)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("h2",{id:"installing-on-kubernetes"},"Installing on Kubernetes"),(0,r.yg)("p",null,"Running Superset on Kubernetes is supported with the provided ",(0,r.yg)("a",{parentName:"p",href:"https://helm.sh/"},"Helm")," chart\nfound in the official ",(0,r.yg)("a",{parentName:"p",href:"https://apache.github.io/superset/index.yaml"},"Superset helm repository"),"."),(0,r.yg)("h3",{id:"prerequisites"},"Prerequisites"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"A Kubernetes cluster"),(0,r.yg)("li",{parentName:"ul"},"Helm installed")),(0,r.yg)("admonition",{type:"note"},(0,r.yg)("p",{parentName:"admonition"},"For simpler, single host environments, we recommend using\n",(0,r.yg)("a",{parentName:"p",href:"https://minikube.sigs.k8s.io/docs/start/"},"minikube")," which is easy to setup on many platforms\nand works fantastically well with the Helm chart referenced here.")),(0,r.yg)("h3",{id:"running"},"Running"),(0,r.yg)("ol",null,(0,r.yg)("li",{parentName:"ol"},"Add the Superset helm repository")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-sh"},'helm repo add superset https://apache.github.io/superset\n"superset" has been added to your repositories\n')),(0,r.yg)("ol",{start:2},(0,r.yg)("li",{parentName:"ol"},"View charts in repo")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-sh"},"helm search repo superset\nNAME                    CHART VERSION   APP VERSION     DESCRIPTION\nsuperset/superset       0.1.1           1.0             Apache Superset is a modern, enterprise-ready b...\n")),(0,r.yg)("ol",{start:3},(0,r.yg)("li",{parentName:"ol"},"Configure your setting overrides")),(0,r.yg)("p",null,"Just like any typical Helm chart, you'll need to craft a ",(0,r.yg)("inlineCode",{parentName:"p"},"values.yaml")," file that would define/override any of the values exposed into the default ",(0,r.yg)("a",{parentName:"p",href:"https://github.com/apache/superset/tree/master/helm/superset/values.yaml"},"values.yaml"),", or from any of the dependent charts it depends on:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://artifacthub.io/packages/helm/bitnami/redis"},"bitnami/redis")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://artifacthub.io/packages/helm/bitnami/postgresql"},"bitnami/postgresql"))),(0,r.yg)("p",null,"More info down below on some important overrides you might need."),(0,r.yg)("ol",{start:4},(0,r.yg)("li",{parentName:"ol"},"Install and run")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-sh"},"helm upgrade --install --values my-values.yaml superset superset/superset\n")),(0,r.yg)("p",null,"You should see various pods popping up, such as:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-sh"},"kubectl get pods\nNAME                                    READY   STATUS      RESTARTS   AGE\nsuperset-celerybeat-7cdcc9575f-k6xmc    1/1     Running     0          119s\nsuperset-f5c9c667-dw9lp                 1/1     Running     0          4m7s\nsuperset-f5c9c667-fk8bk                 1/1     Running     0          4m11s\nsuperset-init-db-zlm9z                  0/1     Completed   0          111s\nsuperset-postgresql-0                   1/1     Running     0          6d20h\nsuperset-redis-master-0                 1/1     Running     0          6d20h\nsuperset-worker-75b48bbcc-jmmjr         1/1     Running     0          4m8s\nsuperset-worker-75b48bbcc-qrq49         1/1     Running     0          4m12s\n")),(0,r.yg)("p",null,"The exact list will depend on some of your specific configuration overrides but you should generally expect:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"N ",(0,r.yg)("inlineCode",{parentName:"li"},"superset-xxxx-yyyy")," and ",(0,r.yg)("inlineCode",{parentName:"li"},"superset-worker-xxxx-yyyy")," pods (depending on your ",(0,r.yg)("inlineCode",{parentName:"li"},"supersetNode.replicaCount")," and ",(0,r.yg)("inlineCode",{parentName:"li"},"supersetWorker.replicaCount")," values)"),(0,r.yg)("li",{parentName:"ul"},"1 ",(0,r.yg)("inlineCode",{parentName:"li"},"superset-postgresql-0")," depending on your postgres settings"),(0,r.yg)("li",{parentName:"ul"},"1 ",(0,r.yg)("inlineCode",{parentName:"li"},"superset-redis-master-0")," depending on your redis settings"),(0,r.yg)("li",{parentName:"ul"},"1 ",(0,r.yg)("inlineCode",{parentName:"li"},"superset-celerybeat-xxxx-yyyy")," pod if you have ",(0,r.yg)("inlineCode",{parentName:"li"},"supersetCeleryBeat.enabled = true")," in your values overrides")),(0,r.yg)("ol",null,(0,r.yg)("li",{parentName:"ol"},"Access it")),(0,r.yg)("p",null,"The chart will publish appropriate services to expose the Superset UI internally within your k8s cluster. To access it externally you will have to either:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"Configure the Service as a ",(0,r.yg)("inlineCode",{parentName:"li"},"LoadBalancer")," or ",(0,r.yg)("inlineCode",{parentName:"li"},"NodePort")),(0,r.yg)("li",{parentName:"ul"},"Set up an ",(0,r.yg)("inlineCode",{parentName:"li"},"Ingress")," for it - the chart includes a definition, but will need to be tuned to your needs (hostname, tls, annotations etc...)"),(0,r.yg)("li",{parentName:"ul"},"Run ",(0,r.yg)("inlineCode",{parentName:"li"},"kubectl port-forward superset-xxxx-yyyy :8088")," to directly tunnel one pod's port into your localhost")),(0,r.yg)("p",null,"Depending how you configured external access, the URL will vary. Once you've identified the appropriate URL you can log in with:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"user: ",(0,r.yg)("inlineCode",{parentName:"li"},"admin")),(0,r.yg)("li",{parentName:"ul"},"password: ",(0,r.yg)("inlineCode",{parentName:"li"},"admin"))),(0,r.yg)("h3",{id:"important-settings"},"Important settings"),(0,r.yg)("h4",{id:"security-settings"},"Security settings"),(0,r.yg)("p",null,"Default security settings and passwords are included but you ",(0,r.yg)("strong",{parentName:"p"},"SHOULD")," override those with your own, in particular:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},"postgresql:\n  postgresqlPassword: superset\n")),(0,r.yg)("p",null,"Make sure, you set a unique strong complex alphanumeric string for your SECRET_KEY and use a tool to help you generate\na sufficiently random sequence."),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"To generate a good key you can run, ",(0,r.yg)("inlineCode",{parentName:"li"},"openssl rand -base64 42"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},"configOverrides:\n  secret: |\n    SECRET_KEY = 'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'\n")),(0,r.yg)("p",null,"If you want to change the previous secret key then you should rotate the keys.\nDefault secret key for kubernetes deployment is ",(0,r.yg)("inlineCode",{parentName:"p"},"thisISaSECRET_1234")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},"configOverrides:\n  my_override: |\n    PREVIOUS_SECRET_KEY = 'YOUR_PREVIOUS_SECRET_KEY'\n    SECRET_KEY = 'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'\ninit:\n  command:\n    - /bin/sh\n    - -c\n    - |\n      . {{ .Values.configMountPath }}/superset_bootstrap.sh\n      superset re-encrypt-secrets\n      . {{ .Values.configMountPath }}/superset_init.sh\n")),(0,r.yg)("admonition",{type:"note"},(0,r.yg)("p",{parentName:"admonition"},"Superset uses ",(0,r.yg)("a",{parentName:"p",href:"https://about.scarf.sh/scarf-gateway"},"Scarf Gateway")," to collect telemetry data.  Knowing the installation counts for different Superset versions informs the  project's decisions about patching and long-term support. Scarf purges personally identifiable information (PII) and provides only aggregated statistics."),(0,r.yg)("p",{parentName:"admonition"},"To opt-out of this data collection in your Helm-based installation, edit the ",(0,r.yg)("inlineCode",{parentName:"p"},"repository:")," line in your ",(0,r.yg)("inlineCode",{parentName:"p"},"helm/superset/values.yaml")," file, replacing ",(0,r.yg)("inlineCode",{parentName:"p"},"apachesuperset.docker.scarf.sh/apache/superset")," with ",(0,r.yg)("inlineCode",{parentName:"p"},"apache/superset")," to pull the image directly from Docker Hub.")),(0,r.yg)("h4",{id:"dependencies"},"Dependencies"),(0,r.yg)("p",null,"Install additional packages and do any other bootstrap configuration in the bootstrap script.\nFor production clusters it's recommended to build own image with this step done in CI."),(0,r.yg)("admonition",{type:"note"},(0,r.yg)("p",{parentName:"admonition"},"Superset requires a Python DB-API database driver and a SQLAlchemy\ndialect to be installed for each datastore you want to connect to."),(0,r.yg)("p",{parentName:"admonition"},"See ",(0,r.yg)("a",{parentName:"p",href:"/docs/databases/installing-database-drivers"},"Install Database Drivers")," for more information.")),(0,r.yg)("p",null,"The following example installs the Big Query and Elasticsearch database drivers so that you can\nconnect to those datasources in your Superset installation:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},'bootstrapScript: |\n  #!/bin/bash\n  pip install psycopg2==2.9.6 \\\n    sqlalchemy-bigquery==1.6.1 \\\n    elasticsearch-dbapi==0.2.5 &&\\\n  if [ ! -f ~/bootstrap ]; then echo "Running Superset with uid {{ .Values.runAsUser }}" > ~/bootstrap; fi\n')),(0,r.yg)("h4",{id:"superset_configpy"},"superset_config.py"),(0,r.yg)("p",null,"The default ",(0,r.yg)("inlineCode",{parentName:"p"},"superset_config.py")," is fairly minimal and you will very likely need to extend it. This is done by specifying one or more key/value entries in ",(0,r.yg)("inlineCode",{parentName:"p"},"configOverrides"),", e.g.:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},'configOverrides:\n  my_override: |\n    # This will make sure the redirect_uri is properly computed, even with SSL offloading\n    ENABLE_PROXY_FIX = True\n    FEATURE_FLAGS = {\n        "DYNAMIC_PLUGINS": True\n    }\n')),(0,r.yg)("p",null,"Those will be evaluated as Helm templates and therefore will be able to reference other ",(0,r.yg)("inlineCode",{parentName:"p"},"values.yaml")," variables e.g. ",(0,r.yg)("inlineCode",{parentName:"p"},"{{ .Values.ingress.hosts[0] }}")," will resolve to your ingress external domain."),(0,r.yg)("p",null,"The entire ",(0,r.yg)("inlineCode",{parentName:"p"},"superset_config.py")," will be installed as a secret, so it is safe to pass sensitive parameters directly... however it might be more readable to use secret env variables for that."),(0,r.yg)("p",null,"Full python files can be provided by running ",(0,r.yg)("inlineCode",{parentName:"p"},"helm upgrade --install --values my-values.yaml --set-file configOverrides.oauth=set_oauth.py")),(0,r.yg)("h4",{id:"environment-variables"},"Environment Variables"),(0,r.yg)("p",null,"Those can be passed as key/values either with ",(0,r.yg)("inlineCode",{parentName:"p"},"extraEnv")," or ",(0,r.yg)("inlineCode",{parentName:"p"},"extraSecretEnv")," if they're sensitive. They can then be referenced from ",(0,r.yg)("inlineCode",{parentName:"p"},"superset_config.py")," using e.g. ",(0,r.yg)("inlineCode",{parentName:"p"},'os.environ.get("VAR")'),"."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},'extraEnv:\n  SMTP_HOST: smtp.gmail.com\n  SMTP_USER: user@gmail.com\n  SMTP_PORT: "587"\n  SMTP_MAIL_FROM: user@gmail.com\n\nextraSecretEnv:\n  SMTP_PASSWORD: xxxx\n\nconfigOverrides:\n  smtp: |\n    import ast\n    SMTP_HOST = os.getenv("SMTP_HOST","localhost")\n    SMTP_STARTTLS = ast.literal_eval(os.getenv("SMTP_STARTTLS", "True"))\n    SMTP_SSL = ast.literal_eval(os.getenv("SMTP_SSL", "False"))\n    SMTP_USER = os.getenv("SMTP_USER","superset")\n    SMTP_PORT = os.getenv("SMTP_PORT",25)\n    SMTP_PASSWORD = os.getenv("SMTP_PASSWORD","superset")\n')),(0,r.yg)("h4",{id:"system-packages"},"System packages"),(0,r.yg)("p",null,"If new system packages are required, they can be installed before application startup by overriding the container's ",(0,r.yg)("inlineCode",{parentName:"p"},"command"),", e.g.:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},"supersetWorker:\n  command:\n    - /bin/sh\n    - -c\n    - |\n      apt update\n      apt install -y somepackage\n      apt autoremove -yqq --purge\n      apt clean\n\n      # Run celery worker\n      . {{ .Values.configMountPath }}/superset_bootstrap.sh; celery --app=superset.tasks.celery_app:app worker\n")),(0,r.yg)("h4",{id:"data-sources"},"Data sources"),(0,r.yg)("p",null,"Data source definitions can be automatically declared by providing key/value yaml definitions in ",(0,r.yg)("inlineCode",{parentName:"p"},"extraConfigs"),":"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},'extraConfigs:\n  import_datasources.yaml: |\n    databases:\n    - allow_file_upload: true\n      allow_ctas: true\n      allow_cvas: true\n      database_name: example-db\n      extra: "{\\r\\n    \\"metadata_params\\": {},\\r\\n    \\"engine_params\\": {},\\r\\n    \\"\\\n        metadata_cache_timeout\\": {},\\r\\n    \\"schemas_allowed_for_file_upload\\": []\\r\\n\\\n        }"\n      sqlalchemy_uri: example://example-db.local\n      tables: []\n')),(0,r.yg)("p",null,"Those will also be mounted as secrets and can include sensitive parameters."),(0,r.yg)("h3",{id:"configuration-examples"},"Configuration Examples"),(0,r.yg)("h4",{id:"setting-up-oauth"},"Setting up OAuth"),(0,r.yg)("admonition",{type:"note"},(0,r.yg)("p",{parentName:"admonition"},"OAuth setup requires that the ",(0,r.yg)("a",{parentName:"p",href:"https://authlib.org/"},"authlib")," Python library is installed. This can\nbe done using ",(0,r.yg)("inlineCode",{parentName:"p"},"pip")," by updating the ",(0,r.yg)("inlineCode",{parentName:"p"},"bootstrapScript"),". See the ",(0,r.yg)("a",{parentName:"p",href:"#dependencies"},"Dependencies")," section\nfor more information.")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},'extraEnv:\n  AUTH_DOMAIN: example.com\n\nextraSecretEnv:\n  GOOGLE_KEY: xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com\n  GOOGLE_SECRET: xxxxxxxxxxxxxxxxxxxxxxxx\n\nconfigOverrides:\n  enable_oauth: |\n    # This will make sure the redirect_uri is properly computed, even with SSL offloading\n    ENABLE_PROXY_FIX = True\n\n    from flask_appbuilder.security.manager import AUTH_OAUTH\n    AUTH_TYPE = AUTH_OAUTH\n    OAUTH_PROVIDERS = [\n        {\n            "name": "google",\n            "icon": "fa-google",\n            "token_key": "access_token",\n            "remote_app": {\n                "client_id": os.getenv("GOOGLE_KEY"),\n                "client_secret": os.getenv("GOOGLE_SECRET"),\n                "api_base_url": "https://www.googleapis.com/oauth2/v2/",\n                "client_kwargs": {"scope": "email profile"},\n                "request_token_url": None,\n                "access_token_url": "https://accounts.google.com/o/oauth2/token",\n                "authorize_url": "https://accounts.google.com/o/oauth2/auth",\n                "authorize_params": {"hd": os.getenv("AUTH_DOMAIN", "")}\n            },\n        }\n    ]\n\n    # Map Authlib roles to superset roles\n    AUTH_ROLE_ADMIN = \'Admin\'\n    AUTH_ROLE_PUBLIC = \'Public\'\n\n    # Will allow user self registration, allowing to create Flask users from Authorized User\n    AUTH_USER_REGISTRATION = True\n\n    # The default user self registration role\n    AUTH_USER_REGISTRATION_ROLE = "Admin"\n')),(0,r.yg)("h4",{id:"enable-alerts-and-reports"},"Enable Alerts and Reports"),(0,r.yg)("p",null,"For this, as per the ",(0,r.yg)("a",{parentName:"p",href:"/docs/installation/email-reports"},"Alerts and Reports doc"),", you will need to:"),(0,r.yg)("h5",{id:"install-a-supported-webdriver-in-the-celery-worker"},"Install a supported webdriver in the Celery worker"),(0,r.yg)("p",null,"This is done either by using a custom image that has the webdriver pre-installed, or installing at startup time by overriding the ",(0,r.yg)("inlineCode",{parentName:"p"},"command"),". Here's a working example for ",(0,r.yg)("inlineCode",{parentName:"p"},"chromedriver"),":"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},"supersetWorker:\n  command:\n    - /bin/sh\n    - -c\n    - |\n      # Install chrome webdriver\n      # See https://github.com/apache/superset/blob/4fa3b6c7185629b87c27fc2c0e5435d458f7b73d/docs/src/pages/docs/installation/email_reports.mdx\n      apt-get update\n      apt-get install -y wget\n      wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb\n      apt-get install -y --no-install-recommends ./google-chrome-stable_current_amd64.deb\n      wget https://chromedriver.storage.googleapis.com/88.0.4324.96/chromedriver_linux64.zip\n      apt-get install -y zip\n      unzip chromedriver_linux64.zip\n      chmod +x chromedriver\n      mv chromedriver /usr/bin\n      apt-get autoremove -yqq --purge\n      apt-get clean\n      rm -f google-chrome-stable_current_amd64.deb chromedriver_linux64.zip\n\n      # Run\n      . {{ .Values.configMountPath }}/superset_bootstrap.sh; celery --app=superset.tasks.celery_app:app worker\n")),(0,r.yg)("h5",{id:"run-the-celery-beat"},"Run the Celery beat"),(0,r.yg)("p",null,"This pod will trigger the scheduled tasks configured in the alerts and reports UI section:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},"supersetCeleryBeat:\n  enabled: true\n")),(0,r.yg)("h5",{id:"configure-the-appropriate-celery-jobs-and-smtpslack-settings"},"Configure the appropriate Celery jobs and SMTP/Slack settings"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},'extraEnv:\n  SMTP_HOST: smtp.gmail.com\n  SMTP_USER: user@gmail.com\n  SMTP_PORT: "587"\n  SMTP_MAIL_FROM: user@gmail.com\n\nextraSecretEnv:\n  SLACK_API_TOKEN: xoxb-xxxx-yyyy\n  SMTP_PASSWORD: xxxx-yyyy\n\nconfigOverrides:\n  feature_flags: |\n    import ast\n\n    FEATURE_FLAGS = {\n        "ALERT_REPORTS": True\n    }\n\n    SMTP_HOST = os.getenv("SMTP_HOST","localhost")\n    SMTP_STARTTLS = ast.literal_eval(os.getenv("SMTP_STARTTLS", "True"))\n    SMTP_SSL = ast.literal_eval(os.getenv("SMTP_SSL", "False"))\n    SMTP_USER = os.getenv("SMTP_USER","superset")\n    SMTP_PORT = os.getenv("SMTP_PORT",25)\n    SMTP_PASSWORD = os.getenv("SMTP_PASSWORD","superset")\n    SMTP_MAIL_FROM = os.getenv("SMTP_MAIL_FROM","superset@superset.com")\n\n    SLACK_API_TOKEN = os.getenv("SLACK_API_TOKEN",None)\n  celery_conf: |\n    from celery.schedules import crontab\n\n    class CeleryConfig:\n      broker_url = f"redis://{env(\'REDIS_HOST\')}:{env(\'REDIS_PORT\')}/0"\n      imports = (\n          "superset.sql_lab",\n          "superset.tasks.cache",\n          "superset.tasks.scheduler",\n      )\n      result_backend = f"redis://{env(\'REDIS_HOST\')}:{env(\'REDIS_PORT\')}/0"\n      task_annotations = {\n          "sql_lab.get_sql_results": {\n              "rate_limit": "100/s",\n          },\n      }\n      beat_schedule = {\n          "reports.scheduler": {\n              "task": "reports.scheduler",\n              "schedule": crontab(minute="*", hour="*"),\n          },\n          "reports.prune_log": {\n              "task": "reports.prune_log",\n              \'schedule\': crontab(minute=0, hour=0),\n          },\n          \'cache-warmup-hourly\': {\n              "task": "cache-warmup",\n              "schedule": crontab(minute="*/30", hour="*"),\n              "kwargs": {\n                  "strategy_name": "top_n_dashboards",\n                  "top_n": 10,\n                  "since": "7 days ago",\n              },\n          }\n      }\n\n    CELERY_CONFIG = CeleryConfig\n  reports: |\n    EMAIL_PAGE_RENDER_WAIT = 60\n    WEBDRIVER_BASEURL = "http://{{ template "superset.fullname" . }}:{{ .Values.service.port }}/"\n    WEBDRIVER_BASEURL_USER_FRIENDLY = "https://www.example.com/"\n    WEBDRIVER_TYPE= "chrome"\n    WEBDRIVER_OPTION_ARGS = [\n        "--force-device-scale-factor=2.0",\n        "--high-dpi-support=2.0",\n        "--headless",\n        "--disable-gpu",\n        "--disable-dev-shm-usage",\n        # This is required because our process runs as root (in order to install pip packages)\n        "--no-sandbox",\n        "--disable-setuid-sandbox",\n        "--disable-extensions",\n    ]\n')),(0,r.yg)("h4",{id:"load-the-examples-data-and-dashboards"},"Load the Examples data and dashboards"),(0,r.yg)("p",null,"If you are trying Superset out and want some data and dashboards to explore, you can load some examples by creating a ",(0,r.yg)("inlineCode",{parentName:"p"},"my_values.yaml")," and deploying it as described above in the ",(0,r.yg)("strong",{parentName:"p"},"Configure your setting overrides")," step of the ",(0,r.yg)("strong",{parentName:"p"},"Running")," section.\nTo load the examples, add the following to the ",(0,r.yg)("inlineCode",{parentName:"p"},"my_values.yaml")," file:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-yaml"},"init:\n  loadExamples: true\n")))}d.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/runtime~main.1ae51517.js b/assets/js/runtime~main.562f04d3.js
similarity index 98%
rename from assets/js/runtime~main.1ae51517.js
rename to assets/js/runtime~main.562f04d3.js
index 3e15d5b..22f35b9 100644
--- a/assets/js/runtime~main.1ae51517.js
+++ b/assets/js/runtime~main.562f04d3.js
@@ -1 +1 @@
-(()=>{"use strict";var e,a,c,f,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,f,d)=>{if(!c){var b=1/0;for(i=0;i<e.length;i++){c=e[i][0],f=e[i][1],d=e[i][2];for(var t=!0,o=0;o<c.length;o++)(!1&d||b>=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d<b&&(b=d));if(t){e.splice(i--,1);var n=f();void 0!==n&&(a=n)}}return a}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,f,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({3:"a9e1a7f6",217:"b92f705c",435:"1c734f75",491:"f5f07875",517:"471df853",757:"31e90f3c",806:"71cf7fe6",921:"5818c28e",1043:"cf6ffe2f",1121:"dc3fdd24",1135:"0a0a6d3c",1217:"6432bc55",1298:"35a5de3c",1346:"f4a6e698",1392:"eb3b0997",1431:"6948bca1",1799:"69a4ab96",1873:"18cf5ace",2138:"1a4e3797",2422:"afef705c",2539:"ce3fa444",2590:"ee5d850a",2664:"f9cc156b",2736:"2c412ea7",2938:"25f17725",3022:"dbb131dd",3029:"640bc8a0",3462:"f75b37f5",3503:"2461ffa2",3590:"904d61ef",3838:"9d6fd8ea",3989:"9791fd42",4105:"cd90435d",4134:"393be207",4274:"0c21af39",4315:"3c835dee",4411:"da60bc8f",4583:"1df93b7f",4667:"496bf018",4867:"e0a8f778",4914:"8660bbc8",5153:"2f1b3cda",5167:"30334fcd",5331:"53bb5fc4",5347:"dd0670d3",5356:"0ae8b3d4",5602:"36ea7a08",5647:"30ec1363",5718:"eb23a929",5747:"88eaec5a",5901:"2bafca50",5929:"e187e321",6061:"1f391b9e",6097:"19682bb8",6161:"d5417e33",6171:"4e664dc4",6231:"bd23e567",6251:"1c42a294",6276:"dc737160",6342:"5e50ba72",6353:"a584ba2a",6421:"0e9953cd",6505:"74876495",6585:"3c585fdb",6647:"b46ab14b",6682:"c296437a",6713:"e7c796a6",6715:"a309f86e",6723:"262418cd",6903:"f8409a7e",7e3:"1ce51947",7025:"fa1a3aa0",7060:"d83b78fc",7144:"67158350",7268:"58160c0b",7642:"600a9360",7943:"3ec2c3f7",7956:"40974919",8083:"9a9c044b",8172:"c1424005",8359:"fe0957ee",8401:"17896441",8581:"935f2afb",8659:"d76e6194",8714:"1be78505",8880:"57b59cd4",9082:"21b4b958",9087:"4cc2c078",9122:"6a90d500",9249:"5ea65e65",9425:"c76f729d",9657:"6edc47f3",9761:"30256b0d",9814:"07f0ce13",9935:"070b53d1",9938:"507542a3",9958:"972382ea"}[e]||e)+"."+{3:"13e3a8af",217:"5d9f89ba",416:"bbfa475a",435:"e7a48716",491:"c7be7c11",517:"dc8822e4",757:"5a79937a",806:"246f8b0c",921:"1e59b5b9",1043:"6673030e",1121:"ecca1a4e",1135:"c0175a9a",1217:"3ad95028",1298:"1c2c6c36",1346:"f3bb9a8c",1392:"8d2b9219",1431:"b799711d",1774:"d317c627",1799:"2c0d3051",1873:"90a3a8f6",2138:"14bcedcd",2185:"30a4a04c",2422:"eecf620f",2539:"9073513e",2590:"c007b05c",2664:"08264843",2736:"1d48e1ad",2938:"1e13bc28",3022:"71f2133e",3029:"8cefa9b4",3126:"29eff39e",3444:"71e4fec8",3462:"f5fce989",3503:"85c3aadb",3590:"f4cfea6d",3838:"49061a6f",3989:"70accff7",4105:"a3341909",4134:"6a02eb3f",4274:"3d60d144",4315:"2348a423",4411:"5261ec1e",4583:"8ad79997",4667:"20af314d",4867:"5c57dbff",4914:"f5aab579",5153:"d68fc09c",5167:"065df1f5",5243:"885ad383",5331:"e601ba32",5347:"484a6c3d",5356:"26ce537a",5390:"92a01867",5602:"493e2986",5647:"b5ed097a",5718:"b8f9b841",5747:"482f5545",5901:"6988e007",5929:"1040a611",6061:"2a35b2f0",6097:"c8c450b0",6161:"f07b5771",6171:"81dae46b",6231:"fb126394",6251:"0c220e44",6276:"cda4920f",6342:"ea185454",6353:"96db4a5c",6421:"1b829fbb",6505:"8c864c3d",6585:"0121dd4f",6647:"cb92d343",6682:"030a3a05",6713:"e4787f62",6715:"08174e78",6723:"bd2b6782",6809:"5e2f8122",6903:"b782275d",7e3:"cf61032c",7025:"afbd59cd",7060:"adb72e54",7144:"26869a1a",7268:"4ba6513d",7642:"2845a55b",7943:"7601ce54",7956:"0805416a",8083:"e1d69022",8172:"b2ff519b",8359:"f8f94342",8401:"e356988c",8581:"3ff9ffb0",8659:"8efbb1ed",8714:"39537cb9",8880:"ec7b53c8",8913:"4eaba603",9069:"4a18e286",9082:"938de4b3",9087:"4430c374",9122:"f7c28a25",9249:"9be8c834",9425:"e2c67acd",9462:"33d68470",9657:"c6db824e",9761:"627bfffb",9814:"8e108a46",9904:"305f5b5d",9935:"929e3ad7",9938:"7b3c5651",9958:"51631b8e"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},d="docs-v-2:",r.l=(e,a,c,b)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var l=n[i];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==d+c){t=l;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",d+c),t.src=e),f[e]=[a];var u=(a,c)=>{t.onerror=t.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={17896441:"8401",40974919:"7956",67158350:"7144",74876495:"6505",a9e1a7f6:"3",b92f705c:"217","1c734f75":"435",f5f07875:"491","471df853":"517","31e90f3c":"757","71cf7fe6":"806","5818c28e":"921",cf6ffe2f:"1043",dc3fdd24:"1121","0a0a6d3c":"1135","6432bc55":"1217","35a5de3c":"1298",f4a6e698:"1346",eb3b0997:"1392","6948bca1":"1431","69a4ab96":"1799","18cf5ace":"1873","1a4e3797":"2138",afef705c:"2422",ce3fa444:"2539",ee5d850a:"2590",f9cc156b:"2664","2c412ea7":"2736","25f17725":"2938",dbb131dd:"3022","640bc8a0":"3029",f75b37f5:"3462","2461ffa2":"3503","904d61ef":"3590","9d6fd8ea":"3838","9791fd42":"3989",cd90435d:"4105","393be207":"4134","0c21af39":"4274","3c835dee":"4315",da60bc8f:"4411","1df93b7f":"4583","496bf018":"4667",e0a8f778:"4867","8660bbc8":"4914","2f1b3cda":"5153","30334fcd":"5167","53bb5fc4":"5331",dd0670d3:"5347","0ae8b3d4":"5356","36ea7a08":"5602","30ec1363":"5647",eb23a929:"5718","88eaec5a":"5747","2bafca50":"5901",e187e321:"5929","1f391b9e":"6061","19682bb8":"6097",d5417e33:"6161","4e664dc4":"6171",bd23e567:"6231","1c42a294":"6251",dc737160:"6276","5e50ba72":"6342",a584ba2a:"6353","0e9953cd":"6421","3c585fdb":"6585",b46ab14b:"6647",c296437a:"6682",e7c796a6:"6713",a309f86e:"6715","262418cd":"6723",f8409a7e:"6903","1ce51947":"7000",fa1a3aa0:"7025",d83b78fc:"7060","58160c0b":"7268","600a9360":"7642","3ec2c3f7":"7943","9a9c044b":"8083",c1424005:"8172",fe0957ee:"8359","935f2afb":"8581",d76e6194:"8659","1be78505":"8714","57b59cd4":"8880","21b4b958":"9082","4cc2c078":"9087","6a90d500":"9122","5ea65e65":"9249",c76f729d:"9425","6edc47f3":"9657","30256b0d":"9761","07f0ce13":"9814","070b53d1":"9935","507542a3":"9938","972382ea":"9958"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>f=e[a]=[c,d]));c.push(f[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var d=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,d,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n<b.length;n++)d=b[n],r.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return r.O(i)},c=self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})();
\ No newline at end of file
+(()=>{"use strict";var e,a,c,f,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,f,d)=>{if(!c){var b=1/0;for(i=0;i<e.length;i++){c=e[i][0],f=e[i][1],d=e[i][2];for(var t=!0,o=0;o<c.length;o++)(!1&d||b>=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d<b&&(b=d));if(t){e.splice(i--,1);var n=f();void 0!==n&&(a=n)}}return a}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,f,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({3:"a9e1a7f6",217:"b92f705c",435:"1c734f75",491:"f5f07875",517:"471df853",757:"31e90f3c",806:"71cf7fe6",921:"5818c28e",1043:"cf6ffe2f",1121:"dc3fdd24",1135:"0a0a6d3c",1217:"6432bc55",1298:"35a5de3c",1346:"f4a6e698",1392:"eb3b0997",1431:"6948bca1",1799:"69a4ab96",1873:"18cf5ace",2138:"1a4e3797",2422:"afef705c",2539:"ce3fa444",2590:"ee5d850a",2664:"f9cc156b",2736:"2c412ea7",2938:"25f17725",3022:"dbb131dd",3029:"640bc8a0",3462:"f75b37f5",3503:"2461ffa2",3590:"904d61ef",3838:"9d6fd8ea",3989:"9791fd42",4105:"cd90435d",4134:"393be207",4274:"0c21af39",4315:"3c835dee",4411:"da60bc8f",4583:"1df93b7f",4667:"496bf018",4867:"e0a8f778",4914:"8660bbc8",5153:"2f1b3cda",5167:"30334fcd",5331:"53bb5fc4",5347:"dd0670d3",5356:"0ae8b3d4",5602:"36ea7a08",5647:"30ec1363",5718:"eb23a929",5747:"88eaec5a",5901:"2bafca50",5929:"e187e321",6061:"1f391b9e",6097:"19682bb8",6161:"d5417e33",6171:"4e664dc4",6231:"bd23e567",6251:"1c42a294",6276:"dc737160",6342:"5e50ba72",6353:"a584ba2a",6421:"0e9953cd",6505:"74876495",6585:"3c585fdb",6647:"b46ab14b",6682:"c296437a",6713:"e7c796a6",6715:"a309f86e",6723:"262418cd",6903:"f8409a7e",7e3:"1ce51947",7025:"fa1a3aa0",7060:"d83b78fc",7144:"67158350",7268:"58160c0b",7642:"600a9360",7943:"3ec2c3f7",7956:"40974919",8083:"9a9c044b",8172:"c1424005",8359:"fe0957ee",8401:"17896441",8581:"935f2afb",8659:"d76e6194",8714:"1be78505",8880:"57b59cd4",9082:"21b4b958",9087:"4cc2c078",9122:"6a90d500",9249:"5ea65e65",9425:"c76f729d",9657:"6edc47f3",9761:"30256b0d",9814:"07f0ce13",9935:"070b53d1",9938:"507542a3",9958:"972382ea"}[e]||e)+"."+{3:"13e3a8af",217:"5d9f89ba",416:"bbfa475a",435:"e7a48716",491:"c7be7c11",517:"dc8822e4",757:"5a79937a",806:"246f8b0c",921:"1e59b5b9",1043:"6673030e",1121:"ecca1a4e",1135:"c0175a9a",1217:"3ad95028",1298:"1c2c6c36",1346:"f3bb9a8c",1392:"8d2b9219",1431:"b799711d",1774:"d317c627",1799:"2c0d3051",1873:"90a3a8f6",2138:"14bcedcd",2185:"30a4a04c",2422:"eecf620f",2539:"9073513e",2590:"c007b05c",2664:"08264843",2736:"1d48e1ad",2938:"1e13bc28",3022:"71f2133e",3029:"8cefa9b4",3126:"29eff39e",3444:"71e4fec8",3462:"f5fce989",3503:"85c3aadb",3590:"f4cfea6d",3838:"49061a6f",3989:"70accff7",4105:"a3341909",4134:"6a02eb3f",4274:"3d60d144",4315:"2348a423",4411:"5261ec1e",4583:"8ad79997",4667:"20af314d",4867:"5c57dbff",4914:"f5aab579",5153:"d68fc09c",5167:"065df1f5",5243:"885ad383",5331:"e601ba32",5347:"484a6c3d",5356:"26ce537a",5390:"92a01867",5602:"493e2986",5647:"b5ed097a",5718:"b8f9b841",5747:"482f5545",5901:"6988e007",5929:"1040a611",6061:"2a35b2f0",6097:"c8c450b0",6161:"f07b5771",6171:"81dae46b",6231:"fb126394",6251:"0c220e44",6276:"cda4920f",6342:"ea185454",6353:"96db4a5c",6421:"1b829fbb",6505:"8c864c3d",6585:"0121dd4f",6647:"cb92d343",6682:"030a3a05",6713:"e4787f62",6715:"08174e78",6723:"bd2b6782",6809:"5e2f8122",6903:"b782275d",7e3:"cf61032c",7025:"afbd59cd",7060:"adb72e54",7144:"26869a1a",7268:"4ba6513d",7642:"2845a55b",7943:"7601ce54",7956:"0805416a",8083:"e1d69022",8172:"b2ff519b",8359:"462a9d48",8401:"e356988c",8581:"3ff9ffb0",8659:"8efbb1ed",8714:"39537cb9",8880:"ec7b53c8",8913:"4eaba603",9069:"4a18e286",9082:"938de4b3",9087:"4430c374",9122:"f7c28a25",9249:"9be8c834",9425:"e2c67acd",9462:"33d68470",9657:"c6db824e",9761:"627bfffb",9814:"8e108a46",9904:"305f5b5d",9935:"929e3ad7",9938:"7b3c5651",9958:"51631b8e"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},d="docs-v-2:",r.l=(e,a,c,b)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var l=n[i];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==d+c){t=l;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",d+c),t.src=e),f[e]=[a];var u=(a,c)=>{t.onerror=t.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={17896441:"8401",40974919:"7956",67158350:"7144",74876495:"6505",a9e1a7f6:"3",b92f705c:"217","1c734f75":"435",f5f07875:"491","471df853":"517","31e90f3c":"757","71cf7fe6":"806","5818c28e":"921",cf6ffe2f:"1043",dc3fdd24:"1121","0a0a6d3c":"1135","6432bc55":"1217","35a5de3c":"1298",f4a6e698:"1346",eb3b0997:"1392","6948bca1":"1431","69a4ab96":"1799","18cf5ace":"1873","1a4e3797":"2138",afef705c:"2422",ce3fa444:"2539",ee5d850a:"2590",f9cc156b:"2664","2c412ea7":"2736","25f17725":"2938",dbb131dd:"3022","640bc8a0":"3029",f75b37f5:"3462","2461ffa2":"3503","904d61ef":"3590","9d6fd8ea":"3838","9791fd42":"3989",cd90435d:"4105","393be207":"4134","0c21af39":"4274","3c835dee":"4315",da60bc8f:"4411","1df93b7f":"4583","496bf018":"4667",e0a8f778:"4867","8660bbc8":"4914","2f1b3cda":"5153","30334fcd":"5167","53bb5fc4":"5331",dd0670d3:"5347","0ae8b3d4":"5356","36ea7a08":"5602","30ec1363":"5647",eb23a929:"5718","88eaec5a":"5747","2bafca50":"5901",e187e321:"5929","1f391b9e":"6061","19682bb8":"6097",d5417e33:"6161","4e664dc4":"6171",bd23e567:"6231","1c42a294":"6251",dc737160:"6276","5e50ba72":"6342",a584ba2a:"6353","0e9953cd":"6421","3c585fdb":"6585",b46ab14b:"6647",c296437a:"6682",e7c796a6:"6713",a309f86e:"6715","262418cd":"6723",f8409a7e:"6903","1ce51947":"7000",fa1a3aa0:"7025",d83b78fc:"7060","58160c0b":"7268","600a9360":"7642","3ec2c3f7":"7943","9a9c044b":"8083",c1424005:"8172",fe0957ee:"8359","935f2afb":"8581",d76e6194:"8659","1be78505":"8714","57b59cd4":"8880","21b4b958":"9082","4cc2c078":"9087","6a90d500":"9122","5ea65e65":"9249",c76f729d:"9425","6edc47f3":"9657","30256b0d":"9761","07f0ce13":"9814","070b53d1":"9935","507542a3":"9938","972382ea":"9958"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>f=e[a]=[c,d]));c.push(f[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var d=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,d,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n<b.length;n++)d=b[n],r.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return r.O(i)},c=self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})();
\ No newline at end of file
diff --git a/community/index.html b/community/index.html
index 7231824..4a18a5e 100644
--- a/community/index.html
+++ b/community/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/api/index.html b/docs/api/index.html
index 05c87ca..2f9fa24 100644
--- a/docs/api/index.html
+++ b/docs/api/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -39,7 +39,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/contributing-page/index.html b/docs/contributing/contributing-page/index.html
index f2fd400..1f0880b 100644
--- a/docs/contributing/contributing-page/index.html
+++ b/docs/contributing/contributing-page/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -38,7 +38,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/conventions-and-typing/index.html b/docs/contributing/conventions-and-typing/index.html
index e197ac8..d0aaeb2 100644
--- a/docs/contributing/conventions-and-typing/index.html
+++ b/docs/contributing/conventions-and-typing/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -40,7 +40,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/creating-viz-plugins/index.html b/docs/contributing/creating-viz-plugins/index.html
index 9803d3d..17144f4 100644
--- a/docs/contributing/creating-viz-plugins/index.html
+++ b/docs/contributing/creating-viz-plugins/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -52,7 +52,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/hooks-and-linting/index.html b/docs/contributing/hooks-and-linting/index.html
index 3d14b95..1b055bf 100644
--- a/docs/contributing/hooks-and-linting/index.html
+++ b/docs/contributing/hooks-and-linting/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/local-backend/index.html b/docs/contributing/local-backend/index.html
index 6a12483..1f3c517 100644
--- a/docs/contributing/local-backend/index.html
+++ b/docs/contributing/local-backend/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -39,7 +39,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/pull-request-guidelines/index.html b/docs/contributing/pull-request-guidelines/index.html
index f548909..7e8a290 100644
--- a/docs/contributing/pull-request-guidelines/index.html
+++ b/docs/contributing/pull-request-guidelines/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/style-guide/index.html b/docs/contributing/style-guide/index.html
index 872cdf6..b18ac7d 100644
--- a/docs/contributing/style-guide/index.html
+++ b/docs/contributing/style-guide/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -39,7 +39,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/testing-locally/index.html b/docs/contributing/testing-locally/index.html
index 231d850..bbe65aa 100644
--- a/docs/contributing/testing-locally/index.html
+++ b/docs/contributing/testing-locally/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -43,7 +43,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/translations/index.html b/docs/contributing/translations/index.html
index 144b3f1..da72444 100644
--- a/docs/contributing/translations/index.html
+++ b/docs/contributing/translations/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -67,7 +67,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/types-of-contributions/index.html b/docs/contributing/types-of-contributions/index.html
index 63abdfb..ab68428 100644
--- a/docs/contributing/types-of-contributions/index.html
+++ b/docs/contributing/types-of-contributions/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/creating-charts-dashboards/creating-your-first-dashboard/index.html b/docs/creating-charts-dashboards/creating-your-first-dashboard/index.html
index d94f37e..2bfbfab 100644
--- a/docs/creating-charts-dashboards/creating-your-first-dashboard/index.html
+++ b/docs/creating-charts-dashboards/creating-your-first-dashboard/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -79,7 +79,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/creating-charts-dashboards/exploring-data/index.html b/docs/creating-charts-dashboards/exploring-data/index.html
index ae73383..c0c8075 100644
--- a/docs/creating-charts-dashboards/exploring-data/index.html
+++ b/docs/creating-charts-dashboards/exploring-data/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -132,7 +132,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/ascend/index.html b/docs/databases/ascend/index.html
index fc10b43..765583f 100644
--- a/docs/databases/ascend/index.html
+++ b/docs/databases/ascend/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/athena/index.html b/docs/databases/athena/index.html
index 451e482..e13c6ab 100644
--- a/docs/databases/athena/index.html
+++ b/docs/databases/athena/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -38,7 +38,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/bigquery/index.html b/docs/databases/bigquery/index.html
index 71599aa..9c2b72a 100644
--- a/docs/databases/bigquery/index.html
+++ b/docs/databases/bigquery/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -43,7 +43,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/clickhouse/index.html b/docs/databases/clickhouse/index.html
index 2be2fa2..96a7e4f 100644
--- a/docs/databases/clickhouse/index.html
+++ b/docs/databases/clickhouse/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -38,7 +38,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/cockroachdb/index.html b/docs/databases/cockroachdb/index.html
index 84e966e..123ca07 100644
--- a/docs/databases/cockroachdb/index.html
+++ b/docs/databases/cockroachdb/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/cratedb/index.html b/docs/databases/cratedb/index.html
index 7284f20..ea58551 100644
--- a/docs/databases/cratedb/index.html
+++ b/docs/databases/cratedb/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -40,7 +40,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/databend/index.html b/docs/databases/databend/index.html
index 65612b8..d81a8ea 100644
--- a/docs/databases/databend/index.html
+++ b/docs/databases/databend/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/databricks/index.html b/docs/databases/databricks/index.html
index 1d5cca9..1720fbd 100644
--- a/docs/databases/databricks/index.html
+++ b/docs/databases/databricks/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/db-connection-ui/index.html b/docs/databases/db-connection-ui/index.html
index 146be32..522a61e 100644
--- a/docs/databases/db-connection-ui/index.html
+++ b/docs/databases/db-connection-ui/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/docker-add-drivers/index.html b/docs/databases/docker-add-drivers/index.html
index e191824..0e6df33 100644
--- a/docs/databases/docker-add-drivers/index.html
+++ b/docs/databases/docker-add-drivers/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/doris/index.html b/docs/databases/doris/index.html
index fc51250..8fb3e13 100644
--- a/docs/databases/doris/index.html
+++ b/docs/databases/doris/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/dremio/index.html b/docs/databases/dremio/index.html
index b88c603..c33eac3 100644
--- a/docs/databases/dremio/index.html
+++ b/docs/databases/dremio/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -38,7 +38,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/drill/index.html b/docs/databases/drill/index.html
index 92b61be..dc7dfb2 100644
--- a/docs/databases/drill/index.html
+++ b/docs/databases/drill/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -43,7 +43,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/druid/index.html b/docs/databases/druid/index.html
index 2dc2246..572c832 100644
--- a/docs/databases/druid/index.html
+++ b/docs/databases/druid/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -49,7 +49,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/dynamodb/index.html b/docs/databases/dynamodb/index.html
index e563ef3..617e95d 100644
--- a/docs/databases/dynamodb/index.html
+++ b/docs/databases/dynamodb/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/elasticsearch/index.html b/docs/databases/elasticsearch/index.html
index 7c896c7..f76738b 100644
--- a/docs/databases/elasticsearch/index.html
+++ b/docs/databases/elasticsearch/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -43,7 +43,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/exasol/index.html b/docs/databases/exasol/index.html
index d2d621a..74c94d7 100644
--- a/docs/databases/exasol/index.html
+++ b/docs/databases/exasol/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/extra-settings/index.html b/docs/databases/extra-settings/index.html
index ea5e928..adac7de 100644
--- a/docs/databases/extra-settings/index.html
+++ b/docs/databases/extra-settings/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/firebird/index.html b/docs/databases/firebird/index.html
index 31f3067..745eccc 100644
--- a/docs/databases/firebird/index.html
+++ b/docs/databases/firebird/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/firebolt/index.html b/docs/databases/firebolt/index.html
index a52fe12..a5bfc0d 100644
--- a/docs/databases/firebolt/index.html
+++ b/docs/databases/firebolt/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/google-sheets/index.html b/docs/databases/google-sheets/index.html
index eb75ffb..a7fdc39 100644
--- a/docs/databases/google-sheets/index.html
+++ b/docs/databases/google-sheets/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -40,7 +40,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/hana/index.html b/docs/databases/hana/index.html
index b929f8c..ba46820 100644
--- a/docs/databases/hana/index.html
+++ b/docs/databases/hana/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/hive/index.html b/docs/databases/hive/index.html
index 2470b72..8e5f09f 100644
--- a/docs/databases/hive/index.html
+++ b/docs/databases/hive/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/hologres/index.html b/docs/databases/hologres/index.html
index 9ced9e7..c25cee4 100644
--- a/docs/databases/hologres/index.html
+++ b/docs/databases/hologres/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/ibm-db2/index.html b/docs/databases/ibm-db2/index.html
index 51c4cb7..38d5270 100644
--- a/docs/databases/ibm-db2/index.html
+++ b/docs/databases/ibm-db2/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/impala/index.html b/docs/databases/impala/index.html
index 829a23e..aa47b8c 100644
--- a/docs/databases/impala/index.html
+++ b/docs/databases/impala/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/installing-database-drivers/index.html b/docs/databases/installing-database-drivers/index.html
index 7feb93a..8b46faa 100644
--- a/docs/databases/installing-database-drivers/index.html
+++ b/docs/databases/installing-database-drivers/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/kusto/index.html b/docs/databases/kusto/index.html
index 51f3453..6673f7b 100644
--- a/docs/databases/kusto/index.html
+++ b/docs/databases/kusto/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -38,7 +38,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/kylin/index.html b/docs/databases/kylin/index.html
index ef1b676..f2862ad 100644
--- a/docs/databases/kylin/index.html
+++ b/docs/databases/kylin/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/meta-database/index.html b/docs/databases/meta-database/index.html
index 6f1677b..ea67bfd 100644
--- a/docs/databases/meta-database/index.html
+++ b/docs/databases/meta-database/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/mysql/index.html b/docs/databases/mysql/index.html
index 1aa343d..0458bb8 100644
--- a/docs/databases/mysql/index.html
+++ b/docs/databases/mysql/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/netezza/index.html b/docs/databases/netezza/index.html
index 3581921..a3da3ea 100644
--- a/docs/databases/netezza/index.html
+++ b/docs/databases/netezza/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/ocient/index.html b/docs/databases/ocient/index.html
index 2b04b0b..efcef15 100644
--- a/docs/databases/ocient/index.html
+++ b/docs/databases/ocient/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -38,7 +38,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/oracle/index.html b/docs/databases/oracle/index.html
index 5cfaf49..767b928 100644
--- a/docs/databases/oracle/index.html
+++ b/docs/databases/oracle/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/pinot/index.html b/docs/databases/pinot/index.html
index 61e1ab7..93a9a75 100644
--- a/docs/databases/pinot/index.html
+++ b/docs/databases/pinot/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/postgres/index.html b/docs/databases/postgres/index.html
index 3849465..fced64f 100644
--- a/docs/databases/postgres/index.html
+++ b/docs/databases/postgres/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -41,7 +41,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/presto/index.html b/docs/databases/presto/index.html
index 8d993c7..b86002e 100644
--- a/docs/databases/presto/index.html
+++ b/docs/databases/presto/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/redshift/index.html b/docs/databases/redshift/index.html
index b1d1f0b..462bc40 100644
--- a/docs/databases/redshift/index.html
+++ b/docs/databases/redshift/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/risingwave/index.html b/docs/databases/risingwave/index.html
index 1d3767b..27410f7 100644
--- a/docs/databases/risingwave/index.html
+++ b/docs/databases/risingwave/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/rockset/index.html b/docs/databases/rockset/index.html
index 2af6c18..95cf866 100644
--- a/docs/databases/rockset/index.html
+++ b/docs/databases/rockset/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/snowflake/index.html b/docs/databases/snowflake/index.html
index ab26b88..78b0346 100644
--- a/docs/databases/snowflake/index.html
+++ b/docs/databases/snowflake/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/solr/index.html b/docs/databases/solr/index.html
index 9ae0961..b854a44 100644
--- a/docs/databases/solr/index.html
+++ b/docs/databases/solr/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/spark-sql/index.html b/docs/databases/spark-sql/index.html
index ba64143..02ecf05 100644
--- a/docs/databases/spark-sql/index.html
+++ b/docs/databases/spark-sql/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/sql-server/index.html b/docs/databases/sql-server/index.html
index a2395df..7150193 100644
--- a/docs/databases/sql-server/index.html
+++ b/docs/databases/sql-server/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/starrocks/index.html b/docs/databases/starrocks/index.html
index 4befb88..991a55b 100644
--- a/docs/databases/starrocks/index.html
+++ b/docs/databases/starrocks/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/teradata/index.html b/docs/databases/teradata/index.html
index 691671b..cf14d61 100644
--- a/docs/databases/teradata/index.html
+++ b/docs/databases/teradata/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -43,7 +43,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/timescaledb/index.html b/docs/databases/timescaledb/index.html
index 6aa4446..c818de0 100644
--- a/docs/databases/timescaledb/index.html
+++ b/docs/databases/timescaledb/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -37,7 +37,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/trino/index.html b/docs/databases/trino/index.html
index 86fce95..fff179c 100644
--- a/docs/databases/trino/index.html
+++ b/docs/databases/trino/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -38,7 +38,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/vertica/index.html b/docs/databases/vertica/index.html
index 21bc278..eb3fbde 100644
--- a/docs/databases/vertica/index.html
+++ b/docs/databases/vertica/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -38,7 +38,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/yugabytedb/index.html b/docs/databases/yugabytedb/index.html
index 9621f53..68559f2 100644
--- a/docs/databases/yugabytedb/index.html
+++ b/docs/databases/yugabytedb/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -38,7 +38,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/frequently-asked-questions/index.html b/docs/frequently-asked-questions/index.html
index 890e54f..30c3c55 100644
--- a/docs/frequently-asked-questions/index.html
+++ b/docs/frequently-asked-questions/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -124,7 +124,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/alerts-reports/index.html b/docs/installation/alerts-reports/index.html
index 20eb142..adb8708 100644
--- a/docs/installation/alerts-reports/index.html
+++ b/docs/installation/alerts-reports/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -55,7 +55,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/async-queries-celery/index.html b/docs/installation/async-queries-celery/index.html
index 5f0ae52..b6b6f7c 100644
--- a/docs/installation/async-queries-celery/index.html
+++ b/docs/installation/async-queries-celery/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -52,7 +52,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/cache/index.html b/docs/installation/cache/index.html
index 3231178..c576332 100644
--- a/docs/installation/cache/index.html
+++ b/docs/installation/cache/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -55,7 +55,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/configuring-superset/index.html b/docs/installation/configuring-superset/index.html
index e070662..dfa3dad 100644
--- a/docs/installation/configuring-superset/index.html
+++ b/docs/installation/configuring-superset/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -89,7 +89,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/docker/index.html b/docs/installation/docker/index.html
index 7471053..434eb3f 100644
--- a/docs/installation/docker/index.html
+++ b/docs/installation/docker/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -69,7 +69,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/event-logging/index.html b/docs/installation/event-logging/index.html
index 5d39d7d..a44d830 100644
--- a/docs/installation/event-logging/index.html
+++ b/docs/installation/event-logging/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -42,7 +42,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/installing-superset-from-pypi/index.html b/docs/installation/installing-superset-from-pypi/index.html
index ea9de2f..f78aa64 100644
--- a/docs/installation/installing-superset-from-pypi/index.html
+++ b/docs/installation/installing-superset-from-pypi/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/installing-superset-using-docker-compose/index.html b/docs/installation/installing-superset-using-docker-compose/index.html
index 9330a52..3666a79 100644
--- a/docs/installation/installing-superset-using-docker-compose/index.html
+++ b/docs/installation/installing-superset-using-docker-compose/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -122,7 +122,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/networking-settings/index.html b/docs/installation/networking-settings/index.html
index de211ab..4d9c346 100644
--- a/docs/installation/networking-settings/index.html
+++ b/docs/installation/networking-settings/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/running-on-kubernetes/index.html b/docs/installation/running-on-kubernetes/index.html
index ee4828a..0fe1edf 100644
--- a/docs/installation/running-on-kubernetes/index.html
+++ b/docs/installation/running-on-kubernetes/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -17,7 +17,7 @@
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/superset-logo-horiz.svg" alt="Superset Logo" class="themedImage_ToTc themedImage--light_HNdA"><img src="/img/superset-logo-horiz-dark.svg" alt="Superset Logo" class="themedImage_ToTc themedImage--dark_i4oU"></div></a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Documentation</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/intro">Getting Started</a></li><li><a class="dropdown__link" href="/docs/frequently-asked-questions">FAQ</a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Community</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/community">Resources</a></li><li><a href="https://github.com/apache/superset" target="_blank" rel="noopener noreferrer" class="dropdown__link">GitHub<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="http://bit.ly/join-superset-slack" target="_blank" rel="noopener noreferrer" class="dropdown__link">Slack<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="https://lists.apache.org/list.html?dev@superset.apache.org" target="_blank" rel="noopener noreferrer" class="dropdown__link">Mailing List<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="https://stackoverflow.com/questions/tagged/apache-superset" target="_blank" rel="noopener noreferrer" class="dropdown__link">Stack Overflow<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link default-button-theme get-started-button" href="/docs/intro">Get Started</a><a href="https://github.com/apache/superset" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link github-button"></a><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/intro">Introduction</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/quickstart">Quickstart</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/installation/running-on-kubernetes">Installation and Configuration</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/installation/running-on-kubernetes">Installing on Kubernetes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/installation/installing-superset-from-pypi">Installing from PyPI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/installation/installing-superset-using-docker-compose">Installing Locally Using Docker Compose</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/installation/configuring-superset">Configuring Superset</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/installation/networking-settings">Additional Networking Settings</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/installation/cache">Caching</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/installation/event-logging">Event Logging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/installation/upgrading-superset">Upgrading Superset</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/installation/async-queries-celery">Async Queries via Celery</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/installation/alerts-reports">Alerts and Reports</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/installation/sql-templating">SQL Templating</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/installation/setup-ssh-tunneling">Setup SSH Tunneling</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/installation/docker">Docker builds, images and tags</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/creating-charts-dashboards/creating-your-first-dashboard">Creating Charts and Dashboards</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/databases/installing-database-drivers">Connecting to Databases</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/miscellaneous/country-map-tools">Miscellaneous</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/contributing/contributing-page">Contributing</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/frequently-asked-questions">Frequently Asked Questions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/security/">Security</a><button aria-label="Toggle the collapsible sidebar category &#x27;Security&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/api">API</a></li></ul></nav></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><style data-emotion-css="hrzriw">.css-hrzriw{position:fixed;bottom:40px;right:10px;padding:1rem;padding-left:4rem;background-color:#444;border-radius:10px;z-index:9999;background-image:url('/img/github-dark.png');background-size:2rem;background-position:1rem center;background-repeat:no-repeat;-webkit-transition:background-color 0.3s;transition:background-color 0.3s;bpx-shadow:0 0 0 0 rgba(0,0,0,0);scale:.9;-webkit-transition:all 0.3s;transition:all 0.3s;-webkit-transform-origin:bottom right;-ms-transform-origin:bottom right;transform-origin:bottom right;}.css-hrzriw:hover{background-color:#333;box-shadow:5px 5px 10px 0 rgba(0,0,0,0.3);scale:1;}</style><a href="https://github.com/apache/superset/edit/master/docs/docs/installation/running-on-kubernetes.mdx" target="_blank" rel="noopener noreferrer" class="css-hrzriw">Edit this page on GitHub</a><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Installation and Configuration</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Installing on Kubernetes</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><h2 class="anchor anchorWithStickyNavbar_LWe7" id="installing-on-kubernetes">Installing on Kubernetes<a href="#installing-on-kubernetes" class="hash-link" aria-label="Direct link to Installing on Kubernetes" title="Direct link to Installing on Kubernetes">​</a></h2><p>Running Superset on Kubernetes is supported with the provided <a href="https://helm.sh/" target="_blank" rel="noopener noreferrer">Helm</a> chart
 found in the official <a href="https://apache.github.io/superset/index.yaml" target="_blank" rel="noopener noreferrer">Superset helm repository</a>.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="prerequisites">Prerequisites<a href="#prerequisites" class="hash-link" aria-label="Direct link to Prerequisites" title="Direct link to Prerequisites">​</a></h3><ul><li>A Kubernetes cluster</li><li>Helm installed</li></ul><div class="theme-admonition theme-admonition-note alert alert--secondary admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span>note</div><div class="admonitionContent_S0QG"><p>For simpler, single host environments, we recommend using
 <a href="https://minikube.sigs.k8s.io/docs/start/" target="_blank" rel="noopener noreferrer">minikube</a> which is easy to setup on many platforms
-and works fantastically well with the Helm chart referenced here.</p></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="running">Running<a href="#running" class="hash-link" aria-label="Direct link to Running" title="Direct link to Running">​</a></h3><ol><li>Add the Superset helm repository</li></ol><div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">helm repo add superset https://apache.github.io/superset</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">&quot;superset&quot; has been added to your repositories</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><ol start="2"><li>View charts in repo</li></ol><div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">helm search repo superset</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset/superset       0.1.1           1.0             Apache Superset is a modern, enterprise-ready b...</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><ol start="3"><li>Configure your setting overrides</li></ol><p>Just like any typical Helm chart, you&#x27;ll need to craft a <code>values.yaml</code> file that would define/override any of the values exposed into the default <a href="https://github.com/apache/superset/tree/master/helm/superset/values.yaml" target="_blank" rel="noopener noreferrer">values.yaml</a>, or from any of the dependent charts it depends on:</p><ul><li><a href="https://artifacthub.io/packages/helm/bitnami/redis" target="_blank" rel="noopener noreferrer">bitnami/redis</a></li><li><a href="https://artifacthub.io/packages/helm/bitnami/postgresql" target="_blank" rel="noopener noreferrer">bitnami/postgresql</a></li></ul><p>More info down below on some important overrides you might need.</p><ol start="4"><li>Install and run</li></ol><div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">helm upgrade --install --values my-values.yaml superset superset/superset</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>You should see various pods popping up, such as:</p><div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">kubectl get pods</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME                                    READY   STATUS      RESTARTS   AGE</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-celerybeat-7cdcc9575f-k6xmc    1/1     Running     0          119s</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-f5c9c667-dw9lp                 1/1     Running     0          4m7s</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-f5c9c667-fk8bk                 1/1     Running     0          4m11s</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-init-db-zlm9z                  0/1     Completed   0          111s</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-postgresql-0                   1/1     Running     0          6d20h</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-redis-master-0                 1/1     Running     0          6d20h</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-worker-75b48bbcc-jmmjr         1/1     Running     0          4m8s</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-worker-75b48bbcc-qrq49         1/1     Running     0          4m12s</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>The exact list will depend on some of your specific configuration overrides but you should generally expect:</p><ul><li>N <code>superset-xxxx-yyyy</code> and <code>superset-worker-xxxx-yyyy</code> pods (depending on your <code>supersetNode.replicaCount</code> and <code>supersetWorker.replicaCount</code> values)</li><li>1 <code>superset-postgresql-0</code> depending on your postgres settings</li><li>1 <code>superset-redis-master-0</code> depending on your redis settings</li><li>1 <code>superset-celerybeat-xxxx-yyyy</code> pod if you have <code>supersetCeleryBeat.enabled = true</code> in your values overrides</li></ul><ol><li>Access it</li></ol><p>The chart will publish appropriate services to expose the Superset UI internally within your k8s cluster. To access it externally you will have to either:</p><ul><li>Configure the Service as a <code>LoadBalancer</code> or <code>NodePort</code></li><li>Set up an <code>Ingress</code> for it - the chart includes a definition, but will need to be tuned to your needs (hostname, tls, annotations etc...)</li><li>Run <code>kubectl port-forward superset-xxxx-yyyy :8088</code> to directly tunnel one pod&#x27;s port into your localhost</li></ul><p>Depending how you configured external access, the URL will vary. Once you&#x27;ve identified the appropriate URL you can log in with:</p><ul><li>user: <code>admin</code></li><li>password: <code>admin</code></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="important-settings">Important settings<a href="#important-settings" class="hash-link" aria-label="Direct link to Important settings" title="Direct link to Important settings">​</a></h3><h4 class="anchor anchorWithStickyNavbar_LWe7" id="security-settings">Security settings<a href="#security-settings" class="hash-link" aria-label="Direct link to Security settings" title="Direct link to Security settings">​</a></h4><p>Default security settings and passwords are included but you <strong>SHOULD</strong> override those with your own, in particular:</p><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">postgresql</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">postgresqlPassword</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> superset</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Make sure, you set a unique strong complex alphanumeric string for your SECRET_KEY and use a tool to help you generate
+and works fantastically well with the Helm chart referenced here.</p></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="running">Running<a href="#running" class="hash-link" aria-label="Direct link to Running" title="Direct link to Running">​</a></h3><ol><li>Add the Superset helm repository</li></ol><div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">helm repo add superset https://apache.github.io/superset</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">&quot;superset&quot; has been added to your repositories</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><ol start="2"><li>View charts in repo</li></ol><div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">helm search repo superset</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset/superset       0.1.1           1.0             Apache Superset is a modern, enterprise-ready b...</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><ol start="3"><li>Configure your setting overrides</li></ol><p>Just like any typical Helm chart, you&#x27;ll need to craft a <code>values.yaml</code> file that would define/override any of the values exposed into the default <a href="https://github.com/apache/superset/tree/master/helm/superset/values.yaml" target="_blank" rel="noopener noreferrer">values.yaml</a>, or from any of the dependent charts it depends on:</p><ul><li><a href="https://artifacthub.io/packages/helm/bitnami/redis" target="_blank" rel="noopener noreferrer">bitnami/redis</a></li><li><a href="https://artifacthub.io/packages/helm/bitnami/postgresql" target="_blank" rel="noopener noreferrer">bitnami/postgresql</a></li></ul><p>More info down below on some important overrides you might need.</p><ol start="4"><li>Install and run</li></ol><div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">helm upgrade --install --values my-values.yaml superset superset/superset</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>You should see various pods popping up, such as:</p><div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">kubectl get pods</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME                                    READY   STATUS      RESTARTS   AGE</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-celerybeat-7cdcc9575f-k6xmc    1/1     Running     0          119s</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-f5c9c667-dw9lp                 1/1     Running     0          4m7s</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-f5c9c667-fk8bk                 1/1     Running     0          4m11s</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-init-db-zlm9z                  0/1     Completed   0          111s</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-postgresql-0                   1/1     Running     0          6d20h</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-redis-master-0                 1/1     Running     0          6d20h</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-worker-75b48bbcc-jmmjr         1/1     Running     0          4m8s</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset-worker-75b48bbcc-qrq49         1/1     Running     0          4m12s</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>The exact list will depend on some of your specific configuration overrides but you should generally expect:</p><ul><li>N <code>superset-xxxx-yyyy</code> and <code>superset-worker-xxxx-yyyy</code> pods (depending on your <code>supersetNode.replicaCount</code> and <code>supersetWorker.replicaCount</code> values)</li><li>1 <code>superset-postgresql-0</code> depending on your postgres settings</li><li>1 <code>superset-redis-master-0</code> depending on your redis settings</li><li>1 <code>superset-celerybeat-xxxx-yyyy</code> pod if you have <code>supersetCeleryBeat.enabled = true</code> in your values overrides</li></ul><ol><li>Access it</li></ol><p>The chart will publish appropriate services to expose the Superset UI internally within your k8s cluster. To access it externally you will have to either:</p><ul><li>Configure the Service as a <code>LoadBalancer</code> or <code>NodePort</code></li><li>Set up an <code>Ingress</code> for it - the chart includes a definition, but will need to be tuned to your needs (hostname, tls, annotations etc...)</li><li>Run <code>kubectl port-forward superset-xxxx-yyyy :8088</code> to directly tunnel one pod&#x27;s port into your localhost</li></ul><p>Depending how you configured external access, the URL will vary. Once you&#x27;ve identified the appropriate URL you can log in with:</p><ul><li>user: <code>admin</code></li><li>password: <code>admin</code></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="important-settings">Important settings<a href="#important-settings" class="hash-link" aria-label="Direct link to Important settings" title="Direct link to Important settings">​</a></h3><h4 class="anchor anchorWithStickyNavbar_LWe7" id="security-settings">Security settings<a href="#security-settings" class="hash-link" aria-label="Direct link to Security settings" title="Direct link to Security settings">​</a></h4><p>Default security settings and passwords are included but you <strong>MUST</strong> update them to run <code>prod</code> instances, in particular:</p><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">postgresql</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">postgresqlPassword</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> superset</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Make sure, you set a unique strong complex alphanumeric string for your SECRET_KEY and use a tool to help you generate
 a sufficiently random sequence.</p><ul><li>To generate a good key you can run, <code>openssl rand -base64 42</code></li></ul><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">configOverrides</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">secret</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span><br></span><span class="token-line" style="color:#393A34"><span class="token scalar string" style="color:#e3116c">    SECRET_KEY = &#x27;YOUR_OWN_RANDOM_GENERATED_SECRET_KEY&#x27;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>If you want to change the previous secret key then you should rotate the keys.
 Default secret key for kubernetes deployment is <code>thisISaSECRET_1234</code></p><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">configOverrides</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">my_override</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span><br></span><span class="token-line" style="color:#393A34"><span class="token scalar string" style="color:#e3116c">    PREVIOUS_SECRET_KEY = &#x27;YOUR_PREVIOUS_SECRET_KEY&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token scalar string" style="color:#e3116c">    SECRET_KEY = &#x27;YOUR_OWN_RANDOM_GENERATED_SECRET_KEY&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">init</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">command</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> /bin/sh</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain">c</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span><br></span><span class="token-line" style="color:#393A34"><span class="token scalar string" style="color:#e3116c">      . {{ .Values.configMountPath }}/superset_bootstrap.sh</span><br></span><span class="token-line" style="color:#393A34"><span class="token scalar string" style="color:#e3116c">      superset re-encrypt-secrets</span><br></span><span class="token-line" style="color:#393A34"><span class="token scalar string" style="color:#e3116c">      . {{ .Values.configMountPath }}/superset_init.sh</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><div class="theme-admonition theme-admonition-note alert alert--secondary admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span>note</div><div class="admonitionContent_S0QG"><p>Superset uses <a href="https://about.scarf.sh/scarf-gateway" target="_blank" rel="noopener noreferrer">Scarf Gateway</a> to collect telemetry data.  Knowing the installation counts for different Superset versions informs the  project&#x27;s decisions about patching and long-term support. Scarf purges personally identifiable information (PII) and provides only aggregated statistics.</p><p>To opt-out of this data collection in your Helm-based installation, edit the <code>repository:</code> line in your <code>helm/superset/values.yaml</code> file, replacing <code>apachesuperset.docker.scarf.sh/apache/superset</code> with <code>apache/superset</code> to pull the image directly from Docker Hub.</p></div></div><h4 class="anchor anchorWithStickyNavbar_LWe7" id="dependencies">Dependencies<a href="#dependencies" class="hash-link" aria-label="Direct link to Dependencies" title="Direct link to Dependencies">​</a></h4><p>Install additional packages and do any other bootstrap configuration in the bootstrap script.
 For production clusters it&#x27;s recommended to build own image with this step done in CI.</p><div class="theme-admonition theme-admonition-note alert alert--secondary admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span>note</div><div class="admonitionContent_S0QG"><p>Superset requires a Python DB-API database driver and a SQLAlchemy
@@ -47,7 +47,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/setup-ssh-tunneling/index.html b/docs/installation/setup-ssh-tunneling/index.html
index ef1b7c2..67d375a 100644
--- a/docs/installation/setup-ssh-tunneling/index.html
+++ b/docs/installation/setup-ssh-tunneling/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/sql-templating/index.html b/docs/installation/sql-templating/index.html
index 9906673..afab1a9 100644
--- a/docs/installation/sql-templating/index.html
+++ b/docs/installation/sql-templating/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -75,7 +75,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/upgrading-superset/index.html b/docs/installation/upgrading-superset/index.html
index 36eb85c..3e0a16b 100644
--- a/docs/installation/upgrading-superset/index.html
+++ b/docs/installation/upgrading-superset/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -38,7 +38,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/intro/index.html b/docs/intro/index.html
index 94a1502..13ffb64 100644
--- a/docs/intro/index.html
+++ b/docs/intro/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/chart-params/index.html b/docs/miscellaneous/chart-params/index.html
index 03bd09e..7db2e02 100644
--- a/docs/miscellaneous/chart-params/index.html
+++ b/docs/miscellaneous/chart-params/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/country-map-tools/index.html b/docs/miscellaneous/country-map-tools/index.html
index a061fcd..f838c00 100644
--- a/docs/miscellaneous/country-map-tools/index.html
+++ b/docs/miscellaneous/country-map-tools/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -43,7 +43,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/importing-exporting-datasources/index.html b/docs/miscellaneous/importing-exporting-datasources/index.html
index 62a2fe9..92e7259 100644
--- a/docs/miscellaneous/importing-exporting-datasources/index.html
+++ b/docs/miscellaneous/importing-exporting-datasources/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/issue-codes/index.html b/docs/miscellaneous/issue-codes/index.html
index 8c9fcab..e71124a 100644
--- a/docs/miscellaneous/issue-codes/index.html
+++ b/docs/miscellaneous/issue-codes/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -65,7 +65,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/timezones/index.html b/docs/miscellaneous/timezones/index.html
index 24a71c9..e255729 100644
--- a/docs/miscellaneous/timezones/index.html
+++ b/docs/miscellaneous/timezones/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/quickstart/index.html b/docs/quickstart/index.html
index eb56b68..a040478 100644
--- a/docs/quickstart/index.html
+++ b/docs/quickstart/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -53,7 +53,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/security/cves/index.html b/docs/security/cves/index.html
index ee13b32..b52b44d 100644
--- a/docs/security/cves/index.html
+++ b/docs/security/cves/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/security/index.html b/docs/security/index.html
index 6357755..c030039 100644
--- a/docs/security/index.html
+++ b/docs/security/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -135,7 +135,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/index.html b/index.html
index 99d12e8..54d67f6 100644
--- a/index.html
+++ b/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/markdown-page/index.html b/markdown-page/index.html
index 767f808..811d07f 100644
--- a/markdown-page/index.html
+++ b/markdown-page/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/search/index.html b/search/index.html
index 6acec03..2ea687e 100644
--- a/search/index.html
+++ b/search/index.html
@@ -9,7 +9,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.0bab7dfe.css">
-<link rel="preload" href="/assets/js/runtime~main.1ae51517.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.562f04d3.js" as="script">
 <link rel="preload" href="/assets/js/main.897e2c48.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -36,7 +36,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.1ae51517.js"></script>
+<script src="/assets/js/runtime~main.562f04d3.js"></script>
 <script src="/assets/js/main.897e2c48.js"></script>
 </body>
 </html>
\ No newline at end of file