cpod-apps bundle
Create a signed deployment bundle.
Usage
cpod-apps bundle [path] [options]
Arguments
| Argument | Description | Default |
|---|---|---|
path | App folder to bundle | . (current directory) |
Options
| Option | Description | Default |
|---|---|---|
-o, --output <path> | Output directory | dist |
-k, --private-key <path> | Private key for signing | Auto-detected |
--no-sign | Skip signing | - |
-v, --verbose | Show detailed output | - |
Examples
Basic Bundle
cpod-apps bundle
Creates dist/my-app-1.0.0.zip.
Custom Output
cpod-apps bundle -o ./releases
With Specific Key
cpod-apps bundle -k ~/.cpod/private.pem
What Gets Bundled
The bundle includes:
- All source files (excluding node_modules, .next, etc.)
app.json- App manifestconfig.json- Auto-generated with SDK analysisDockerfile- Container config
config.json
This file is automatically generated during bundling:
{
"version": "1.0",
"app_id": "my-app",
"app_version": "1.0.0",
"generated_at": "2024-01-15T10:30:00.000Z",
"sdk_modules": ["auth", "chat", "users"],
"sdk_functions": ["getUser", "chat.complete", "authenticateUser"],
"env_vars": {
"required": ["NEXT_PUBLIC_CPOD_BASE_URL"],
"optional": ["NODE_ENV"]
},
"integrity": {
"algorithm": "ECDSA-P256-SHA256",
"signature": "...",
"signed_at": "2024-01-15T10:30:00.000Z"
}
}
info
config.json is only created inside the bundle. It's not written to your local project folder.
Signing
Bundles are signed for integrity verification using ECDSA-P256-SHA256.
Key Locations
The CLI looks for keys in this order:
-kflag path.cpod/private.pem(project)~/.cpod/private.pem(global)
Generate Keys
cpod-apps keygen
See keygen for details.
Excluded Files
These are automatically excluded from bundles:
node_modules/.next/dist/.git/coverage/.envand.env.local