@ductape/mcp 0.3.1 → 0.3.2
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/dist/index.js +39 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2904,11 +2904,23 @@ Import an existing resource and register it on the product:
|
|
|
2904
2904
|
Use import-persist-all for multi-env products (required):
|
|
2905
2905
|
ductape_cli("cloud resources import-persist-all -f all-envs.json --json")
|
|
2906
2906
|
File is a JSON ARRAY — one entry per env, same product + component tag across all entries.
|
|
2907
|
-
Each entry: { cloud, service, type, product, component, env, resource, region?, dbName? }
|
|
2907
|
+
Each entry: { cloud, service, type, product, component, env, resource, region?, dbName?, masterPassword? }
|
|
2908
2908
|
Supported service identifiers: s3, gcs, blob, rds, postgresql, cloudsql, sqs, pubsub,
|
|
2909
2909
|
servicebus, neptune, cosmos-gremlin, opensearch, azure-search, atlas-cluster, aura-instance,
|
|
2910
2910
|
vertex-vector-search, spanner-graph, dynamodb, keyspaces, mysql
|
|
2911
2911
|
|
|
2912
|
+
masterPassword is required for self-hosted-style imports where Ductape cannot mint or fetch
|
|
2913
|
+
credentials on its own: rds, postgresql, cloudsql, mysql (unless the instance already has
|
|
2914
|
+
stored Ductape credentials from a prior link), and — critically — aura-instance. Neo4j Aura
|
|
2915
|
+
shows the auto-generated database password only ONCE, at instance creation, in the Aura
|
|
2916
|
+
console, and it can never be retrieved again via the Aura API. Importing an Aura instance
|
|
2917
|
+
without masterPassword will fail with a clear error at import time; skipping that check and
|
|
2918
|
+
importing anyway is not possible — always ask the user for the instance's password before
|
|
2919
|
+
calling import-persist-all for an aura-instance entry, the same as you would ask for an RDS
|
|
2920
|
+
master password. Aura's username is always "neo4j" — never ask the user for it. Atlas
|
|
2921
|
+
(atlas-cluster) does NOT need masterPassword — Ductape mints/rotates its own database user via
|
|
2922
|
+
the Atlas Admin API.
|
|
2923
|
+
|
|
2912
2924
|
Provision a brand-new resource and register it:
|
|
2913
2925
|
ductape_cli("cloud resources provision-persist-all -f all-envs.json --json")
|
|
2914
2926
|
Additional per-entry fields: tier, region/location, waitForReady.
|
|
@@ -6953,6 +6965,32 @@ async function main() {
|
|
|
6953
6965
|
' "product":"my-product","component":"billing-db","env":"snd","resource":"Cluster0","dbName":"billing_snd"},\n' +
|
|
6954
6966
|
' {"cloud":"atlas-tag","service":"atlas-cluster","type":"databases",\n' +
|
|
6955
6967
|
' "product":"my-product","component":"billing-db","env":"prd","resource":"Cluster0","dbName":"billing_prd"}]\n' +
|
|
6968
|
+
' - Neo4j Aura (graph) import flow — service identifier is "aura-instance":\n' +
|
|
6969
|
+
' CRITICAL: masterPassword is REQUIRED in every import entry for aura-instance. Aura shows the\n' +
|
|
6970
|
+
' auto-generated database password only ONCE, at instance creation, in the Aura console, and it\n' +
|
|
6971
|
+
' can never be retrieved again via the Aura API — Ductape has no way to source it automatically.\n' +
|
|
6972
|
+
' Always ask the user for the instance password before calling import-persist-all for an\n' +
|
|
6973
|
+
' aura-instance entry; do not attempt the import without it, it will fail with a clear error\n' +
|
|
6974
|
+
' naming exactly this. The username is always "neo4j" for every Aura instance — never ask the\n' +
|
|
6975
|
+
' user for it, and never put it in masterPassword by mistake.\n' +
|
|
6976
|
+
' Step 1 — discover the instance:\n' +
|
|
6977
|
+
' ductape_cli("cloud resources list -f /tmp/aura-list.json --json")\n' +
|
|
6978
|
+
' File: {"cloud": "<aura-connection-tag>", "service": "aura-instance"}\n' +
|
|
6979
|
+
' Returns a list of Aura instances; note the "id" or "name" field (this is your resource\n' +
|
|
6980
|
+
' identifier). Aura instances cannot be created through Ductape — provision-persist-all is\n' +
|
|
6981
|
+
' not supported for this provider; only an already-existing instance can be linked.\n' +
|
|
6982
|
+
' Step 2 — import (one entry per product env, same instance across all envs unless the user\n' +
|
|
6983
|
+
' explicitly wants different Aura instances per environment):\n' +
|
|
6984
|
+
' cloud (connection tag), service: "aura-instance", type: "graphs",\n' +
|
|
6985
|
+
' product, component (new or existing graph tag), env, resource (instance id/name from\n' +
|
|
6986
|
+
' Step 1), masterPassword (the instance password — ask the user, do not guess or omit).\n' +
|
|
6987
|
+
' Example (two envs, same Aura instance):\n' +
|
|
6988
|
+
' [{"cloud":"aura-tag","service":"aura-instance","type":"graphs",\n' +
|
|
6989
|
+
' "product":"my-product","component":"commerce-network","env":"snd",\n' +
|
|
6990
|
+
' "resource":"1d7fc731","masterPassword":"<user-supplied>"},\n' +
|
|
6991
|
+
' {"cloud":"aura-tag","service":"aura-instance","type":"graphs",\n' +
|
|
6992
|
+
' "product":"my-product","component":"commerce-network","env":"prd",\n' +
|
|
6993
|
+
' "resource":"1d7fc731","masterPassword":"<user-supplied>"}]\n' +
|
|
6956
6994
|
' - Message broker / event broker import:\n' +
|
|
6957
6995
|
' CLI accepts these aliases for the messageBrokers module: events, event, broker, brokers, message-brokers.\n' +
|
|
6958
6996
|
' List existing brokers: ductape_cli("resources events list --json")\n' +
|