@databricks/appkit 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +121 -1231
- package/NOTICE.md +1 -1
- package/bin/appkit.js +3 -0
- package/dist/appkit/package.js +1 -1
- package/dist/cache/index.js +3 -3
- package/dist/cache/index.js.map +1 -1
- package/dist/cli/commands/docs.js +47 -0
- package/dist/cli/commands/docs.js.map +1 -0
- package/dist/cli/commands/generate-types.js +38 -0
- package/dist/cli/commands/generate-types.js.map +1 -0
- package/dist/cli/commands/lint.js +104 -0
- package/dist/cli/commands/lint.js.map +1 -0
- package/dist/cli/commands/setup.js +121 -0
- package/dist/cli/commands/setup.js.map +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +24 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index.js.map +1 -1
- package/dist/plugin/plugin.d.ts +1 -0
- package/dist/plugin/plugin.d.ts.map +1 -1
- package/dist/plugin/plugin.js +1 -0
- package/dist/plugin/plugin.js.map +1 -1
- package/dist/server/remote-tunnel/remote-tunnel-manager.js +9 -9
- package/dist/server/remote-tunnel/remote-tunnel-manager.js.map +1 -1
- package/dist/server/utils.js +6 -6
- package/dist/server/utils.js.map +1 -1
- package/dist/shared/src/execute.d.ts +1 -0
- package/dist/shared/src/execute.d.ts.map +1 -1
- package/dist/shared/src/plugin.d.ts +3 -0
- package/dist/shared/src/plugin.d.ts.map +1 -1
- package/dist/telemetry/types.d.ts +1 -0
- package/dist/telemetry/types.d.ts.map +1 -1
- package/dist/type-generator/index.js +1 -1
- package/dist/type-generator/index.js.map +1 -1
- package/docs/docs/api/appkit/Class.AppKitError/index.html +77 -0
- package/docs/docs/api/appkit/Class.AppKitError.md +154 -0
- package/docs/docs/api/appkit/Class.AuthenticationError/index.html +110 -0
- package/docs/docs/api/appkit/Class.AuthenticationError.md +236 -0
- package/docs/docs/api/appkit/Class.ConfigurationError/index.html +112 -0
- package/docs/docs/api/appkit/Class.ConfigurationError.md +243 -0
- package/docs/docs/api/appkit/Class.ConnectionError/index.html +120 -0
- package/docs/docs/api/appkit/Class.ConnectionError.md +265 -0
- package/docs/docs/api/appkit/Class.ExecutionError/index.html +116 -0
- package/docs/docs/api/appkit/Class.ExecutionError.md +250 -0
- package/docs/docs/api/appkit/Class.InitializationError/index.html +104 -0
- package/docs/docs/api/appkit/Class.InitializationError.md +222 -0
- package/docs/docs/api/appkit/Class.Plugin/index.html +149 -0
- package/docs/docs/api/appkit/Class.Plugin.md +392 -0
- package/docs/docs/api/appkit/Class.ServerError/index.html +108 -0
- package/docs/docs/api/appkit/Class.ServerError.md +229 -0
- package/docs/docs/api/appkit/Class.TunnelError/index.html +108 -0
- package/docs/docs/api/appkit/Class.TunnelError.md +231 -0
- package/docs/docs/api/appkit/Class.ValidationError/index.html +106 -0
- package/docs/docs/api/appkit/Class.ValidationError.md +225 -0
- package/docs/docs/api/appkit/Function.appKitTypesPlugin/index.html +24 -0
- package/docs/docs/api/appkit/Function.appKitTypesPlugin.md +20 -0
- package/docs/docs/api/appkit/Function.createApp/index.html +24 -0
- package/docs/docs/api/appkit/Function.createApp.md +31 -0
- package/docs/docs/api/appkit/Function.isSQLTypeMarker/index.html +25 -0
- package/docs/docs/api/appkit/Function.isSQLTypeMarker.md +32 -0
- package/docs/docs/api/appkit/Interface.BasePluginConfig/index.html +28 -0
- package/docs/docs/api/appkit/Interface.BasePluginConfig.md +37 -0
- package/docs/docs/api/appkit/Interface.CacheConfig/index.html +63 -0
- package/docs/docs/api/appkit/Interface.CacheConfig.md +131 -0
- package/docs/docs/api/appkit/Interface.ITelemetry/index.html +73 -0
- package/docs/docs/api/appkit/Interface.ITelemetry.md +144 -0
- package/docs/docs/api/appkit/Interface.StreamExecutionSettings/index.html +26 -0
- package/docs/docs/api/appkit/Interface.StreamExecutionSettings.md +30 -0
- package/docs/docs/api/appkit/Interface.TelemetryConfig/index.html +32 -0
- package/docs/docs/api/appkit/Interface.TelemetryConfig.md +48 -0
- package/docs/docs/api/appkit/TypeAlias.IAppRouter/index.html +18 -0
- package/docs/docs/api/appkit/TypeAlias.IAppRouter.md +8 -0
- package/docs/docs/api/appkit/Variable.sql/index.html +98 -0
- package/docs/docs/api/appkit/Variable.sql.md +260 -0
- package/docs/docs/api/appkit/index.html +28 -0
- package/docs/docs/api/appkit-ui/data/AreaChart/index.html +29 -0
- package/docs/docs/api/appkit-ui/data/AreaChart.md +79 -0
- package/docs/docs/api/appkit-ui/data/BarChart/index.html +29 -0
- package/docs/docs/api/appkit-ui/data/BarChart.md +74 -0
- package/docs/docs/api/appkit-ui/data/DataTable/index.html +36 -0
- package/docs/docs/api/appkit-ui/data/DataTable.md +69 -0
- package/docs/docs/api/appkit-ui/data/DonutChart/index.html +29 -0
- package/docs/docs/api/appkit-ui/data/DonutChart.md +72 -0
- package/docs/docs/api/appkit-ui/data/HeatmapChart/index.html +35 -0
- package/docs/docs/api/appkit-ui/data/HeatmapChart.md +91 -0
- package/docs/docs/api/appkit-ui/data/LineChart/index.html +29 -0
- package/docs/docs/api/appkit-ui/data/LineChart.md +77 -0
- package/docs/docs/api/appkit-ui/data/PieChart/index.html +29 -0
- package/docs/docs/api/appkit-ui/data/PieChart.md +72 -0
- package/docs/docs/api/appkit-ui/data/RadarChart/index.html +29 -0
- package/docs/docs/api/appkit-ui/data/RadarChart.md +74 -0
- package/docs/docs/api/appkit-ui/data/ScatterChart/index.html +29 -0
- package/docs/docs/api/appkit-ui/data/ScatterChart.md +76 -0
- package/docs/docs/api/appkit-ui/index.html +23 -0
- package/docs/docs/api/appkit-ui/styling/index.html +74 -0
- package/docs/docs/api/appkit-ui/styling.md +81 -0
- package/docs/docs/api/appkit-ui/ui/Accordion/index.html +48 -0
- package/docs/docs/api/appkit-ui/ui/Accordion.md +139 -0
- package/docs/docs/api/appkit-ui/ui/Alert/index.html +41 -0
- package/docs/docs/api/appkit-ui/ui/Alert.md +89 -0
- package/docs/docs/api/appkit-ui/ui/AlertDialog/index.html +97 -0
- package/docs/docs/api/appkit-ui/ui/AlertDialog.md +282 -0
- package/docs/docs/api/appkit-ui/ui/AspectRatio/index.html +27 -0
- package/docs/docs/api/appkit-ui/ui/AspectRatio.md +46 -0
- package/docs/docs/api/appkit-ui/ui/Avatar/index.html +41 -0
- package/docs/docs/api/appkit-ui/ui/Avatar.md +90 -0
- package/docs/docs/api/appkit-ui/ui/Badge/index.html +27 -0
- package/docs/docs/api/appkit-ui/ui/Badge.md +38 -0
- package/docs/docs/api/appkit-ui/ui/Breadcrumb/index.html +69 -0
- package/docs/docs/api/appkit-ui/ui/Breadcrumb.md +193 -0
- package/docs/docs/api/appkit-ui/ui/Button/index.html +27 -0
- package/docs/docs/api/appkit-ui/ui/Button.md +39 -0
- package/docs/docs/api/appkit-ui/ui/ButtonGroup/index.html +38 -0
- package/docs/docs/api/appkit-ui/ui/ButtonGroup.md +68 -0
- package/docs/docs/api/appkit-ui/ui/Calendar/index.html +34 -0
- package/docs/docs/api/appkit-ui/ui/Calendar.md +154 -0
- package/docs/docs/api/appkit-ui/ui/Card/index.html +69 -0
- package/docs/docs/api/appkit-ui/ui/Card.md +222 -0
- package/docs/docs/api/appkit-ui/ui/Carousel/index.html +55 -0
- package/docs/docs/api/appkit-ui/ui/Carousel.md +152 -0
- package/docs/docs/api/appkit-ui/ui/ChartContainer/index.html +58 -0
- package/docs/docs/api/appkit-ui/ui/ChartContainer.md +343 -0
- package/docs/docs/api/appkit-ui/ui/Checkbox/index.html +27 -0
- package/docs/docs/api/appkit-ui/ui/Checkbox.md +53 -0
- package/docs/docs/api/appkit-ui/ui/Collapsible/index.html +41 -0
- package/docs/docs/api/appkit-ui/ui/Collapsible.md +125 -0
- package/docs/docs/api/appkit-ui/ui/Command/index.html +83 -0
- package/docs/docs/api/appkit-ui/ui/Command.md +287 -0
- package/docs/docs/api/appkit-ui/ui/ContextMenu/index.html +111 -0
- package/docs/docs/api/appkit-ui/ui/ContextMenu.md +419 -0
- package/docs/docs/api/appkit-ui/ui/Dialog/index.html +90 -0
- package/docs/docs/api/appkit-ui/ui/Dialog.md +285 -0
- package/docs/docs/api/appkit-ui/ui/Drawer/index.html +90 -0
- package/docs/docs/api/appkit-ui/ui/Drawer.md +387 -0
- package/docs/docs/api/appkit-ui/ui/DropdownMenu/index.html +111 -0
- package/docs/docs/api/appkit-ui/ui/DropdownMenu.md +478 -0
- package/docs/docs/api/appkit-ui/ui/Empty/index.html +54 -0
- package/docs/docs/api/appkit-ui/ui/Empty.md +109 -0
- package/docs/docs/api/appkit-ui/ui/Field/index.html +87 -0
- package/docs/docs/api/appkit-ui/ui/Field.md +201 -0
- package/docs/docs/api/appkit-ui/ui/FormControl/index.html +59 -0
- package/docs/docs/api/appkit-ui/ui/FormControl.md +128 -0
- package/docs/docs/api/appkit-ui/ui/HoverCard/index.html +39 -0
- package/docs/docs/api/appkit-ui/ui/HoverCard.md +131 -0
- package/docs/docs/api/appkit-ui/ui/Input/index.html +27 -0
- package/docs/docs/api/appkit-ui/ui/Input.md +35 -0
- package/docs/docs/api/appkit-ui/ui/InputGroup/index.html +59 -0
- package/docs/docs/api/appkit-ui/ui/InputGroup.md +123 -0
- package/docs/docs/api/appkit-ui/ui/InputOTP/index.html +48 -0
- package/docs/docs/api/appkit-ui/ui/InputOTP.md +124 -0
- package/docs/docs/api/appkit-ui/ui/Item/index.html +78 -0
- package/docs/docs/api/appkit-ui/ui/Item.md +185 -0
- package/docs/docs/api/appkit-ui/ui/Kbd/index.html +30 -0
- package/docs/docs/api/appkit-ui/ui/Kbd.md +39 -0
- package/docs/docs/api/appkit-ui/ui/Label/index.html +27 -0
- package/docs/docs/api/appkit-ui/ui/Label.md +44 -0
- package/docs/docs/api/appkit-ui/ui/Menubar/index.html +117 -0
- package/docs/docs/api/appkit-ui/ui/Menubar.md +484 -0
- package/docs/docs/api/appkit-ui/ui/NavigationMenu/index.html +76 -0
- package/docs/docs/api/appkit-ui/ui/NavigationMenu.md +338 -0
- package/docs/docs/api/appkit-ui/ui/Pagination/index.html +69 -0
- package/docs/docs/api/appkit-ui/ui/Pagination.md +191 -0
- package/docs/docs/api/appkit-ui/ui/Popover/index.html +45 -0
- package/docs/docs/api/appkit-ui/ui/Popover.md +173 -0
- package/docs/docs/api/appkit-ui/ui/Progress/index.html +27 -0
- package/docs/docs/api/appkit-ui/ui/Progress.md +51 -0
- package/docs/docs/api/appkit-ui/ui/RadioGroup/index.html +33 -0
- package/docs/docs/api/appkit-ui/ui/RadioGroup.md +83 -0
- package/docs/docs/api/appkit-ui/ui/ResizableHandle/index.html +41 -0
- package/docs/docs/api/appkit-ui/ui/ResizableHandle.md +136 -0
- package/docs/docs/api/appkit-ui/ui/ScrollArea/index.html +34 -0
- package/docs/docs/api/appkit-ui/ui/ScrollArea.md +83 -0
- package/docs/docs/api/appkit-ui/ui/Select/index.html +82 -0
- package/docs/docs/api/appkit-ui/ui/Select.md +267 -0
- package/docs/docs/api/appkit-ui/ui/Separator/index.html +27 -0
- package/docs/docs/api/appkit-ui/ui/Separator.md +56 -0
- package/docs/docs/api/appkit-ui/ui/Sheet/index.html +76 -0
- package/docs/docs/api/appkit-ui/ui/Sheet.md +236 -0
- package/docs/docs/api/appkit-ui/ui/Sidebar/index.html +183 -0
- package/docs/docs/api/appkit-ui/ui/Sidebar.md +490 -0
- package/docs/docs/api/appkit-ui/ui/Skeleton/index.html +27 -0
- package/docs/docs/api/appkit-ui/ui/Skeleton.md +43 -0
- package/docs/docs/api/appkit-ui/ui/Slider/index.html +27 -0
- package/docs/docs/api/appkit-ui/ui/Slider.md +61 -0
- package/docs/docs/api/appkit-ui/ui/Spinner/index.html +24 -0
- package/docs/docs/api/appkit-ui/ui/Spinner.md +22 -0
- package/docs/docs/api/appkit-ui/ui/Switch/index.html +27 -0
- package/docs/docs/api/appkit-ui/ui/Switch.md +46 -0
- package/docs/docs/api/appkit-ui/ui/Table/index.html +69 -0
- package/docs/docs/api/appkit-ui/ui/Table.md +236 -0
- package/docs/docs/api/appkit-ui/ui/Tabs/index.html +48 -0
- package/docs/docs/api/appkit-ui/ui/Tabs.md +177 -0
- package/docs/docs/api/appkit-ui/ui/Textarea/index.html +27 -0
- package/docs/docs/api/appkit-ui/ui/Textarea.md +35 -0
- package/docs/docs/api/appkit-ui/ui/Toaster/index.html +27 -0
- package/docs/docs/api/appkit-ui/ui/Toaster.md +75 -0
- package/docs/docs/api/appkit-ui/ui/Toggle/index.html +27 -0
- package/docs/docs/api/appkit-ui/ui/Toggle.md +48 -0
- package/docs/docs/api/appkit-ui/ui/ToggleGroup/index.html +33 -0
- package/docs/docs/api/appkit-ui/ui/ToggleGroup.md +88 -0
- package/docs/docs/api/appkit-ui/ui/Tooltip/index.html +46 -0
- package/docs/docs/api/appkit-ui/ui/Tooltip.md +134 -0
- package/docs/docs/api/appkit-ui.md +15 -0
- package/docs/docs/api/appkit.md +48 -0
- package/docs/docs/api/index.html +28 -0
- package/docs/docs/api.md +24 -0
- package/docs/docs/app-management/index.html +106 -0
- package/docs/docs/app-management.md +171 -0
- package/docs/docs/architecture/index.html +71 -0
- package/docs/docs/architecture.md +69 -0
- package/docs/docs/category/development/index.html +16 -0
- package/docs/docs/category/development.md +3 -0
- package/docs/docs/configuration/index.html +66 -0
- package/docs/docs/configuration.md +150 -0
- package/docs/docs/core-principles/index.html +38 -0
- package/docs/docs/core-principles.md +31 -0
- package/docs/docs/development/index.html +34 -0
- package/docs/docs/development/llm-guide/index.html +74 -0
- package/docs/docs/development/llm-guide.md +74 -0
- package/docs/docs/development/local-development/index.html +27 -0
- package/docs/docs/development/local-development.md +20 -0
- package/docs/docs/development/project-setup/index.html +69 -0
- package/docs/docs/development/project-setup.md +246 -0
- package/docs/docs/development/remote-bridge/index.html +76 -0
- package/docs/docs/development/remote-bridge.md +80 -0
- package/docs/docs/development/type-generation/index.html +65 -0
- package/docs/docs/development/type-generation.md +110 -0
- package/docs/docs/development.md +21 -0
- package/docs/docs/index.html +58 -0
- package/docs/docs/plugins/index.html +151 -0
- package/docs/docs/plugins.md +313 -0
- package/docs/docs.md +64 -0
- package/llms.txt +121 -1231
- package/package.json +11 -11
- package/scripts/postinstall.js +1 -1
- package/AGENTS.md +0 -1234
- package/bin/appkit-lint.js +0 -129
- package/bin/generate-types.js +0 -27
- package/bin/setup-claude.js +0 -190
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-app-management" data-has-hydrated="false">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
|
+
<title data-rh="true">App management | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/app-management"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="App management | AppKit"><meta data-rh="true" name="description" content="Manage your AppKit application throughout its lifecycle using the Databricks CLI. This guide covers deploying, starting, stopping, monitoring, and deleting apps."><meta data-rh="true" property="og:description" content="Manage your AppKit application throughout its lifecycle using the Databricks CLI. This guide covers deploying, starting, stopping, monitoring, and deleting apps."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/app-management"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/app-management" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/app-management" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"App management","item":"https://databricks.github.io/appkit/docs/app-management"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.0ec7398f.css">
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.a874f05e.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.9d17da5a.js" defer="defer"></script>
|
|
9
|
+
</head>
|
|
10
|
+
<body class="navigation-with-keyboard">
|
|
11
|
+
<svg style="display: none;"><defs>
|
|
12
|
+
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><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"/></symbol>
|
|
13
|
+
</defs></svg>
|
|
14
|
+
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus"><link rel="preload" as="image" href="/appkit/img/logo.png"><div role="region" aria-label="Skip to main content"><a class="skipToContent_R3I2" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><div class="theme-announcement-bar announcementBar_Upl7" style="background-color:#f0f0f0;color:#000000" role="banner"><div class="announcementBarPlaceholder_Lvio"></div><div class="content_vq0X announcementBarContent_FIMQ">⚠️ AppKit is in an early development phase and is subject to change without notice. <strong>DO NOT</strong> use in production environments.</div><button type="button" aria-label="Close" class="clean-btn close closeButton_J8WU announcementBarClose_jD94"><svg viewBox="0 0 15 15" width="14" height="14"><g stroke="currentColor" stroke-width="3.1"><path d="M.75.75l13.5 13.5M14.25.75L.75 14.25"></path></g></svg></button></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left 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="/appkit/"><div class="navbar__logo"><img src="/appkit/img/logo.png" alt="AppKit" class="themedComponent_hkXO themedComponent--light_BgK8"><img src="/appkit/img/logo.png" alt="AppKit" class="themedComponent_hkXO themedComponent--dark_RKPt"></div><b class="navbar__title text--truncate">AppKit</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/appkit/docs/">Documentation</a><a class="navbar__item navbar__link" href="/appkit/contributing">Contributing</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://github.com/databricks/appkit" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_miaU"><use href="#theme-svg-external-link"></use></svg></a><div class="toggle_eFYw colorModeToggle_EPbi"><button class="clean-btn toggleButton_HRKp toggleButtonDisabled_bICu" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_brDO lightToggleIcon_vxPA"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_brDO darkToggleIcon_PZNO"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_brDO systemToggleIcon_A7x6"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_cVhq"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper__Y_W"><div class="docsWrapper_cIfN"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_xQFv" type="button"></button><div class="docRoot_FHtD"><aside class="theme-doc-sidebar-container docSidebarContainer_dvCd"><div class="sidebarViewport_GeRf"><div class="sidebar_T8N1"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_uyE9 menuWithAnnouncementBar_Bucd"><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="/appkit/docs/"><span title="Getting started" class="linkLabel_hZzm">Getting started</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/appkit/docs/app-management"><span title="App management" class="linkLabel_hZzm">App management</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/appkit/docs/plugins"><span title="Plugins" class="linkLabel_hZzm">Plugins</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/appkit/docs/architecture"><span title="Architecture" class="linkLabel_hZzm">Architecture</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/appkit/docs/configuration"><span title="Configuration" class="linkLabel_hZzm">Configuration</span></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="categoryLink_P6CU menu__link menu__link--sublist" href="/appkit/docs/category/development"><span title="Development" class="categoryLinkLabel_ShmP">Development</span></a><button aria-label="Collapse sidebar category 'Development'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/appkit/docs/development/local-development"><span title="Local development" class="linkLabel_hZzm">Local development</span></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="/appkit/docs/development/"><span title="Development" class="linkLabel_hZzm">Development</span></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="/appkit/docs/development/remote-bridge"><span title="Remote Bridge" class="linkLabel_hZzm">Remote Bridge</span></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="/appkit/docs/development/project-setup"><span title="Project setup" class="linkLabel_hZzm">Project setup</span></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="/appkit/docs/development/type-generation"><span title="Type generation" class="linkLabel_hZzm">Type generation</span></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="/appkit/docs/development/llm-guide"><span title="LLM Guide" class="linkLabel_hZzm">LLM Guide</span></a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/appkit/docs/core-principles"><span title="Core principles" class="linkLabel_hZzm">Core principles</span></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="categoryLink_P6CU menu__link menu__link--sublist" href="/appkit/docs/api/"><span title="API reference" class="categoryLinkLabel_ShmP">API reference</span></a><button aria-label="Expand sidebar category 'API reference'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></nav></div></div></aside><main class="docMainContainer_P5br"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_poBZ"><div class="docItemContainer_TdBg"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_bEIa" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/appkit/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_sma7"><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 breadcrumbs__item--active"><span class="breadcrumbs__link">App management</span></li></ul></nav><div class="tocCollapsible_gJxE theme-doc-toc-mobile tocMobile_ZHYV"><button type="button" class="clean-btn tocCollapsibleButton_uxuR">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>App management</h1></header>
|
|
15
|
+
<p>Manage your AppKit application throughout its lifecycle using the Databricks CLI. This guide covers deploying, starting, stopping, monitoring, and deleting apps.</p>
|
|
16
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="prerequisites">Prerequisites<a href="#prerequisites" class="hash-link" aria-label="Direct link to Prerequisites" title="Direct link to Prerequisites" translate="no"></a></h2>
|
|
17
|
+
<ul>
|
|
18
|
+
<li class=""><a href="https://nodejs.org" target="_blank" rel="noopener noreferrer" class="">Node.js</a> environment</li>
|
|
19
|
+
<li class="">Databricks CLI: install and configure it according to the <a href="https://docs.databricks.com/aws/en/dev-tools/cli/tutorial" target="_blank" rel="noopener noreferrer" class="">official tutorial</a>.</li>
|
|
20
|
+
</ul>
|
|
21
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="create-app">Create app<a href="#create-app" class="hash-link" aria-label="Direct link to Create app" title="Direct link to Create app" translate="no"></a></h2>
|
|
22
|
+
<p>See the <a class="" href="/appkit/docs/">Quick start</a> section to create a new Databricks app with AppKit installed.</p>
|
|
23
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration" translate="no"></a></h2>
|
|
24
|
+
<p>Before deploying your app, you need to configure it. See the <a class="" href="/appkit/docs/configuration">Configuration guide</a> for details on:</p>
|
|
25
|
+
<ul>
|
|
26
|
+
<li class=""><code>app.yaml</code> configuration and command specification</li>
|
|
27
|
+
<li class="">Environment variables and SQL warehouse binding</li>
|
|
28
|
+
<li class="">Local development authentication options</li>
|
|
29
|
+
</ul>
|
|
30
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="deploy-app">Deploy app<a href="#deploy-app" class="hash-link" aria-label="Direct link to Deploy app" title="Direct link to Deploy app" translate="no"></a></h2>
|
|
31
|
+
<p>Deploy your AppKit application using the automated deployment pipeline:</p>
|
|
32
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps deploy</span><br></span></code></pre></div></div>
|
|
33
|
+
<p>This command runs a complete deployment pipeline:</p>
|
|
34
|
+
<ol>
|
|
35
|
+
<li class="">Builds the frontend (<code>npm run build</code>)</li>
|
|
36
|
+
<li class="">Deploys the bundle to the workspace</li>
|
|
37
|
+
<li class="">Runs the app</li>
|
|
38
|
+
</ol>
|
|
39
|
+
<div class="theme-admonition theme-admonition-note admonition_mylv alert alert--secondary"><div class="admonitionHeading_EXDp"><span class="admonitionIcon_a6gq"><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_mPbZ"><p>For all available options, run:</p><div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps deploy --help</span><br></span></code></pre></div></div></div></div>
|
|
40
|
+
<h3 class="anchor anchorTargetStickyNavbar_scV4" id="examples">Examples<a href="#examples" class="hash-link" aria-label="Direct link to Examples" title="Direct link to Examples" translate="no"></a></h3>
|
|
41
|
+
<ul>
|
|
42
|
+
<li class="">
|
|
43
|
+
<p>Deploy to a specific target:</p>
|
|
44
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps deploy --target prod</span><br></span></code></pre></div></div>
|
|
45
|
+
</li>
|
|
46
|
+
<li class="">
|
|
47
|
+
<p>Deploy with custom variables:</p>
|
|
48
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps deploy --var="warehouse_id=abc123"</span><br></span></code></pre></div></div>
|
|
49
|
+
</li>
|
|
50
|
+
<li class="">
|
|
51
|
+
<p>Skip the build step for faster iteration:</p>
|
|
52
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps deploy --skip-build</span><br></span></code></pre></div></div>
|
|
53
|
+
</li>
|
|
54
|
+
<li class="">
|
|
55
|
+
<p>Force deploy (override Git branch validation):</p>
|
|
56
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps deploy --force</span><br></span></code></pre></div></div>
|
|
57
|
+
</li>
|
|
58
|
+
</ul>
|
|
59
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="start-app">Start app<a href="#start-app" class="hash-link" aria-label="Direct link to Start app" title="Direct link to Start app" translate="no"></a></h2>
|
|
60
|
+
<p>To start a stopped app, run:</p>
|
|
61
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps start {name}</span><br></span></code></pre></div></div>
|
|
62
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="stop-app">Stop app<a href="#stop-app" class="hash-link" aria-label="Direct link to Stop app" title="Direct link to Stop app" translate="no"></a></h2>
|
|
63
|
+
<p>Stop a running app without deleting it:</p>
|
|
64
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps stop {name}</span><br></span></code></pre></div></div>
|
|
65
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="list-all-apps">List all apps<a href="#list-all-apps" class="hash-link" aria-label="Direct link to List all apps" title="Direct link to List all apps" translate="no"></a></h2>
|
|
66
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps list</span><br></span></code></pre></div></div>
|
|
67
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="get-detailed-app-information">Get detailed app information<a href="#get-detailed-app-information" class="hash-link" aria-label="Direct link to Get detailed app information" title="Direct link to Get detailed app information" translate="no"></a></h2>
|
|
68
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps get {name}</span><br></span></code></pre></div></div>
|
|
69
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="stream-app-logs">Stream app Logs<a href="#stream-app-logs" class="hash-link" aria-label="Direct link to Stream app Logs" title="Direct link to Stream app Logs" translate="no"></a></h2>
|
|
70
|
+
<p>Stream application logs in real-time:</p>
|
|
71
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps logs {name}</span><br></span></code></pre></div></div>
|
|
72
|
+
<p>By default, this shows the most recent 200 log lines and exits.</p>
|
|
73
|
+
<blockquote>
|
|
74
|
+
<p><strong>Note:</strong> For all available options, run <code>databricks apps logs --help</code></p>
|
|
75
|
+
</blockquote>
|
|
76
|
+
<h3 class="anchor anchorTargetStickyNavbar_scV4" id="examples-1">Examples<a href="#examples-1" class="hash-link" aria-label="Direct link to Examples" title="Direct link to Examples" translate="no"></a></h3>
|
|
77
|
+
<ul>
|
|
78
|
+
<li class="">
|
|
79
|
+
<p>Show the last 50 log lines:</p>
|
|
80
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps logs my-app --tail-lines 50</span><br></span></code></pre></div></div>
|
|
81
|
+
</li>
|
|
82
|
+
<li class="">
|
|
83
|
+
<p>Follow logs with a search filter:</p>
|
|
84
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps logs my-app --follow --search ERROR</span><br></span></code></pre></div></div>
|
|
85
|
+
</li>
|
|
86
|
+
<li class="">
|
|
87
|
+
<p>Filter logs by source:</p>
|
|
88
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps logs my-app --follow --source APP</span><br></span></code></pre></div></div>
|
|
89
|
+
</li>
|
|
90
|
+
<li class="">
|
|
91
|
+
<p>Save logs to a file:</p>
|
|
92
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps logs my-app --follow --output-file app.log</span><br></span></code></pre></div></div>
|
|
93
|
+
</li>
|
|
94
|
+
<li class="">
|
|
95
|
+
<p>Stream logs for 5 minutes:</p>
|
|
96
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps logs my-app --follow --timeout 5m</span><br></span></code></pre></div></div>
|
|
97
|
+
</li>
|
|
98
|
+
</ul>
|
|
99
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="delete-app">Delete app<a href="#delete-app" class="hash-link" aria-label="Direct link to Delete app" title="Direct link to Delete app" translate="no"></a></h2>
|
|
100
|
+
<p>Permanently delete an app:</p>
|
|
101
|
+
<div class="language-bash codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-bash codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token plain">databricks apps delete {name}</span><br></span></code></pre></div></div>
|
|
102
|
+
<p><strong>⚠️ Warning:</strong> This action cannot be undone. All app data and configurations will be removed.</p>
|
|
103
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="see-also">See also<a href="#see-also" class="hash-link" aria-label="Direct link to See also" title="Direct link to See also" translate="no"></a></h2>
|
|
104
|
+
<p>For more information about Databricks Apps, including platform architecture, use cases, security, and advanced features, see the <a href="https://docs.databricks.com/aws/en/dev-tools/databricks-apps/" target="_blank" rel="noopener noreferrer" class="">Databricks Apps documentation</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_Z6Q_"><a href="https://github.com/databricks/appkit/edit/main/docs/docs/app-management.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_kMm5" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_mnLK"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/appkit/docs/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Getting started</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/appkit/docs/plugins"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Plugins</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_xfIk thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#prerequisites" class="table-of-contents__link toc-highlight">Prerequisites</a></li><li><a href="#create-app" class="table-of-contents__link toc-highlight">Create app</a></li><li><a href="#configuration" class="table-of-contents__link toc-highlight">Configuration</a></li><li><a href="#deploy-app" class="table-of-contents__link toc-highlight">Deploy app</a><ul><li><a href="#examples" class="table-of-contents__link toc-highlight">Examples</a></li></ul></li><li><a href="#start-app" class="table-of-contents__link toc-highlight">Start app</a></li><li><a href="#stop-app" class="table-of-contents__link toc-highlight">Stop app</a></li><li><a href="#list-all-apps" class="table-of-contents__link toc-highlight">List all apps</a></li><li><a href="#get-detailed-app-information" class="table-of-contents__link toc-highlight">Get detailed app information</a></li><li><a href="#stream-app-logs" class="table-of-contents__link toc-highlight">Stream app Logs</a><ul><li><a href="#examples-1" class="table-of-contents__link toc-highlight">Examples</a></li></ul></li><li><a href="#delete-app" class="table-of-contents__link toc-highlight">Delete app</a></li><li><a href="#see-also" class="table-of-contents__link toc-highlight">See also</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/appkit/docs/">Getting started</a></li><li class="footer__item"><a class="footer__link-item" href="/appkit/docs/api/">API reference</a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/appkit/contributing">Contributing</a></li><li class="footer__item"><a href="https://github.com/databricks/appkit" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_miaU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://docs.databricks.com/aws/en/dev-tools/databricks-apps/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Databricks Apps docs<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_miaU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://github.com/databricks/cli" target="_blank" rel="noopener noreferrer" class="footer__link-item">Databricks CLI<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_miaU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2026 Databricks, Inc.</div></div></div></footer></div>
|
|
105
|
+
</body>
|
|
106
|
+
</html>
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# App management
|
|
2
|
+
|
|
3
|
+
Manage your AppKit application throughout its lifecycle using the Databricks CLI. This guide covers deploying, starting, stopping, monitoring, and deleting apps.
|
|
4
|
+
|
|
5
|
+
## Prerequisites[](#prerequisites "Direct link to Prerequisites")
|
|
6
|
+
|
|
7
|
+
* [Node.js](https://nodejs.org) environment
|
|
8
|
+
* Databricks CLI: install and configure it according to the [official tutorial](https://docs.databricks.com/aws/en/dev-tools/cli/tutorial).
|
|
9
|
+
|
|
10
|
+
## Create app[](#create-app "Direct link to Create app")
|
|
11
|
+
|
|
12
|
+
See the [Quick start](/appkit/docs.md) section to create a new Databricks app with AppKit installed.
|
|
13
|
+
|
|
14
|
+
## Configuration[](#configuration "Direct link to Configuration")
|
|
15
|
+
|
|
16
|
+
Before deploying your app, you need to configure it. See the [Configuration guide](/appkit/docs/configuration.md) for details on:
|
|
17
|
+
|
|
18
|
+
* `app.yaml` configuration and command specification
|
|
19
|
+
* Environment variables and SQL warehouse binding
|
|
20
|
+
* Local development authentication options
|
|
21
|
+
|
|
22
|
+
## Deploy app[](#deploy-app "Direct link to Deploy app")
|
|
23
|
+
|
|
24
|
+
Deploy your AppKit application using the automated deployment pipeline:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
databricks apps deploy
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
This command runs a complete deployment pipeline:
|
|
32
|
+
|
|
33
|
+
1. Builds the frontend (`npm run build`)
|
|
34
|
+
2. Deploys the bundle to the workspace
|
|
35
|
+
3. Runs the app
|
|
36
|
+
|
|
37
|
+
note
|
|
38
|
+
|
|
39
|
+
For all available options, run:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
databricks apps deploy --help
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Examples[](#examples "Direct link to Examples")
|
|
47
|
+
|
|
48
|
+
* Deploy to a specific target:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
databricks apps deploy --target prod
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
* Deploy with custom variables:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
databricks apps deploy --var="warehouse_id=abc123"
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
* Skip the build step for faster iteration:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
databricks apps deploy --skip-build
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
* Force deploy (override Git branch validation):
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
databricks apps deploy --force
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Start app[](#start-app "Direct link to Start app")
|
|
77
|
+
|
|
78
|
+
To start a stopped app, run:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
databricks apps start {name}
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Stop app[](#stop-app "Direct link to Stop app")
|
|
86
|
+
|
|
87
|
+
Stop a running app without deleting it:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
databricks apps stop {name}
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## List all apps[](#list-all-apps "Direct link to List all apps")
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
databricks apps list
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Get detailed app information[](#get-detailed-app-information "Direct link to Get detailed app information")
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
databricks apps get {name}
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Stream app Logs[](#stream-app-logs "Direct link to Stream app Logs")
|
|
109
|
+
|
|
110
|
+
Stream application logs in real-time:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
databricks apps logs {name}
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
By default, this shows the most recent 200 log lines and exits.
|
|
118
|
+
|
|
119
|
+
> **Note:** For all available options, run `databricks apps logs --help`
|
|
120
|
+
|
|
121
|
+
### Examples[](#examples-1 "Direct link to Examples")
|
|
122
|
+
|
|
123
|
+
* Show the last 50 log lines:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
databricks apps logs my-app --tail-lines 50
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
* Follow logs with a search filter:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
databricks apps logs my-app --follow --search ERROR
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
* Filter logs by source:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
databricks apps logs my-app --follow --source APP
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
* Save logs to a file:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
databricks apps logs my-app --follow --output-file app.log
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
* Stream logs for 5 minutes:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
databricks apps logs my-app --follow --timeout 5m
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Delete app[](#delete-app "Direct link to Delete app")
|
|
159
|
+
|
|
160
|
+
Permanently delete an app:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
databricks apps delete {name}
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**⚠️ Warning:** This action cannot be undone. All app data and configurations will be removed.
|
|
168
|
+
|
|
169
|
+
## See also[](#see-also "Direct link to See also")
|
|
170
|
+
|
|
171
|
+
For more information about Databricks Apps, including platform architecture, use cases, security, and advanced features, see the [Databricks Apps documentation](https://docs.databricks.com/aws/en/dev-tools/databricks-apps/).
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-architecture" data-has-hydrated="false">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
|
+
<title data-rh="true">Architecture | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/architecture"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Architecture | AppKit"><meta data-rh="true" name="description" content="AppKit follows a plugin-based architecture designed for building production-ready Databricks applications. This document provides a high-level overview of the system components and their interactions."><meta data-rh="true" property="og:description" content="AppKit follows a plugin-based architecture designed for building production-ready Databricks applications. This document provides a high-level overview of the system components and their interactions."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/architecture"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/architecture" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/architecture" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Architecture","item":"https://databricks.github.io/appkit/docs/architecture"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.0ec7398f.css">
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.a874f05e.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.9d17da5a.js" defer="defer"></script>
|
|
9
|
+
</head>
|
|
10
|
+
<body class="navigation-with-keyboard">
|
|
11
|
+
<svg style="display: none;"><defs>
|
|
12
|
+
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><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"/></symbol>
|
|
13
|
+
</defs></svg>
|
|
14
|
+
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus"><link rel="preload" as="image" href="/appkit/img/logo.png"><div role="region" aria-label="Skip to main content"><a class="skipToContent_R3I2" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><div class="theme-announcement-bar announcementBar_Upl7" style="background-color:#f0f0f0;color:#000000" role="banner"><div class="announcementBarPlaceholder_Lvio"></div><div class="content_vq0X announcementBarContent_FIMQ">⚠️ AppKit is in an early development phase and is subject to change without notice. <strong>DO NOT</strong> use in production environments.</div><button type="button" aria-label="Close" class="clean-btn close closeButton_J8WU announcementBarClose_jD94"><svg viewBox="0 0 15 15" width="14" height="14"><g stroke="currentColor" stroke-width="3.1"><path d="M.75.75l13.5 13.5M14.25.75L.75 14.25"></path></g></svg></button></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left 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="/appkit/"><div class="navbar__logo"><img src="/appkit/img/logo.png" alt="AppKit" class="themedComponent_hkXO themedComponent--light_BgK8"><img src="/appkit/img/logo.png" alt="AppKit" class="themedComponent_hkXO themedComponent--dark_RKPt"></div><b class="navbar__title text--truncate">AppKit</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/appkit/docs/">Documentation</a><a class="navbar__item navbar__link" href="/appkit/contributing">Contributing</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://github.com/databricks/appkit" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_miaU"><use href="#theme-svg-external-link"></use></svg></a><div class="toggle_eFYw colorModeToggle_EPbi"><button class="clean-btn toggleButton_HRKp toggleButtonDisabled_bICu" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_brDO lightToggleIcon_vxPA"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_brDO darkToggleIcon_PZNO"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_brDO systemToggleIcon_A7x6"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_cVhq"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper__Y_W"><div class="docsWrapper_cIfN"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_xQFv" type="button"></button><div class="docRoot_FHtD"><aside class="theme-doc-sidebar-container docSidebarContainer_dvCd"><div class="sidebarViewport_GeRf"><div class="sidebar_T8N1"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_uyE9 menuWithAnnouncementBar_Bucd"><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="/appkit/docs/"><span title="Getting started" class="linkLabel_hZzm">Getting started</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/appkit/docs/app-management"><span title="App management" class="linkLabel_hZzm">App management</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/appkit/docs/plugins"><span title="Plugins" class="linkLabel_hZzm">Plugins</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/appkit/docs/architecture"><span title="Architecture" class="linkLabel_hZzm">Architecture</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/appkit/docs/configuration"><span title="Configuration" class="linkLabel_hZzm">Configuration</span></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="categoryLink_P6CU menu__link menu__link--sublist" href="/appkit/docs/category/development"><span title="Development" class="categoryLinkLabel_ShmP">Development</span></a><button aria-label="Collapse sidebar category 'Development'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/appkit/docs/development/local-development"><span title="Local development" class="linkLabel_hZzm">Local development</span></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="/appkit/docs/development/"><span title="Development" class="linkLabel_hZzm">Development</span></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="/appkit/docs/development/remote-bridge"><span title="Remote Bridge" class="linkLabel_hZzm">Remote Bridge</span></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="/appkit/docs/development/project-setup"><span title="Project setup" class="linkLabel_hZzm">Project setup</span></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="/appkit/docs/development/type-generation"><span title="Type generation" class="linkLabel_hZzm">Type generation</span></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="/appkit/docs/development/llm-guide"><span title="LLM Guide" class="linkLabel_hZzm">LLM Guide</span></a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/appkit/docs/core-principles"><span title="Core principles" class="linkLabel_hZzm">Core principles</span></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="categoryLink_P6CU menu__link menu__link--sublist" href="/appkit/docs/api/"><span title="API reference" class="categoryLinkLabel_ShmP">API reference</span></a><button aria-label="Expand sidebar category 'API reference'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></nav></div></div></aside><main class="docMainContainer_P5br"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_poBZ"><div class="docItemContainer_TdBg"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_bEIa" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/appkit/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_sma7"><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 breadcrumbs__item--active"><span class="breadcrumbs__link">Architecture</span></li></ul></nav><div class="tocCollapsible_gJxE theme-doc-toc-mobile tocMobile_ZHYV"><button type="button" class="clean-btn tocCollapsibleButton_uxuR">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Architecture</h1></header>
|
|
15
|
+
<p>AppKit follows a plugin-based architecture designed for building production-ready Databricks applications. This document provides a high-level overview of the system components and their interactions.</p>
|
|
16
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="high-level-architecture">High-level architecture<a href="#high-level-architecture" class="hash-link" aria-label="Direct link to High-level architecture" title="Direct link to High-level architecture" translate="no"></a></h2>
|
|
17
|
+
<!-- -->
|
|
18
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="core-components">Core components<a href="#core-components" class="hash-link" aria-label="Direct link to Core components" title="Direct link to Core components" translate="no"></a></h2>
|
|
19
|
+
<p>AppKit is organized into two main packages:</p>
|
|
20
|
+
<h3 class="anchor anchorTargetStickyNavbar_scV4" id="databricksappkit">@databricks/appkit<a href="#databricksappkit" class="hash-link" aria-label="Direct link to @databricks/appkit" title="Direct link to @databricks/appkit" translate="no"></a></h3>
|
|
21
|
+
<p>The backend SDK that provides the plugin architecture and core functionality. It includes:</p>
|
|
22
|
+
<ul>
|
|
23
|
+
<li class="">Plugin system with lifecycle management</li>
|
|
24
|
+
<li class="">Built-in server and analytics plugins</li>
|
|
25
|
+
<li class="">Telemetry and observability features</li>
|
|
26
|
+
<li class="">Cache management and streaming capabilities</li>
|
|
27
|
+
<li class="">Type generation for SQL queries</li>
|
|
28
|
+
</ul>
|
|
29
|
+
<p>See the <a class="" href="/appkit/docs/plugins">Plugins</a> and <a class="" href="/appkit/docs/api/appkit/">API reference</a> documentation for detailed information.</p>
|
|
30
|
+
<h3 class="anchor anchorTargetStickyNavbar_scV4" id="databricksappkit-ui">@databricks/appkit-ui<a href="#databricksappkit-ui" class="hash-link" aria-label="Direct link to @databricks/appkit-ui" title="Direct link to @databricks/appkit-ui" translate="no"></a></h3>
|
|
31
|
+
<p>A React UI library with pre-built components optimized for data applications:</p>
|
|
32
|
+
<ul>
|
|
33
|
+
<li class="">React hooks for query execution and streaming</li>
|
|
34
|
+
<li class="">UI components based on Radix UI and Tailwind</li>
|
|
35
|
+
<li class="">Data visualization components</li>
|
|
36
|
+
<li class="">Type-safe integration with backend queries</li>
|
|
37
|
+
</ul>
|
|
38
|
+
<p>See the <a class="" href="/appkit/docs/api/appkit-ui/">API reference</a> for component documentation.</p>
|
|
39
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="application-layers">Application layers<a href="#application-layers" class="hash-link" aria-label="Direct link to Application layers" title="Direct link to Application layers" translate="no"></a></h2>
|
|
40
|
+
<h3 class="anchor anchorTargetStickyNavbar_scV4" id="client-layer">Client layer<a href="#client-layer" class="hash-link" aria-label="Direct link to Client layer" title="Direct link to Client layer" translate="no"></a></h3>
|
|
41
|
+
<p>The React frontend layer that optionally uses <code>@databricks/appkit-ui</code> components:</p>
|
|
42
|
+
<ul>
|
|
43
|
+
<li class="">Renders UI components and visualizations</li>
|
|
44
|
+
<li class="">Manages client state and user interactions</li>
|
|
45
|
+
<li class="">Consumes backend APIs via HTTP and SSE</li>
|
|
46
|
+
<li class="">Provides type-safe query execution hooks</li>
|
|
47
|
+
</ul>
|
|
48
|
+
<h3 class="anchor anchorTargetStickyNavbar_scV4" id="server-layer">Server layer<a href="#server-layer" class="hash-link" aria-label="Direct link to Server layer" title="Direct link to Server layer" translate="no"></a></h3>
|
|
49
|
+
<p>The Node.js backend layer built with <code>@databricks/appkit</code>:</p>
|
|
50
|
+
<ul>
|
|
51
|
+
<li class="">Serves the React application (dev and production modes)</li>
|
|
52
|
+
<li class="">Executes SQL queries against Databricks SQL Warehouses</li>
|
|
53
|
+
<li class="">Handles authentication and authorization</li>
|
|
54
|
+
<li class="">Provides caching, retry logic, and error handling</li>
|
|
55
|
+
<li class="">Exposes REST APIs and SSE endpoints</li>
|
|
56
|
+
</ul>
|
|
57
|
+
<h3 class="anchor anchorTargetStickyNavbar_scV4" id="data-layer">Data layer<a href="#data-layer" class="hash-link" aria-label="Direct link to Data layer" title="Direct link to Data layer" translate="no"></a></h3>
|
|
58
|
+
<p>Integration with Databricks services:</p>
|
|
59
|
+
<ul>
|
|
60
|
+
<li class=""><strong>SQL Warehouses</strong>: Execute analytical queries with Arrow or JSON format</li>
|
|
61
|
+
<li class=""><strong>Lakebase</strong>: Access data from Lakebase</li>
|
|
62
|
+
</ul>
|
|
63
|
+
<h2 class="anchor anchorTargetStickyNavbar_scV4" id="see-also">See also<a href="#see-also" class="hash-link" aria-label="Direct link to See also" title="Direct link to See also" translate="no"></a></h2>
|
|
64
|
+
<ul>
|
|
65
|
+
<li class=""><a class="" href="/appkit/docs/plugins">Plugins</a>: Deep dive into the plugin system</li>
|
|
66
|
+
<li class=""><a class="" href="/appkit/docs/api/">API reference</a>: Complete API documentation</li>
|
|
67
|
+
<li class=""><a class="" href="/appkit/docs/development/">Development</a>: Explore development workflows</li>
|
|
68
|
+
<li class=""><a class="" href="/appkit/docs/core-principles">Core Principles</a>: Learn about AppKit's design philosophy</li>
|
|
69
|
+
</ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_Z6Q_"><a href="https://github.com/databricks/appkit/edit/main/docs/docs/architecture.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_kMm5" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_mnLK"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/appkit/docs/plugins"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Plugins</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/appkit/docs/configuration"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Configuration</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_xfIk thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#high-level-architecture" class="table-of-contents__link toc-highlight">High-level architecture</a></li><li><a href="#core-components" class="table-of-contents__link toc-highlight">Core components</a><ul><li><a href="#databricksappkit" class="table-of-contents__link toc-highlight">@databricks/appkit</a></li><li><a href="#databricksappkit-ui" class="table-of-contents__link toc-highlight">@databricks/appkit-ui</a></li></ul></li><li><a href="#application-layers" class="table-of-contents__link toc-highlight">Application layers</a><ul><li><a href="#client-layer" class="table-of-contents__link toc-highlight">Client layer</a></li><li><a href="#server-layer" class="table-of-contents__link toc-highlight">Server layer</a></li><li><a href="#data-layer" class="table-of-contents__link toc-highlight">Data layer</a></li></ul></li><li><a href="#see-also" class="table-of-contents__link toc-highlight">See also</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/appkit/docs/">Getting started</a></li><li class="footer__item"><a class="footer__link-item" href="/appkit/docs/api/">API reference</a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/appkit/contributing">Contributing</a></li><li class="footer__item"><a href="https://github.com/databricks/appkit" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_miaU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://docs.databricks.com/aws/en/dev-tools/databricks-apps/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Databricks Apps docs<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_miaU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://github.com/databricks/cli" target="_blank" rel="noopener noreferrer" class="footer__link-item">Databricks CLI<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_miaU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2026 Databricks, Inc.</div></div></div></footer></div>
|
|
70
|
+
</body>
|
|
71
|
+
</html>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
AppKit follows a plugin-based architecture designed for building production-ready Databricks applications. This document provides a high-level overview of the system components and their interactions.
|
|
4
|
+
|
|
5
|
+
## High-level architecture[](#high-level-architecture "Direct link to High-level architecture")
|
|
6
|
+
|
|
7
|
+
<!-- -->
|
|
8
|
+
|
|
9
|
+
## Core components[](#core-components "Direct link to Core components")
|
|
10
|
+
|
|
11
|
+
AppKit is organized into two main packages:
|
|
12
|
+
|
|
13
|
+
### @databricks/appkit[](#databricksappkit "Direct link to @databricks/appkit")
|
|
14
|
+
|
|
15
|
+
The backend SDK that provides the plugin architecture and core functionality. It includes:
|
|
16
|
+
|
|
17
|
+
* Plugin system with lifecycle management
|
|
18
|
+
* Built-in server and analytics plugins
|
|
19
|
+
* Telemetry and observability features
|
|
20
|
+
* Cache management and streaming capabilities
|
|
21
|
+
* Type generation for SQL queries
|
|
22
|
+
|
|
23
|
+
See the [Plugins](/appkit/docs/plugins.md) and [API reference](/appkit/docs/api/appkit.md) documentation for detailed information.
|
|
24
|
+
|
|
25
|
+
### @databricks/appkit-ui[](#databricksappkit-ui "Direct link to @databricks/appkit-ui")
|
|
26
|
+
|
|
27
|
+
A React UI library with pre-built components optimized for data applications:
|
|
28
|
+
|
|
29
|
+
* React hooks for query execution and streaming
|
|
30
|
+
* UI components based on Radix UI and Tailwind
|
|
31
|
+
* Data visualization components
|
|
32
|
+
* Type-safe integration with backend queries
|
|
33
|
+
|
|
34
|
+
See the [API reference](/appkit/docs/api/appkit-ui.md) for component documentation.
|
|
35
|
+
|
|
36
|
+
## Application layers[](#application-layers "Direct link to Application layers")
|
|
37
|
+
|
|
38
|
+
### Client layer[](#client-layer "Direct link to Client layer")
|
|
39
|
+
|
|
40
|
+
The React frontend layer that optionally uses `@databricks/appkit-ui` components:
|
|
41
|
+
|
|
42
|
+
* Renders UI components and visualizations
|
|
43
|
+
* Manages client state and user interactions
|
|
44
|
+
* Consumes backend APIs via HTTP and SSE
|
|
45
|
+
* Provides type-safe query execution hooks
|
|
46
|
+
|
|
47
|
+
### Server layer[](#server-layer "Direct link to Server layer")
|
|
48
|
+
|
|
49
|
+
The Node.js backend layer built with `@databricks/appkit`:
|
|
50
|
+
|
|
51
|
+
* Serves the React application (dev and production modes)
|
|
52
|
+
* Executes SQL queries against Databricks SQL Warehouses
|
|
53
|
+
* Handles authentication and authorization
|
|
54
|
+
* Provides caching, retry logic, and error handling
|
|
55
|
+
* Exposes REST APIs and SSE endpoints
|
|
56
|
+
|
|
57
|
+
### Data layer[](#data-layer "Direct link to Data layer")
|
|
58
|
+
|
|
59
|
+
Integration with Databricks services:
|
|
60
|
+
|
|
61
|
+
* **SQL Warehouses**: Execute analytical queries with Arrow or JSON format
|
|
62
|
+
* **Lakebase**: Access data from Lakebase
|
|
63
|
+
|
|
64
|
+
## See also[](#see-also "Direct link to See also")
|
|
65
|
+
|
|
66
|
+
* [Plugins](/appkit/docs/plugins.md): Deep dive into the plugin system
|
|
67
|
+
* [API reference](/appkit/docs/api.md): Complete API documentation
|
|
68
|
+
* [Development](/appkit/docs/development.md): Explore development workflows
|
|
69
|
+
* [Core Principles](/appkit/docs/core-principles.md): Learn about AppKit's design philosophy
|