UNPKG

@topgroup/diginext

Version:

A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.

558 lines 11.8 kB
import type { IApp, IFramework, IGitProvider, IProject, IUser, IWorkspace } from "../entities"; import type { GitProviderType, ResourceQuotaSize } from "./SystemTypes"; /** * Các giá trị đầu vào của CLI */ export type InputOptions = { /** * For testing purpose * - Flags: `--debug` */ isDebugging?: boolean; /** * Follow the output logs until the command is finished. * - Flags: `--tail` */ isTail?: boolean; /** * Tracking information */ statistics?: { author?: string; startTime?: Date; endTime?: Date; }; /** * Continuous integration (CI) flag * - Flag: `--ci`, `--no-ci` * @default false */ ci?: boolean; /** * Define if the command was executed on local machine or server machine * - Flags: `--local` */ isLocal?: boolean; /** * Version string * - Flags: `--version`, `-v` */ version?: string; /** * Ownership */ author?: IUser; username?: string; userId?: string; workspace?: IWorkspace; workspaceId?: string; /** * User input organization. Used in: * - Container registry commands * - Git provider commands */ org?: string; /** * User input username * - Flags: `--user` */ user?: string; /** * User input password * - Flags: `--pass` */ pass?: string; /** * User input email * - Flags: `--email` */ email?: string; /** * User input server * - Flags: `--server` */ server?: string; /** * Auth input name * - Flags: `--auth` */ auth?: string; /** * User input name * - Flags: `--name` */ name?: string; /** * {App} slug * - Flags: `--slug` */ slug?: string; /** * Flag: `-i`, `--input` */ input?: string; /** * */ data?: string; /** * User access token * Flag: `--token` */ token?: string; /** * User refresh token */ refreshToken?: string; /** * API access token * - Flag: `--api-key`, `--api-token` */ apiToken?: string; /** * Flag: `--key`, `--token` */ key?: string; /** * Flag: `--val`, `--value` */ value?: string; /** * Flag: `-f`, `--file` */ filePath?: string; /** * - Flags: `--path` * */ path?: string; /** * - Flags: `--url` * */ url?: string; /** * - Flags: `--host` * */ host?: string; /** * Location where the CLI command point to. * - Flags: `--dir`, `--targetDir` */ targetDirectory?: string; /** * Git repo URL * @example https://github.com/digitopvn/diginext */ repoURL?: string; /** * Git repo SSH url * @example git@github.com:digitopvn/diginext.git */ repoSSH?: string; /** * Git repo slug */ repoSlug?: string; /** * */ SOCKET_ROOM?: string; /** * Framework */ framework?: IFramework; /** * Version of the framework */ frameworkVersion?: string; /** * - Flags: `--force`, `--overwrite` * @default false */ overwrite?: boolean; /** * DX command's action level 1 */ action?: string; /** * DX command's action level 2 */ secondAction?: string; /** * DX command's action level 3 */ thirdAction?: string; /** * DX command's action level 4 */ fourAction?: string; /** * DX command's action level 5 */ fifthAction?: string; /** * Specify environment code: * - One of: `dev, prod, staging,...` * - Flags: `--env` * @default "dev" */ env?: "dev" | "prod" | "staging" | string; /** * List of deploy environment codes * @default ["dev"] */ envs?: ("dev" | "prod" | "staging" | string)[]; /** * - Flags: `--dev` * @type {Boolean} * @default true */ isDev?: boolean; /** * - Flags: `--staging` * @type {Boolean} * @default false */ isStaging?: boolean; /** * - Flags: `--prod` * @type {Boolean} * @default false */ isProd?: boolean; production?: boolean; /** * - Flags: `--canary` * @type {Boolean} * @default false */ isCanary?: boolean; /** * Should compress the files */ optimize?: boolean; /** * - Flags: `--ssl`, `--no-ssl` * @type {Boolean} * @default true */ ssl?: boolean; /** * - Flags: `--healthz` (default "/"), `--no-healthz`, `--healthz=/custom/path` * @default "/" */ healthz?: string | null; /** * Should skip creating new directory while creating project * @default false */ skipCreatingDirectory?: boolean; /** * @default false * Should show input options while executing the command [for DEBUGGING] */ shouldShowInputOptions?: boolean; /** * - Flags: `--help`, `-h` * @type {Boolean} * @default false */ shouldShowHelp?: boolean; /** * - Flags: `--version`, `-v` * @type {Boolean} * @default false */ shouldShowVersion?: boolean; /** * - Flags: `--update`, `-U` * Should update CLI version before running the command * @type {Boolean} * @default false */ shouldUpdateCli?: boolean; /** * @deprecated * ### This is required now! * --- * Enable GIT when create new or initialize app * @default true */ shouldUseGit?: boolean; /** * @type {Boolean} * @default false */ shouldCompress?: boolean; /** * @type {Boolean} * @default false */ shouldGenerate?: boolean; /** * - Flags: `--template` * @type {Boolean} * @default false */ shouldUseTemplate?: boolean; /** * - Flags: `--merge` * @type {Boolean} * @default false */ shouldMerge?: boolean; /** * - Flags: `--inherit` * @type {Boolean} * @default true */ shouldInherit?: boolean; /** * @deprecated */ shouldUpdatePipeline?: boolean; /** * Should install NPM packages locally after creating new project * @default true */ shouldInstallPackage?: boolean; /** * - Flags: `--close` * @default true */ shouldClose?: boolean; /** * [Use when deploying an app] Force upload local DOTENV file to deployed environment. * - Flags: `--upload-env` * @default false */ shouldUploadDotenv?: boolean; /** * [Use when deploying an app] Should enable CDN for this app * - Flags: `--cdn` * @default false */ shouldEnableCDN?: boolean; /** * Should create something * - Flags: `--create` * @example * - Create "imagePullSecrets" in a namespace * @default false */ shouldCreate?: boolean; /** * Should apply something * - Flags: `--apply` */ shouldApply?: boolean; /** * Should roll out release (skip `prerelease` environment) * - Flags: `--rollout` * @default false */ shouldRollOut?: boolean; /** * ! Should deploy app from a fresh namespace * - Flags: `--fresh` * ## [WARNING] * - **With this flag enabled, the server will wipe out all current deployments within the target namespace, then deploy your app completely from scratch!** * - Use at your own risk, make sure you understand what you're doing, double check the namespace before deploying to avoid accidently take down other apps. */ shouldUseFreshDeploy?: boolean; /** * Content of the deployment yaml (Namespace, Ingress, Service, Deploy,...) */ deployYaml?: string; /** * - Flags: `--port` * @type {Number} */ port?: number; /** * - Flags: `--replicas` * @type {Number} */ replicas?: number; /** * Project */ project?: IProject; /** * ID of the {Project} * - [WARN] This is NOT a {PROJECT_ID} of Google Cloud platform! */ projectId?: string; /** * {Project} slug * - Flags: `--projectSlug` */ projectSlug?: string; /** * {Project} name * - Flags: `--projectName` */ projectName?: string; /** * Kubernetes namespace * - Flags: `--namespace` */ namespace?: string; /** * Application's domain * - Flags: `--domain` * @example "myapp.example.com" */ domain?: boolean | string; /** * @type {Boolean} * @default false */ printSuccess?: boolean; /** * Git repository access policy, default is PRIVATE. * - Flags: `--public` * * @type {Boolean} * @default false */ isPublic?: boolean; /** * - Flags: `--redirect` * * @type {Boolean} * @default false */ redirect?: boolean; /** * Build directory */ buildDir?: string; /** * Build tag */ buildTag?: string; /** * Build image */ buildImage?: string; /** * - Flags: `--image` */ imageURL?: string; /** * */ buildId?: string; /** * - Flags: `--size` * * @default "1x" */ size?: ResourceQuotaSize; /** * Specify an {App} instance */ app?: IApp; /** * ID of an {App} instance */ appId?: string; /** * Slug of an {App} instance * - Flags: `--appSlug` */ appSlug?: string; /** * Cluster's slug. For deploy to specific cluster. * - Flags: `--cluster` */ cluster?: string | boolean; /** * [GOOGLE CLOUD] Specify a zone of your cluster */ zone?: string; /** * [GOOGLE CLOUD] Specify a region of your cluster */ region?: string; /** * Cloud provider * - Flag: `--provider`, `--pro` * @type {"gcloud" | "digitalocean" | "custom"} * @default "custom" */ provider?: string; /** * Container Registry's slug * - Flag: `-r`, `--registry` */ registry?: string | boolean; /** * Git provider * - Flag: `--git` */ git?: IGitProvider; /** * Git provider type * - Flag: `--gp`, `--git-provider` * @example "github", "bitbucket" */ gitProvider?: GitProviderType; /** * A slug of git workspace * - Flag: `--org`, `--git-org` */ gitOrg?: string; /** * Specify a git branch * - Flags: `--branch`, `--git-branch` */ gitBranch?: string; /** * `PROJECT_ID` trên provider (GCP hoặc DO) */ providerProject?: string; /** * Flag: `-o`, `--output` * @default "string" * @example "string" | "json" | "yaml" */ output?: string; /** * Output directory location. * @default "string" * @example "/path/to/output/" */ outputDir?: any; /** * Output file name. * @default "string" * @example "output.txt" */ outputName?: any; /** * Output path (include directory path + file name). * @default "string" * @example "/path/to/output.file" */ outputPath?: any; /** * @deprecated */ stagingDomains?: string[]; /** * @deprecated */ prodDomains?: string[]; /** * Used in request build/deployment * - Flag: `-m`, `--message` * @example "v1.0.0" */ message?: string; }; export default InputOptions; //# sourceMappingURL=InputOptions.d.ts.map