@ainyc/canonry 1.3.0 → 1.4.1
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/README.md +36 -26
- package/assets/assets/index-CXv_OnJT.js +204 -0
- package/assets/assets/index-haBJWzyU.css +1 -0
- package/assets/index.html +2 -2
- package/dist/{chunk-GUHHQZQM.js → chunk-67L2E6T5.js} +313 -22
- package/dist/cli.js +114 -27
- package/dist/index.js +1 -1
- package/package.json +6 -6
- package/assets/assets/index-CkNSldWM.css +0 -1
- package/assets/assets/index-DHoyZdlF.js +0 -63
package/README.md
CHANGED
|
@@ -74,7 +74,9 @@ canonry export <project> # Export project as YAML
|
|
|
74
74
|
### Config-as-Code
|
|
75
75
|
|
|
76
76
|
```bash
|
|
77
|
-
canonry apply canonry.yaml
|
|
77
|
+
canonry apply canonry.yaml # Single project
|
|
78
|
+
canonry apply projects/*.yaml # Multiple files
|
|
79
|
+
canonry apply multi-projects.yaml # Multi-doc YAML (---separated)
|
|
78
80
|
```
|
|
79
81
|
|
|
80
82
|
### Scheduling and Notifications
|
|
@@ -118,10 +120,11 @@ spec:
|
|
|
118
120
|
- local
|
|
119
121
|
```
|
|
120
122
|
|
|
121
|
-
Apply with the CLI or the API:
|
|
123
|
+
Apply with the CLI or the API. Multiple projects can live in one file separated by `---`, or pass multiple files:
|
|
122
124
|
|
|
123
125
|
```bash
|
|
124
126
|
canonry apply canonry.yaml
|
|
127
|
+
canonry apply project-a.yaml project-b.yaml
|
|
125
128
|
```
|
|
126
129
|
|
|
127
130
|
```bash
|
|
@@ -199,7 +202,7 @@ Access it at [http://localhost:4100](http://localhost:4100) after running `canon
|
|
|
199
202
|
## Requirements
|
|
200
203
|
|
|
201
204
|
- Node.js >= 20
|
|
202
|
-
- At least one provider API key (
|
|
205
|
+
- At least one provider API key to run visibility sweeps (configurable after startup via the dashboard or CLI)
|
|
203
206
|
- A C++ toolchain for building `better-sqlite3` native bindings (only needed if prebuilt binaries aren't available for your platform)
|
|
204
207
|
|
|
205
208
|
### Native dependency setup
|
|
@@ -266,44 +269,51 @@ No CORS configuration is required for this Docker setup. The dashboard and API a
|
|
|
266
269
|
|
|
267
270
|
Use the **repo root** as the service root. `@ainyc/canonry` depends on shared workspace packages under `packages/*`, so deploying from a subdirectory will break the build.
|
|
268
271
|
|
|
269
|
-
|
|
272
|
+
Canonry runs as a **single service** -- the API, web dashboard, and job scheduler all run in one process. No provider API keys are required at startup; configure them later through the web dashboard.
|
|
270
273
|
|
|
271
|
-
|
|
274
|
+
### Railway
|
|
272
275
|
|
|
273
|
-
|
|
274
|
-
- `OPENAI_API_KEY`
|
|
275
|
-
- `ANTHROPIC_API_KEY`
|
|
276
|
-
- `LOCAL_BASE_URL` (plus optional `LOCAL_API_KEY` and `LOCAL_MODEL`)
|
|
276
|
+
[](https://railway.com/deploy/ENziH9?referralCode=0vODBs&utm_medium=integration&utm_source=template&utm_campaign=generic)
|
|
277
277
|
|
|
278
|
-
|
|
278
|
+
**One-click deploy:**
|
|
279
279
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
-
|
|
280
|
+
1. Click the button above (or create a service from this repo manually)
|
|
281
|
+
2. Railway builds the `Dockerfile` automatically -- no custom build or start commands needed
|
|
282
|
+
3. Right-click the service and select **Create Volume**, set the mount path to `/data`
|
|
283
|
+
4. Generate a public domain under **Settings > Networking** (port `8080`)
|
|
284
|
+
5. Open the dashboard and follow the setup wizard to configure providers and create your first project
|
|
283
285
|
|
|
284
|
-
|
|
286
|
+
**Manual setup:**
|
|
285
287
|
|
|
286
|
-
|
|
288
|
+
1. Create a new service from this GitHub repo
|
|
289
|
+
2. **Dockerfile Path**: `Dockerfile` (the default)
|
|
290
|
+
3. **Custom Build Command**: leave empty
|
|
291
|
+
4. **Custom Start Command**: leave empty
|
|
292
|
+
5. Add a **Volume** mounted at `/data` (right-click the service > Create Volume)
|
|
293
|
+
6. Generate a public domain under **Settings > Networking**
|
|
294
|
+
7. No environment variables are required to start -- the bootstrap creates a SQLite database and API key automatically
|
|
287
295
|
|
|
288
|
-
|
|
296
|
+
**Optional environment variables:**
|
|
289
297
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
298
|
+
| Variable | Description |
|
|
299
|
+
|----------|-------------|
|
|
300
|
+
| `GEMINI_API_KEY` | Google Gemini provider key |
|
|
301
|
+
| `OPENAI_API_KEY` | OpenAI provider key |
|
|
302
|
+
| `ANTHROPIC_API_KEY` | Anthropic/Claude provider key |
|
|
303
|
+
| `LOCAL_BASE_URL` | Local LLM endpoint (Ollama, LM Studio, etc.) |
|
|
304
|
+
| `CANONRY_API_KEY` | Pin a specific API key instead of auto-generating one |
|
|
294
305
|
|
|
295
|
-
|
|
306
|
+
Provider keys can also be configured at any time via the Settings page in the dashboard.
|
|
307
|
+
|
|
308
|
+
Keep the service to a **single replica** -- SQLite does not support concurrent writers.
|
|
296
309
|
|
|
297
310
|
### Render
|
|
298
311
|
|
|
299
312
|
Create one **Web Service** from this repo with runtime **Docker**, then attach a persistent disk mounted at `/data`.
|
|
300
313
|
|
|
301
|
-
-
|
|
302
|
-
- Leave the start command unset so Render uses the image `ENTRYPOINT`.
|
|
314
|
+
- Leave build and start commands unset so Render uses the image `ENTRYPOINT`.
|
|
303
315
|
- Health check path: `/health`
|
|
304
|
-
-
|
|
305
|
-
|
|
306
|
-
Render makes Docker service env vars available at runtime and also exposes them to Docker builds as build args. This image does not use `ARG` for provider secrets, so those values are only consumed at runtime by the entry script and Canonry process.
|
|
316
|
+
- No environment variables are required at startup. Configure providers via the dashboard.
|
|
307
317
|
|
|
308
318
|
SQLite should live on the persistent disk, so keep the service to a single instance.
|
|
309
319
|
|