Skip to content

Instantly share code, notes, and snippets.

@costrouc
Last active October 6, 2023 14:15
Show Gist options
  • Save costrouc/603071253cf3f942e480afeb5af37750 to your computer and use it in GitHub Desktop.
Save costrouc/603071253cf3f942e480afeb5af37750 to your computer and use it in GitHub Desktop.
nebari schema
{"title": "ConfigSchema", "type": "object", "properties": {"helm_extensions": {"title": "Helm Extensions", "default": [], "type": "array", "items": {"$ref": "#/definitions/HelmExtension"}}, "tf_extensions": {"title": "Tf Extensions", "default": [], "type": "array", "items": {"$ref": "#/definitions/NebariExtension"}}, "prefect": {"title": "Prefect", "default": {"enabled": false, "image": null, "overrides": {}, "token": null}, "allOf": [{"$ref": "#/definitions/Prefect"}]}, "default_images": {"title": "Default Images", "default": {"jupyterhub": "quay.io/nebari/nebari-jupyterhub:2023.7.2", "jupyterlab": "quay.io/nebari/nebari-jupyterlab:2023.7.2", "dask_worker": "quay.io/nebari/nebari-dask-worker:2023.7.2"}, "allOf": [{"$ref": "#/definitions/DefaultImages"}]}, "storage": {"title": "Storage", "default": {"conda_store": "200Gi", "shared_filesystem": "200Gi"}, "allOf": [{"$ref": "#/definitions/Storage"}]}, "theme": {"title": "Theme", "default": {"jupyterhub": {"hub_title": "Nebari", "hub_subtitle": "Your open source data science platform", "welcome": "Welcome! Learn about Nebari's features and configurations in <a href=\"https://www.nebari.dev/docs\">the documentation</a>. If you have any questions or feedback, reach the team on <a href=\"https://www.nebari.dev/docs/community#getting-support\">Nebari's support forums</a>.", "logo": "https://raw.githubusercontent.com/nebari-dev/nebari-design/main/logo-mark/horizontal/Nebari-Logo-Horizontal-Lockup-White-text.svg", "primary_color": "#4f4173", "secondary_color": "#957da6", "accent_color": "#32C574", "text_color": "#111111", "h1_color": "#652e8e", "h2_color": "#652e8e", "version": "v2023.9.1rc2.dev1+g056b4200", "display_version": "True"}}, "allOf": [{"$ref": "#/definitions/Theme"}]}, "profiles": {"title": "Profiles", "default": {"jupyterlab": [{"access": "all", "display_name": "Small Instance", "description": "Stable environment with 2 cpu / 8 GB ram", "default": true, "users": null, "groups": null, "kubespawner_override": {"cpu_limit": 2, "cpu_guarantee": 1, "mem_limit": "8G", "mem_guarantee": "5G"}}, {"access": "all", "display_name": "Medium Instance", "description": "Stable environment with 4 cpu / 16 GB ram", "default": false, "users": null, "groups": null, "kubespawner_override": {"cpu_limit": 4, "cpu_guarantee": 3, "mem_limit": "16G", "mem_guarantee": "10G"}}], "dask_worker": {"Small Worker": {"worker_cores_limit": 2, "worker_cores": 1, "worker_memory_limit": "8G", "worker_memory": "5G", "worker_threads": 2, "image": "quay.io/nebari/nebari-dask-worker:2023.7.2"}, "Medium Worker": {"worker_cores_limit": 4, "worker_cores": 3, "worker_memory_limit": "16G", "worker_memory": "10G", "worker_threads": 4, "image": "quay.io/nebari/nebari-dask-worker:2023.7.2"}}}, "allOf": [{"$ref": "#/definitions/Profiles"}]}, "environments": {"title": "Environments", "default": {"environment-dask.yaml": {"name": "dask", "channels": ["conda-forge"], "dependencies": ["python=3.10.8", "ipykernel=6.21.0", "ipywidgets==7.7.1", "nebari-dask ==2023.7.2", "python-graphviz=0.20.1", "pyarrow=10.0.1", "s3fs=2023.1.0", "gcsfs=2023.1.0", "numpy=1.23.5", "numba=0.56.4", "pandas=1.5.3", {"pip": ["kbatch==0.4.2"]}]}, "environment-dashboard.yaml": {"name": "dashboard", "channels": ["conda-forge"], "dependencies": ["python=3.10", "cufflinks-py=0.17.3", "dash=2.8.1", "geopandas=0.12.2", "geopy=2.3.0", "geoviews=1.9.6", "gunicorn=20.1.0", "holoviews=1.15.4", "ipykernel=6.21.2", "ipywidgets=8.0.4", "jupyter=1.0.0", "jupyterlab=3.6.1", "jupyter_bokeh=3.0.5", "matplotlib=3.7.0", "nebari-dask==2023.7.2", "nodejs=18.12.1", "numpy", "openpyxl=3.1.1", "pandas=1.5.3", "panel=0.14.3", "param=1.12.3", "plotly=5.13.0", "python-graphviz=0.20.1", "rich=13.3.1", "streamlit=1.9.0", "sympy=1.11.1", "voila=0.4.0", "pip=23.0", {"pip": ["streamlit-image-comparison==0.0.3", "noaa-coops==0.2.1", "dash_core_components==2.0.0", "dash_html_components==2.0.0"]}]}}, "type": "object", "additionalProperties": {"$ref": "#/definitions/CondaEnvironment"}}, "conda_store": {"title": "Conda Store", "default": {"extra_settings": {}, "extra_config": "", "image": "quansight/conda-store-server", "image_tag": "2023.9.2", "default_namespace": "nebari-git", "object_storage": "200Gi"}, "allOf": [{"$ref": "#/definitions/CondaStore"}]}, "argo_workflows": {"title": "Argo Workflows", "default": {"enabled": true, "overrides": {}, "nebari_workflow_controller": {"enabled": true, "image_tag": "2023.7.2"}}, "allOf": [{"$ref": "#/definitions/ArgoWorkflows"}]}, "kbatch": {"title": "Kbatch", "default": {"enabled": true}, "allOf": [{"$ref": "#/definitions/KBatch"}]}, "monitoring": {"title": "Monitoring", "default": {"enabled": true}, "allOf": [{"$ref": "#/definitions/Monitoring"}]}, "clearml": {"title": "Clearml", "default": {"enabled": false, "enable_forward_auth": false, "overrides": {}}, "allOf": [{"$ref": "#/definitions/ClearML"}]}, "jupyterhub": {"title": "Jupyterhub", "default": {"overrides": {}}, "allOf": [{"$ref": "#/definitions/JupyterHub"}]}, "jupyterlab": {"title": "Jupyterlab", "default": {"idle_culler": {"terminal_cull_inactive_timeout": 15, "terminal_cull_interval": 5, "kernel_cull_idle_timeout": 15, "kernel_cull_interval": 5, "kernel_cull_connected": true, "kernel_cull_busy": false, "server_shutdown_no_activity_timeout": 15}}, "allOf": [{"$ref": "#/definitions/JupyterLab"}]}, "security": {"title": "Security", "default": {"authentication": {"type": "password"}, "shared_users_group": true, "keycloak": {"initial_root_password": "v6jgif36cbbrdqfr", "overrides": {}, "realm_display_name": "Nebari"}}, "allOf": [{"$ref": "#/definitions/Security"}]}, "domain": {"title": "Domain", "type": "string"}, "certificate": {"title": "Certificate", "default": {"type": "self-signed", "secret_name": null, "acme_email": null, "acme_server": "https://acme-v02.api.letsencrypt.org/directory"}, "allOf": [{"$ref": "#/definitions/Certificate"}]}, "ingress": {"title": "Ingress", "default": {"terraform_overrides": {}}, "allOf": [{"$ref": "#/definitions/Ingress"}]}, "dns": {"title": "Dns", "default": {"provider": null, "auto_provision": false}, "allOf": [{"$ref": "#/definitions/DnsProvider"}]}, "external_container_reg": {"title": "External Container Reg", "default": {"enabled": false, "access_key_id": null, "secret_access_key": null, "extcr_account": null, "extcr_region": null}, "allOf": [{"$ref": "#/definitions/ExtContainerReg"}]}, "local": {"$ref": "#/definitions/LocalProvider"}, "existing": {"$ref": "#/definitions/ExistingProvider"}, "google_cloud_platform": {"$ref": "#/definitions/GoogleCloudPlatformProvider"}, "amazon_web_services": {"$ref": "#/definitions/AmazonWebServicesProvider"}, "azure": {"$ref": "#/definitions/AzureProvider"}, "digital_ocean": {"$ref": "#/definitions/DigitalOceanProvider"}, "terraform_state": {"title": "Terraform State", "default": {"type": "remote", "backend": null, "config": {}}, "allOf": [{"$ref": "#/definitions/TerraformState"}]}, "ci_cd": {"title": "Ci Cd", "default": {"type": "none", "branch": "main", "commit_render": true, "before_script": [], "after_script": []}, "allOf": [{"$ref": "#/definitions/CICD"}]}, "project_name": {"title": "Project Name", "pattern": "^[A-Za-z][A-Za-z0-9\\-_]{1,30}[A-Za-z0-9]$", "type": "string"}, "namespace": {"title": "Namespace", "default": "dev", "pattern": "^[A-Za-z][A-Za-z\\-_]*[A-Za-z]$", "type": "string"}, "provider": {"default": "local", "allOf": [{"$ref": "#/definitions/ProviderEnum"}]}, "nebari_version": {"title": "Nebari Version", "default": "2023.9.1rc2.dev1+g056b4200", "type": "string"}, "prevent_deploy": {"title": "Prevent Deploy", "default": false, "type": "boolean"}}, "required": ["project_name"], "additionalProperties": false, "definitions": {"HelmExtension": {"title": "HelmExtension", "type": "object", "properties": {"name": {"title": "Name", "type": "string"}, "repository": {"title": "Repository", "type": "string"}, "chart": {"title": "Chart", "type": "string"}, "version": {"title": "Version", "type": "string"}, "overrides": {"title": "Overrides", "default": {}, "type": "object"}}, "required": ["name", "repository", "chart", "version"], "additionalProperties": false}, "NebariExtensionEnv": {"title": "NebariExtensionEnv", "type": "object", "properties": {"name": {"title": "Name", "type": "string"}, "value": {"title": "Value", "type": "string"}}, "required": ["name", "value"], "additionalProperties": false}, "NebariExtension": {"title": "NebariExtension", "type": "object", "properties": {"name": {"title": "Name", "type": "string"}, "image": {"title": "Image", "type": "string"}, "urlslug": {"title": "Urlslug", "type": "string"}, "private": {"title": "Private", "default": false, "type": "boolean"}, "oauth2client": {"title": "Oauth2Client", "default": false, "type": "boolean"}, "keycloakadmin": {"title": "Keycloakadmin", "default": false, "type": "boolean"}, "jwt": {"title": "Jwt", "default": false, "type": "boolean"}, "nebariconfigyaml": {"title": "Nebariconfigyaml", "default": false, "type": "boolean"}, "logout": {"title": "Logout", "type": "string"}, "envs": {"title": "Envs", "type": "array", "items": {"$ref": "#/definitions/NebariExtensionEnv"}}}, "required": ["name", "image", "urlslug"], "additionalProperties": false}, "Prefect": {"title": "Prefect", "type": "object", "properties": {"enabled": {"title": "Enabled", "default": false, "type": "boolean"}, "image": {"title": "Image", "type": "string"}, "overrides": {"title": "Overrides", "default": {}, "type": "object"}, "token": {"title": "Token", "type": "string"}}, "additionalProperties": false}, "DefaultImages": {"title": "DefaultImages", "type": "object", "properties": {"jupyterhub": {"title": "Jupyterhub", "default": "quay.io/nebari/nebari-jupyterhub:2023.7.2", "type": "string"}, "jupyterlab": {"title": "Jupyterlab", "default": "quay.io/nebari/nebari-jupyterlab:2023.7.2", "type": "string"}, "dask_worker": {"title": "Dask Worker", "default": "quay.io/nebari/nebari-dask-worker:2023.7.2", "type": "string"}}, "additionalProperties": false}, "Storage": {"title": "Storage", "type": "object", "properties": {"conda_store": {"title": "Conda Store", "default": "200Gi", "type": "string"}, "shared_filesystem": {"title": "Shared Filesystem", "default": "200Gi", "type": "string"}}, "additionalProperties": false}, "JupyterHubTheme": {"title": "JupyterHubTheme", "type": "object", "properties": {"hub_title": {"title": "Hub Title", "default": "Nebari", "type": "string"}, "hub_subtitle": {"title": "Hub Subtitle", "default": "Your open source data science platform", "type": "string"}, "welcome": {"title": "Welcome", "default": "Welcome! Learn about Nebari's features and configurations in <a href=\"https://www.nebari.dev/docs\">the documentation</a>. If you have any questions or feedback, reach the team on <a href=\"https://www.nebari.dev/docs/community#getting-support\">Nebari's support forums</a>.", "type": "string"}, "logo": {"title": "Logo", "default": "https://raw.githubusercontent.com/nebari-dev/nebari-design/main/logo-mark/horizontal/Nebari-Logo-Horizontal-Lockup-White-text.svg", "type": "string"}, "primary_color": {"title": "Primary Color", "default": "#4f4173", "type": "string"}, "secondary_color": {"title": "Secondary Color", "default": "#957da6", "type": "string"}, "accent_color": {"title": "Accent Color", "default": "#32C574", "type": "string"}, "text_color": {"title": "Text Color", "default": "#111111", "type": "string"}, "h1_color": {"title": "H1 Color", "default": "#652e8e", "type": "string"}, "h2_color": {"title": "H2 Color", "default": "#652e8e", "type": "string"}, "version": {"title": "Version", "default": "v2023.9.1rc2.dev1+g056b4200", "type": "string"}, "display_version": {"title": "Display Version", "default": "True", "type": "string"}}, "additionalProperties": false}, "Theme": {"title": "Theme", "type": "object", "properties": {"jupyterhub": {"title": "Jupyterhub", "default": {"hub_title": "Nebari", "hub_subtitle": "Your open source data science platform", "welcome": "Welcome! Learn about Nebari's features and configurations in <a href=\"https://www.nebari.dev/docs\">the documentation</a>. If you have any questions or feedback, reach the team on <a href=\"https://www.nebari.dev/docs/community#getting-support\">Nebari's support forums</a>.", "logo": "https://raw.githubusercontent.com/nebari-dev/nebari-design/main/logo-mark/horizontal/Nebari-Logo-Horizontal-Lockup-White-text.svg", "primary_color": "#4f4173", "secondary_color": "#957da6", "accent_color": "#32C574", "text_color": "#111111", "h1_color": "#652e8e", "h2_color": "#652e8e", "version": "v2023.9.1rc2.dev1+g056b4200", "display_version": "True"}, "allOf": [{"$ref": "#/definitions/JupyterHubTheme"}]}}, "additionalProperties": false}, "AccessEnum": {"title": "AccessEnum", "description": "An enumeration.", "enum": ["all", "yaml", "keycloak"], "type": "string"}, "KubeSpawner": {"title": "KubeSpawner", "type": "object", "properties": {"cpu_limit": {"title": "Cpu Limit", "type": "integer"}, "cpu_guarantee": {"title": "Cpu Guarantee", "type": "integer"}, "mem_limit": {"title": "Mem Limit", "type": "string"}, "mem_guarantee": {"title": "Mem Guarantee", "type": "string"}}, "required": ["cpu_limit", "cpu_guarantee", "mem_limit", "mem_guarantee"]}, "JupyterLabProfile": {"title": "JupyterLabProfile", "type": "object", "properties": {"access": {"default": "all", "allOf": [{"$ref": "#/definitions/AccessEnum"}]}, "display_name": {"title": "Display Name", "type": "string"}, "description": {"title": "Description", "type": "string"}, "default": {"title": "Default", "default": false, "type": "boolean"}, "users": {"title": "Users", "type": "array", "items": {"type": "string"}}, "groups": {"title": "Groups", "type": "array", "items": {"type": "string"}}, "kubespawner_override": {"$ref": "#/definitions/KubeSpawner"}}, "required": ["display_name", "description"], "additionalProperties": false}, "DaskWorkerProfile": {"title": "DaskWorkerProfile", "type": "object", "properties": {"worker_cores_limit": {"title": "Worker Cores Limit", "type": "integer"}, "worker_cores": {"title": "Worker Cores", "type": "integer"}, "worker_memory_limit": {"title": "Worker Memory Limit", "type": "string"}, "worker_memory": {"title": "Worker Memory", "type": "string"}, "worker_threads": {"title": "Worker Threads", "default": 1, "type": "integer"}, "image": {"title": "Image", "default": "quay.io/nebari/nebari-dask-worker:2023.7.2", "type": "string"}}, "required": ["worker_cores_limit", "worker_cores", "worker_memory_limit", "worker_memory"]}, "Profiles": {"title": "Profiles", "type": "object", "properties": {"jupyterlab": {"title": "Jupyterlab", "default": [{"access": "all", "display_name": "Small Instance", "description": "Stable environment with 2 cpu / 8 GB ram", "default": true, "users": null, "groups": null, "kubespawner_override": {"cpu_limit": 2, "cpu_guarantee": 1, "mem_limit": "8G", "mem_guarantee": "5G"}}, {"access": "all", "display_name": "Medium Instance", "description": "Stable environment with 4 cpu / 16 GB ram", "default": false, "users": null, "groups": null, "kubespawner_override": {"cpu_limit": 4, "cpu_guarantee": 3, "mem_limit": "16G", "mem_guarantee": "10G"}}], "type": "array", "items": {"$ref": "#/definitions/JupyterLabProfile"}}, "dask_worker": {"title": "Dask Worker", "default": {"Small Worker": {"worker_cores_limit": 2, "worker_cores": 1, "worker_memory_limit": "8G", "worker_memory": "5G", "worker_threads": 2, "image": "quay.io/nebari/nebari-dask-worker:2023.7.2"}, "Medium Worker": {"worker_cores_limit": 4, "worker_cores": 3, "worker_memory_limit": "16G", "worker_memory": "10G", "worker_threads": 4, "image": "quay.io/nebari/nebari-dask-worker:2023.7.2"}}, "type": "object", "additionalProperties": {"$ref": "#/definitions/DaskWorkerProfile"}}}, "additionalProperties": false}, "CondaEnvironment": {"title": "CondaEnvironment", "type": "object", "properties": {"name": {"title": "Name", "type": "string"}, "channels": {"title": "Channels", "type": "array", "items": {"type": "string"}}, "dependencies": {"title": "Dependencies", "type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}}]}}}, "required": ["name", "dependencies"], "additionalProperties": false}, "CondaStore": {"title": "CondaStore", "type": "object", "properties": {"extra_settings": {"title": "Extra Settings", "default": {}, "type": "object"}, "extra_config": {"title": "Extra Config", "default": "", "type": "string"}, "image": {"title": "Image", "default": "quansight/conda-store-server", "type": "string"}, "image_tag": {"title": "Image Tag", "default": "2023.9.2", "type": "string"}, "default_namespace": {"title": "Default Namespace", "default": "nebari-git", "type": "string"}, "object_storage": {"title": "Object Storage", "default": "200Gi", "type": "string"}}, "additionalProperties": false}, "NebariWorkflowController": {"title": "NebariWorkflowController", "type": "object", "properties": {"enabled": {"title": "Enabled", "default": true, "type": "boolean"}, "image_tag": {"title": "Image Tag", "default": "2023.7.2", "type": "string"}}, "additionalProperties": false}, "ArgoWorkflows": {"title": "ArgoWorkflows", "type": "object", "properties": {"enabled": {"title": "Enabled", "default": true, "type": "boolean"}, "overrides": {"title": "Overrides", "default": {}, "type": "object"}, "nebari_workflow_controller": {"title": "Nebari Workflow Controller", "default": {"enabled": true, "image_tag": "2023.7.2"}, "allOf": [{"$ref": "#/definitions/NebariWorkflowController"}]}}, "additionalProperties": false}, "KBatch": {"title": "KBatch", "type": "object", "properties": {"enabled": {"title": "Enabled", "default": true, "type": "boolean"}}, "additionalProperties": false}, "Monitoring": {"title": "Monitoring", "type": "object", "properties": {"enabled": {"title": "Enabled", "default": true, "type": "boolean"}}, "additionalProperties": false}, "ClearML": {"title": "ClearML", "type": "object", "properties": {"enabled": {"title": "Enabled", "default": false, "type": "boolean"}, "enable_forward_auth": {"title": "Enable Forward Auth", "default": false, "type": "boolean"}, "overrides": {"title": "Overrides", "default": {}, "type": "object"}}, "additionalProperties": false}, "JupyterHub": {"title": "JupyterHub", "type": "object", "properties": {"overrides": {"title": "Overrides", "default": {}, "type": "object"}}, "additionalProperties": false}, "IdleCuller": {"title": "IdleCuller", "type": "object", "properties": {"terminal_cull_inactive_timeout": {"title": "Terminal Cull Inactive Timeout", "default": 15, "type": "integer"}, "terminal_cull_interval": {"title": "Terminal Cull Interval", "default": 5, "type": "integer"}, "kernel_cull_idle_timeout": {"title": "Kernel Cull Idle Timeout", "default": 15, "type": "integer"}, "kernel_cull_interval": {"title": "Kernel Cull Interval", "default": 5, "type": "integer"}, "kernel_cull_connected": {"title": "Kernel Cull Connected", "default": true, "type": "boolean"}, "kernel_cull_busy": {"title": "Kernel Cull Busy", "default": false, "type": "boolean"}, "server_shutdown_no_activity_timeout": {"title": "Server Shutdown No Activity Timeout", "default": 15, "type": "integer"}}, "additionalProperties": false}, "JupyterLab": {"title": "JupyterLab", "type": "object", "properties": {"idle_culler": {"title": "Idle Culler", "default": {"terminal_cull_inactive_timeout": 15, "terminal_cull_interval": 5, "kernel_cull_idle_timeout": 15, "kernel_cull_interval": 5, "kernel_cull_connected": true, "kernel_cull_busy": false, "server_shutdown_no_activity_timeout": 15}, "allOf": [{"$ref": "#/definitions/IdleCuller"}]}}, "additionalProperties": false}, "AuthenticationEnum": {"title": "AuthenticationEnum", "description": "An enumeration.", "enum": ["password", "GitHub", "Auth0"], "type": "string"}, "Authentication": {"title": "Authentication", "type": "object", "properties": {"type": {"$ref": "#/definitions/AuthenticationEnum"}}, "required": ["type"], "additionalProperties": false}, "Keycloak": {"title": "Keycloak", "type": "object", "properties": {"initial_root_password": {"title": "Initial Root Password", "type": "string"}, "overrides": {"title": "Overrides", "default": {}, "type": "object"}, "realm_display_name": {"title": "Realm Display Name", "default": "Nebari", "type": "string"}}, "additionalProperties": false}, "Security": {"title": "Security", "type": "object", "properties": {"authentication": {"title": "Authentication", "default": {"type": "password"}, "allOf": [{"$ref": "#/definitions/Authentication"}]}, "shared_users_group": {"title": "Shared Users Group", "default": true, "type": "boolean"}, "keycloak": {"title": "Keycloak", "default": {"initial_root_password": "v6jgif36cbbrdqfr", "overrides": {}, "realm_display_name": "Nebari"}, "allOf": [{"$ref": "#/definitions/Keycloak"}]}}, "additionalProperties": false}, "CertificateEnum": {"title": "CertificateEnum", "description": "An enumeration.", "enum": ["lets-encrypt", "self-signed", "existing", "disabled"], "type": "string"}, "Certificate": {"title": "Certificate", "type": "object", "properties": {"type": {"default": "self-signed", "allOf": [{"$ref": "#/definitions/CertificateEnum"}]}, "secret_name": {"title": "Secret Name", "type": "string"}, "acme_email": {"title": "Acme Email", "type": "string"}, "acme_server": {"title": "Acme Server", "default": "https://acme-v02.api.letsencrypt.org/directory", "type": "string"}}, "additionalProperties": false}, "Ingress": {"title": "Ingress", "type": "object", "properties": {"terraform_overrides": {"title": "Terraform Overrides", "default": {}, "type": "object"}}, "additionalProperties": false}, "DnsProvider": {"title": "DnsProvider", "type": "object", "properties": {"provider": {"title": "Provider", "type": "string"}, "auto_provision": {"title": "Auto Provision", "default": false, "type": "boolean"}}, "additionalProperties": false}, "ExtContainerReg": {"title": "ExtContainerReg", "type": "object", "properties": {"enabled": {"title": "Enabled", "default": false, "type": "boolean"}, "access_key_id": {"title": "Access Key Id", "type": "string"}, "secret_access_key": {"title": "Secret Access Key", "type": "string"}, "extcr_account": {"title": "Extcr Account", "type": "string"}, "extcr_region": {"title": "Extcr Region", "type": "string"}}, "additionalProperties": false}, "KeyValueDict": {"title": "KeyValueDict", "type": "object", "properties": {"key": {"title": "Key", "type": "string"}, "value": {"title": "Value", "type": "string"}}, "required": ["key", "value"], "additionalProperties": false}, "LocalProvider": {"title": "LocalProvider", "type": "object", "properties": {"kube_context": {"title": "Kube Context", "type": "string"}, "node_selectors": {"title": "Node Selectors", "default": {"general": {"key": "kubernetes.io/os", "value": "linux"}, "user": {"key": "kubernetes.io/os", "value": "linux"}, "worker": {"key": "kubernetes.io/os", "value": "linux"}}, "type": "object", "additionalProperties": {"$ref": "#/definitions/KeyValueDict"}}}, "additionalProperties": false}, "ExistingProvider": {"title": "ExistingProvider", "type": "object", "properties": {"kube_context": {"title": "Kube Context", "type": "string"}, "node_selectors": {"title": "Node Selectors", "default": {"general": {"key": "kubernetes.io/os", "value": "linux"}, "user": {"key": "kubernetes.io/os", "value": "linux"}, "worker": {"key": "kubernetes.io/os", "value": "linux"}}, "type": "object", "additionalProperties": {"$ref": "#/definitions/KeyValueDict"}}}, "additionalProperties": false}, "GCPGuestAccelerator": {"title": "GCPGuestAccelerator", "description": "See general information regarding GPU support at:\n# TODO: replace with nebari.dev new URL\nhttps://docs.nebari.dev/en/stable/source/admin_guide/gpu.html?#add-gpu-node-group", "type": "object", "properties": {"name": {"title": "Name", "type": "string"}, "count": {"title": "Count", "default": 1, "minimum": 1, "type": "integer"}}, "required": ["name"], "additionalProperties": false}, "GCPNodeGroup": {"title": "GCPNodeGroup", "type": "object", "properties": {"instance": {"title": "Instance", "type": "string"}, "min_nodes": {"title": "Min Nodes", "default": 0, "minimum": 0, "type": "integer"}, "max_nodes": {"title": "Max Nodes", "default": 1, "minimum": 1, "type": "integer"}, "preemptible": {"title": "Preemptible", "default": false, "type": "boolean"}, "labels": {"title": "Labels", "default": {}, "type": "object", "additionalProperties": {"type": "string"}}, "guest_accelerators": {"title": "Guest Accelerators", "default": [], "type": "array", "items": {"$ref": "#/definitions/GCPGuestAccelerator"}}}, "required": ["instance"], "additionalProperties": false}, "GCPIPAllocationPolicy": {"title": "GCPIPAllocationPolicy", "type": "object", "properties": {"cluster_secondary_range_name": {"title": "Cluster Secondary Range Name", "type": "string"}, "services_secondary_range_name": {"title": "Services Secondary Range Name", "type": "string"}, "cluster_ipv4_cidr_block": {"title": "Cluster Ipv4 Cidr Block", "type": "string"}, "services_ipv4_cidr_block": {"title": "Services Ipv4 Cidr Block", "type": "string"}}, "required": ["cluster_secondary_range_name", "services_secondary_range_name", "cluster_ipv4_cidr_block", "services_ipv4_cidr_block"], "additionalProperties": false}, "GCPCIDRBlock": {"title": "GCPCIDRBlock", "type": "object", "properties": {"cidr_block": {"title": "Cidr Block", "type": "string"}, "display_name": {"title": "Display Name", "type": "string"}}, "required": ["cidr_block", "display_name"], "additionalProperties": false}, "GCPPrivateClusterConfig": {"title": "GCPPrivateClusterConfig", "type": "object", "properties": {"enable_private_endpoint": {"title": "Enable Private Endpoint", "type": "boolean"}, "enable_private_nodes": {"title": "Enable Private Nodes", "type": "boolean"}, "master_ipv4_cidr_block": {"title": "Master Ipv4 Cidr Block", "type": "string"}}, "required": ["enable_private_endpoint", "enable_private_nodes", "master_ipv4_cidr_block"], "additionalProperties": false}, "GoogleCloudPlatformProvider": {"title": "GoogleCloudPlatformProvider", "type": "object", "properties": {"region": {"title": "Region", "type": "string"}, "project": {"title": "Project", "type": "string"}, "kubernetes_version": {"title": "Kubernetes Version", "type": "string"}, "availability_zones": {"title": "Availability Zones", "default": [], "type": "array", "items": {"type": "string"}}, "release_channel": {"title": "Release Channel", "default": "UNSPECIFIED", "type": "string"}, "node_groups": {"title": "Node Groups", "default": {"general": {"instance": "n1-standard-8", "min_nodes": 1, "max_nodes": 1, "preemptible": false, "labels": {}, "guest_accelerators": []}, "user": {"instance": "n1-standard-4", "min_nodes": 0, "max_nodes": 5, "preemptible": false, "labels": {}, "guest_accelerators": []}, "worker": {"instance": "n1-standard-4", "min_nodes": 0, "max_nodes": 5, "preemptible": false, "labels": {}, "guest_accelerators": []}}, "type": "object", "additionalProperties": {"$ref": "#/definitions/GCPNodeGroup"}}, "tags": {"title": "Tags", "default": [], "type": "array", "items": {"type": "string"}}, "networking_mode": {"title": "Networking Mode", "default": "ROUTE", "type": "string"}, "network": {"title": "Network", "default": "default", "type": "string"}, "subnetwork": {"title": "Subnetwork", "type": "string"}, "ip_allocation_policy": {"$ref": "#/definitions/GCPIPAllocationPolicy"}, "master_authorized_networks_config": {"$ref": "#/definitions/GCPCIDRBlock"}, "private_cluster_config": {"$ref": "#/definitions/GCPPrivateClusterConfig"}}, "required": ["region", "project", "kubernetes_version"], "additionalProperties": false}, "AWSNodeGroup": {"title": "AWSNodeGroup", "type": "object", "properties": {"instance": {"title": "Instance", "type": "string"}, "min_nodes": {"title": "Min Nodes", "default": 0, "type": "integer"}, "max_nodes": {"title": "Max Nodes", "type": "integer"}, "gpu": {"title": "Gpu", "default": false, "type": "boolean"}, "single_subnet": {"title": "Single Subnet", "default": false, "type": "boolean"}}, "required": ["instance", "max_nodes"], "additionalProperties": false}, "AmazonWebServicesProvider": {"title": "AmazonWebServicesProvider", "type": "object", "properties": {"region": {"title": "Region", "type": "string"}, "kubernetes_version": {"title": "Kubernetes Version", "type": "string"}, "availability_zones": {"title": "Availability Zones", "type": "array", "items": {"type": "string"}}, "node_groups": {"title": "Node Groups", "default": {"general": {"instance": "m5.2xlarge", "min_nodes": 1, "max_nodes": 1, "gpu": false, "single_subnet": false}, "user": {"instance": "m5.xlarge", "min_nodes": 1, "max_nodes": 5, "gpu": false, "single_subnet": false}, "worker": {"instance": "m5.xlarge", "min_nodes": 1, "max_nodes": 5, "gpu": false, "single_subnet": false}}, "type": "object", "additionalProperties": {"$ref": "#/definitions/AWSNodeGroup"}}, "existing_subnet_ids": {"title": "Existing Subnet Ids", "type": "array", "items": {"type": "string"}}, "existing_security_group_ids": {"title": "Existing Security Group Ids", "type": "string"}, "vpc_cidr_block": {"title": "Vpc Cidr Block", "default": "10.10.0.0/16", "type": "string"}}, "required": ["region", "kubernetes_version"], "additionalProperties": false}, "AzureNodeGroup": {"title": "AzureNodeGroup", "type": "object", "properties": {"instance": {"title": "Instance", "type": "string"}, "min_nodes": {"title": "Min Nodes", "type": "integer"}, "max_nodes": {"title": "Max Nodes", "type": "integer"}}, "required": ["instance", "min_nodes", "max_nodes"], "additionalProperties": false}, "AzureProvider": {"title": "AzureProvider", "type": "object", "properties": {"region": {"title": "Region", "type": "string"}, "kubernetes_version": {"title": "Kubernetes Version", "type": "string"}, "storage_account_postfix": {"title": "Storage Account Postfix", "type": "string"}, "resource_group_name": {"title": "Resource Group Name", "type": "string"}, "node_groups": {"title": "Node Groups", "default": {"general": {"instance": "Standard_D8_v3", "min_nodes": 1, "max_nodes": 1}, "user": {"instance": "Standard_D4_v3", "min_nodes": 0, "max_nodes": 5}, "worker": {"instance": "Standard_D4_v3", "min_nodes": 0, "max_nodes": 5}}, "type": "object", "additionalProperties": {"$ref": "#/definitions/AzureNodeGroup"}}, "vnet_subnet_id": {"title": "Vnet Subnet Id", "type": "string"}, "private_cluster_enabled": {"title": "Private Cluster Enabled", "default": false, "type": "boolean"}, "tags": {"title": "Tags", "default": {}, "type": "object", "additionalProperties": {"type": "string"}}, "network_profile": {"title": "Network Profile", "type": "object", "additionalProperties": {"type": "string"}}, "max_pods": {"title": "Max Pods", "type": "integer"}}, "required": ["region", "kubernetes_version", "storage_account_postfix"], "additionalProperties": false}, "DigitalOceanNodeGroup": {"title": "DigitalOceanNodeGroup", "description": "Representation of a node group with Digital Ocean\n\n- Kubernetes limits: https://docs.digitalocean.com/products/kubernetes/details/limits/\n- Available instance types: https://slugs.do-api.dev/", "type": "object", "properties": {"instance": {"title": "Instance", "type": "string"}, "min_nodes": {"title": "Min Nodes", "default": 1, "minimum": 1, "type": "integer"}, "max_nodes": {"title": "Max Nodes", "default": 1, "minimum": 1, "type": "integer"}}, "required": ["instance"], "additionalProperties": false}, "DigitalOceanProvider": {"title": "DigitalOceanProvider", "type": "object", "properties": {"region": {"title": "Region", "type": "string"}, "kubernetes_version": {"title": "Kubernetes Version", "type": "string"}, "node_groups": {"title": "Node Groups", "default": {"general": {"instance": "g-8vcpu-32gb", "min_nodes": 1, "max_nodes": 1}, "user": {"instance": "g-4vcpu-16gb", "min_nodes": 1, "max_nodes": 5}, "worker": {"instance": "g-4vcpu-16gb", "min_nodes": 1, "max_nodes": 5}}, "type": "object", "additionalProperties": {"$ref": "#/definitions/DigitalOceanNodeGroup"}}, "tags": {"title": "Tags", "default": [], "type": "array", "items": {"type": "string"}}}, "required": ["region", "kubernetes_version"], "additionalProperties": false}, "TerraformStateEnum": {"title": "TerraformStateEnum", "description": "An enumeration.", "enum": ["remote", "local", "existing"], "type": "string"}, "TerraformState": {"title": "TerraformState", "type": "object", "properties": {"type": {"default": "remote", "allOf": [{"$ref": "#/definitions/TerraformStateEnum"}]}, "backend": {"title": "Backend", "type": "string"}, "config": {"title": "Config", "default": {}, "type": "object", "additionalProperties": {"type": "string"}}}, "additionalProperties": false}, "CiEnum": {"title": "CiEnum", "description": "An enumeration.", "enum": ["github-actions", "gitlab-ci", "none"], "type": "string"}, "CICD": {"title": "CICD", "type": "object", "properties": {"type": {"default": "none", "allOf": [{"$ref": "#/definitions/CiEnum"}]}, "branch": {"title": "Branch", "default": "main", "type": "string"}, "commit_render": {"title": "Commit Render", "default": true, "type": "boolean"}, "before_script": {"title": "Before Script", "default": [], "type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object"}]}}, "after_script": {"title": "After Script", "default": [], "type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object"}]}}}, "additionalProperties": false}, "ProviderEnum": {"title": "ProviderEnum", "description": "An enumeration.", "enum": ["local", "existing", "do", "aws", "gcp", "azure"], "type": "string"}}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment