diff --git a/catalogue/apps/io.pilot.miren/metadata.json b/catalogue/apps/io.pilot.miren/metadata.json new file mode 100644 index 00000000..d137fe98 --- /dev/null +++ b/catalogue/apps/io.pilot.miren/metadata.json @@ -0,0 +1,123 @@ +{ + "schema_version": 1, + "id": "io.pilot.miren", + "display_name": "Miren", + "tagline": "Operate the Miren PaaS from an agent: deploy apps, run the server, and debug them", + "description_md": "Miren is a deployment platform for small teams. This app is the app-store front door for the `miren` CLI, letting an agent drive a Miren PaaS over IPC.\n\nWhat an agent gets:\n- **Deploy lifecycle** — `miren.deploy` (non-interactive build + deploy), `miren.deploy.analyze` (detect the stack/services without building), and `miren.rollback`.\n- **Inspect apps** — `miren.apps`, `miren.app` (status), `miren.app.history`, and `miren.logs` (JSON).\n- **Server & diagnostics** — `miren.server.install`/`miren.server.status`, `miren.doctor`, `miren.whoami`, and `miren.debug.connection`/`miren.debug.advertise`.\n- **Full CLI surface** — `miren.exec` runs any verbatim `miren` argv (addon, auth, env, route, cluster, disk, sandbox, and more).\n\nGood to know:\n- Structured JSON is returned wherever the CLI offers it (e.g. pass `--json`).\n- Discover the live surface at runtime with `miren.help` — every method, its parameters, and its latency class (fast / med / slow).\n- Server-side commands need a configured cluster; without one, calls return a structured error (`{stdout,stderr,exit}`) telling the agent what to do next.\n- Runs on macOS and Linux (arm64 + amd64); the miren CLI is staged and sha-pinned on install.", + "vendor": { + "name": "Miren", + "url": "https://miren.dev", + "publisher_pubkey": "ed25519:uOzIK15+q/Iy67FASGoOEPg53vZo285/szq9v7PuksU=" + }, + "homepage": "https://miren.dev", + "source_url": "https://github.com/mirendev", + "license": "Proprietary", + "categories": [ + "infrastructure", + "devops", + "platform" + ], + "keywords": [ + "miren", + "paas", + "deploy", + "server", + "debug", + "infrastructure", + "devops", + "logs", + "apps", + "cli" + ], + "size": { + "bundle_bytes": 2850932, + "installed_bytes": 5020350 + }, + "compat": { + "min_pilot_version": "1.0.0", + "runtimes": [ + "go" + ] + }, + "methods": [ + { + "name": "miren.exec", + "summary": "Run any miren subcommand. Payload is {\"args\":[...]} — the verbatim miren argv. Use this for the full CLI surface beyond the curated methods below (addon, auth, env, route, cluster, disk, sandbox, etc.). Run `miren help` or `miren --help` for the surface. Example args: [\"app\",\"list\",\"--json\"]. Note: interactive subcommands (e.g. `app run`, `login`) and long-running ones (e.g. `server start`) are not suitable over IPC." + }, + { + "name": "miren.apps", + "summary": "List all applications on the cluster (alias for `app list`)." + }, + { + "name": "miren.app", + "summary": "Show the current status of one application. Provide the app name." + }, + { + "name": "miren.app.history", + "summary": "Show an application's deployment history." + }, + { + "name": "miren.logs", + "summary": "Read recent logs for an application as JSON." + }, + { + "name": "miren.deploy", + "summary": "Build and deploy the app in the current directory (non-interactive, --force)." + }, + { + "name": "miren.deploy.analyze", + "summary": "Analyze the app's detected stack/services without building or deploying." + }, + { + "name": "miren.rollback", + "summary": "Roll an application back to its previous deployed version." + }, + { + "name": "miren.doctor", + "summary": "Diagnose the miren environment and connectivity." + }, + { + "name": "miren.whoami", + "summary": "Show the current authenticated user and cluster." + }, + { + "name": "miren.server.install", + "summary": "Install the miren server as a systemd service on this host (Linux only)." + }, + { + "name": "miren.server.status", + "summary": "Show miren server service status (Linux only)." + }, + { + "name": "miren.debug.connection", + "summary": "Test connectivity and authentication with the miren server." + }, + { + "name": "miren.debug.advertise", + "summary": "Show which addresses the server would advertise and why." + }, + { + "name": "miren.help", + "summary": "Discovery: every method with params, kind, and latency class." + } + ], + "changelog": [ + { + "Version": "0.1.0", + "Date": "", + "Notes": [ + "Operate the Miren PaaS from an agent: deploy and roll back apps; inspect status, logs, and history; run the server; and diagnose connectivity — plus a passthrough exec for any miren subcommand." + ] + } + ], + "links": [ + { + "label": "Source", + "url": "https://github.com/mirendev" + }, + { + "label": "Website", + "url": "https://miren.dev" + } + ] +} diff --git a/catalogue/catalogue.json b/catalogue/catalogue.json index 1083afcf..90c93615 100644 --- a/catalogue/catalogue.json +++ b/catalogue/catalogue.json @@ -137,6 +137,38 @@ "source_url": "https://github.com/pilot-protocol/catalog", "license": "MIT", "publisher": "ed25519:fc+G+FOz/LjcDXBGvguInq+w9fUCMi8JytYlOOCcCKQ=" + }, + { + "id": "io.pilot.miren", + "version": "0.1.0", + "description": "Operate the Miren PaaS from an agent: deploy and roll back apps; inspect status, logs, and history; run the server; and diagnose connectivity — plus a passthrough exec for any miren subcommand.", + "display_name": "Miren", + "vendor": "Miren", + "license": "Proprietary", + "source_url": "https://github.com/mirendev", + "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.miren/0.1.0/io.pilot.miren-0.1.0-linux-amd64.tar.gz", + "bundle_sha256": "ee82df03a6bd27ac1fb6bc41ca1a0663135853ed526742e7756e15333e4bddb8", + "bundles": { + "darwin/arm64": { + "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.miren/0.1.0/io.pilot.miren-0.1.0-darwin-arm64.tar.gz", + "bundle_sha256": "f58164d5341b18e91c55f6ba463341835efdc90cd26025027215e08132ef3d0e" + }, + "darwin/amd64": { + "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.miren/0.1.0/io.pilot.miren-0.1.0-darwin-amd64.tar.gz", + "bundle_sha256": "8059cf9989261b01a5101526e6e9f0c5d5578f7c0638633db87ee8ab911081ff" + }, + "linux/arm64": { + "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.miren/0.1.0/io.pilot.miren-0.1.0-linux-arm64.tar.gz", + "bundle_sha256": "560693e2252e4cbb9e5c48d1a05554f1efe1899390012c6c1a1ad0b73a0a66c8" + }, + "linux/amd64": { + "bundle_url": "https://pub-f09f9a4ea848491198d48e329ba030e3.r2.dev/bundles/io.pilot.miren/0.1.0/io.pilot.miren-0.1.0-linux-amd64.tar.gz", + "bundle_sha256": "ee82df03a6bd27ac1fb6bc41ca1a0663135853ed526742e7756e15333e4bddb8" + } + }, + "metadata_url": "https://raw.githubusercontent.com/pilot-protocol/pilotprotocol/main/catalogue/apps/io.pilot.miren/metadata.json", + "metadata_sha256": "1522d29019acd3d131d6cb76c1100de4d6c9ae88b933740067540423bd2f4cdc", + "publisher": "ed25519:uOzIK15+q/Iy67FASGoOEPg53vZo285/szq9v7PuksU=" } ] } diff --git a/catalogue/catalogue.json.sig b/catalogue/catalogue.json.sig index 6b7ef55c..619b2876 100644 --- a/catalogue/catalogue.json.sig +++ b/catalogue/catalogue.json.sig @@ -1 +1 @@ -AV/kgERWYDHznmTpm8PtPzjFAxRI9QVlovSPj0lCllkO3C4uP8hmag+mpl0rrmYPNHD2dMuYirKTuh7Xfpc9Bw== +TsKRhqkK6tUVpy5N+w9fNONiEvu9zL3aIvguwnAU+qkrWiLhaS+f1+OSC4D8VU+irNCjtr4LH3AqChUN4XW7CA==