/\ ATFGraph /docs
README Downloads
Examples / ATFGraph
Framework reference

This article is retained from the existing framework docs. Self-hosting commands and server-admin access differ from the managed CLI workflow. Start with Get started for the installed product.

Databricks presets

Directory examples/databricks/presets

Choose one of these two Databricks App bundles to configure a Python node's model provider. Both use the shared worker_entrypoint.py pattern: an outbound graph worker plus an App status page on DATABRICKS_APP_PORT. The model route is the main difference.

Files

  • examples/databricks/presets/README.md
  • examples/databricks/presets/databricks-model-serving.yml
  • examples/databricks/presets/openrouter.yml

README

Rendered from examples/databricks/presets/README.md; the source file is not modified.

Choose one of these two Databricks App bundles to configure a Python node's model provider. Both use the shared worker_entrypoint.py pattern: an outbound graph worker plus an App status page on DATABRICKS_APP_PORT. The model route is the main difference.

PresetFileModel route
Databricks Model Servingdatabricks-model-serving.ymlATFGRAPH_MODEL_URL=https://<workspace-host>/serving-endpoints, ATFGRAPH_MODEL_NAME=<serving-endpoint>
OpenRouteropenrouter.ymlATFGRAPH_MODEL_URL=https://openrouter.ai/api/v1, ATFGRAPH_MODEL_NAME=<vendor>/<model>

Build the node bundle, copy the chosen preset to its databricks.yml, review its variables, then validate and deploy with an explicit Databricks profile.

scripts/product/build-databricks-bundle.sh --node-dir path/to/node --package my_node --module my_node.agent:app --label my-node
cp examples/databricks/presets/databricks-model-serving.yml target/dist/databricks/my-node/databricks.yml
.venv/bin/python scripts/product/check_databricks_bundle.py target/dist/databricks/my-node
cd target/dist/databricks/my-node
databricks bundle validate -t dev --profile <PROFILE> --var server_url=https://<graph-server> --var api_key_scope=atfgraph \
  --var model_url=https://<workspace-host>/serving-endpoints --var model_name=databricks-claude-sonnet-4 --var model_key_scope=atfgraph

Variables shared by both presets

VariableEnv it setsWhy
server_url (no default)ATFGRAPH_SERVERthe graph server the worker connects to, outbound HTTPS
api_key_scope (no default), api_key_keyATFGRAPH_API_KEY via value_from: api-keythe graph server API key, bound from a secret; never a literal
worker_module, node_labelWORKER_MODULE, ATFGRAPH_NODE_LABELwhich module:agent to run and the label the status page waits for
worker_capacityATFGRAPH_WORKER_CAPACITYconcurrent handler permits

Databricks Apps supplies DATABRICKS_HOST, DATABRICKS_CLIENT_ID, DATABRICKS_CLIENT_SECRET and DATABRICKS_APP_PORT; leave these to the platform.

Port

The App routes inbound traffic to its assigned DATABRICKS_APP_PORT. The entrypoint uses that port for /health, reporting server reachability, registration and worker phase. Capability calls go through the graph server instead of this status listener.

Preset 1: Databricks Model Serving

Set the model base URL to the workspace's /serving-endpoints route, not the App URL. The SDK posts to its /chat/completions route using the selected serving endpoint as model. Choose an endpoint that supports the request format your node needs; the example names are configuration examples, not an availability guarantee.

This preset binds ATFGRAPH_MODEL_API_KEY from model_key_scope/model_key_key. Use a PAT or OAuth token whose principal has CAN_QUERY on the endpoint. This explicit secret-binding preset does not demonstrate automatic credential refresh.

Preset 2: OpenRouter

For OpenRouter, use https://openrouter.ai/api/v1 and <vendor>/<model> (preset default google/gemini-2.5-flash). Bind the API key from openrouter_key_scope/openrouter_key_key. Allow outbound access to the provider in the workspace egress policy. The SDK adds attribution headers when it recognizes the OpenRouter host.

Local dry run

Before deploying, test the node locally with the same ATFGRAPH_MODEL_* settings and a local graph server. Start python -m atfgraph.worker --module <module:agent>. The package's agentnode.yaml declares corresponding values for installed-node use. Local success does not verify App networking or permissions.

Differences from the original presets, and gaps

  • These bundles use SDK model configuration instead of the older litellm variables. ATFGRAPH_MODEL_PROVIDER=anthropic selects the Messages provider when appropriate.
  • These particular presets bind graph and model credentials from secrets. They do not exercise every current SDK edge-auth or service-principal authentication option.
  • Standard workers have no inbound agent endpoint, so the former node-level principal allowlist is absent. The App listener serves status only.
  • These are bundle databricks.yml files with App resources, variables and secret bindings, rather than standalone app.yaml files.
  • Validation evidence is limited to offline bundle checks. databricks bundle validate, deploy and run were not performed for these presets.
ATFGraph documentationHosted workflow · Framework reference