@synteq/cli 0.2.0 → 1.1.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/dist/api/client.d.ts +362 -5
- package/dist/api/client.js +559 -44
- package/dist/api/client.js.map +1 -1
- package/dist/api/factory.js +5 -2
- package/dist/api/factory.js.map +1 -1
- package/dist/api/types.d.ts +892 -3
- package/dist/apps-support/deploy.d.ts +197 -0
- package/dist/apps-support/deploy.js +639 -0
- package/dist/apps-support/deploy.js.map +1 -0
- package/dist/apps-support/dotenv.d.ts +67 -0
- package/dist/apps-support/dotenv.js +136 -0
- package/dist/apps-support/dotenv.js.map +1 -0
- package/dist/apps-support/env-rollout.d.ts +18 -0
- package/dist/apps-support/env-rollout.js +52 -0
- package/dist/apps-support/env-rollout.js.map +1 -0
- package/dist/apps-support/git.d.ts +14 -0
- package/dist/apps-support/git.js +25 -0
- package/dist/apps-support/git.js.map +1 -0
- package/dist/apps-support/link.d.ts +25 -0
- package/dist/apps-support/link.js +39 -0
- package/dist/apps-support/link.js.map +1 -0
- package/dist/apps-support/log-stream.d.ts +25 -0
- package/dist/apps-support/log-stream.js +85 -0
- package/dist/apps-support/log-stream.js.map +1 -0
- package/dist/apps-support/paid-app.d.ts +64 -0
- package/dist/apps-support/paid-app.js +195 -0
- package/dist/apps-support/paid-app.js.map +1 -0
- package/dist/apps-support/plans.d.ts +44 -0
- package/dist/apps-support/plans.js +43 -0
- package/dist/apps-support/plans.js.map +1 -0
- package/dist/apps-support/resolve.d.ts +10 -0
- package/dist/apps-support/resolve.js +53 -0
- package/dist/apps-support/resolve.js.map +1 -0
- package/dist/apps-support/time.d.ts +20 -0
- package/dist/apps-support/time.js +82 -0
- package/dist/apps-support/time.js.map +1 -0
- package/dist/auth/scope.js +4 -0
- package/dist/auth/scope.js.map +1 -1
- package/dist/auth/tokens.d.ts +3 -0
- package/dist/auth/tokens.js +6 -4
- package/dist/auth/tokens.js.map +1 -1
- package/dist/base/command.d.ts +35 -0
- package/dist/base/command.js +87 -4
- package/dist/base/command.js.map +1 -1
- package/dist/commands/agents.d.ts +10 -0
- package/dist/commands/agents.js +53 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/api.d.ts +0 -1
- package/dist/commands/api.js +6 -5
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/app/deployment/list.d.ts +14 -0
- package/dist/commands/app/deployment/list.js +45 -0
- package/dist/commands/app/deployment/list.js.map +1 -0
- package/dist/commands/app/deployment/rollback.d.ts +18 -0
- package/dist/commands/app/deployment/rollback.js +57 -0
- package/dist/commands/app/deployment/rollback.js.map +1 -0
- package/dist/commands/app/deployment/show.d.ts +26 -0
- package/dist/commands/app/deployment/show.js +98 -0
- package/dist/commands/app/deployment/show.js.map +1 -0
- package/dist/commands/app/domain/add.d.ts +17 -0
- package/dist/commands/app/domain/add.js +59 -0
- package/dist/commands/app/domain/add.js.map +1 -0
- package/dist/commands/app/domain/list.d.ts +14 -0
- package/dist/commands/app/domain/list.js +42 -0
- package/dist/commands/app/domain/list.js.map +1 -0
- package/dist/commands/app/domain/remove.d.ts +16 -0
- package/dist/commands/app/domain/remove.js +51 -0
- package/dist/commands/app/domain/remove.js.map +1 -0
- package/dist/commands/app/domain/verify.d.ts +15 -0
- package/dist/commands/app/domain/verify.js +39 -0
- package/dist/commands/app/domain/verify.js.map +1 -0
- package/dist/commands/app/env/add.d.ts +22 -0
- package/dist/commands/app/env/add.js +103 -0
- package/dist/commands/app/env/add.js.map +1 -0
- package/dist/commands/app/env/list.d.ts +17 -0
- package/dist/commands/app/env/list.js +40 -0
- package/dist/commands/app/env/list.js.map +1 -0
- package/dist/commands/app/env/reveal.d.ts +17 -0
- package/dist/commands/app/env/reveal.js +40 -0
- package/dist/commands/app/env/reveal.js.map +1 -0
- package/dist/commands/app/env/rm.d.ts +16 -0
- package/dist/commands/app/env/rm.js +48 -0
- package/dist/commands/app/env/rm.js.map +1 -0
- package/dist/commands/app/health.d.ts +14 -0
- package/dist/commands/app/health.js +40 -0
- package/dist/commands/app/health.js.map +1 -0
- package/dist/commands/app/index.d.ts +6 -0
- package/dist/commands/app/index.js +7 -0
- package/dist/commands/app/index.js.map +1 -0
- package/dist/commands/app/link.d.ts +22 -0
- package/dist/commands/app/link.js +31 -0
- package/dist/commands/app/link.js.map +1 -0
- package/dist/commands/app/logs.d.ts +25 -0
- package/dist/commands/app/logs.js +121 -0
- package/dist/commands/app/logs.js.map +1 -0
- package/dist/commands/app/metrics.d.ts +21 -0
- package/dist/commands/app/metrics.js +123 -0
- package/dist/commands/app/metrics.js.map +1 -0
- package/dist/commands/app/plan/change.d.ts +18 -0
- package/dist/commands/app/plan/change.js +79 -0
- package/dist/commands/app/plan/change.js.map +1 -0
- package/dist/commands/app/plan/show.d.ts +14 -0
- package/dist/commands/app/plan/show.js +40 -0
- package/dist/commands/app/plan/show.js.map +1 -0
- package/dist/commands/app/settings/set.d.ts +25 -0
- package/dist/commands/app/settings/set.js +96 -0
- package/dist/commands/app/settings/set.js.map +1 -0
- package/dist/commands/app/settings/show.d.ts +14 -0
- package/dist/commands/app/settings/show.js +48 -0
- package/dist/commands/app/settings/show.js.map +1 -0
- package/dist/commands/app/unlink.d.ts +8 -0
- package/dist/commands/app/unlink.js +25 -0
- package/dist/commands/app/unlink.js.map +1 -0
- package/dist/commands/apps/create.d.ts +26 -0
- package/dist/commands/apps/create.js +91 -0
- package/dist/commands/apps/create.js.map +1 -0
- package/dist/commands/apps/list.d.ts +16 -0
- package/dist/commands/apps/list.js +54 -0
- package/dist/commands/apps/list.js.map +1 -0
- package/dist/commands/baremetal/activity.d.ts +14 -0
- package/dist/commands/baremetal/activity.js +53 -0
- package/dist/commands/baremetal/activity.js.map +1 -0
- package/dist/commands/baremetal/bandwidth.d.ts +10 -0
- package/dist/commands/baremetal/bandwidth.js +86 -0
- package/dist/commands/baremetal/bandwidth.js.map +1 -0
- package/dist/commands/baremetal/console.d.ts +20 -0
- package/dist/commands/baremetal/console.js +72 -0
- package/dist/commands/baremetal/console.js.map +1 -0
- package/dist/commands/baremetal/details.d.ts +11 -0
- package/dist/commands/baremetal/details.js +116 -0
- package/dist/commands/baremetal/details.js.map +1 -0
- package/dist/commands/baremetal/index.d.ts +5 -0
- package/dist/commands/baremetal/index.js +6 -0
- package/dist/commands/baremetal/index.js.map +1 -0
- package/dist/commands/baremetal/install-password.d.ts +14 -0
- package/dist/commands/baremetal/install-password.js +80 -0
- package/dist/commands/baremetal/install-password.js.map +1 -0
- package/dist/commands/baremetal/list.d.ts +11 -0
- package/dist/commands/baremetal/list.js +59 -0
- package/dist/commands/baremetal/list.js.map +1 -0
- package/dist/commands/baremetal/order.d.ts +34 -0
- package/dist/commands/baremetal/order.js +394 -0
- package/dist/commands/baremetal/order.js.map +1 -0
- package/dist/commands/baremetal/power.d.ts +18 -0
- package/dist/commands/baremetal/power.js +168 -0
- package/dist/commands/baremetal/power.js.map +1 -0
- package/dist/commands/baremetal/reinstall.d.ts +21 -0
- package/dist/commands/baremetal/reinstall.js +168 -0
- package/dist/commands/baremetal/reinstall.js.map +1 -0
- package/dist/commands/config/profile/add.d.ts +11 -0
- package/dist/commands/config/profile/add.js +51 -0
- package/dist/commands/config/profile/add.js.map +1 -0
- package/dist/commands/config/profile/list.d.ts +7 -0
- package/dist/commands/config/profile/list.js +29 -0
- package/dist/commands/config/profile/list.js.map +1 -0
- package/dist/commands/config/profile/remove.d.ts +11 -0
- package/dist/commands/config/profile/remove.js +35 -0
- package/dist/commands/config/profile/remove.js.map +1 -0
- package/dist/commands/config/profile/use.d.ts +10 -0
- package/dist/commands/config/profile/use.js +44 -0
- package/dist/commands/config/profile/use.js.map +1 -0
- package/dist/commands/config/show.js +4 -1
- package/dist/commands/config/show.js.map +1 -1
- package/dist/commands/credits/add.js +2 -2
- package/dist/commands/credits/add.js.map +1 -1
- package/dist/commands/credits/index.js +5 -1
- package/dist/commands/credits/index.js.map +1 -1
- package/dist/commands/deploy.d.ts +51 -0
- package/dist/commands/deploy.js +515 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/function/create.d.ts +29 -0
- package/dist/commands/function/create.js +113 -0
- package/dist/commands/function/create.js.map +1 -0
- package/dist/commands/function/credits/add.d.ts +29 -0
- package/dist/commands/function/credits/add.js +209 -0
- package/dist/commands/function/credits/add.js.map +1 -0
- package/dist/commands/function/credits/auto-reload.d.ts +27 -0
- package/dist/commands/function/credits/auto-reload.js +107 -0
- package/dist/commands/function/credits/auto-reload.js.map +1 -0
- package/dist/commands/function/credits/index.d.ts +22 -0
- package/dist/commands/function/credits/index.js +80 -0
- package/dist/commands/function/credits/index.js.map +1 -0
- package/dist/commands/function/cron/add.d.ts +19 -0
- package/dist/commands/function/cron/add.js +74 -0
- package/dist/commands/function/cron/add.js.map +1 -0
- package/dist/commands/function/cron/list.d.ts +12 -0
- package/dist/commands/function/cron/list.js +55 -0
- package/dist/commands/function/cron/list.js.map +1 -0
- package/dist/commands/function/cron/rm.d.ts +17 -0
- package/dist/commands/function/cron/rm.js +73 -0
- package/dist/commands/function/cron/rm.js.map +1 -0
- package/dist/commands/function/cron/run.d.ts +16 -0
- package/dist/commands/function/cron/run.js +59 -0
- package/dist/commands/function/cron/run.js.map +1 -0
- package/dist/commands/function/cron/update.d.ts +21 -0
- package/dist/commands/function/cron/update.js +87 -0
- package/dist/commands/function/cron/update.js.map +1 -0
- package/dist/commands/function/delete.d.ts +23 -0
- package/dist/commands/function/delete.js +90 -0
- package/dist/commands/function/delete.js.map +1 -0
- package/dist/commands/function/deploy.d.ts +64 -0
- package/dist/commands/function/deploy.js +608 -0
- package/dist/commands/function/deploy.js.map +1 -0
- package/dist/commands/function/env/list.d.ts +12 -0
- package/dist/commands/function/env/list.js +46 -0
- package/dist/commands/function/env/list.js.map +1 -0
- package/dist/commands/function/env/reveal.d.ts +21 -0
- package/dist/commands/function/env/reveal.js +54 -0
- package/dist/commands/function/env/reveal.js.map +1 -0
- package/dist/commands/function/env/rm.d.ts +17 -0
- package/dist/commands/function/env/rm.js +62 -0
- package/dist/commands/function/env/rm.js.map +1 -0
- package/dist/commands/function/env/set.d.ts +28 -0
- package/dist/commands/function/env/set.js +124 -0
- package/dist/commands/function/env/set.js.map +1 -0
- package/dist/commands/function/index.d.ts +14 -0
- package/dist/commands/function/index.js +11 -0
- package/dist/commands/function/index.js.map +1 -0
- package/dist/commands/function/init.d.ts +47 -0
- package/dist/commands/function/init.js +269 -0
- package/dist/commands/function/init.js.map +1 -0
- package/dist/commands/function/invoke.d.ts +29 -0
- package/dist/commands/function/invoke.js +138 -0
- package/dist/commands/function/invoke.js.map +1 -0
- package/dist/commands/function/link.d.ts +23 -0
- package/dist/commands/function/link.js +80 -0
- package/dist/commands/function/link.js.map +1 -0
- package/dist/commands/function/list.d.ts +16 -0
- package/dist/commands/function/list.js +55 -0
- package/dist/commands/function/list.js.map +1 -0
- package/dist/commands/function/logs.d.ts +29 -0
- package/dist/commands/function/logs.js +171 -0
- package/dist/commands/function/logs.js.map +1 -0
- package/dist/commands/function/pause.d.ts +19 -0
- package/dist/commands/function/pause.js +50 -0
- package/dist/commands/function/pause.js.map +1 -0
- package/dist/commands/function/releases.d.ts +15 -0
- package/dist/commands/function/releases.js +62 -0
- package/dist/commands/function/releases.js.map +1 -0
- package/dist/commands/function/resume.d.ts +16 -0
- package/dist/commands/function/resume.js +47 -0
- package/dist/commands/function/resume.js.map +1 -0
- package/dist/commands/function/rollback.d.ts +18 -0
- package/dist/commands/function/rollback.js +69 -0
- package/dist/commands/function/rollback.js.map +1 -0
- package/dist/commands/function/settings/set.d.ts +23 -0
- package/dist/commands/function/settings/set.js +119 -0
- package/dist/commands/function/settings/set.js.map +1 -0
- package/dist/commands/function/show.d.ts +15 -0
- package/dist/commands/function/show.js +80 -0
- package/dist/commands/function/show.js.map +1 -0
- package/dist/commands/function/unlink.d.ts +9 -0
- package/dist/commands/function/unlink.js +34 -0
- package/dist/commands/function/unlink.js.map +1 -0
- package/dist/commands/link.d.ts +77 -0
- package/dist/commands/link.js +530 -0
- package/dist/commands/link.js.map +1 -0
- package/dist/commands/login.js +9 -0
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/order.js +3 -1
- package/dist/commands/order.js.map +1 -1
- package/dist/commands/payments/methods/delete.js +2 -2
- package/dist/commands/payments/methods/delete.js.map +1 -1
- package/dist/commands/resources.js +50 -7
- package/dist/commands/resources.js.map +1 -1
- package/dist/commands/status.d.ts +12 -0
- package/dist/commands/status.js +71 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/storage/detach.js +1 -1
- package/dist/commands/storage/detach.js.map +1 -1
- package/dist/commands/storage/list.js +6 -2
- package/dist/commands/storage/list.js.map +1 -1
- package/dist/commands/storage/order.d.ts +2 -0
- package/dist/commands/storage/order.js +100 -18
- package/dist/commands/storage/order.js.map +1 -1
- package/dist/commands/storage/resize.js +19 -6
- package/dist/commands/storage/resize.js.map +1 -1
- package/dist/commands/tickets/create.d.ts +2 -0
- package/dist/commands/tickets/create.js +40 -1
- package/dist/commands/tickets/create.js.map +1 -1
- package/dist/commands/tickets/download.d.ts +18 -0
- package/dist/commands/tickets/download.js +138 -0
- package/dist/commands/tickets/download.js.map +1 -0
- package/dist/commands/tickets/list.js +13 -7
- package/dist/commands/tickets/list.js.map +1 -1
- package/dist/commands/tickets/reply.d.ts +2 -0
- package/dist/commands/tickets/reply.js +33 -4
- package/dist/commands/tickets/reply.js.map +1 -1
- package/dist/commands/vds/order.js +72 -7
- package/dist/commands/vds/order.js.map +1 -1
- package/dist/commands/vps/console.js +14 -6
- package/dist/commands/vps/console.js.map +1 -1
- package/dist/commands/vps/details.js +7 -1
- package/dist/commands/vps/details.js.map +1 -1
- package/dist/commands/vps/ip/add.js +76 -9
- package/dist/commands/vps/ip/add.js.map +1 -1
- package/dist/commands/vps/list.js +13 -4
- package/dist/commands/vps/list.js.map +1 -1
- package/dist/commands/vps/order.d.ts +19 -0
- package/dist/commands/vps/order.js +179 -23
- package/dist/commands/vps/order.js.map +1 -1
- package/dist/commands/vps/power.js +2 -2
- package/dist/commands/vps/power.js.map +1 -1
- package/dist/commands/vps/reinstall.js +2 -2
- package/dist/commands/vps/reinstall.js.map +1 -1
- package/dist/commands/vps/resize.js +36 -13
- package/dist/commands/vps/resize.js.map +1 -1
- package/dist/commands/whoami.d.ts +5 -0
- package/dist/commands/whoami.js +8 -3
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config/paths.d.ts +1 -1
- package/dist/config/paths.js +6 -1
- package/dist/config/paths.js.map +1 -1
- package/dist/config/store.d.ts +58 -0
- package/dist/config/store.js +84 -2
- package/dist/config/store.js.map +1 -1
- package/dist/functions-support/credits.d.ts +64 -0
- package/dist/functions-support/credits.js +181 -0
- package/dist/functions-support/credits.js.map +1 -0
- package/dist/functions-support/cron.d.ts +17 -0
- package/dist/functions-support/cron.js +99 -0
- package/dist/functions-support/cron.js.map +1 -0
- package/dist/functions-support/env.d.ts +23 -0
- package/dist/functions-support/env.js +44 -0
- package/dist/functions-support/env.js.map +1 -0
- package/dist/functions-support/link.d.ts +25 -0
- package/dist/functions-support/link.js +51 -0
- package/dist/functions-support/link.js.map +1 -0
- package/dist/functions-support/poll.d.ts +40 -0
- package/dist/functions-support/poll.js +109 -0
- package/dist/functions-support/poll.js.map +1 -0
- package/dist/functions-support/resolve.d.ts +3 -0
- package/dist/functions-support/resolve.js +31 -0
- package/dist/functions-support/resolve.js.map +1 -0
- package/dist/functions-support/runtime.d.ts +30 -0
- package/dist/functions-support/runtime.js +52 -0
- package/dist/functions-support/runtime.js.map +1 -0
- package/dist/functions-support/source.d.ts +92 -0
- package/dist/functions-support/source.js +343 -0
- package/dist/functions-support/source.js.map +1 -0
- package/dist/help/scope-aware-help.js +10 -1
- package/dist/help/scope-aware-help.js.map +1 -1
- package/dist/tui/App.js +10 -25
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/components/Menu.d.ts +3 -1
- package/dist/tui/components/Menu.js +7 -3
- package/dist/tui/components/Menu.js.map +1 -1
- package/dist/tui/router.d.ts +1 -1
- package/dist/tui/router.js.map +1 -1
- package/dist/tui/screens/Billing.js +56 -4
- package/dist/tui/screens/Billing.js.map +1 -1
- package/dist/tui/screens/Dashboard.js +8 -7
- package/dist/tui/screens/Dashboard.js.map +1 -1
- package/dist/tui/screens/Deploy.d.ts +2 -0
- package/dist/tui/screens/Deploy.js +912 -0
- package/dist/tui/screens/Deploy.js.map +1 -0
- package/dist/tui/screens/Order.js +359 -26
- package/dist/tui/screens/Order.js.map +1 -1
- package/dist/tui/screens/Resources.js +273 -31
- package/dist/tui/screens/Resources.js.map +1 -1
- package/dist/tui/screens/Tickets.js +18 -6
- package/dist/tui/screens/Tickets.js.map +1 -1
- package/dist/tui/screens/deployPreset.d.ts +20 -0
- package/dist/tui/screens/deployPreset.js +11 -0
- package/dist/tui/screens/deployPreset.js.map +1 -0
- package/dist/tui/screens/resources/AppDetail.d.ts +7 -0
- package/dist/tui/screens/resources/AppDetail.js +810 -0
- package/dist/tui/screens/resources/AppDetail.js.map +1 -0
- package/dist/tui/screens/resources/FunctionDetail.d.ts +7 -0
- package/dist/tui/screens/resources/FunctionDetail.js +751 -0
- package/dist/tui/screens/resources/FunctionDetail.js.map +1 -0
- package/dist/ui/attach.d.ts +15 -0
- package/dist/ui/attach.js +63 -0
- package/dist/ui/attach.js.map +1 -0
- package/dist/ui/baremetal-resolve.d.ts +10 -0
- package/dist/ui/baremetal-resolve.js +50 -0
- package/dist/ui/baremetal-resolve.js.map +1 -0
- package/dist/ui/confirm.js +1 -1
- package/dist/ui/confirm.js.map +1 -1
- package/dist/ui/cycle.d.ts +66 -0
- package/dist/ui/cycle.js +96 -0
- package/dist/ui/cycle.js.map +1 -0
- package/dist/ui/deploy-ui.d.ts +75 -0
- package/dist/ui/deploy-ui.js +243 -0
- package/dist/ui/deploy-ui.js.map +1 -0
- package/dist/ui/order-result.d.ts +4 -0
- package/dist/ui/order-result.js +32 -0
- package/dist/ui/order-result.js.map +1 -0
- package/dist/ui/payment-gate.d.ts +26 -0
- package/dist/ui/payment-gate.js +70 -0
- package/dist/ui/payment-gate.js.map +1 -0
- package/dist/ui/payment.js +10 -3
- package/dist/ui/payment.js.map +1 -1
- package/dist/ui/portal.d.ts +1 -1
- package/dist/ui/portal.js +7 -2
- package/dist/ui/portal.js.map +1 -1
- package/dist/ui/project-resolve.d.ts +25 -0
- package/dist/ui/project-resolve.js +31 -0
- package/dist/ui/project-resolve.js.map +1 -0
- package/dist/ui/render-mode.d.ts +5 -0
- package/dist/ui/render-mode.js +1 -1
- package/dist/ui/render-mode.js.map +1 -1
- package/dist/ui/resource-detail.js +0 -3
- package/dist/ui/resource-detail.js.map +1 -1
- package/dist/ui/resource-resolve.d.ts +9 -2
- package/dist/ui/resource-resolve.js +11 -4
- package/dist/ui/resource-resolve.js.map +1 -1
- package/dist/ui/spinner.d.ts +10 -1
- package/dist/ui/spinner.js +12 -3
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/table.d.ts +7 -0
- package/dist/ui/table.js +11 -0
- package/dist/ui/table.js.map +1 -1
- package/dist/ui/tax.d.ts +10 -0
- package/dist/ui/tax.js +31 -0
- package/dist/ui/tax.js.map +1 -0
- package/dist/ui/ticket-resolve.d.ts +9 -1
- package/dist/ui/ticket-resolve.js +13 -2
- package/dist/ui/ticket-resolve.js.map +1 -1
- package/dist/ui/volume-resolve.js +4 -1
- package/dist/ui/volume-resolve.js.map +1 -1
- package/dist/ui/wait.d.ts +4 -0
- package/dist/ui/wait.js +7 -2
- package/dist/ui/wait.js.map +1 -1
- package/dist/ui/wizard.d.ts +2 -1
- package/dist/ui/wizard.js +1 -1
- package/dist/ui/wizard.js.map +1 -1
- package/dist/version-check-bin.js +2 -2
- package/dist/version-check-bin.js.map +1 -1
- package/dist/version-check.d.ts +5 -0
- package/dist/version-check.js +6 -1
- package/dist/version-check.js.map +1 -1
- package/package.json +53 -6
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Args, Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand } from "../../../base/command.js";
|
|
3
|
+
import { withSpinner } from "../../../ui/spinner.js";
|
|
4
|
+
import { panel } from "../../../ui/wizard.js";
|
|
5
|
+
import { ok, dim, statusColor } from "../../../ui/glyphs.js";
|
|
6
|
+
import { ApiError } from "../../../api/errors.js";
|
|
7
|
+
/** `synteq app domain add <hostname>` — attach a custom domain (returns the
|
|
8
|
+
* DNS records to add). */
|
|
9
|
+
export default class DomainAdd extends BaseCommand {
|
|
10
|
+
static apiKeyScope = "none";
|
|
11
|
+
static description = "Attach a custom domain to an app and print the DNS records to add for verification.";
|
|
12
|
+
static examples = [
|
|
13
|
+
"<%= config.bin %> app domain add api.example.com",
|
|
14
|
+
"<%= config.bin %> app domain add api.example.com --app my-api -o json",
|
|
15
|
+
];
|
|
16
|
+
static args = {
|
|
17
|
+
target: Args.string({ required: false, description: "App slug or id (optional; default: the directory's linked app or --app)." }),
|
|
18
|
+
hostname: Args.string({ required: false, description: "The hostname to attach (e.g. api.example.com)." }),
|
|
19
|
+
};
|
|
20
|
+
static flags = {
|
|
21
|
+
app: Flags.string({ description: "App slug (or uuid) (default: the directory's linked app)." }),
|
|
22
|
+
"accept-fee": Flags.boolean({
|
|
23
|
+
default: false,
|
|
24
|
+
description: "Accept the plan's monthly custom-domain fee (required once, for the first custom domain on a plan that charges for them).",
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
async run() {
|
|
28
|
+
await this.initClients();
|
|
29
|
+
const { args, flags } = await this.parse(DomainAdd);
|
|
30
|
+
const [target, hostname] = this.positional(args.target, args.hostname, "hostname");
|
|
31
|
+
try {
|
|
32
|
+
const app = await this.resolveLinkedApp(flags, target);
|
|
33
|
+
const d = await withSpinner("Attaching domain", () => this.clients.api.apps.addDomain(app.id, hostname, { acceptFee: flags["accept-fee"] })).catch((err) => {
|
|
34
|
+
// 402 = the first custom domain on a priced plan needs consent; the
|
|
35
|
+
// API's message names the fee. Point at the flag rather than dead-end.
|
|
36
|
+
if (err instanceof ApiError && err.status === 402) {
|
|
37
|
+
this.error(`${err.detail}\n\nRe-run with --accept-fee to confirm.`, { exit: 1 });
|
|
38
|
+
}
|
|
39
|
+
throw err;
|
|
40
|
+
});
|
|
41
|
+
this.emit(d, () => {
|
|
42
|
+
this.log(ok(`Attached ${d.domain} to ${app.slug}.`));
|
|
43
|
+
this.log(panel("Verification", [["TLS", statusColor(d.tlsStatus)]]));
|
|
44
|
+
const records = d.dnsRecords ?? (d.routingRecord ? [d.routingRecord] : []);
|
|
45
|
+
if (records.length) {
|
|
46
|
+
this.log(dim("\nAdd these DNS records at your registrar:"));
|
|
47
|
+
for (const r of records) {
|
|
48
|
+
this.log(` ${(r.type ?? "").padEnd(6)} ${(r.name ?? "").padEnd(28)} ${r.value ?? ""}`);
|
|
49
|
+
}
|
|
50
|
+
this.log(dim(`\nThen: synteq app domain verify ${d.id} --app ${app.slug}`));
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
this.fail(err);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=add.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/app/domain/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseCommand } from "../../../base/command.js";
|
|
2
|
+
/** `synteq app domain list` — custom + default domains attached to an app. */
|
|
3
|
+
export default class DomainList extends BaseCommand {
|
|
4
|
+
static apiKeyScope: string;
|
|
5
|
+
static description: string;
|
|
6
|
+
static examples: string[];
|
|
7
|
+
static args: {
|
|
8
|
+
target: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
9
|
+
};
|
|
10
|
+
static flags: {
|
|
11
|
+
app: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand, appTargetArg } from "../../../base/command.js";
|
|
3
|
+
import { withSpinner } from "../../../ui/spinner.js";
|
|
4
|
+
import { renderTable } from "../../../ui/table.js";
|
|
5
|
+
import { statusColor, dim } from "../../../ui/glyphs.js";
|
|
6
|
+
/** `synteq app domain list` — custom + default domains attached to an app. */
|
|
7
|
+
export default class DomainList extends BaseCommand {
|
|
8
|
+
static apiKeyScope = "none";
|
|
9
|
+
static description = "List the domains attached to an app (default and custom), with TLS status.";
|
|
10
|
+
static examples = [
|
|
11
|
+
"<%= config.bin %> app domain list # bare: linked app",
|
|
12
|
+
"<%= config.bin %> app domain list --app my-api",
|
|
13
|
+
"<%= config.bin %> app domain list --app my-api -o json",
|
|
14
|
+
];
|
|
15
|
+
static args = { ...appTargetArg };
|
|
16
|
+
static flags = {
|
|
17
|
+
app: Flags.string({ description: "App slug (or uuid) (default: the directory's linked app)." }),
|
|
18
|
+
};
|
|
19
|
+
async run() {
|
|
20
|
+
await this.initClients();
|
|
21
|
+
const { args, flags } = await this.parse(DomainList);
|
|
22
|
+
try {
|
|
23
|
+
const app = await this.resolveLinkedApp(flags, args.target);
|
|
24
|
+
const domains = await withSpinner("Loading domains", () => this.clients.api.apps.domains(app.id));
|
|
25
|
+
this.emit(domains, () => {
|
|
26
|
+
if (domains.length === 0) {
|
|
27
|
+
this.log("No domains.");
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.log(renderTable(["Domain", "TLS", "Role"], domains.map((d) => [
|
|
31
|
+
d.domain,
|
|
32
|
+
statusColor(d.tlsStatus),
|
|
33
|
+
d.isPrimary ? "primary" : d.isDefault ? "default" : dim("custom"),
|
|
34
|
+
])));
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
this.fail(err);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/app/domain/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEzD,8EAA8E;AAC9E,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,WAAW,GAAG,4EAA4E,CAAC;IAClG,MAAM,CAAC,QAAQ,GAAG;QAChB,qEAAqE;QACrE,gDAAgD;QAChD,wDAAwD;KACzD,CAAC;IACF,MAAM,CAAC,IAAI,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAClC,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2DAA2D,EAAE,CAAC;KAChG,CAAC;IACF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,iBAAiB,EAAE,GAAG,EAAE,CACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CACtC,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBACxB,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,GAAG,CACN,WAAW,CACT,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,EACzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBACjB,CAAC,CAAC,MAAM;oBACR,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;oBACxB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;iBAClE,CAAC,CACH,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseCommand } from "../../../base/command.js";
|
|
2
|
+
/** `synteq app domain remove <domain-id>` — detach a custom domain. */
|
|
3
|
+
export default class DomainRemove extends BaseCommand {
|
|
4
|
+
static apiKeyScope: string;
|
|
5
|
+
static description: string;
|
|
6
|
+
static examples: string[];
|
|
7
|
+
static args: {
|
|
8
|
+
target: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
9
|
+
domainId: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
10
|
+
};
|
|
11
|
+
static flags: {
|
|
12
|
+
app: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
};
|
|
15
|
+
run(): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Args, Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand } from "../../../base/command.js";
|
|
3
|
+
import { withSpinner } from "../../../ui/spinner.js";
|
|
4
|
+
import { ok } from "../../../ui/glyphs.js";
|
|
5
|
+
import { isInteractive, confirmAction } from "../../../ui/wizard.js";
|
|
6
|
+
/** `synteq app domain remove <domain-id>` — detach a custom domain. */
|
|
7
|
+
export default class DomainRemove extends BaseCommand {
|
|
8
|
+
static apiKeyScope = "none";
|
|
9
|
+
static description = "Detach a custom domain from an app.";
|
|
10
|
+
static examples = [
|
|
11
|
+
"<%= config.bin %> app domain remove 01a05963...",
|
|
12
|
+
"<%= config.bin %> app domain remove 01a05963... --app my-api --yes # no prompt (required when piped)",
|
|
13
|
+
];
|
|
14
|
+
static args = {
|
|
15
|
+
target: Args.string({ required: false, description: "App slug or id (optional; default: the directory's linked app or --app)." }),
|
|
16
|
+
domainId: Args.string({ required: false, description: "Domain id (from `app domain list`)." }),
|
|
17
|
+
};
|
|
18
|
+
static flags = {
|
|
19
|
+
app: Flags.string({ description: "App slug (or uuid) (default: the directory's linked app)." }),
|
|
20
|
+
yes: Flags.boolean({
|
|
21
|
+
char: "y",
|
|
22
|
+
description: "Skip the confirmation prompt (required for non-interactive use).",
|
|
23
|
+
}),
|
|
24
|
+
};
|
|
25
|
+
async run() {
|
|
26
|
+
await this.initClients();
|
|
27
|
+
const { args, flags } = await this.parse(DomainRemove);
|
|
28
|
+
const [target, domainId] = this.positional(args.target, args.domainId, "domainId");
|
|
29
|
+
try {
|
|
30
|
+
const app = await this.resolveLinkedApp(flags, target);
|
|
31
|
+
if (!flags.yes) {
|
|
32
|
+
if (!(isInteractive() && this.outputFormat === "table")) {
|
|
33
|
+
this.error("Refusing to detach a domain without --yes in a non-interactive session.", { exit: 1 });
|
|
34
|
+
}
|
|
35
|
+
const go = await confirmAction(`Detach domain ${domainId} from ${app.slug}?`);
|
|
36
|
+
if (!go) {
|
|
37
|
+
this.log("Aborted.");
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
await withSpinner("Removing domain", () => this.clients.api.apps.removeDomain(app.id, domainId));
|
|
42
|
+
this.emit({ appId: app.id, domainId: domainId, removed: true }, () => {
|
|
43
|
+
this.log(ok(`Removed domain ${domainId} from ${app.slug}.`));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
this.fail(err);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=remove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/commands/app/domain/remove.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseCommand } from "../../../base/command.js";
|
|
2
|
+
/** `synteq app domain verify <domain-id>` — re-check a custom domain's DNS. */
|
|
3
|
+
export default class DomainVerify extends BaseCommand {
|
|
4
|
+
static apiKeyScope: string;
|
|
5
|
+
static description: string;
|
|
6
|
+
static examples: string[];
|
|
7
|
+
static args: {
|
|
8
|
+
target: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
9
|
+
domainId: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
10
|
+
};
|
|
11
|
+
static flags: {
|
|
12
|
+
app: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Args, Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand } from "../../../base/command.js";
|
|
3
|
+
import { withSpinner } from "../../../ui/spinner.js";
|
|
4
|
+
import { ok, yellow, statusColor } from "../../../ui/glyphs.js";
|
|
5
|
+
/** `synteq app domain verify <domain-id>` — re-check a custom domain's DNS. */
|
|
6
|
+
export default class DomainVerify extends BaseCommand {
|
|
7
|
+
static apiKeyScope = "none";
|
|
8
|
+
static description = "Re-check DNS/TLS for a custom domain after adding the required records.";
|
|
9
|
+
static examples = [
|
|
10
|
+
"<%= config.bin %> app domain verify 01a05963...",
|
|
11
|
+
"<%= config.bin %> app domain verify 01a05963... --app my-api -o json",
|
|
12
|
+
];
|
|
13
|
+
static args = {
|
|
14
|
+
target: Args.string({ required: false, description: "App slug or id (optional; default: the directory's linked app or --app)." }),
|
|
15
|
+
domainId: Args.string({ required: false, description: "Domain id (from `app domain list`)." }),
|
|
16
|
+
};
|
|
17
|
+
static flags = {
|
|
18
|
+
app: Flags.string({ description: "App slug (or uuid) (default: the directory's linked app)." }),
|
|
19
|
+
};
|
|
20
|
+
async run() {
|
|
21
|
+
await this.initClients();
|
|
22
|
+
const { args, flags } = await this.parse(DomainVerify);
|
|
23
|
+
const [target, domainId] = this.positional(args.target, args.domainId, "domainId");
|
|
24
|
+
try {
|
|
25
|
+
const app = await this.resolveLinkedApp(flags, target);
|
|
26
|
+
const d = await withSpinner("Verifying domain", () => this.clients.api.apps.verifyDomain(app.id, domainId));
|
|
27
|
+
this.emit(d, () => {
|
|
28
|
+
const good = d.tlsStatus === "active" || d.tlsStatus === "issued" || d.tlsStatus === "ready";
|
|
29
|
+
this.log(good
|
|
30
|
+
? ok(`${d.domain} verified — TLS ${statusColor(d.tlsStatus)}.`)
|
|
31
|
+
: yellow(`${d.domain} not verified yet — TLS ${statusColor(d.tlsStatus)}${d.failureReason ? ` (${d.failureReason})` : ""}.`));
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
this.fail(err);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=verify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../../src/commands/app/domain/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,+EAA+E;AAC/E,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,WAAW,GAAG,yEAAyE,CAAC;IAC/F,MAAM,CAAC,QAAQ,GAAG;QAChB,iDAAiD;QACjD,sEAAsE;KACvE,CAAC;IACF,MAAM,CAAC,IAAI,GAAG;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,0EAA0E,EAAE,CAAC;QACjI,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;KAC/F,CAAC;IACF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2DAA2D,EAAE,CAAC;KAChG,CAAC;IACF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,kBAAkB,EAAE,GAAG,EAAE,CACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CACrD,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE;gBAChB,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC;gBAC7F,IAAI,CAAC,GAAG,CACN,IAAI;oBACF,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,mBAAmB,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;oBAC/D,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,2BAA2B,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAC/H,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseCommand } from "../../../base/command.js";
|
|
2
|
+
/** `synteq app env add KEY=VALUE` — set an env var on an app. Value is
|
|
3
|
+
* write-only (encrypted at rest, never returned). */
|
|
4
|
+
export default class AppEnvAdd extends BaseCommand {
|
|
5
|
+
static apiKeyScope: string;
|
|
6
|
+
/** `synteq env set` lived at the root until 2026-10-06; `app env set` reads naturally too. */
|
|
7
|
+
static hiddenAliases: string[];
|
|
8
|
+
static description: string;
|
|
9
|
+
static examples: string[];
|
|
10
|
+
static args: {
|
|
11
|
+
target: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
12
|
+
assignment: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
13
|
+
};
|
|
14
|
+
static flags: {
|
|
15
|
+
app: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
scope: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
kind: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
note: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
rollout: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
};
|
|
21
|
+
run(): Promise<void>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Args, Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand } from "../../../base/command.js";
|
|
3
|
+
import { ok, dim } from "../../../ui/glyphs.js";
|
|
4
|
+
import { isInteractive, promptString, promptSecret } from "../../../ui/wizard.js";
|
|
5
|
+
import { autoRollout, pickRollout, rolloutFlag, rolloutNote } from "../../../apps-support/env-rollout.js";
|
|
6
|
+
/** `synteq app env add KEY=VALUE` — set an env var on an app. Value is
|
|
7
|
+
* write-only (encrypted at rest, never returned). */
|
|
8
|
+
export default class AppEnvAdd extends BaseCommand {
|
|
9
|
+
static apiKeyScope = "none";
|
|
10
|
+
/** `synteq env set` lived at the root until 2026-10-06; `app env set` reads naturally too. */
|
|
11
|
+
static hiddenAliases = ["app:env:set", "env:set"];
|
|
12
|
+
static description = [
|
|
13
|
+
"Set an environment variable on an app (value is write-only; use `env rm` to remove one).",
|
|
14
|
+
"",
|
|
15
|
+
"Run bare on a terminal to be asked for the key, the value and what to roll out.",
|
|
16
|
+
"Otherwise the change rolls out automatically after a ~2 min quiet window;",
|
|
17
|
+
"--rollout now / deploy / none overrides that.",
|
|
18
|
+
].join("\n");
|
|
19
|
+
static examples = [
|
|
20
|
+
"<%= config.bin %> app env add # interactive: key, value, rollout",
|
|
21
|
+
"<%= config.bin %> app env add PORT=8080 # bare: linked app, auto rollout",
|
|
22
|
+
"<%= config.bin %> app env add PORT=8080 --rollout now # replace running instances right away",
|
|
23
|
+
"<%= config.bin %> app env add NODE_ENV=production --scope build --rollout deploy # build-time var: new build from this directory",
|
|
24
|
+
"<%= config.bin %> app env add PUBLIC_URL=https://example.com --kind config # config: reveal shows it in full",
|
|
25
|
+
'<%= config.bin %> app env add "API_KEY=sk-abc" --app my-api --rollout none # batch several, then `synteq deploy`',
|
|
26
|
+
"<%= config.bin %> app env add LOG_LEVEL=debug --app my-api -o json",
|
|
27
|
+
];
|
|
28
|
+
static args = {
|
|
29
|
+
target: Args.string({ required: false, description: "App slug or id (optional; default: the directory's linked app or --app)." }),
|
|
30
|
+
assignment: Args.string({
|
|
31
|
+
required: false,
|
|
32
|
+
description: "KEY=VALUE pair. Quote the whole thing if VALUE has spaces or special chars.",
|
|
33
|
+
}),
|
|
34
|
+
};
|
|
35
|
+
static flags = {
|
|
36
|
+
app: Flags.string({ description: "App slug (or uuid) (default: the directory's linked app)." }),
|
|
37
|
+
scope: Flags.string({
|
|
38
|
+
options: ["runtime", "build", "both"],
|
|
39
|
+
description: "When the var applies: runtime, build, or both (default: runtime).",
|
|
40
|
+
}),
|
|
41
|
+
kind: Flags.string({
|
|
42
|
+
options: ["secret", "config"],
|
|
43
|
+
description: "secret (reveal is masked to the last 4 characters; a build-scoped one is mounted as a build secret) or config (reveal shows it in full; a build-scoped one is a plain build argument). Default: secret.",
|
|
44
|
+
}),
|
|
45
|
+
note: Flags.string({ description: "Optional note recorded alongside the var (max 500 chars)." }),
|
|
46
|
+
rollout: rolloutFlag,
|
|
47
|
+
};
|
|
48
|
+
async run() {
|
|
49
|
+
await this.initClients();
|
|
50
|
+
const { args, flags } = await this.parse(AppEnvAdd);
|
|
51
|
+
const prompt = args.target === undefined && isInteractive() && this.outputFormat === "table";
|
|
52
|
+
const [target, assignment] = prompt
|
|
53
|
+
? [undefined, ""]
|
|
54
|
+
: this.positional(args.target, args.assignment, "KEY=VALUE (e.g. `synteq app env add PORT=8080`)");
|
|
55
|
+
try {
|
|
56
|
+
// Resolve first so a bad link fails before the user types anything.
|
|
57
|
+
const app = await this.resolveLinkedApp(flags, target);
|
|
58
|
+
// A build from cwd only builds this app when cwd is linked to it.
|
|
59
|
+
const canDeploy = this.clients.config.linkFor(process.cwd())?.app_id === app.id;
|
|
60
|
+
if (flags.rollout === "deploy" && !canDeploy) {
|
|
61
|
+
this.error(`--rollout deploy builds the current directory, which isn't linked to ${app.slug}. Run it from the app's directory.`, { exit: 1 });
|
|
62
|
+
}
|
|
63
|
+
let key;
|
|
64
|
+
let value;
|
|
65
|
+
if (prompt) {
|
|
66
|
+
key = (await promptString(`Variable name (${app.slug})`, {
|
|
67
|
+
validate: (s) => (s.includes("=") ? "No '=' in the name." : true),
|
|
68
|
+
})).trim();
|
|
69
|
+
value = await promptSecret(`Value for ${key}`);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
const eq = assignment.indexOf("=");
|
|
73
|
+
if (eq <= 0)
|
|
74
|
+
this.error("Provide KEY=VALUE (e.g. `app env add PORT=8080`).", { exit: 1 });
|
|
75
|
+
key = assignment.slice(0, eq).trim();
|
|
76
|
+
value = assignment.slice(eq + 1);
|
|
77
|
+
if (!key)
|
|
78
|
+
this.error("Empty key. Provide KEY=VALUE.", { exit: 1 });
|
|
79
|
+
}
|
|
80
|
+
const mode = flags.rollout ?? (prompt ? await pickRollout(flags.scope ?? "runtime", canDeploy) : "auto");
|
|
81
|
+
const result = await this.clients.api.apps.setEnv(app.id, {
|
|
82
|
+
key,
|
|
83
|
+
value,
|
|
84
|
+
scope: flags.scope,
|
|
85
|
+
kind: flags.kind,
|
|
86
|
+
note: flags.note,
|
|
87
|
+
rollout: autoRollout(mode),
|
|
88
|
+
});
|
|
89
|
+
if (mode === "now")
|
|
90
|
+
await this.clients.api.apps.rolloutEnv(app.id);
|
|
91
|
+
this.emit({ ...result, rollout: mode }, () => {
|
|
92
|
+
this.log(ok(`Set ${result.key} (${result.scope}, ${result.kind ?? flags.kind ?? "secret"}) on ${app.slug}.`));
|
|
93
|
+
this.log(dim(` ${rolloutNote(mode, "synteq deploy")}`));
|
|
94
|
+
});
|
|
95
|
+
if (mode === "deploy")
|
|
96
|
+
await this.config.runCommand("deploy", ["--app", app.slug, ...(this.outputFormat === "json" ? ["-o", "json"] : [])]);
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
this.fail(err);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=add.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/app/env/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseCommand } from "../../../base/command.js";
|
|
2
|
+
/** `synteq app env list` — env vars on an app (keys + scope; values are
|
|
3
|
+
* write-only and never returned). */
|
|
4
|
+
export default class AppEnvList extends BaseCommand {
|
|
5
|
+
static apiKeyScope: string;
|
|
6
|
+
/** `synteq env list` lived at the root until 2026-10-06; kept as a hidden alias. */
|
|
7
|
+
static hiddenAliases: string[];
|
|
8
|
+
static description: string;
|
|
9
|
+
static examples: string[];
|
|
10
|
+
static args: {
|
|
11
|
+
target: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
12
|
+
};
|
|
13
|
+
static flags: {
|
|
14
|
+
app: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<void>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand, appTargetArg } from "../../../base/command.js";
|
|
3
|
+
import { withSpinner } from "../../../ui/spinner.js";
|
|
4
|
+
import { renderTable } from "../../../ui/table.js";
|
|
5
|
+
import { dim } from "../../../ui/glyphs.js";
|
|
6
|
+
/** `synteq app env list` — env vars on an app (keys + scope; values are
|
|
7
|
+
* write-only and never returned). */
|
|
8
|
+
export default class AppEnvList extends BaseCommand {
|
|
9
|
+
static apiKeyScope = "none";
|
|
10
|
+
/** `synteq env list` lived at the root until 2026-10-06; kept as a hidden alias. */
|
|
11
|
+
static hiddenAliases = ["env:list"];
|
|
12
|
+
static description = "List an app's environment variables (keys and scope only — values are write-only).";
|
|
13
|
+
static examples = [
|
|
14
|
+
"<%= config.bin %> app env list # bare: linked app",
|
|
15
|
+
"<%= config.bin %> app env list --app my-api -o json",
|
|
16
|
+
];
|
|
17
|
+
static args = { ...appTargetArg };
|
|
18
|
+
static flags = {
|
|
19
|
+
app: Flags.string({ description: "App slug (or uuid) (default: the directory's linked app)." }),
|
|
20
|
+
};
|
|
21
|
+
async run() {
|
|
22
|
+
await this.initClients();
|
|
23
|
+
const { args, flags } = await this.parse(AppEnvList);
|
|
24
|
+
try {
|
|
25
|
+
const app = await this.resolveLinkedApp(flags, args.target);
|
|
26
|
+
const vars = await withSpinner("Loading env", () => this.clients.api.apps.env(app.id));
|
|
27
|
+
this.emit(vars, () => {
|
|
28
|
+
if (vars.length === 0) {
|
|
29
|
+
this.log("No environment variables.");
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
this.log(renderTable(["Key", "Scope", "Value", "Note"], vars.map((v) => [v.key, v.scope, v.hasValue ? dim("set") : dim("(empty)"), v.note ?? ""])));
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
this.fail(err);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/app/env/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C;sCACsC;AACtC,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,oFAAoF;IACpF,MAAM,CAAC,aAAa,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,CAAC,WAAW,GAAG,oFAAoF,CAAC;IAC1G,MAAM,CAAC,QAAQ,GAAG;QAChB,kEAAkE;QAClE,qDAAqD;KACtD,CAAC;IACF,MAAM,CAAC,IAAI,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAClC,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2DAA2D,EAAE,CAAC;KAChG,CAAC;IACF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;gBACnB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;oBACtC,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,GAAG,CACN,WAAW,CACT,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EACjC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAC1F,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseCommand } from "../../../base/command.js";
|
|
2
|
+
/** `synteq app env reveal KEY` — read one env var's stored value. A
|
|
3
|
+
* `config` var comes back in full; a `secret` var comes back masked with
|
|
4
|
+
* its tail visible (the server never returns a secret in plaintext). */
|
|
5
|
+
export default class AppEnvReveal extends BaseCommand {
|
|
6
|
+
static apiKeyScope: string;
|
|
7
|
+
static description: string;
|
|
8
|
+
static examples: string[];
|
|
9
|
+
static args: {
|
|
10
|
+
target: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
11
|
+
key: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
12
|
+
};
|
|
13
|
+
static flags: {
|
|
14
|
+
app: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<void>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Args, Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand } from "../../../base/command.js";
|
|
3
|
+
import { dim } from "../../../ui/glyphs.js";
|
|
4
|
+
/** `synteq app env reveal KEY` — read one env var's stored value. A
|
|
5
|
+
* `config` var comes back in full; a `secret` var comes back masked with
|
|
6
|
+
* its tail visible (the server never returns a secret in plaintext). */
|
|
7
|
+
export default class AppEnvReveal extends BaseCommand {
|
|
8
|
+
static apiKeyScope = "none";
|
|
9
|
+
static description = "Reveal an app environment variable's value (config vars in full; secrets masked to their tail).";
|
|
10
|
+
static examples = [
|
|
11
|
+
"<%= config.bin %> app env reveal DATABASE_URL # bare: linked app",
|
|
12
|
+
"<%= config.bin %> app env reveal LOG_LEVEL --app my-api",
|
|
13
|
+
"<%= config.bin %> app env reveal LOG_LEVEL --app my-api -o json",
|
|
14
|
+
];
|
|
15
|
+
static args = {
|
|
16
|
+
target: Args.string({ required: false, description: "App slug or id (optional; default: the directory's linked app or --app)." }),
|
|
17
|
+
key: Args.string({ required: false, description: "The variable's name, exactly as `app env list` shows it." }),
|
|
18
|
+
};
|
|
19
|
+
static flags = {
|
|
20
|
+
app: Flags.string({ description: "App slug (or uuid) (default: the directory's linked app)." }),
|
|
21
|
+
};
|
|
22
|
+
async run() {
|
|
23
|
+
await this.initClients();
|
|
24
|
+
const { args, flags } = await this.parse(AppEnvReveal);
|
|
25
|
+
const [target, key] = this.positional(args.target, args.key, "key");
|
|
26
|
+
try {
|
|
27
|
+
const app = await this.resolveLinkedApp(flags, target);
|
|
28
|
+
const result = await this.clients.api.apps.revealEnv(app.id, key);
|
|
29
|
+
this.emit(result, () => {
|
|
30
|
+
this.log(`${result.key}=${result.value}`);
|
|
31
|
+
if (/^\*+/.test(result.value))
|
|
32
|
+
this.log(dim("Masked: this is a secret. Set it again to change it."));
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
this.fail(err);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=reveal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reveal.js","sourceRoot":"","sources":["../../../../src/commands/app/env/reveal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C;;yEAEyE;AACzE,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,WAAW,GAAG,iGAAiG,CAAC;IACvH,MAAM,CAAC,QAAQ,GAAG;QAChB,+EAA+E;QAC/E,yDAAyD;QACzD,iEAAiE;KAClE,CAAC;IACF,MAAM,CAAC,IAAI,GAAG;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,0EAA0E,EAAE,CAAC;QACjI,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,0DAA0D,EAAE,CAAC;KAC/G,CAAC;IACF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2DAA2D,EAAE,CAAC;KAChG,CAAC;IACF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;gBACrB,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC,CAAC;YACvG,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseCommand } from "../../../base/command.js";
|
|
2
|
+
/** `synteq app env rm KEY` — delete an env var from an app. */
|
|
3
|
+
export default class AppEnvRm extends BaseCommand {
|
|
4
|
+
static apiKeyScope: string;
|
|
5
|
+
static description: string;
|
|
6
|
+
static examples: string[];
|
|
7
|
+
static args: {
|
|
8
|
+
target: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
9
|
+
key: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
10
|
+
};
|
|
11
|
+
static flags: {
|
|
12
|
+
app: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
};
|
|
15
|
+
run(): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Args, Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand } from "../../../base/command.js";
|
|
3
|
+
import { ok } from "../../../ui/glyphs.js";
|
|
4
|
+
import { isInteractive, confirmAction } from "../../../ui/wizard.js";
|
|
5
|
+
/** `synteq app env rm KEY` — delete an env var from an app. */
|
|
6
|
+
export default class AppEnvRm extends BaseCommand {
|
|
7
|
+
static apiKeyScope = "none";
|
|
8
|
+
static description = "Delete an environment variable from an app.";
|
|
9
|
+
static examples = [
|
|
10
|
+
"<%= config.bin %> app env rm LOG_LEVEL # bare: linked app",
|
|
11
|
+
"<%= config.bin %> app env rm API_KEY --app my-api --yes # no prompt (required when piped)",
|
|
12
|
+
];
|
|
13
|
+
static args = {
|
|
14
|
+
target: Args.string({ required: false, description: "App slug or id (optional; default: the directory's linked app or --app)." }),
|
|
15
|
+
key: Args.string({ required: false, description: "The env var key to delete." }),
|
|
16
|
+
};
|
|
17
|
+
static flags = {
|
|
18
|
+
app: Flags.string({ description: "App slug (or uuid) (default: the directory's linked app)." }),
|
|
19
|
+
yes: Flags.boolean({
|
|
20
|
+
char: "y",
|
|
21
|
+
description: "Skip the confirmation prompt (required for non-interactive use).",
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
async run() {
|
|
25
|
+
await this.initClients();
|
|
26
|
+
const { args, flags } = await this.parse(AppEnvRm);
|
|
27
|
+
const [target, key] = this.positional(args.target, args.key, "key");
|
|
28
|
+
try {
|
|
29
|
+
const app = await this.resolveLinkedApp(flags, target);
|
|
30
|
+
if (!flags.yes) {
|
|
31
|
+
if (!(isInteractive() && this.outputFormat === "table")) {
|
|
32
|
+
this.error("Refusing to delete a variable without --yes in a non-interactive session.", { exit: 1 });
|
|
33
|
+
}
|
|
34
|
+
const go = await confirmAction(`Delete ${key} from ${app.slug}?`, false);
|
|
35
|
+
if (!go) {
|
|
36
|
+
this.log("Aborted.");
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
await this.clients.api.apps.deleteEnv(app.id, key);
|
|
41
|
+
this.emit({ appId: app.id, key: key, removed: true }, () => this.log(ok(`Deleted ${key} from ${app.slug}.`)));
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
this.fail(err);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=rm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rm.js","sourceRoot":"","sources":["../../../../src/commands/app/env/rm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAErE,+DAA+D;AAC/D,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,WAAW,GAAG,6CAA6C,CAAC;IACnE,MAAM,CAAC,QAAQ,GAAG;QAChB,iFAAiF;QACjF,gGAAgG;KACjG,CAAC;IACF,MAAM,CAAC,IAAI,GAAG;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,0EAA0E,EAAE,CAAC;QACjI,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;KACjF,CAAC;IACF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2DAA2D,EAAE,CAAC;QAC/F,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kEAAkE;SAChF,CAAC;KACH,CAAC;IACF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,CAAC,EAAE,CAAC;oBACxD,IAAI,CAAC,KAAK,CAAC,2EAA2E,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvG,CAAC;gBACD,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,UAAU,GAAG,SAAS,GAAG,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;gBACzE,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACrB,OAAO;gBACT,CAAC;YACH,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CACzD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,GAAG,SAAS,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CACjD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base/command.js";
|
|
2
|
+
/** `synteq app health` — probe the running app's health endpoint. */
|
|
3
|
+
export default class AppHealth extends BaseCommand {
|
|
4
|
+
static apiKeyScope: string;
|
|
5
|
+
static description: string;
|
|
6
|
+
static examples: string[];
|
|
7
|
+
static args: {
|
|
8
|
+
target: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
9
|
+
};
|
|
10
|
+
static flags: {
|
|
11
|
+
app: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|