@cardelli/ambit 0.4.3 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/esm/cli/commands/auth.js +5 -37
- package/esm/cli/commands/create/index.js +3 -3
- package/esm/cli/commands/deploy/index.js +83 -3
- package/esm/cli/commands/deploy/machine.d.ts.map +1 -1
- package/esm/cli/commands/destroy/app.js +1 -1
- package/esm/cli/commands/destroy/index.js +1 -1
- package/esm/cli/commands/destroy/network.d.ts.map +1 -1
- package/esm/cli/commands/destroy/network.js +13 -7
- package/esm/cli/commands/doctor.js +1 -1
- package/esm/cli/commands/list/apps.js +2 -2
- package/esm/cli/commands/list/index.js +1 -1
- package/esm/cli/commands/list/networks.js +2 -2
- package/esm/cli/commands/logs.js +1 -1
- package/esm/cli/commands/secrets.js +2 -2
- package/esm/cli/commands/share.js +2 -2
- package/esm/cli/commands/status/app.js +1 -1
- package/esm/cli/commands/status/index.js +1 -1
- package/esm/cli/commands/status/network.js +1 -1
- package/esm/cli/commands/status/networks.js +2 -2
- package/esm/cli/mod.js +1 -1
- package/esm/deno.js +1 -1
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/_layout.d.ts +5 -1
- package/esm/deps/jsr.io/@cliffy/table/1.1.0/_layout.d.ts.map +1 -0
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/_layout.js +101 -16
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/_utils.d.ts +6 -9
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/_utils.d.ts.map +1 -1
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/_utils.js +9 -2
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/border.d.ts.map +1 -1
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/cell.d.ts.map +1 -1
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/column.d.ts +35 -0
- package/esm/deps/jsr.io/@cliffy/table/1.1.0/column.d.ts.map +1 -0
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/column.js +39 -0
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/consume_words.d.ts.map +1 -1
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/mod.d.ts.map +1 -1
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/row.d.ts.map +1 -1
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/table.d.ts +47 -0
- package/esm/deps/jsr.io/@cliffy/table/1.1.0/table.d.ts.map +1 -0
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/table.js +55 -0
- package/esm/deps/jsr.io/@cliffy/table/1.1.0/unicode_width.d.ts.map +1 -0
- package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/unicode_width.js +15 -9
- package/esm/deps/jsr.io/@std/cli/1.0.29/_data.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/_run_length.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/mod.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/parse_args.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/prompt_secret.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/prompt_secret.js +1 -1
- package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/unicode_width.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/collections/{1.1.6 → 1.1.7}/deep_merge.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/fmt/1.0.10/colors.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fmt/{1.0.9 → 1.0.10}/colors.js +2 -2
- package/esm/deps/jsr.io/@std/internal/1.0.13/_os.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/_os.js +1 -1
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/os.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/os.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/basename.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/constants.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/dirname.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/extname.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/format.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/from_file_url.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/is_absolute.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/join.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/join_globs.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/normalize.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/normalize_glob.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/parse.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/relative.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/resolve.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/to_file_url.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.js +1 -1
- package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.js +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/index.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/checks.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/coerce.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/compat.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/errors.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/errors.js +2 -2
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/external.d.ts +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/classic/external.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/from-json-schema.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/from-json-schema.js +31 -16
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/iso.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/parse.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/schemas.d.ts +42 -14
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/classic/schemas.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/schemas.js +356 -118
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/api.d.ts +26 -5
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/core/api.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/api.js +7 -2
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/checks.d.ts +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/checks.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/core.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/core.js +4 -2
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/doc.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/errors.d.ts +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/core/errors.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/errors.js +26 -23
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/index.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/json-schema-generator.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/json-schema-processors.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/json-schema-processors.js +16 -20
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/json-schema.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/parse.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/parse.js +7 -7
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/regexes.d.ts +6 -0
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/core/regexes.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/regexes.js +7 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/registries.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/schemas.d.ts +39 -1
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/core/schemas.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/schemas.js +210 -64
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/standard-schema.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/to-json-schema.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/to-json-schema.js +12 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/util.d.ts +1 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/util.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/util.js +55 -32
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/versions.d.ts +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/versions.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/versions.js +2 -2
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ar.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/az.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/be.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/bg.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ca.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/cs.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/da.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/de.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/locales/el.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/locales/el.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/locales/el.js +109 -0
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/locales/en.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/en.js +4 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/eo.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/es.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/fa.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/fi.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/fr-CA.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/locales/fr.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/fr.js +24 -7
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/he.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/locales/hr.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/locales/hr.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/locales/hr.js +122 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/hu.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/hy.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/id.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/index.d.ts +3 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/index.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/index.js +3 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/is.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/it.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/it.js +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ja.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ka.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ka.js +8 -8
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/kh.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/km.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ko.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/lt.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/mk.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ms.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/nl.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/no.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ota.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/pl.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ps.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/pt.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/locales/ro.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/locales/ro.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/locales/ro.js +119 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ru.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/sl.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/sv.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ta.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/th.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/tr.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ua.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/uk.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ur.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/4.4.3/src/v4/locales/uz.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/uz.js +1 -0
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/vi.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/yo.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/zh-CN.d.ts.map +1 -1
- package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/zh-TW.d.ts.map +1 -1
- package/esm/lib/args.d.ts +1 -0
- package/esm/lib/args.d.ts.map +1 -1
- package/esm/lib/args.js +2 -0
- package/esm/providers/fly.d.ts +18 -0
- package/esm/providers/fly.d.ts.map +1 -1
- package/esm/providers/fly.js +89 -22
- package/esm/schemas/fly.d.ts +1 -1
- package/esm/schemas/fly.js +1 -1
- package/esm/schemas/tailscale.d.ts +1 -1
- package/esm/schemas/tailscale.js +1 -1
- package/esm/util/credentials.d.ts +0 -3
- package/esm/util/credentials.d.ts.map +1 -1
- package/esm/util/credentials.js +5 -28
- package/esm/util/fly-token.d.ts +7 -0
- package/esm/util/fly-token.d.ts.map +1 -0
- package/esm/util/fly-token.js +50 -0
- package/esm/util/fly-transforms.d.ts +1 -1
- package/esm/util/session.d.ts.map +1 -1
- package/esm/util/session.js +3 -2
- package/esm/util/tailscale-local.d.ts +8 -0
- package/esm/util/tailscale-local.d.ts.map +1 -1
- package/esm/util/tailscale-local.js +37 -0
- package/package.json +1 -1
- package/esm/deps/jsr.io/@cliffy/table/1.0.0/_layout.d.ts.map +0 -1
- package/esm/deps/jsr.io/@cliffy/table/1.0.0/column.d.ts.map +0 -1
- package/esm/deps/jsr.io/@cliffy/table/1.0.0/table.d.ts.map +0 -1
- package/esm/deps/jsr.io/@cliffy/table/1.0.0/unicode_width.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/cli/1.0.28/_data.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/fmt/1.0.9/colors.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.12/_os.d.ts.map +0 -1
- package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/external.d.ts.map +0 -1
- package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/classic/schemas.d.ts.map +0 -1
- package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/api.d.ts.map +0 -1
- package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/errors.d.ts.map +0 -1
- package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/regexes.d.ts.map +0 -1
- package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/core/schemas.d.ts.map +0 -1
- package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/en.d.ts.map +0 -1
- package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/fr.d.ts.map +0 -1
- package/esm/deps/jsr.io/@zod/zod/4.3.6/src/v4/locales/uz.d.ts.map +0 -1
- /package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/border.d.ts +0 -0
- /package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/border.js +0 -0
- /package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/cell.d.ts +0 -0
- /package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/cell.js +0 -0
- /package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/consume_words.d.ts +0 -0
- /package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/consume_words.js +0 -0
- /package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/mod.d.ts +0 -0
- /package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/mod.js +0 -0
- /package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/row.d.ts +0 -0
- /package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/row.js +0 -0
- /package/esm/deps/jsr.io/@cliffy/table/{1.0.0 → 1.1.0}/unicode_width.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/_data.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/_data.js +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/_run_length.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/_run_length.js +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/mod.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/mod.js +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/parse_args.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/parse_args.js +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/prompt_secret.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/unicode_width.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.28 → 1.0.29}/unicode_width.js +0 -0
- /package/esm/deps/jsr.io/@std/collections/{1.1.6 → 1.1.7}/deep_merge.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/collections/{1.1.6 → 1.1.7}/deep_merge.js +0 -0
- /package/esm/deps/jsr.io/@std/fmt/{1.0.9 → 1.0.10}/colors.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/_os.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/os.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/index.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/index.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/checks.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/checks.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/coerce.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/coerce.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/compat.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/compat.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/errors.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/external.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/from-json-schema.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/iso.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/iso.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/parse.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/classic/parse.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/checks.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/core.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/doc.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/doc.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/index.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/index.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/json-schema-generator.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/json-schema-generator.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/json-schema-processors.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/json-schema.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/json-schema.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/parse.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/registries.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/registries.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/standard-schema.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/standard-schema.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/core/to-json-schema.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ar.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ar.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/az.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/az.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/be.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/be.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/bg.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/bg.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ca.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ca.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/cs.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/cs.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/da.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/da.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/de.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/de.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/en.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/eo.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/eo.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/es.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/es.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/fa.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/fa.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/fi.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/fi.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/fr-CA.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/fr-CA.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/fr.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/he.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/he.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/hu.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/hu.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/hy.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/hy.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/id.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/id.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/is.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/is.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/it.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ja.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ja.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ka.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/kh.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/kh.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/km.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/km.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ko.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ko.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/lt.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/lt.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/mk.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/mk.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ms.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ms.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/nl.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/nl.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/no.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/no.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ota.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ota.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/pl.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/pl.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ps.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ps.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/pt.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/pt.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ru.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ru.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/sl.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/sl.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/sv.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/sv.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ta.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ta.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/th.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/th.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/tr.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/tr.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ua.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ua.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/uk.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/uk.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ur.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/ur.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/uz.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/vi.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/vi.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/yo.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/yo.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/zh-CN.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/zh-CN.js +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/zh-TW.d.ts +0 -0
- /package/esm/deps/jsr.io/@zod/zod/{4.3.6 → 4.4.3}/src/v4/locales/zh-TW.js +0 -0
package/README.md
CHANGED
|
@@ -294,12 +294,12 @@ npx @cardelli/ambit logs my-app.lab --no-tail | less -R # scroll buffered logs
|
|
|
294
294
|
|
|
295
295
|
### `ambit destroy network <name>`
|
|
296
296
|
|
|
297
|
-
Tears down a network: destroys the router, cleans up DNS, removes the Tailscale device, and automatically removes the router's tag from your Tailscale ACL policy (tagOwners and
|
|
297
|
+
Tears down a network: destroys the router, cleans up DNS, removes the Tailscale device, and automatically removes the router's tag from your Tailscale ACL policy (`tagOwners`, `autoApprovers`, and tag-referencing access rules). If there are workload apps still on the network, ambit warns you before proceeding.
|
|
298
298
|
|
|
299
299
|
| Flag | Description |
|
|
300
300
|
| ----------------- | ------------------------------ |
|
|
301
301
|
| `--org <org>` | Fly.io organization slug |
|
|
302
|
-
| `--manual` | Skip automatic Tailscale ACL cleanup
|
|
302
|
+
| `--manual` | Skip automatic Tailscale ACL cleanup |
|
|
303
303
|
| `-y`, `--yes` | Skip confirmation prompts |
|
|
304
304
|
| `--json` | Machine-readable JSON output |
|
|
305
305
|
|
|
@@ -340,7 +340,7 @@ Checks app health: verifies the app is deployed and running, then checks the rou
|
|
|
340
340
|
|
|
341
341
|
## Access Control
|
|
342
342
|
|
|
343
|
-
By default, `ambit create` automatically adds the router's tag to your Tailscale ACL policy (`tagOwners` and `autoApprovers`). `ambit destroy network` automatically removes
|
|
343
|
+
By default, `ambit create` automatically adds the router's tag to your Tailscale ACL policy (`tagOwners` and `autoApprovers`). `ambit destroy network` automatically removes those entries and any access rules that reference the router tag. Pass `--manual` to either command to skip this and manage the policy yourself — useful if your API token lacks ACL write permission (`policy_file` scope).
|
|
344
344
|
|
|
345
345
|
If you want to lock down which users can reach which networks, two rules do the job — one for DNS queries and one for data traffic:
|
|
346
346
|
|
|
@@ -357,7 +357,7 @@ If you want to lock down which users can reach which networks, two rules do the
|
|
|
357
357
|
}
|
|
358
358
|
```
|
|
359
359
|
|
|
360
|
-
|
|
360
|
+
On destroy, Ambit removes access-rule references to the router tag, such as `tag:ambit-infra:53`, before removing the tag owner. Subnet-only access rules do not reference the tag and may still need manual cleanup.
|
|
361
361
|
|
|
362
362
|
## Multiple Networks
|
|
363
363
|
|
package/esm/cli/commands/auth.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Auth Command - Manage Fly.io and Tailscale Authentication
|
|
3
3
|
// =============================================================================
|
|
4
4
|
import * as dntShim from "../../_dnt.shims.js";
|
|
5
|
-
import { parseArgs } from "../../deps/jsr.io/@std/cli/1.0.
|
|
5
|
+
import { parseArgs } from "../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
6
6
|
import { bold, confirm, readSecret } from "../../lib/cli.js";
|
|
7
7
|
import { checkArgs } from "../../lib/args.js";
|
|
8
8
|
import { createOutput } from "../../lib/output.js";
|
|
@@ -12,7 +12,6 @@ import { createTailscaleProvider } from "../../providers/tailscale.js";
|
|
|
12
12
|
import { getCredentialStore } from "../../util/credentials.js";
|
|
13
13
|
import { TAILSCALE_API_KEY_PREFIX } from "../../util/constants.js";
|
|
14
14
|
import { FlyAuthSchema } from "../../schemas/fly.js";
|
|
15
|
-
import { fileExists } from "../../lib/cli.js";
|
|
16
15
|
// =============================================================================
|
|
17
16
|
// Helpers
|
|
18
17
|
// =============================================================================
|
|
@@ -26,15 +25,6 @@ const tryFlyWhoami = async (token) => {
|
|
|
26
25
|
const parsed = FlyAuthSchema.safeParse(auth.value);
|
|
27
26
|
return parsed.success ? parsed.data.email : null;
|
|
28
27
|
};
|
|
29
|
-
const readFlyConfigToken = async () => {
|
|
30
|
-
const home = dntShim.Deno.env.get("HOME") || dntShim.Deno.env.get("USERPROFILE") || "";
|
|
31
|
-
const configPath = `${home}/.fly/config.yml`;
|
|
32
|
-
if (!(await fileExists(configPath)))
|
|
33
|
-
return null;
|
|
34
|
-
const content = await dntShim.Deno.readTextFile(configPath);
|
|
35
|
-
const match = content.match(/access_token:\s*(.+)/);
|
|
36
|
-
return match?.[1]?.trim() ?? null;
|
|
37
|
-
};
|
|
38
28
|
// =============================================================================
|
|
39
29
|
// Auth Login
|
|
40
30
|
// =============================================================================
|
|
@@ -59,8 +49,7 @@ ${bold("OPTIONS")}
|
|
|
59
49
|
|
|
60
50
|
${bold("DESCRIPTION")}
|
|
61
51
|
Authenticates with both Fly.io and Tailscale. Only prompts for
|
|
62
|
-
credentials that are missing or invalid
|
|
63
|
-
are preserved.
|
|
52
|
+
credentials that are missing or invalid.
|
|
64
53
|
|
|
65
54
|
${bold("EXAMPLES")}
|
|
66
55
|
ambit auth login
|
|
@@ -80,21 +69,11 @@ ${bold("EXAMPLES")}
|
|
|
80
69
|
if (!email) {
|
|
81
70
|
return out.die("Invalid Fly.io API Token");
|
|
82
71
|
}
|
|
83
|
-
await credentials.setFlyToken(args["fly-api-key"]);
|
|
84
72
|
out.ok(`Authenticated as ${email}`);
|
|
85
73
|
flyEmail = email;
|
|
86
74
|
}
|
|
87
75
|
else {
|
|
88
|
-
|
|
89
|
-
const storedToken = await credentials.getFlyToken();
|
|
90
|
-
const configToken = await readFlyConfigToken();
|
|
91
|
-
const bestToken = configToken && configToken !== storedToken
|
|
92
|
-
? configToken
|
|
93
|
-
: storedToken;
|
|
94
|
-
if (bestToken && bestToken !== storedToken) {
|
|
95
|
-
await credentials.setFlyToken(bestToken);
|
|
96
|
-
}
|
|
97
|
-
const bestEmail = bestToken ? await tryFlyWhoami(bestToken) : null;
|
|
76
|
+
const bestEmail = await tryFlyWhoami();
|
|
98
77
|
if (bestEmail) {
|
|
99
78
|
out.ok(`Already Authenticated as ${bestEmail}`);
|
|
100
79
|
flyEmail = bestEmail;
|
|
@@ -109,15 +88,10 @@ ${bold("EXAMPLES")}
|
|
|
109
88
|
if (!loginResult.ok) {
|
|
110
89
|
return out.die("Fly.io Authentication Failed");
|
|
111
90
|
}
|
|
112
|
-
const
|
|
113
|
-
if (!token) {
|
|
114
|
-
return out.die("Could Not Read Fly.io Token After Login");
|
|
115
|
-
}
|
|
116
|
-
const email = await tryFlyWhoami(token);
|
|
91
|
+
const email = await tryFlyWhoami();
|
|
117
92
|
if (!email) {
|
|
118
93
|
return out.die("Fly.io Authentication Verification Failed");
|
|
119
94
|
}
|
|
120
|
-
await credentials.setFlyToken(token);
|
|
121
95
|
out.ok(`Authenticated as ${email}`);
|
|
122
96
|
flyEmail = email;
|
|
123
97
|
}
|
|
@@ -218,13 +192,7 @@ ${bold("EXAMPLES")}
|
|
|
218
192
|
// Step 1: Fly.io
|
|
219
193
|
// =========================================================================
|
|
220
194
|
let flyEmail = null;
|
|
221
|
-
|
|
222
|
-
if (storedToken) {
|
|
223
|
-
flyEmail = await tryFlyWhoami(storedToken);
|
|
224
|
-
}
|
|
225
|
-
if (!flyEmail) {
|
|
226
|
-
flyEmail = await tryFlyWhoami();
|
|
227
|
-
}
|
|
195
|
+
flyEmail = await tryFlyWhoami();
|
|
228
196
|
// =========================================================================
|
|
229
197
|
// Step 2: Tailscale
|
|
230
198
|
// =========================================================================
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// Create Command - Create Tailscale Subnet Router on Fly.io Custom Network
|
|
3
3
|
// =============================================================================
|
|
4
|
-
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.
|
|
4
|
+
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
5
5
|
import { bold } from "../../../lib/cli.js";
|
|
6
6
|
import { checkArgs } from "../../../lib/args.js";
|
|
7
7
|
import { createOutput } from "../../../lib/output.js";
|
|
@@ -21,12 +21,12 @@ import { createTransition, hydrateCreate, reportSkipped, } from "./machine.js";
|
|
|
21
21
|
// =============================================================================
|
|
22
22
|
const stageFlyConfig = async (out, opts) => {
|
|
23
23
|
out.header("Step 1: Fly.io Configuration").blank();
|
|
24
|
-
const
|
|
25
|
-
const fly = createFlyProvider(flyToken ?? undefined);
|
|
24
|
+
const fly = createFlyProvider();
|
|
26
25
|
await fly.auth.ensureInstalled();
|
|
27
26
|
const email = await fly.auth.login({ interactive: !opts.json });
|
|
28
27
|
out.ok(`Authenticated as ${email}`);
|
|
29
28
|
const org = await resolveOrg(fly, opts, out);
|
|
29
|
+
await fly.auth.useOrgToken(org);
|
|
30
30
|
const region = opts.region || "iad";
|
|
31
31
|
out.ok(`Using Region: ${region}`);
|
|
32
32
|
out.blank();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// Deploy Command - Safely Deploy a Workload App on a Custom Private Network
|
|
3
3
|
// =============================================================================
|
|
4
|
-
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.
|
|
4
|
+
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
5
5
|
import { bold } from "../../../lib/cli.js";
|
|
6
6
|
import { checkArgs } from "../../../lib/args.js";
|
|
7
7
|
import { createOutput } from "../../../lib/output.js";
|
|
@@ -24,6 +24,7 @@ const stageFlyConfig = async (out, opts) => {
|
|
|
24
24
|
const email = await fly.auth.login({ interactive: !opts.json });
|
|
25
25
|
out.ok(`Authenticated as ${email}`);
|
|
26
26
|
const org = await resolveOrg(fly, opts, out);
|
|
27
|
+
await fly.auth.useOrgToken(org);
|
|
27
28
|
out.blank();
|
|
28
29
|
return { fly, org };
|
|
29
30
|
};
|
|
@@ -84,6 +85,26 @@ const stageDeploy = async (out, fly, deployConfig, opts) => {
|
|
|
84
85
|
image: deployConfig.image,
|
|
85
86
|
config: deployConfig.configPath,
|
|
86
87
|
region: opts.region,
|
|
88
|
+
// VM sizing
|
|
89
|
+
vmSize: opts.vmSize,
|
|
90
|
+
vmCpus: opts.vmCpus,
|
|
91
|
+
vmMemory: opts.vmMemory,
|
|
92
|
+
vmCpuKind: opts.vmCpuKind,
|
|
93
|
+
vmGpuKind: opts.vmGpuKind,
|
|
94
|
+
vmGpus: opts.vmGpus,
|
|
95
|
+
// Build options
|
|
96
|
+
dockerfile: opts.dockerfile,
|
|
97
|
+
buildArg: opts.buildArg,
|
|
98
|
+
buildSecret: opts.buildSecret,
|
|
99
|
+
buildTarget: opts.buildTarget,
|
|
100
|
+
localOnly: opts.localOnly,
|
|
101
|
+
remoteOnly: opts.remoteOnly,
|
|
102
|
+
// Deploy behavior
|
|
103
|
+
env: opts.env,
|
|
104
|
+
strategy: opts.strategy,
|
|
105
|
+
detach: opts.detach,
|
|
106
|
+
waitTimeout: opts.waitTimeout,
|
|
107
|
+
volumeInitialSize: opts.volumeInitialSize,
|
|
87
108
|
},
|
|
88
109
|
};
|
|
89
110
|
const phase = await hydrateDeploy(ctx);
|
|
@@ -147,10 +168,24 @@ const deploy = async (argv) => {
|
|
|
147
168
|
"config",
|
|
148
169
|
"main-port",
|
|
149
170
|
"template",
|
|
171
|
+
// VM sizing
|
|
172
|
+
"vm-size",
|
|
173
|
+
"vm-cpus",
|
|
174
|
+
"vm-memory",
|
|
175
|
+
"vm-cpu-kind",
|
|
176
|
+
"vm-gpu-kind",
|
|
177
|
+
"vm-gpus",
|
|
178
|
+
// Build options
|
|
179
|
+
"dockerfile",
|
|
180
|
+
"build-target",
|
|
181
|
+
"strategy",
|
|
182
|
+
"wait-timeout",
|
|
183
|
+
"volume-initial-size",
|
|
150
184
|
],
|
|
151
|
-
boolean: ["help", "yes", "json"],
|
|
152
|
-
alias: { y: "yes" },
|
|
185
|
+
boolean: ["help", "yes", "json", "local-only", "remote-only", "detach"],
|
|
186
|
+
alias: { y: "yes", e: "env" },
|
|
153
187
|
default: { "main-port": "80" },
|
|
188
|
+
collect: ["build-arg", "build-secret", "env"],
|
|
154
189
|
};
|
|
155
190
|
const args = parseArgs(argv, opts);
|
|
156
191
|
checkArgs(args, opts, "ambit deploy", 1);
|
|
@@ -199,6 +234,29 @@ ${bold("TEMPLATE MODE")}
|
|
|
199
234
|
owner/repo/path@branch Fetch a specific branch
|
|
200
235
|
owner/repo/path@commit Fetch a specific commit
|
|
201
236
|
|
|
237
|
+
${bold("VM SIZING")}
|
|
238
|
+
--vm-size <size> VM size preset (see "fly platform vm-sizes")
|
|
239
|
+
--vm-cpus <n> Number of CPUs
|
|
240
|
+
--vm-memory <mb> Memory in megabytes
|
|
241
|
+
--vm-cpu-kind <kind> CPU kind: "shared" or "performance"
|
|
242
|
+
--vm-gpu-kind <model> GPU model (a100-pcie-40gb, a100-sxm4-80gb, l40s, a10)
|
|
243
|
+
--vm-gpus <n> Number of GPUs
|
|
244
|
+
|
|
245
|
+
${bold("BUILD OPTIONS")} (config/template mode only)
|
|
246
|
+
--dockerfile <path> Path to Dockerfile
|
|
247
|
+
--build-arg <K=V> Build-time variable (repeatable)
|
|
248
|
+
--build-secret <K=V> Build-time secret (repeatable)
|
|
249
|
+
--build-target <stage> Target build stage for multi-stage Dockerfiles
|
|
250
|
+
--local-only Build locally using local Docker daemon
|
|
251
|
+
--remote-only Build on remote builder (default)
|
|
252
|
+
|
|
253
|
+
${bold("DEPLOY BEHAVIOR")}
|
|
254
|
+
-e, --env <K=V> Environment variable (repeatable)
|
|
255
|
+
--strategy <name> Deploy strategy: canary, rolling, bluegreen, immediate
|
|
256
|
+
--detach Return immediately without monitoring
|
|
257
|
+
--wait-timeout <dur> Time to wait for machines to become healthy (default: 5m0s)
|
|
258
|
+
--volume-initial-size <gb> Initial volume size in GB on first deploy
|
|
259
|
+
|
|
202
260
|
${bold("SAFETY")}
|
|
203
261
|
Always deploys with --no-public-ips and --flycast.
|
|
204
262
|
Post-deploy audit releases any public IPs and verifies Flycast allocation.
|
|
@@ -275,6 +333,28 @@ ${bold("EXAMPLES")}
|
|
|
275
333
|
routerId,
|
|
276
334
|
flyAppName,
|
|
277
335
|
routerPrivateIp,
|
|
336
|
+
// VM sizing
|
|
337
|
+
vmSize: args["vm-size"],
|
|
338
|
+
vmCpus: args["vm-cpus"] ? Number(args["vm-cpus"]) : undefined,
|
|
339
|
+
vmMemory: args["vm-memory"],
|
|
340
|
+
vmCpuKind: args["vm-cpu-kind"],
|
|
341
|
+
vmGpuKind: args["vm-gpu-kind"],
|
|
342
|
+
vmGpus: args["vm-gpus"] ? Number(args["vm-gpus"]) : undefined,
|
|
343
|
+
// Build options
|
|
344
|
+
dockerfile: args.dockerfile,
|
|
345
|
+
buildArg: args["build-arg"],
|
|
346
|
+
buildSecret: args["build-secret"],
|
|
347
|
+
buildTarget: args["build-target"],
|
|
348
|
+
localOnly: args["local-only"],
|
|
349
|
+
remoteOnly: args["remote-only"],
|
|
350
|
+
// Deploy behavior
|
|
351
|
+
env: args.env,
|
|
352
|
+
strategy: args.strategy,
|
|
353
|
+
detach: args.detach,
|
|
354
|
+
waitTimeout: args["wait-timeout"],
|
|
355
|
+
volumeInitialSize: args["volume-initial-size"]
|
|
356
|
+
? Number(args["volume-initial-size"])
|
|
357
|
+
: undefined,
|
|
278
358
|
});
|
|
279
359
|
};
|
|
280
360
|
// =============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/machine.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,OAAO,GACP,UAAU,CAAC;AAMf,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE;QACL,mBAAmB,EAAE,MAAM,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,mBAAmB,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACjE,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,SAAS,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,WAAW,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,iBAAiB,CAAC;IACjC,KAAK,CAAC,EAAE;QACN,mBAAmB,EAAE,MAAM,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,mBAAmB,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACjE,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAaD,eAAO,MAAM,mBAAmB,GAC9B,KAAK,MAAM,CAAC,YAAY,CAAC,EACzB,YAAY,WAAW,SAMxB,CAAC;AAMF,eAAO,MAAM,aAAa,GACxB,KAAK,SAAS,KACb,OAAO,CAAC,WAAW,CAMrB,CAAC;AAMF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,WAAW,EAClB,KAAK,SAAS,KACb,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/machine.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,OAAO,GACP,UAAU,CAAC;AAMf,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE;QACL,mBAAmB,EAAE,MAAM,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,mBAAmB,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACjE,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,SAAS,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,WAAW,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,iBAAiB,CAAC;IACjC,KAAK,CAAC,EAAE;QACN,mBAAmB,EAAE,MAAM,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,mBAAmB,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACjE,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAaD,eAAO,MAAM,mBAAmB,GAC9B,KAAK,MAAM,CAAC,YAAY,CAAC,EACzB,YAAY,WAAW,SAMxB,CAAC;AAMF,eAAO,MAAM,aAAa,GACxB,KAAK,SAAS,KACb,OAAO,CAAC,WAAW,CAMrB,CAAC;AAMF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,WAAW,EAClB,KAAK,SAAS,KACb,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAmH7B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// Destroy App — Destroy a Workload App on a Network
|
|
3
3
|
// =============================================================================
|
|
4
|
-
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.
|
|
4
|
+
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
5
5
|
import { bold, confirm } from "../../../lib/cli.js";
|
|
6
6
|
import { checkArgs } from "../../../lib/args.js";
|
|
7
7
|
import { createOutput } from "../../../lib/output.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Destroy Command - Destroy Networks or Apps
|
|
3
3
|
// =============================================================================
|
|
4
4
|
import * as dntShim from "../../../_dnt.shims.js";
|
|
5
|
-
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.
|
|
5
|
+
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
6
6
|
import { bold } from "../../../lib/cli.js";
|
|
7
7
|
import { checkArgs } from "../../../lib/args.js";
|
|
8
8
|
import { registerCommand } from "../../mod.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/destroy/network.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/destroy/network.ts"],"names":[],"mappings":"AA8VA,eAAO,MAAM,cAAc,GAAU,MAAM,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CA2DjE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// Destroy Network — Tear Down Router and Clean Up Tailnet
|
|
3
3
|
// =============================================================================
|
|
4
|
-
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.
|
|
4
|
+
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
5
5
|
import { bold, confirm } from "../../../lib/cli.js";
|
|
6
6
|
import { checkArgs } from "../../../lib/args.js";
|
|
7
7
|
import { createOutput } from "../../../lib/output.js";
|
|
@@ -9,7 +9,7 @@ import { Result } from "../../../lib/result.js";
|
|
|
9
9
|
import { runMachine } from "../../../lib/machine.js";
|
|
10
10
|
import { findRouterApp, listWorkloadAppsOnNetwork } from "../../../util/discovery.js";
|
|
11
11
|
import { getRouterTag } from "../../../util/naming.js";
|
|
12
|
-
import { isAutoApproverConfigured, isTagOwnerConfigured, unpatchAutoApprover, unpatchTagOwner, } from "../../../util/tailscale-local.js";
|
|
12
|
+
import { isAutoApproverConfigured, isTagOwnerConfigured, unpatchAclTagReferences, unpatchAutoApprover, unpatchTagOwner, } from "../../../util/tailscale-local.js";
|
|
13
13
|
import { initSession } from "../../../util/session.js";
|
|
14
14
|
// =============================================================================
|
|
15
15
|
// Phase Labels
|
|
@@ -120,6 +120,11 @@ const destroyNetworkTransition = async (phase, ctx) => {
|
|
|
120
120
|
return Result.ok("complete");
|
|
121
121
|
}
|
|
122
122
|
let changed = false;
|
|
123
|
+
const withoutAclRefs = unpatchAclTagReferences(policy, tag);
|
|
124
|
+
if (withoutAclRefs !== policy) {
|
|
125
|
+
policy = withoutAclRefs;
|
|
126
|
+
changed = true;
|
|
127
|
+
}
|
|
123
128
|
if (isTagOwnerConfigured(policy, tag)) {
|
|
124
129
|
policy = unpatchTagOwner(policy, tag);
|
|
125
130
|
changed = true;
|
|
@@ -195,8 +200,8 @@ const stageSummary = (out, ctx) => {
|
|
|
195
200
|
const tag = ctx.tag || getRouterTag(ctx.network);
|
|
196
201
|
if (!ctx.manual) {
|
|
197
202
|
out.blank()
|
|
198
|
-
.dim("If You Added ACL Rules
|
|
199
|
-
.dim(` acls: rules
|
|
203
|
+
.dim("If You Added Subnet-Only ACL Rules for This Router, Remember to Remove:")
|
|
204
|
+
.dim(` acls: rules for this network's subnet`)
|
|
200
205
|
.blank();
|
|
201
206
|
}
|
|
202
207
|
else if (ctx.tag) {
|
|
@@ -235,14 +240,15 @@ ${bold("USAGE")}
|
|
|
235
240
|
|
|
236
241
|
${bold("OPTIONS")}
|
|
237
242
|
--org <org> Fly.io organization slug
|
|
238
|
-
--manual Skip automatic Tailscale ACL cleanup
|
|
243
|
+
--manual Skip automatic Tailscale ACL cleanup
|
|
239
244
|
-y, --yes Skip confirmation prompts
|
|
240
245
|
--json Output as JSON
|
|
241
246
|
|
|
242
247
|
${bold("DESCRIPTION")}
|
|
243
248
|
By default, ambit removes the router's tag from your Tailscale ACL
|
|
244
|
-
policy (tagOwners
|
|
245
|
-
lacks ACL write permission or you prefer
|
|
249
|
+
policy (tagOwners, autoApprovers, and tag-referencing access rules).
|
|
250
|
+
Use --manual if your API token lacks ACL write permission or you prefer
|
|
251
|
+
to manage the policy yourself.
|
|
246
252
|
|
|
247
253
|
${bold("EXAMPLES")}
|
|
248
254
|
ambit destroy network browsers
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// Doctor Command - Verify Environment and Infrastructure Health
|
|
3
3
|
// =============================================================================
|
|
4
|
-
import { parseArgs } from "../../deps/jsr.io/@std/cli/1.0.
|
|
4
|
+
import { parseArgs } from "../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
5
5
|
import { bold } from "../../lib/cli.js";
|
|
6
6
|
import { checkArgs } from "../../lib/args.js";
|
|
7
7
|
import { createOutput } from "../../lib/output.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// List Apps — List All Workload Apps on a Network
|
|
3
3
|
// =============================================================================
|
|
4
|
-
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.
|
|
5
|
-
import { Table } from "../../../deps/jsr.io/@cliffy/table/1.
|
|
4
|
+
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
5
|
+
import { Table } from "../../../deps/jsr.io/@cliffy/table/1.1.0/mod.js";
|
|
6
6
|
import { bold } from "../../../lib/cli.js";
|
|
7
7
|
import { checkArgs } from "../../../lib/args.js";
|
|
8
8
|
import { createOutput } from "../../../lib/output.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// List Command - List Networks or Apps
|
|
3
3
|
// =============================================================================
|
|
4
4
|
import * as dntShim from "../../../_dnt.shims.js";
|
|
5
|
-
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.
|
|
5
|
+
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
6
6
|
import { bold } from "../../../lib/cli.js";
|
|
7
7
|
import { checkArgs } from "../../../lib/args.js";
|
|
8
8
|
import { registerCommand } from "../../mod.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// List Networks — List All Discovered Routers Across Networks
|
|
3
3
|
// =============================================================================
|
|
4
|
-
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.
|
|
5
|
-
import { Table } from "../../../deps/jsr.io/@cliffy/table/1.
|
|
4
|
+
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
5
|
+
import { Table } from "../../../deps/jsr.io/@cliffy/table/1.1.0/mod.js";
|
|
6
6
|
import { bold } from "../../../lib/cli.js";
|
|
7
7
|
import { checkArgs } from "../../../lib/args.js";
|
|
8
8
|
import { createOutput } from "../../../lib/output.js";
|
package/esm/cli/commands/logs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// Logs Command - Stream Logs for Workload Apps
|
|
3
3
|
// =============================================================================
|
|
4
|
-
import { parseArgs } from "../../deps/jsr.io/@std/cli/1.0.
|
|
4
|
+
import { parseArgs } from "../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
5
5
|
import { bold } from "../../lib/cli.js";
|
|
6
6
|
import { checkArgs } from "../../lib/args.js";
|
|
7
7
|
import { createOutput } from "../../lib/output.js";
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
// Secrets Command - Manage Secrets for Workload Apps
|
|
3
3
|
// =============================================================================
|
|
4
4
|
import * as dntShim from "../../_dnt.shims.js";
|
|
5
|
-
import { parseArgs } from "../../deps/jsr.io/@std/cli/1.0.
|
|
6
|
-
import { Table } from "../../deps/jsr.io/@cliffy/table/1.
|
|
5
|
+
import { parseArgs } from "../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
6
|
+
import { Table } from "../../deps/jsr.io/@cliffy/table/1.1.0/mod.js";
|
|
7
7
|
import { bold } from "../../lib/cli.js";
|
|
8
8
|
import { checkArgs } from "../../lib/args.js";
|
|
9
9
|
import { createOutput } from "../../lib/output.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// Share Command - Grant Members Access to a Network via Tailscale ACL
|
|
3
3
|
// =============================================================================
|
|
4
|
-
import { parseArgs } from "../../deps/jsr.io/@std/cli/1.0.
|
|
4
|
+
import { parseArgs } from "../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
5
5
|
import { bold } from "../../lib/cli.js";
|
|
6
6
|
import { checkArgs } from "../../lib/args.js";
|
|
7
7
|
import { createOutput } from "../../lib/output.js";
|
|
8
8
|
import { registerCommand } from "../mod.js";
|
|
9
|
-
import { z } from "../../deps/jsr.io/@zod/zod/4.3
|
|
9
|
+
import { z } from "../../deps/jsr.io/@zod/zod/4.4.3/src/index.js";
|
|
10
10
|
import { findRouterApp, getRouterMachineInfo } from "../../util/discovery.js";
|
|
11
11
|
import { getRouterTag } from "../../util/naming.js";
|
|
12
12
|
import { assertAdditivePatch, isAclRuleConfigured, patchAclRule, } from "../../util/tailscale-local.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// Status App — Show App Status
|
|
3
3
|
// =============================================================================
|
|
4
|
-
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.
|
|
4
|
+
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
5
5
|
import { bold } from "../../../lib/cli.js";
|
|
6
6
|
import { checkArgs } from "../../../lib/args.js";
|
|
7
7
|
import { createOutput } from "../../../lib/output.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// Status Command - Show Network, App, and Router Status
|
|
3
3
|
// =============================================================================
|
|
4
|
-
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.
|
|
4
|
+
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
5
5
|
import { bold } from "../../../lib/cli.js";
|
|
6
6
|
import { checkArgs } from "../../../lib/args.js";
|
|
7
7
|
import { registerCommand } from "../../mod.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// Status Network — Show Detailed Status for a Single Network
|
|
3
3
|
// =============================================================================
|
|
4
|
-
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.
|
|
4
|
+
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
5
5
|
import { bold } from "../../../lib/cli.js";
|
|
6
6
|
import { checkArgs } from "../../../lib/args.js";
|
|
7
7
|
import { createOutput } from "../../../lib/output.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// Status Networks — Summary Table of All Networks
|
|
3
3
|
// =============================================================================
|
|
4
|
-
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.
|
|
5
|
-
import { Table } from "../../../deps/jsr.io/@cliffy/table/1.
|
|
4
|
+
import { parseArgs } from "../../../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
5
|
+
import { Table } from "../../../deps/jsr.io/@cliffy/table/1.1.0/mod.js";
|
|
6
6
|
import { bold } from "../../../lib/cli.js";
|
|
7
7
|
import { checkArgs } from "../../../lib/args.js";
|
|
8
8
|
import { createOutput } from "../../../lib/output.js";
|
package/esm/cli/mod.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// CLI Framework - Command Parser and Router
|
|
3
3
|
// =============================================================================
|
|
4
4
|
import * as dntShim from "../_dnt.shims.js";
|
|
5
|
-
import { parseArgs } from "../deps/jsr.io/@std/cli/1.0.
|
|
5
|
+
import { parseArgs } from "../deps/jsr.io/@std/cli/1.0.29/mod.js";
|
|
6
6
|
import { bold, dim } from "../lib/cli.js";
|
|
7
7
|
import denoConfig from "../deno.js";
|
|
8
8
|
// =============================================================================
|
package/esm/deno.js
CHANGED
|
@@ -30,12 +30,16 @@ export declare class TableLayout {
|
|
|
30
30
|
* settings.
|
|
31
31
|
*/
|
|
32
32
|
protected createLayout(): RenderSettings;
|
|
33
|
+
private computeColumnDimensions;
|
|
34
|
+
private applyFlexShrink;
|
|
35
|
+
private applyFlexGrow;
|
|
36
|
+
private resolveColumnWeight;
|
|
33
37
|
/**
|
|
34
38
|
* Fills rows and cols by specified row/col span with a reference of the
|
|
35
39
|
* original cell.
|
|
36
40
|
*/
|
|
37
41
|
protected spanRows(rows: Array<RowType>): Array<Row<Cell>>;
|
|
38
|
-
protected getDeleteCount(rows: Array<Array<unknown>>, rowIndex: number, colIndex: number):
|
|
42
|
+
protected getDeleteCount(rows: Array<Array<unknown>>, rowIndex: number, colIndex: number): 0 | 1;
|
|
39
43
|
/**
|
|
40
44
|
* Create a new row from existing row or cell array.
|
|
41
45
|
* @param row Original row.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_layout.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@cliffy/table/1.1.0/_layout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAkB,MAAM,WAAW,CAAC;AAEhE,OAAO,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAiB,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMtE,8BAA8B;AAC9B,UAAU,cAAc;IACtB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;CACxB;AASD,6BAA6B;AAC7B,qBAAa,WAAW;;IAOpB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IAPjB;;;;OAIG;gBAEO,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,aAAa;IAGhC,6BAA6B;IACtB,QAAQ,IAAI,MAAM;IAKzB;;;;OAIG;IACH,SAAS,CAAC,YAAY,IAAI,cAAc;IA0DxC,OAAO,CAAC,uBAAuB;IAsC/B,OAAO,CAAC,eAAe;IA6CvB,OAAO,CAAC,aAAa;IAsCrB,OAAO,CAAC,mBAAmB;IAwC3B;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IA4D1D,SAAS,CAAC,cAAc,CACtB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAC3B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,CAAC,GAAG,CAAC;IAOR;;;OAGG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;IAM5C;;;;;;;OAOG;IACH,SAAS,CAAC,UAAU,CAClB,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EACjC,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,IAAI;IAcP,OAAO,CAAC,WAAW;IAInB;;;OAGG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM;IAWlD;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,CACjB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,MAAM;IAwET;;;;;;OAMG;IACH,SAAS,CAAC,UAAU,CAClB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EACd,IAAI,EAAE,cAAc,EACpB,QAAQ,CAAC,EAAE,OAAO,GACjB,MAAM;IAqDT;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CACvB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,GAChB;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAgDpC;;;;;;OAMG;IACH,SAAS,CAAC,eAAe,CACvB,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,EAC9B,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,EAC9B,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EACtB,IAAI,EAAE,cAAc,GACnB,MAAM;IA2BT;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,EAC9B,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,EAC9B,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EACtB,IAAI,EAAE,cAAc,GACnB,MAAM;CAoJV"}
|