Skip to content

Commit 39e4308

Browse files
authored
Merge branch 'main' into more-examples
2 parents 6300792 + 3e1d7f5 commit 39e4308

25 files changed

+1117
-19
lines changed

apps/deploy.mdx

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,38 +9,74 @@ Once you deploy an app on Kernel, you can schedule its actions on a job or run t
99

1010
## Deploy the app
1111

12+
### From local directory
13+
1214
Use our CLI from the root directory of your project:
1315
```bash
14-
# entrypoint_file_name should be where you've defined your Kernel app
1516
kernel deploy <entrypoint_file_name>
1617
```
1718

19+
#### Notes
20+
21+
- The `entrypoint_file_name` is the file name where you [defined](/apps/develop) your app.
22+
- Include a `.gitignore` file to exclude dependency folders like `node_modules` and `.venv`.
23+
24+
### From GitHub
25+
26+
You can deploy an app directly from a public or private GitHub repository using the Kernel CLI — no need to clone or manually push code.
27+
28+
```bash
29+
kernel deploy github \
30+
--url https://github.com/<owner>/<repo> \
31+
--ref <branch|tag|commit> \
32+
--entrypoint <path/to/entrypoint> \
33+
[--path <optional/subdir>] \
34+
[--github-token <token>] \
35+
[--env KEY=value ...] \
36+
[--env-file .env] \
37+
[--version latest] \
38+
[--force]
39+
```
40+
41+
#### Notes
42+
- **`--path` vs `--entrypoint`:** Use `--path` to specify a subdirectory within the repo (useful for monorepos), and `--entrypoint` for the path to your app's entry file relative to that directory (or repo root if no `--path` is specified).
43+
- The CLI automatically downloads and extracts the GitHub source code and uploads your app for deployment.
44+
- For private repositories, provide a `--github-token` or set the `GITHUB_TOKEN` environment variable.
45+
1846
## Environment variables
1947

2048
You can set environment variables for your app using the `--env` flag. For example:
2149

2250
<CodeGroup>
23-
```bash Typescript/Javascript
51+
```bash Typescript/Javascript (inline)
2452
kernel deploy my_app.ts --env MY_ENV_VAR=my_value # Can add multiple env vars delimited by space
2553
```
2654

27-
```bash Python
55+
```bash Typescript/Javascript (from file)
56+
kernel deploy my_app.ts --env-file .env
57+
```
58+
59+
```bash Python (inline)
2860
kernel deploy my_app.py --env MY_ENV_VAR=my_value # Can add multiple env vars delimited by space
2961
```
62+
63+
```bash Python (from file)
64+
kernel deploy my_app.py --env-file .env
65+
```
3066
</CodeGroup>
3167

3268
## Deployment notes
3369

34-
- The `entrypoint_file_name` is the file name where you [defined](/apps/develop) your app.
35-
- **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.**
36-
- Include a `.gitignore` file to exclude dependency folders like `node_modules` and `.venv`.
70+
- **The dependency manifest (`package.json` for JS/TS, `pyproject.toml` for Python) must be present in the root directory of your project.**
71+
- View deployment logs using: `kernel deploy logs <deployment_id> --follow`
72+
- If you encounter a 500 error during deployment, verify that your entrypoint file name and extension are correct (e.g., `app.py` not `app` or `app.js`).
3773
- Kernel assumes the root directory contains at least this file structure:
3874

3975
<CodeGroup>
4076
```bash Typescript/Javascript
4177
project-root/
4278
├─ .gitignore # Exclude dependency folders like node_modules
43-
├─ my_app.ts # Entrypoint file
79+
├─ my_app.ts # Entrypoint file (can be located in a subdirectory, e.g. src/my_app.ts)
4480
├─ package.json
4581
├─ tsconfig.json # If using TypeScript
4682
└─ bun.lock | package-lock.json | pnpm-lock.yaml # One of these lockfiles

apps/logs.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ logs = client.invocations.follow(invocation_id)
2525

2626
</CodeGroup>
2727

28+
<Info>Log lines will be truncated to 64KiB. For large payloads write data to external storage and log a reference instead.</Info>
29+
2830
## Via CLI
2931

3032
You can also stream the logs to your terminal via the CLI:

0 commit comments

Comments
 (0)