Kernel’s app deployment process is as simple as it is fast. There are no configuration files to manage or complex CI/CD pipelines. Once you deploy an app on Kernel, you can schedule its actions on a job or run them from other contexts. You can even run actions multiple times in parallel.

Deploy the app

Use our CLI from the root directory of your project:
# entrypoint_file_name should be where you've defined your Kernel app
kernel deploy <entrypoint_file_name>

Environment variables

You can set environment variables for your app using the --env flag. For example:
kernel deploy my_app.ts --env MY_ENV_VAR=my_value # Can add multiple env vars delimited by space

Deployment notes

  • The entrypoint_file_name is the file name where you defined your app.
  • The entrypoint file and dependency manifest (package.json for JS/TS, pyproject.toml for Python) must both be in the root directory of your project.
  • Include a .gitignore file to exclude dependency folders like node_modules and .venv.
  • Kernel assumes the root directory contains at least this file structure:
project-root/
  ├─ .gitignore # Exclude dependency folders like node_modules
  ├─ my_app.ts # Entrypoint file
  ├─ package.json
  ├─ tsconfig.json # If using TypeScript
  └─ bun.lock | package-lock.json | pnpm-lock.yaml # One of these lockfiles
# Successful deployment CLI output
SUCCESS  Compressed files
SUCCESS  Deployment successful
SUCCESS  App "my_app.ts" deployed with action(s): [my-action]
INFO  Invoke with: kernel invoke my-app my-action --payload '{...}'
SUCCESS  Total deployment time: 2.78s
Once deployed, you can invoke your app from anywhere.