UNPKG

@cto.ai/ops

Version:

💻 CTO.ai - The CLI built for Teams 🚀

119 lines (118 loc) • 2.97 kB
import { COMMAND_TYPE, WORKFLOW_TYPE, GLUECODE_TYPE, JOB_TYPE, SERVICE_TYPE, PIPELINE_TYPE } from '../constants/opConfig'; export interface OpsYmlEnvVar { configs?: string[]; secrets?: string[]; static?: string[]; } export interface OpsYml { version: string; ops: OpCommand[]; pipelines: OpPipeline[]; workflows: OpWorkflow[]; services: OpService[]; } export declare function instanceOfOpWorkflow(object: any): object is OpWorkflow; export interface OpBase { name: string; version: string; } export interface OpCommand extends BaseFields { type: COMMAND_TYPE | GLUECODE_TYPE | JOB_TYPE | SERVICE_TYPE; run: string; sdk?: string; bind: string[]; network?: string; src: string[]; mountCwd: boolean; mountHome: boolean; port: string[]; image: string | void; domain: string | void; } export declare function instanceOfOpPipeline(object: any): object is OpPipeline; export type Ops = (OpCommand | OpPipeline)[]; export interface OpPipeline extends BaseFields { type: PIPELINE_TYPE; version: string; name: string; public?: boolean; remote?: boolean; jobs: OpJob[]; id: string; description: string; teamName: string; env?: OpsYmlEnvVar; events?: string[]; trigger?: string[]; bind?: string[]; linkedCommandsNames?: string[]; } export interface OpJob { packages: string[]; name: string; sdk?: string; version: string; description: string; steps: string[]; env?: OpsYmlEnvVar; bind?: string[]; linked: boolean; params?: string[]; } export interface OpService { type: SERVICE_TYPE; name: string; version: string; description: string; public?: boolean; isPublic?: boolean; port: number; run: string; sdk?: string; domain?: string; env?: OpsYmlEnvVar; events?: string[]; trigger?: string[]; } export declare const convertServicesToOps: (services: OpService[]) => OpCommand[]; export declare const checkAndApplyLatestSDKVersion: (commands: OpCommand[]) => OpCommand[]; export interface OpWorkflow extends BaseFields { type: WORKFLOW_TYPE; remote: boolean; steps: string[]; bind?: string[]; linkedCommandsNames?: string[]; } interface BaseFields { name: string; version: string; platformVersion: string; description: string; publishDescription?: string; env?: string[] | OpsYmlEnvVar; runId: string; opsHome: string; configDir: string; stateDir: string; localStateDir: string; teamID?: string; teamName: string; help: { usage: string; arguments: { [key: string]: string; }; options: { [key: string]: string; }; }; isPublic: boolean; isPublished?: boolean; id: string; createdAt: string; updatedAt: string; local?: boolean; events?: string[]; trigger?: string[]; } export {};