@mtndev/cli 0.0.0-dev-20260626045346 → 0.0.0-pr-20-20261020022402
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/CHANGELOG.md +86 -1
- package/cjs/__chunks/2FSYDFUV.cjs +146 -0
- package/cjs/__chunks/3A5ZYU5M.cjs +105 -0
- package/cjs/__chunks/3NOHGUCF.cjs +9 -0
- package/cjs/__chunks/3T2LXW7J.cjs +387 -0
- package/cjs/__chunks/4XT5JEAS.cjs +1 -0
- package/cjs/__chunks/AZEB4H4I.cjs +208 -0
- package/cjs/__chunks/B5ENMOCD.cjs +288 -0
- package/cjs/__chunks/B6XM5KSF.cjs +338 -0
- package/cjs/__chunks/BDU2UCE5.cjs +1 -0
- package/cjs/__chunks/BLMSMR5E.cjs +46 -0
- package/cjs/__chunks/CMUD7LLN.cjs +47 -0
- package/cjs/__chunks/DTQ2LB3I.cjs +49 -0
- package/cjs/__chunks/FM5MVRQF.cjs +23 -0
- package/cjs/__chunks/FRHST54J.cjs +135 -0
- package/cjs/__chunks/FU4VP2LN.cjs +1 -0
- package/cjs/__chunks/G5K4PVIL.cjs +26 -0
- package/cjs/__chunks/{NSRFG4DF.cjs → GU3R54MK.cjs} +45 -18
- package/cjs/__chunks/GUL36IFZ.cjs +61 -0
- package/cjs/__chunks/GZMTNK5N.cjs +1 -0
- package/cjs/__chunks/H74JSDBU.cjs +30 -0
- package/cjs/__chunks/{EMMC33QA.cjs → JB7T7PKQ.cjs} +170 -33
- package/cjs/__chunks/JSL2JDMW.cjs +1 -0
- package/cjs/__chunks/K4QNHRTP.cjs +163 -0
- package/cjs/__chunks/KU76LC42.cjs +192 -0
- package/cjs/__chunks/LFDSHANP.cjs +34 -0
- package/cjs/__chunks/LHE24ECK.cjs +192 -0
- package/cjs/__chunks/LIKQ3SI4.cjs +1 -0
- package/cjs/__chunks/LXDF5QVZ.cjs +313 -0
- package/cjs/__chunks/LXOOJR2R.cjs +74 -0
- package/cjs/__chunks/N5MXFOQZ.cjs +167 -0
- package/cjs/__chunks/N7D56LPP.cjs +25 -0
- package/cjs/__chunks/NFXQNOQH.cjs +393 -0
- package/cjs/__chunks/NLKJIUEX.cjs +126 -0
- package/cjs/__chunks/NT2XXAI6.cjs +89 -0
- package/cjs/__chunks/NWZGFHKH.cjs +121 -0
- package/cjs/__chunks/R3GUC7O7.cjs +110 -0
- package/cjs/__chunks/RPVAXPJ4.cjs +1 -0
- package/cjs/__chunks/S3LVCWPN.cjs +23 -0
- package/cjs/__chunks/SBBNW2BF.cjs +249 -0
- package/cjs/__chunks/T2A7TN4F.cjs +81 -0
- package/cjs/__chunks/TKNNDDIB.cjs +97 -0
- package/cjs/__chunks/TNSRDJPR.cjs +1 -0
- package/cjs/__chunks/UWHPE2GI.cjs +20 -0
- package/cjs/__chunks/W6K7BV74.cjs +1 -0
- package/cjs/__chunks/WBOQ6AUN.cjs +320 -0
- package/cjs/__chunks/WHGN5PZI.cjs +299 -0
- package/cjs/__chunks/WOYF2L6T.cjs +11 -0
- package/cjs/__chunks/X26XY2N6.cjs +18 -0
- package/cjs/__chunks/XMKOKRXZ.cjs +16 -0
- package/cjs/__chunks/XTJPQ3EX.cjs +1 -0
- package/cjs/__chunks/YRHFKTW2.cjs +63 -0
- package/cjs/commands/aws/ec2/allow-ip/handler.cjs +12 -0
- package/cjs/commands/aws/ec2/allow-ip/handler.d.ts +6 -0
- package/cjs/commands/aws/ec2/allow-ip/index.cjs +55 -0
- package/cjs/commands/aws/ec2/allow-ip/index.d.ts +3 -0
- package/cjs/commands/aws/ec2/allow-ip/schema.cjs +13 -0
- package/cjs/commands/aws/ec2/allow-ip/schema.d.ts +33 -0
- package/cjs/commands/aws/ec2/allow-ip/utils.cjs +39 -0
- package/cjs/commands/aws/ec2/allow-ip/utils.d.ts +189 -0
- package/cjs/commands/aws/iam/admin-group.cjs +15 -0
- package/cjs/commands/aws/iam/admin-group.d.ts +55 -0
- package/cjs/commands/aws/iam/break-glass/handler.cjs +12 -0
- package/cjs/commands/aws/iam/break-glass/handler.d.ts +7 -0
- package/cjs/commands/aws/iam/break-glass/index.cjs +19 -0
- package/cjs/commands/aws/iam/break-glass/index.d.ts +2 -0
- package/cjs/commands/aws/iam/break-glass/schema.cjs +12 -0
- package/cjs/commands/aws/iam/break-glass/schema.d.ts +25 -0
- package/cjs/commands/aws/iam/check-admin/handler.cjs +10 -0
- package/cjs/commands/aws/iam/check-admin/handler.d.ts +5 -0
- package/cjs/commands/aws/iam/check-admin/index.cjs +17 -0
- package/cjs/commands/aws/iam/check-admin/index.d.ts +2 -0
- package/cjs/commands/aws/iam/check-admin/schema.cjs +12 -0
- package/cjs/commands/aws/iam/check-admin/schema.d.ts +19 -0
- package/cjs/commands/aws/iam/policies/s3-restrictions-deny-non-s3-services.cjs +28 -0
- package/cjs/commands/aws/iam/policies/sts-federation.cjs +19 -0
- package/cjs/commands/aws/iam/policies/user-admins-deny-list.cjs +183 -0
- package/cjs/commands/aws/iam/policies/user-admins-deny-regions-list.cjs +49 -0
- package/cjs/commands/aws/iam/policies/user-admins-self-service-iam.cjs +64 -0
- package/cjs/commands/aws/iam/policies/user-admins-write-list.cjs +125 -0
- package/cjs/commands/aws/iam/remove-admin/handler.cjs +11 -0
- package/cjs/commands/aws/iam/remove-admin/handler.d.ts +6 -0
- package/cjs/commands/aws/iam/remove-admin/index.cjs +18 -0
- package/cjs/commands/aws/iam/remove-admin/index.d.ts +2 -0
- package/cjs/commands/aws/iam/remove-admin/schema.cjs +12 -0
- package/cjs/commands/aws/iam/remove-admin/schema.d.ts +28 -0
- package/cjs/commands/aws/iam/setup-acl/handler.cjs +14 -0
- package/cjs/commands/aws/iam/setup-acl/handler.d.ts +6 -0
- package/cjs/commands/aws/iam/setup-acl/index.cjs +33 -0
- package/cjs/commands/aws/iam/setup-acl/index.d.ts +3 -0
- package/cjs/commands/aws/iam/setup-acl/schema.cjs +7 -0
- package/cjs/commands/aws/iam/setup-acl/schema.d.ts +24 -0
- package/cjs/commands/aws/iam/setup-acl/utils.cjs +20 -0
- package/cjs/commands/aws/iam/setup-acl/utils.d.ts +61 -0
- package/cjs/commands/aws/iam/users/handler.cjs +12 -0
- package/cjs/commands/aws/iam/users/handler.d.ts +5 -0
- package/cjs/commands/aws/iam/users/index.cjs +41 -0
- package/cjs/commands/aws/iam/users/index.d.ts +3 -0
- package/cjs/commands/aws/iam/users/schema.cjs +7 -0
- package/cjs/commands/aws/iam/users/schema.d.ts +18 -0
- package/cjs/commands/aws/iam/users/utils.cjs +30 -0
- package/cjs/commands/aws/iam/users/utils.d.ts +119 -0
- package/cjs/commands/aws/index.cjs +229 -0
- package/cjs/commands/aws/index.d.ts +14 -0
- package/cjs/commands/aws/route53/add-record/handler.cjs +18 -0
- package/cjs/commands/aws/route53/add-record/handler.d.ts +36 -0
- package/cjs/commands/aws/route53/add-record/index.cjs +57 -0
- package/cjs/commands/aws/route53/add-record/index.d.ts +3 -0
- package/cjs/commands/aws/route53/add-record/schema.cjs +11 -0
- package/cjs/commands/aws/route53/add-record/schema.d.ts +45 -0
- package/cjs/commands/aws/route53/add-record/utils.cjs +37 -0
- package/cjs/commands/aws/route53/add-record/utils.d.ts +216 -0
- package/cjs/commands/aws/route53/remove-record/handler.cjs +14 -0
- package/cjs/commands/aws/route53/remove-record/handler.d.ts +6 -0
- package/cjs/commands/aws/route53/remove-record/index.cjs +18 -0
- package/cjs/commands/aws/route53/remove-record/index.d.ts +2 -0
- package/cjs/commands/aws/route53/remove-record/schema.cjs +8 -0
- package/cjs/commands/aws/route53/remove-record/schema.d.ts +30 -0
- package/cjs/commands/aws/schema.cjs +10 -0
- package/cjs/commands/aws/schema.d.ts +13 -0
- package/cjs/commands/aws/ses/send-email/handler.cjs +12 -0
- package/cjs/commands/aws/ses/send-email/handler.d.ts +5 -0
- package/cjs/commands/aws/ses/send-email/index.cjs +23 -0
- package/cjs/commands/aws/ses/send-email/index.d.ts +3 -0
- package/cjs/commands/aws/ses/send-email/schema.cjs +7 -0
- package/cjs/commands/aws/ses/send-email/schema.d.ts +39 -0
- package/cjs/commands/aws/ses/send-email/utils.cjs +11 -0
- package/cjs/commands/aws/ses/send-email/utils.d.ts +47 -0
- package/cjs/commands/aws/ses/smtp-password.cjs +10 -0
- package/cjs/commands/aws/ses/smtp-password.d.ts +21 -0
- package/cjs/commands/aws/utils/exec-aws.cjs +16 -0
- package/cjs/commands/aws/utils/exec-aws.d.ts +79 -0
- package/cjs/commands/aws/utils/resolve-policy-path.cjs +6 -0
- package/cjs/commands/aws/utils/resolve-policy-path.d.ts +8 -0
- package/cjs/commands/aws/utils/resolve-profile.cjs +11 -0
- package/cjs/commands/aws/utils/resolve-profile.d.ts +28 -0
- package/cjs/commands/aws/utils/tty.cjs +10 -0
- package/cjs/commands/aws/utils/tty.d.ts +24 -0
- package/cjs/commands/db/create-readonly-user/handler.cjs +11 -0
- package/cjs/commands/db/create-readonly-user/handler.d.ts +5 -0
- package/cjs/commands/db/create-readonly-user/index.cjs +40 -0
- package/cjs/commands/db/create-readonly-user/index.d.ts +3 -0
- package/cjs/commands/db/create-readonly-user/mysql.cjs +9 -0
- package/cjs/commands/db/create-readonly-user/mysql.d.ts +33 -0
- package/cjs/commands/db/create-readonly-user/postgres.cjs +9 -0
- package/cjs/commands/db/create-readonly-user/postgres.d.ts +31 -0
- package/cjs/commands/db/create-readonly-user/schema.cjs +12 -0
- package/cjs/commands/db/create-readonly-user/schema.d.ts +55 -0
- package/cjs/commands/db/create-readonly-user/utils.cjs +22 -0
- package/cjs/commands/db/create-readonly-user/utils.d.ts +112 -0
- package/cjs/commands/db/index.cjs +44 -0
- package/cjs/commands/db/index.d.ts +6 -0
- package/cjs/commands/doppler/handler.cjs +6 -4
- package/cjs/commands/doppler/index.cjs +32 -5
- package/cjs/commands/doppler/index.d.ts +1 -0
- package/cjs/commands/doppler/schema.cjs +10 -2
- package/cjs/commands/doppler/schema.d.ts +233 -17
- package/cjs/commands/doppler/set-secret.cjs +19 -0
- package/cjs/commands/doppler/set-secret.d.ts +113 -0
- package/cjs/commands/doppler/utils.cjs +6 -2
- package/cjs/commands/doppler/utils.d.ts +32 -8
- package/cjs/commands/icons/schema.d.ts +1 -1
- package/cjs/commands/index.cjs +91 -12
- package/esm/__chunks/2FTTEFEK.js +97 -0
- package/esm/__chunks/33UYMUQD.js +338 -0
- package/esm/__chunks/3BKWTHLJ.js +25 -0
- package/esm/__chunks/3HE4BEJX.js +105 -0
- package/esm/__chunks/3QLI5BDL.js +387 -0
- package/esm/__chunks/5GIUAFXL.js +89 -0
- package/esm/__chunks/73BJG53F.js +11 -0
- package/esm/__chunks/7VF4Q43Q.js +0 -0
- package/esm/__chunks/AEDEAYF5.js +0 -0
- package/esm/__chunks/AZCP3SFJ.js +0 -0
- package/esm/__chunks/B2DVQ2UL.js +61 -0
- package/esm/__chunks/CVQVHLW5.js +0 -0
- package/esm/__chunks/D62SPZXC.js +0 -0
- package/esm/__chunks/DLEJ25GZ.js +121 -0
- package/esm/__chunks/DMYFNF54.js +192 -0
- package/esm/__chunks/DNFTUMGD.js +23 -0
- package/esm/__chunks/DVKD6YSR.js +49 -0
- package/esm/__chunks/EMSH4P76.js +20 -0
- package/esm/__chunks/FFKFVMIE.js +167 -0
- package/esm/__chunks/FNXUONAV.js +110 -0
- package/esm/__chunks/G4NJHFFU.js +320 -0
- package/esm/__chunks/IEOGAQYI.js +46 -0
- package/esm/__chunks/IZFGBYGE.js +34 -0
- package/esm/__chunks/J34UVKLA.js +26 -0
- package/esm/__chunks/JZPBBBIG.js +74 -0
- package/esm/__chunks/KWUJP5MG.js +135 -0
- package/esm/__chunks/M35URMT4.js +313 -0
- package/esm/__chunks/NF3M2L6C.js +81 -0
- package/esm/__chunks/PNPPDYKC.js +299 -0
- package/esm/__chunks/QFXN4EHM.js +393 -0
- package/esm/__chunks/QKDDLIWD.js +146 -0
- package/esm/__chunks/QSE66AKY.js +208 -0
- package/esm/__chunks/QUF7PS4R.js +18 -0
- package/esm/__chunks/S7IJPJ4R.js +126 -0
- package/esm/__chunks/SD3E3EPH.js +163 -0
- package/esm/__chunks/T3TTUHTW.js +30 -0
- package/esm/__chunks/TIOVE6HR.js +0 -0
- package/esm/__chunks/TXKMEIDQ.js +0 -0
- package/esm/__chunks/U7HAE2RF.js +288 -0
- package/esm/__chunks/UXWY7BYE.js +63 -0
- package/esm/__chunks/VKAKISRG.js +192 -0
- package/esm/__chunks/WD2YR6I7.js +0 -0
- package/esm/__chunks/WOZFZKFY.js +0 -0
- package/esm/__chunks/XI7GZDE2.js +0 -0
- package/esm/__chunks/XOUWDB3T.js +249 -0
- package/esm/__chunks/XQN2TA4S.js +23 -0
- package/esm/__chunks/XXK32TIM.js +16 -0
- package/esm/__chunks/{O262GK4B.js → YGWTVPZE.js} +164 -27
- package/esm/__chunks/{6L5RNR7G.js → YRG7PT33.js} +44 -17
- package/esm/__chunks/ZHKVJO2U.js +47 -0
- package/esm/__chunks/ZO55YUSY.js +9 -0
- package/esm/commands/aws/ec2/allow-ip/handler.d.ts +6 -0
- package/esm/commands/aws/ec2/allow-ip/handler.js +12 -0
- package/esm/commands/aws/ec2/allow-ip/index.d.ts +3 -0
- package/esm/commands/aws/ec2/allow-ip/index.js +55 -0
- package/esm/commands/aws/ec2/allow-ip/schema.d.ts +33 -0
- package/esm/commands/aws/ec2/allow-ip/schema.js +13 -0
- package/esm/commands/aws/ec2/allow-ip/utils.d.ts +189 -0
- package/esm/commands/aws/ec2/allow-ip/utils.js +39 -0
- package/esm/commands/aws/iam/admin-group.d.ts +55 -0
- package/esm/commands/aws/iam/admin-group.js +15 -0
- package/esm/commands/aws/iam/break-glass/handler.d.ts +7 -0
- package/esm/commands/aws/iam/break-glass/handler.js +12 -0
- package/esm/commands/aws/iam/break-glass/index.d.ts +2 -0
- package/esm/commands/aws/iam/break-glass/index.js +19 -0
- package/esm/commands/aws/iam/break-glass/schema.d.ts +25 -0
- package/esm/commands/aws/iam/break-glass/schema.js +12 -0
- package/esm/commands/aws/iam/check-admin/handler.d.ts +5 -0
- package/esm/commands/aws/iam/check-admin/handler.js +10 -0
- package/esm/commands/aws/iam/check-admin/index.d.ts +2 -0
- package/esm/commands/aws/iam/check-admin/index.js +17 -0
- package/esm/commands/aws/iam/check-admin/schema.d.ts +19 -0
- package/esm/commands/aws/iam/check-admin/schema.js +12 -0
- package/esm/commands/aws/iam/policies/s3-restrictions-deny-non-s3-services.js +28 -0
- package/esm/commands/aws/iam/policies/sts-federation.js +19 -0
- package/esm/commands/aws/iam/policies/user-admins-deny-list.js +183 -0
- package/esm/commands/aws/iam/policies/user-admins-deny-regions-list.js +49 -0
- package/esm/commands/aws/iam/policies/user-admins-self-service-iam.js +64 -0
- package/esm/commands/aws/iam/policies/user-admins-write-list.js +125 -0
- package/esm/commands/aws/iam/remove-admin/handler.d.ts +6 -0
- package/esm/commands/aws/iam/remove-admin/handler.js +11 -0
- package/esm/commands/aws/iam/remove-admin/index.d.ts +2 -0
- package/esm/commands/aws/iam/remove-admin/index.js +18 -0
- package/esm/commands/aws/iam/remove-admin/schema.d.ts +28 -0
- package/esm/commands/aws/iam/remove-admin/schema.js +12 -0
- package/esm/commands/aws/iam/setup-acl/handler.d.ts +6 -0
- package/esm/commands/aws/iam/setup-acl/handler.js +14 -0
- package/esm/commands/aws/iam/setup-acl/index.d.ts +3 -0
- package/esm/commands/aws/iam/setup-acl/index.js +33 -0
- package/esm/commands/aws/iam/setup-acl/schema.d.ts +24 -0
- package/esm/commands/aws/iam/setup-acl/schema.js +7 -0
- package/esm/commands/aws/iam/setup-acl/utils.d.ts +61 -0
- package/esm/commands/aws/iam/setup-acl/utils.js +20 -0
- package/esm/commands/aws/iam/users/handler.d.ts +5 -0
- package/esm/commands/aws/iam/users/handler.js +12 -0
- package/esm/commands/aws/iam/users/index.d.ts +3 -0
- package/esm/commands/aws/iam/users/index.js +41 -0
- package/esm/commands/aws/iam/users/schema.d.ts +18 -0
- package/esm/commands/aws/iam/users/schema.js +7 -0
- package/esm/commands/aws/iam/users/utils.d.ts +119 -0
- package/esm/commands/aws/iam/users/utils.js +30 -0
- package/esm/commands/aws/index.d.ts +14 -0
- package/esm/commands/aws/index.js +229 -0
- package/esm/commands/aws/route53/add-record/handler.d.ts +36 -0
- package/esm/commands/aws/route53/add-record/handler.js +18 -0
- package/esm/commands/aws/route53/add-record/index.d.ts +3 -0
- package/esm/commands/aws/route53/add-record/index.js +57 -0
- package/esm/commands/aws/route53/add-record/schema.d.ts +45 -0
- package/esm/commands/aws/route53/add-record/schema.js +11 -0
- package/esm/commands/aws/route53/add-record/utils.d.ts +216 -0
- package/esm/commands/aws/route53/add-record/utils.js +37 -0
- package/esm/commands/aws/route53/remove-record/handler.d.ts +6 -0
- package/esm/commands/aws/route53/remove-record/handler.js +14 -0
- package/esm/commands/aws/route53/remove-record/index.d.ts +2 -0
- package/esm/commands/aws/route53/remove-record/index.js +18 -0
- package/esm/commands/aws/route53/remove-record/schema.d.ts +30 -0
- package/esm/commands/aws/route53/remove-record/schema.js +8 -0
- package/esm/commands/aws/schema.d.ts +13 -0
- package/esm/commands/aws/schema.js +10 -0
- package/esm/commands/aws/ses/send-email/handler.d.ts +5 -0
- package/esm/commands/aws/ses/send-email/handler.js +12 -0
- package/esm/commands/aws/ses/send-email/index.d.ts +3 -0
- package/esm/commands/aws/ses/send-email/index.js +23 -0
- package/esm/commands/aws/ses/send-email/schema.d.ts +39 -0
- package/esm/commands/aws/ses/send-email/schema.js +7 -0
- package/esm/commands/aws/ses/send-email/utils.d.ts +47 -0
- package/esm/commands/aws/ses/send-email/utils.js +11 -0
- package/esm/commands/aws/ses/smtp-password.d.ts +21 -0
- package/esm/commands/aws/ses/smtp-password.js +10 -0
- package/esm/commands/aws/utils/exec-aws.d.ts +79 -0
- package/esm/commands/aws/utils/exec-aws.js +16 -0
- package/esm/commands/aws/utils/resolve-policy-path.d.ts +8 -0
- package/esm/commands/aws/utils/resolve-policy-path.js +6 -0
- package/esm/commands/aws/utils/resolve-profile.d.ts +28 -0
- package/esm/commands/aws/utils/resolve-profile.js +11 -0
- package/esm/commands/aws/utils/tty.d.ts +24 -0
- package/esm/commands/aws/utils/tty.js +10 -0
- package/esm/commands/db/create-readonly-user/handler.d.ts +5 -0
- package/esm/commands/db/create-readonly-user/handler.js +11 -0
- package/esm/commands/db/create-readonly-user/index.d.ts +3 -0
- package/esm/commands/db/create-readonly-user/index.js +40 -0
- package/esm/commands/db/create-readonly-user/mysql.d.ts +33 -0
- package/esm/commands/db/create-readonly-user/mysql.js +9 -0
- package/esm/commands/db/create-readonly-user/postgres.d.ts +31 -0
- package/esm/commands/db/create-readonly-user/postgres.js +9 -0
- package/esm/commands/db/create-readonly-user/schema.d.ts +55 -0
- package/esm/commands/db/create-readonly-user/schema.js +12 -0
- package/esm/commands/db/create-readonly-user/utils.d.ts +112 -0
- package/esm/commands/db/create-readonly-user/utils.js +22 -0
- package/esm/commands/db/index.d.ts +6 -0
- package/esm/commands/db/index.js +44 -0
- package/esm/commands/doppler/handler.js +5 -3
- package/esm/commands/doppler/index.d.ts +1 -0
- package/esm/commands/doppler/index.js +32 -5
- package/esm/commands/doppler/schema.d.ts +233 -17
- package/esm/commands/doppler/schema.js +11 -3
- package/esm/commands/doppler/set-secret.d.ts +113 -0
- package/esm/commands/doppler/set-secret.js +19 -0
- package/esm/commands/doppler/utils.d.ts +32 -8
- package/esm/commands/doppler/utils.js +5 -1
- package/esm/commands/icons/schema.d.ts +1 -1
- package/esm/commands/index.js +86 -7
- package/package.json +13 -3
- package/vitest.config.ts +11 -0
- package/cjs/__chunks/4GFJUCSP.cjs +0 -52
- package/esm/__chunks/X3R5PSWH.js +0 -52
- /package/cjs/__chunks/{WNJ3ZYLI.cjs → 3BY5Y4W7.cjs} +0 -0
- /package/esm/__chunks/{46HGXFME.js → 5ZBVGSOK.js} +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/commands/aws/utils/tty.js
|
|
2
|
+
var _readline = require('readline');
|
|
3
|
+
function prompt(message) {
|
|
4
|
+
return new Promise((resolve) => {
|
|
5
|
+
const rl = _readline.createInterface.call(void 0, {
|
|
6
|
+
input: process.stdin,
|
|
7
|
+
output: process.stdout
|
|
8
|
+
});
|
|
9
|
+
rl.question(message, (answer) => {
|
|
10
|
+
rl.close();
|
|
11
|
+
resolve(answer.trim());
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
async function promptChoice(params) {
|
|
16
|
+
const { message, options } = params;
|
|
17
|
+
if (options.length === 0) {
|
|
18
|
+
throw new Error("promptChoice: no options to choose from");
|
|
19
|
+
}
|
|
20
|
+
console.log(message);
|
|
21
|
+
options.forEach((option, index) => {
|
|
22
|
+
console.log(` ${index + 1}. ${option}`);
|
|
23
|
+
});
|
|
24
|
+
for (; ; ) {
|
|
25
|
+
const raw = await prompt("Enter number: ");
|
|
26
|
+
const choice = Number.parseInt(raw, 10);
|
|
27
|
+
if (Number.isInteger(choice) && choice >= 1 && choice <= options.length) {
|
|
28
|
+
return choice - 1;
|
|
29
|
+
}
|
|
30
|
+
console.log(`Please enter a number between 1 and ${options.length}.`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async function promptYesNo(params) {
|
|
34
|
+
const { message, defaultYes = false } = params;
|
|
35
|
+
const suffix = defaultYes ? " [Y/n]: " : " [y/N]: ";
|
|
36
|
+
const answer = (await prompt(`${message}${suffix}`)).toLowerCase();
|
|
37
|
+
if (answer === "") {
|
|
38
|
+
return defaultYes;
|
|
39
|
+
}
|
|
40
|
+
return answer === "y" || answer === "yes";
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
exports.prompt = prompt; exports.promptChoice = promptChoice; exports.promptYesNo = promptYesNo;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
|
+
|
|
3
|
+
var _LXDF5QVZcjs = require('./LXDF5QVZ.cjs');
|
|
4
|
+
|
|
5
|
+
// src/commands/db/index.js
|
|
6
|
+
function registerDbCommands(program) {
|
|
7
|
+
const db = program.command("db").summary("Database operational commands").description("Database operational helpers (MySQL and Postgres)");
|
|
8
|
+
db.command("create-readonly-user").summary("Create a read-only database user").description(
|
|
9
|
+
"Create (or update) a read-only database user on MySQL or Postgres. Interactively pick a single database or all databases, then print a connection URL."
|
|
10
|
+
).option(
|
|
11
|
+
"-e, --engine <engine>",
|
|
12
|
+
"Database engine: postgres or mysql (inferred from --url when omitted)"
|
|
13
|
+
).option(
|
|
14
|
+
"-u, --url <url>",
|
|
15
|
+
"Admin connection URL (defaults to DATABASE_URL / MYSQL_URL / POSTGRES_URL)"
|
|
16
|
+
).option(
|
|
17
|
+
"-d, --database <name>",
|
|
18
|
+
'Target database name, or "all" for every non-system database'
|
|
19
|
+
).option(
|
|
20
|
+
"--username <name>",
|
|
21
|
+
"Read-only username to create (default: readonly)"
|
|
22
|
+
).option(
|
|
23
|
+
"--password <password>",
|
|
24
|
+
"Password for the new user (generated when omitted)"
|
|
25
|
+
).option("--host-pattern <pattern>", "MySQL user host pattern (default: %)").option("--ssl", "Force SSL on (loose verify \u2014 useful for RDS)").option("--no-ssl", "Force SSL off").option("-y, --yes", "Skip the confirmation prompt").option("--dry-run", "Print the SQL plan without applying it").option("-v, --verbose", "Enable verbose logging").action(async (options) => {
|
|
26
|
+
let ssl;
|
|
27
|
+
if (options.ssl === true) {
|
|
28
|
+
ssl = true;
|
|
29
|
+
} else if (options.noSsl === true) {
|
|
30
|
+
ssl = false;
|
|
31
|
+
}
|
|
32
|
+
await _LXDF5QVZcjs.createReadonlyUserCommand.call(void 0, {
|
|
33
|
+
engine: options.engine,
|
|
34
|
+
url: options.url,
|
|
35
|
+
database: options.database,
|
|
36
|
+
username: options.username,
|
|
37
|
+
password: options.password,
|
|
38
|
+
hostPattern: options.hostPattern,
|
|
39
|
+
ssl,
|
|
40
|
+
yes: _nullishCoalesce(options.yes, () => ( false)),
|
|
41
|
+
dryRun: _nullishCoalesce(options.dryRun, () => ( false)),
|
|
42
|
+
verbose: _nullishCoalesce(options.verbose, () => ( false))
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
exports.registerDbCommands = registerDbCommands;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _WOYF2L6Tcjs = require('./WOYF2L6T.cjs');
|
|
6
|
+
|
|
7
|
+
// src/commands/aws/iam/setup-acl/schema.js
|
|
8
|
+
var _zod = require('zod');
|
|
9
|
+
var setupAclOptionsSchema = _zod.z.object({
|
|
10
|
+
restrictRegions: _zod.z.enum(["yes", "no"]).optional().describe(
|
|
11
|
+
"Attach the region restriction to acl-power-users (skips the interactive prompt)"
|
|
12
|
+
),
|
|
13
|
+
createUsers: _zod.z.boolean().optional().default(true).describe(
|
|
14
|
+
"Create IAM users after configuring groups (use --no-create-users to skip)"
|
|
15
|
+
),
|
|
16
|
+
profile: _WOYF2L6Tcjs.profileField,
|
|
17
|
+
region: _WOYF2L6Tcjs.regionField,
|
|
18
|
+
verbose: _WOYF2L6Tcjs.verboseField
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
exports.setupAclOptionsSchema = setupAclOptionsSchema;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/commands/doppler/schema.js
|
|
2
|
+
var _zod = require('zod');
|
|
3
|
+
var environmentsBase = _zod.z.string().optional().describe(
|
|
4
|
+
'Environments to process, comma-separated (e.g., dev,stg,prd or "all")'
|
|
5
|
+
);
|
|
6
|
+
var commonFields = {
|
|
7
|
+
verbose: _zod.z.boolean().optional().default(false).describe("Enable verbose logging for detailed error information"),
|
|
8
|
+
help: _zod.z.boolean().optional().default(false).describe("Display help for command")
|
|
9
|
+
};
|
|
10
|
+
var dopplerDownloadSchema = _zod.z.object({
|
|
11
|
+
action: _zod.z.literal("download"),
|
|
12
|
+
environments: environmentsBase.default("dev"),
|
|
13
|
+
...commonFields
|
|
14
|
+
});
|
|
15
|
+
var dopplerUploadSchema = _zod.z.object({
|
|
16
|
+
action: _zod.z.literal("upload"),
|
|
17
|
+
environments: environmentsBase.default("all"),
|
|
18
|
+
...commonFields
|
|
19
|
+
});
|
|
20
|
+
var dopplerCloneSchema = _zod.z.object({
|
|
21
|
+
action: _zod.z.literal("clone"),
|
|
22
|
+
from: _zod.z.string({ required_error: "--from <project> is required for clone" }).describe("Source Doppler project name"),
|
|
23
|
+
to: _zod.z.string({ required_error: "--to <project> is required for clone" }).describe("Target Doppler project name"),
|
|
24
|
+
force: _zod.z.boolean().optional().default(false).describe("Skip confirmation prompts when overwriting existing secrets"),
|
|
25
|
+
environments: environmentsBase.default("all"),
|
|
26
|
+
...commonFields
|
|
27
|
+
});
|
|
28
|
+
var dopplerSetSchema = _zod.z.object({
|
|
29
|
+
action: _zod.z.literal("set"),
|
|
30
|
+
project: _zod.z.string().optional().describe("Doppler project name (prompts when omitted)"),
|
|
31
|
+
environment: _zod.z.string().optional().describe(
|
|
32
|
+
'Doppler environment id (e.g. dev, stg, prd) or "all" (prompts when omitted)'
|
|
33
|
+
),
|
|
34
|
+
config: _zod.z.string().optional().describe(
|
|
35
|
+
'Config name, comma-separated list, or "all" within the chosen environment (prompts when omitted)'
|
|
36
|
+
),
|
|
37
|
+
name: _zod.z.string().optional().describe("Secret name / env var key (e.g. DATABASE_URL)"),
|
|
38
|
+
value: _zod.z.string().optional().describe("Secret value (prompts when omitted)"),
|
|
39
|
+
yes: _zod.z.boolean().optional().default(false).describe("Skip the confirmation prompt"),
|
|
40
|
+
...commonFields
|
|
41
|
+
});
|
|
42
|
+
var dopplerCommandOptionsSchema = _zod.z.discriminatedUnion("action", [
|
|
43
|
+
dopplerDownloadSchema,
|
|
44
|
+
dopplerUploadSchema,
|
|
45
|
+
dopplerCloneSchema,
|
|
46
|
+
dopplerSetSchema
|
|
47
|
+
]);
|
|
48
|
+
var dopplerCommandMetadata = {
|
|
49
|
+
name: "doppler",
|
|
50
|
+
description: `Manage Doppler configurations
|
|
51
|
+
|
|
52
|
+
Subcommands:
|
|
53
|
+
download Download configurations from Doppler to local .env files
|
|
54
|
+
upload Upload local .env files to Doppler (with confirmation prompt)
|
|
55
|
+
clone Clone all secrets from one Doppler project to another
|
|
56
|
+
set Add or update a secret (interactive project/env/config picker)
|
|
57
|
+
|
|
58
|
+
Examples:
|
|
59
|
+
$ @mtndev/cli doppler download # Download dev config
|
|
60
|
+
$ @mtndev/cli doppler download -e all # Download all configs
|
|
61
|
+
$ @mtndev/cli doppler download -e dev,stg # Download dev and stg
|
|
62
|
+
$ @mtndev/cli doppler upload # Upload .env.dev
|
|
63
|
+
$ @mtndev/cli doppler upload -e prd # Upload production config
|
|
64
|
+
$ @mtndev/cli doppler clone --from my-app --to my-app-copy # Clone all configs
|
|
65
|
+
$ @mtndev/cli doppler clone --from my-app --to my-app-copy -e dev,stg # Clone specific envs
|
|
66
|
+
$ @mtndev/cli doppler clone --from my-app --to my-app-copy --force # Clone without prompts
|
|
67
|
+
$ @mtndev/cli doppler set # Interactive set
|
|
68
|
+
$ @mtndev/cli doppler set -p core --environment dev -c dev --name API_KEY --value secret --yes`,
|
|
69
|
+
options: {
|
|
70
|
+
environments: {
|
|
71
|
+
description: dopplerDownloadSchema.shape.environments.description,
|
|
72
|
+
default: "dev",
|
|
73
|
+
alias: "e"
|
|
74
|
+
},
|
|
75
|
+
from: {
|
|
76
|
+
description: dopplerCloneSchema.shape.from.description,
|
|
77
|
+
default: void 0
|
|
78
|
+
},
|
|
79
|
+
to: {
|
|
80
|
+
description: dopplerCloneSchema.shape.to.description,
|
|
81
|
+
default: void 0
|
|
82
|
+
},
|
|
83
|
+
force: {
|
|
84
|
+
description: dopplerCloneSchema.shape.force.description,
|
|
85
|
+
default: false,
|
|
86
|
+
alias: "f"
|
|
87
|
+
},
|
|
88
|
+
project: {
|
|
89
|
+
description: dopplerSetSchema.shape.project.description,
|
|
90
|
+
default: void 0,
|
|
91
|
+
alias: "p"
|
|
92
|
+
},
|
|
93
|
+
environment: {
|
|
94
|
+
description: dopplerSetSchema.shape.environment.description,
|
|
95
|
+
default: void 0
|
|
96
|
+
},
|
|
97
|
+
config: {
|
|
98
|
+
description: dopplerSetSchema.shape.config.description,
|
|
99
|
+
default: void 0,
|
|
100
|
+
alias: "c"
|
|
101
|
+
},
|
|
102
|
+
name: {
|
|
103
|
+
description: dopplerSetSchema.shape.name.description,
|
|
104
|
+
default: void 0
|
|
105
|
+
},
|
|
106
|
+
value: {
|
|
107
|
+
description: dopplerSetSchema.shape.value.description,
|
|
108
|
+
default: void 0
|
|
109
|
+
},
|
|
110
|
+
yes: {
|
|
111
|
+
description: dopplerSetSchema.shape.yes.description,
|
|
112
|
+
default: false,
|
|
113
|
+
alias: "y"
|
|
114
|
+
},
|
|
115
|
+
verbose: {
|
|
116
|
+
description: dopplerDownloadSchema.shape.verbose.description,
|
|
117
|
+
default: false,
|
|
118
|
+
alias: "v"
|
|
119
|
+
},
|
|
120
|
+
help: {
|
|
121
|
+
description: dopplerDownloadSchema.shape.help.description,
|
|
122
|
+
default: false,
|
|
123
|
+
alias: "h"
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
exports.dopplerDownloadSchema = dopplerDownloadSchema; exports.dopplerUploadSchema = dopplerUploadSchema; exports.dopplerCloneSchema = dopplerCloneSchema; exports.dopplerSetSchema = dopplerSetSchema; exports.dopplerCommandOptionsSchema = dopplerCommandOptionsSchema; exports.dopplerCommandMetadata = dopplerCommandMetadata;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _WOYF2L6Tcjs = require('./WOYF2L6T.cjs');
|
|
6
|
+
|
|
7
|
+
// src/commands/aws/ec2/allow-ip/schema.js
|
|
8
|
+
var _zod = require('zod');
|
|
9
|
+
var DEFAULT_REGION = "us-east-1";
|
|
10
|
+
var SSH_PORT = 22;
|
|
11
|
+
var DEFAULT_ROAMING_NAME = "Declan";
|
|
12
|
+
var allowIpOptionsSchema = _zod.z.object({
|
|
13
|
+
profile: _WOYF2L6Tcjs.profileField,
|
|
14
|
+
region: _WOYF2L6Tcjs.regionField,
|
|
15
|
+
ruleName: _zod.z.string().optional().describe(
|
|
16
|
+
'SSH rule description to update or create (default: "{FirstName} Roaming" derived from the profile/IAM user)'
|
|
17
|
+
),
|
|
18
|
+
verbose: _WOYF2L6Tcjs.verboseField
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
exports.DEFAULT_REGION = DEFAULT_REGION; exports.SSH_PORT = SSH_PORT; exports.DEFAULT_ROAMING_NAME = DEFAULT_ROAMING_NAME; exports.allowIpOptionsSchema = allowIpOptionsSchema;
|
|
@@ -1,50 +1,77 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
+
var _NFXQNOQHcjs = require('./NFXQNOQH.cjs');
|
|
3
4
|
|
|
4
5
|
|
|
5
|
-
var _EMMC33QAcjs = require('./EMMC33QA.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
var _JB7T7PKQcjs = require('./JB7T7PKQ.cjs');
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
var _FRHST54Jcjs = require('./FRHST54J.cjs');
|
|
10
15
|
|
|
11
16
|
// src/commands/doppler/handler.js
|
|
12
17
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
13
18
|
var _zod = require('zod');
|
|
14
19
|
async function dopplerCommand(options) {
|
|
15
20
|
try {
|
|
16
|
-
const
|
|
17
|
-
|
|
21
|
+
const rawOptions = (
|
|
22
|
+
/** @type {any} */
|
|
23
|
+
_nullishCoalesce(options, () => ( {}))
|
|
24
|
+
);
|
|
25
|
+
if (rawOptions.help || !rawOptions.action) {
|
|
18
26
|
console.log(
|
|
19
27
|
_chalk2.default.bold(`
|
|
20
28
|
Usage: @mtndev/cli doppler [options] <action>`)
|
|
21
29
|
);
|
|
22
|
-
console.log(
|
|
30
|
+
console.log(_FRHST54Jcjs.dopplerCommandMetadata.description);
|
|
23
31
|
console.log(_chalk2.default.bold("\nOptions:"));
|
|
24
|
-
Object.entries(
|
|
25
|
-
([key,
|
|
26
|
-
|
|
27
|
-
const description = fieldSchema.description || "No description available";
|
|
28
|
-
const optionMeta = (
|
|
32
|
+
Object.entries(_FRHST54Jcjs.dopplerCommandMetadata.options).forEach(
|
|
33
|
+
([key, optionMeta]) => {
|
|
34
|
+
const meta = (
|
|
29
35
|
/** @type {any} */
|
|
30
|
-
|
|
36
|
+
optionMeta
|
|
31
37
|
);
|
|
32
|
-
const
|
|
33
|
-
const
|
|
38
|
+
const alias = _optionalChain([meta, 'optionalAccess', _ => _.alias]) ? _chalk2.default.cyan(`, -${meta.alias}`) : "";
|
|
39
|
+
const defaultValue = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _2 => _2.default]), () => ( false));
|
|
34
40
|
console.log(
|
|
35
|
-
_chalk2.default.cyan(` --${key}`) + alias + ` ${description} (default: ${defaultValue})`
|
|
41
|
+
_chalk2.default.cyan(` --${key}`) + alias + ` ${meta.description} (default: ${defaultValue})`
|
|
36
42
|
);
|
|
37
43
|
}
|
|
38
44
|
);
|
|
39
45
|
console.log("");
|
|
40
46
|
return;
|
|
41
47
|
}
|
|
42
|
-
const
|
|
43
|
-
|
|
48
|
+
const validatedOptions = _FRHST54Jcjs.dopplerCommandOptionsSchema.parse(options);
|
|
49
|
+
const { action, verbose } = validatedOptions;
|
|
50
|
+
if (action === "set") {
|
|
51
|
+
_JB7T7PKQcjs.checkDopplerAuth.call(void 0, verbose);
|
|
52
|
+
} else {
|
|
53
|
+
_JB7T7PKQcjs.checkDependencies.call(void 0, verbose);
|
|
54
|
+
}
|
|
44
55
|
if (action === "download") {
|
|
45
|
-
|
|
56
|
+
const { environments } = validatedOptions;
|
|
57
|
+
await _JB7T7PKQcjs.downloadConfigs.call(void 0, { environments, verbose });
|
|
46
58
|
} else if (action === "upload") {
|
|
47
|
-
|
|
59
|
+
const { environments } = validatedOptions;
|
|
60
|
+
await _JB7T7PKQcjs.uploadConfigs.call(void 0, { environments, verbose });
|
|
61
|
+
} else if (action === "clone") {
|
|
62
|
+
const { from, to, force, environments } = validatedOptions;
|
|
63
|
+
await _JB7T7PKQcjs.cloneProject.call(void 0, { from, to, environments, force, verbose });
|
|
64
|
+
} else if (action === "set") {
|
|
65
|
+
const { project, environment, config, name, value, yes } = validatedOptions;
|
|
66
|
+
await _NFXQNOQHcjs.setSecretInteractive.call(void 0, {
|
|
67
|
+
project,
|
|
68
|
+
environment,
|
|
69
|
+
config,
|
|
70
|
+
name,
|
|
71
|
+
value,
|
|
72
|
+
yes,
|
|
73
|
+
verbose
|
|
74
|
+
});
|
|
48
75
|
}
|
|
49
76
|
console.log(_chalk2.default.green(`
|
|
50
77
|
\u2705 Doppler ${action} completed successfully!`));
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/commands/aws/ses/smtp-password.js
|
|
2
|
+
var _crypto = require('crypto');
|
|
3
|
+
var SMTP_REGIONS = /* @__PURE__ */ new Set([
|
|
4
|
+
"us-east-2",
|
|
5
|
+
"us-east-1",
|
|
6
|
+
"us-west-1",
|
|
7
|
+
"us-west-2",
|
|
8
|
+
"ap-south-1",
|
|
9
|
+
"ap-northeast-2",
|
|
10
|
+
"ap-southeast-1",
|
|
11
|
+
"ap-southeast-2",
|
|
12
|
+
"ap-northeast-1",
|
|
13
|
+
"ca-central-1",
|
|
14
|
+
"eu-central-1",
|
|
15
|
+
"eu-west-1",
|
|
16
|
+
"eu-west-2",
|
|
17
|
+
"eu-west-3",
|
|
18
|
+
"eu-south-1",
|
|
19
|
+
"eu-north-1",
|
|
20
|
+
"sa-east-1",
|
|
21
|
+
"us-gov-west-1",
|
|
22
|
+
"us-gov-east-1",
|
|
23
|
+
"me-south-1",
|
|
24
|
+
"af-south-1",
|
|
25
|
+
"il-central-1"
|
|
26
|
+
]);
|
|
27
|
+
var DATE = "11111111";
|
|
28
|
+
var SERVICE = "ses";
|
|
29
|
+
var MESSAGE = "SendRawEmail";
|
|
30
|
+
var TERMINAL = "aws4_request";
|
|
31
|
+
var VERSION = 4;
|
|
32
|
+
function sign(key, message) {
|
|
33
|
+
return _crypto.createHmac.call(void 0, "sha256", key).update(message, "utf8").digest();
|
|
34
|
+
}
|
|
35
|
+
function calculateSmtpPassword(params) {
|
|
36
|
+
const { secretAccessKey, region } = params;
|
|
37
|
+
if (!SMTP_REGIONS.has(region)) {
|
|
38
|
+
throw new Error(
|
|
39
|
+
`calculateSmtpPassword: region "${region}" has no SES SMTP endpoint`
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
let signature = sign(Buffer.from(`AWS4${secretAccessKey}`, "utf8"), DATE);
|
|
43
|
+
signature = sign(signature, region);
|
|
44
|
+
signature = sign(signature, SERVICE);
|
|
45
|
+
signature = sign(signature, TERMINAL);
|
|
46
|
+
signature = sign(signature, MESSAGE);
|
|
47
|
+
const signatureAndVersion = Buffer.concat([
|
|
48
|
+
Buffer.from([VERSION]),
|
|
49
|
+
signature
|
|
50
|
+
]);
|
|
51
|
+
return signatureAndVersion.toString("base64");
|
|
52
|
+
}
|
|
53
|
+
function smtpEndpoint(region) {
|
|
54
|
+
return `email-smtp.${region}.amazonaws.com`;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
exports.SMTP_REGIONS = SMTP_REGIONS; exports.calculateSmtpPassword = calculateSmtpPassword; exports.smtpEndpoint = smtpEndpoint;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/commands/db/create-readonly-user/schema.js
|
|
2
|
+
var _zod = require('zod');
|
|
3
|
+
var ENGINES = ["postgres", "mysql"];
|
|
4
|
+
var createReadonlyUserOptionsSchema = _zod.z.object({
|
|
5
|
+
engine: _zod.z.enum(["postgres", "mysql"]).optional().describe(
|
|
6
|
+
"Database engine (postgres or mysql); inferred from --url when omitted"
|
|
7
|
+
),
|
|
8
|
+
url: _zod.z.string().optional().describe(
|
|
9
|
+
"Admin connection URL (postgres://\u2026 or mysql://\u2026). Defaults to DATABASE_URL / MYSQL_URL / POSTGRES_URL."
|
|
10
|
+
),
|
|
11
|
+
database: _zod.z.string().optional().describe('Target database name, or "all" for every non-system database'),
|
|
12
|
+
username: _zod.z.string().optional().describe("Read-only username to create (default: readonly)"),
|
|
13
|
+
password: _zod.z.string().optional().describe("Password for the new user (generated when omitted)"),
|
|
14
|
+
hostPattern: _zod.z.string().optional().describe("MySQL user host pattern (default: %)"),
|
|
15
|
+
ssl: _zod.z.boolean().optional().describe(
|
|
16
|
+
"Force SSL on/off. Default: off for localhost, on (loose) for remote hosts."
|
|
17
|
+
),
|
|
18
|
+
yes: _zod.z.boolean().optional().default(false).describe("Skip the confirmation prompt"),
|
|
19
|
+
dryRun: _zod.z.boolean().optional().default(false).describe("Print the SQL plan without applying it"),
|
|
20
|
+
verbose: _zod.z.boolean().optional().default(false).describe("Enable verbose logging")
|
|
21
|
+
});
|
|
22
|
+
var DEFAULT_READONLY_USERNAME = "readonly";
|
|
23
|
+
var DEFAULT_MYSQL_HOST_PATTERN = "%";
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
exports.ENGINES = ENGINES; exports.createReadonlyUserOptionsSchema = createReadonlyUserOptionsSchema; exports.DEFAULT_READONLY_USERNAME = DEFAULT_READONLY_USERNAME; exports.DEFAULT_MYSQL_HOST_PATTERN = DEFAULT_MYSQL_HOST_PATTERN;
|