@ankhorage/infra 7.1.97 → 7.1.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +1 -1
- package/dist/types/infraCli.d.ts +17 -31
- package/dist/types/infraCli.d.ts.map +1 -1
- package/dist/types/infraCli.js.map +1 -1
- package/package.json +7 -7
- package/src/types/infraCli.ts +63 -31
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @ankhorage/infra
|
|
2
2
|
|
|
3
|
+
## 7.1.99
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 43850a8: Update dependencies: `@ankhorage/contracts`, `@ankhorage/utility`, `@ankhorage/local`, `@ankhorage/minikube`.
|
|
8
|
+
|
|
9
|
+
## 7.1.98
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 2595957: Update dependencies: `@ankhorage/ankh`, `@ankhorage/devtools`.
|
|
14
|
+
|
|
3
15
|
## 7.1.97
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
# INFRA
|
|
5
5
|
|
|
6
|
-
         
|
|
7
7
|
|
|
8
8
|
Executable infra provider and standalone CLI for Ankhorage project workflows.
|
|
9
9
|
|
package/dist/types/infraCli.d.ts
CHANGED
|
@@ -1,22 +1,8 @@
|
|
|
1
1
|
import type { AnkhCapabilityId } from '@ankhorage/contracts/cli';
|
|
2
2
|
import type { AppEnvironmentId } from '@ankhorage/contracts/environments';
|
|
3
|
-
import type { InfraEnvironmentSpec } from '@ankhorage/contracts/infra';
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
-
import type { removeStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/removeStoredInfraStateAsync.js';
|
|
7
|
-
import type { writeInfraGeneratedArtifactsAsync } from '../features/environment-lifecycle/adapters/outbound/writeInfraGeneratedArtifactsAsync.js';
|
|
8
|
-
import type { writeProjectEnvironmentOutputsAsync } from '../features/environment-lifecycle/adapters/outbound/writeProjectEnvironmentOutputsAsync.js';
|
|
9
|
-
import type { writeStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/writeStoredInfraStateAsync.js';
|
|
10
|
-
import type { destroyInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/destroyInfraEnvironmentAsync.js';
|
|
11
|
-
import type { downInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/downInfraEnvironmentAsync.js';
|
|
12
|
-
import type { generateInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/generateInfraEnvironmentAsync.js';
|
|
13
|
-
import type { getInfraEnvironmentOutputs } from '../features/environment-lifecycle/application/use-cases/getInfraEnvironmentOutputs.js';
|
|
14
|
-
import type { planInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/planInfraEnvironmentAsync.js';
|
|
15
|
-
import type { statusInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/statusInfraEnvironmentAsync.js';
|
|
16
|
-
import type { upInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/upInfraEnvironmentAsync.js';
|
|
17
|
-
import type { validateInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/validateInfraEnvironmentAsync.js';
|
|
18
|
-
import type { InfraOperationRequest, InfraOrchestrationDependencies, InfraStoredState } from './infraOrchestration.js';
|
|
19
|
-
import type { ResolvedInfraProject } from './infraProject.js';
|
|
3
|
+
import type { InfraEnvironmentSpec, InfraGeneratedArtifact, InfraLedger, InfraOutput } from '@ankhorage/contracts/infra';
|
|
4
|
+
import type { InfraDestroyOperationRequest, InfraDestroyOperationResult, InfraDownOperationResult, InfraGenerateOperationResult, InfraOperationRequest, InfraOrchestrationDependencies, InfraOutputsOperationResult, InfraPlanOperationResult, InfraStatusOperationResult, InfraStoredState, InfraUpOperationResult, InfraValidateOperationResult } from './infraOrchestration.js';
|
|
5
|
+
import type { InfraArtifactWriteResult, ResolvedInfraProject } from './infraProject.js';
|
|
20
6
|
type InfraCommandName = 'validate' | 'plan' | 'generate' | 'up' | 'status' | 'outputs' | 'down' | 'destroy';
|
|
21
7
|
export interface InfraCommandContext {
|
|
22
8
|
readonly cwd: string;
|
|
@@ -53,14 +39,14 @@ export interface InfraCommandInvocation {
|
|
|
53
39
|
readonly context: InfraCommandContext;
|
|
54
40
|
}
|
|
55
41
|
export interface InfraLifecycleOperations {
|
|
56
|
-
readonly validate:
|
|
57
|
-
readonly plan:
|
|
58
|
-
readonly generate:
|
|
59
|
-
readonly up:
|
|
60
|
-
readonly status:
|
|
61
|
-
readonly outputs:
|
|
62
|
-
readonly down:
|
|
63
|
-
readonly destroy:
|
|
42
|
+
readonly validate: (request: InfraOperationRequest, dependencies: InfraOrchestrationDependencies) => Promise<InfraValidateOperationResult>;
|
|
43
|
+
readonly plan: (request: InfraOperationRequest, dependencies: InfraOrchestrationDependencies) => Promise<InfraPlanOperationResult>;
|
|
44
|
+
readonly generate: (request: InfraOperationRequest, dependencies: InfraOrchestrationDependencies) => Promise<InfraGenerateOperationResult>;
|
|
45
|
+
readonly up: (request: InfraOperationRequest, dependencies: InfraOrchestrationDependencies) => Promise<InfraUpOperationResult>;
|
|
46
|
+
readonly status: (request: InfraOperationRequest, dependencies: InfraOrchestrationDependencies) => Promise<InfraStatusOperationResult>;
|
|
47
|
+
readonly outputs: (request: InfraOperationRequest) => InfraOutputsOperationResult;
|
|
48
|
+
readonly down: (request: InfraOperationRequest, dependencies: InfraOrchestrationDependencies) => Promise<InfraDownOperationResult>;
|
|
49
|
+
readonly destroy: (request: InfraDestroyOperationRequest, dependencies: InfraOrchestrationDependencies) => Promise<InfraDestroyOperationResult>;
|
|
64
50
|
}
|
|
65
51
|
interface InfraDependencyScope {
|
|
66
52
|
readonly projectPath: string;
|
|
@@ -71,12 +57,12 @@ export interface InfraCommandServices {
|
|
|
71
57
|
readonly cwd: string;
|
|
72
58
|
readonly projectId?: string;
|
|
73
59
|
}) => Promise<ResolvedInfraProject>;
|
|
74
|
-
readonly readState:
|
|
75
|
-
readonly writeState:
|
|
76
|
-
readonly removeState:
|
|
77
|
-
readonly removeCredentials:
|
|
78
|
-
readonly writeArtifacts:
|
|
79
|
-
readonly writeEnvironmentOutputs:
|
|
60
|
+
readonly readState: (projectPath: string, environment: AppEnvironmentId) => Promise<InfraStoredState | null>;
|
|
61
|
+
readonly writeState: (projectPath: string, state: InfraStoredState) => Promise<void>;
|
|
62
|
+
readonly removeState: (projectPath: string, environment: AppEnvironmentId) => Promise<void>;
|
|
63
|
+
readonly removeCredentials: (projectPath: string, environment: AppEnvironmentId) => Promise<void>;
|
|
64
|
+
readonly writeArtifacts: (projectPath: string, artifacts: readonly InfraGeneratedArtifact[], previous: InfraLedger | undefined) => Promise<InfraArtifactWriteResult>;
|
|
65
|
+
readonly writeEnvironmentOutputs: (projectPath: string, environment: AppEnvironmentId, outputs: readonly InfraOutput[]) => Promise<void>;
|
|
80
66
|
readonly operations: InfraLifecycleOperations;
|
|
81
67
|
readonly createDependencies: (context: InfraCommandContext, scope: InfraDependencyScope) => InfraOrchestrationDependencies;
|
|
82
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infraCli.d.ts","sourceRoot":"","sources":["../../src/types/infraCli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"infraCli.d.ts","sourceRoot":"","sources":["../../src/types/infraCli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infraCli.js","sourceRoot":"","sources":["../../src/types/infraCli.ts"],"names":[],"mappings":"","sourcesContent":["import type { AnkhCapabilityId } from '@ankhorage/contracts/cli';\nimport type { AppEnvironmentId } from '@ankhorage/contracts/environments';\nimport type {
|
|
1
|
+
{"version":3,"file":"infraCli.js","sourceRoot":"","sources":["../../src/types/infraCli.ts"],"names":[],"mappings":"","sourcesContent":["import type { AnkhCapabilityId } from '@ankhorage/contracts/cli';\nimport type { AppEnvironmentId } from '@ankhorage/contracts/environments';\nimport type {\n InfraEnvironmentSpec,\n InfraGeneratedArtifact,\n InfraLedger,\n InfraOutput,\n} from '@ankhorage/contracts/infra';\n\nimport type {\n InfraDestroyOperationRequest,\n InfraDestroyOperationResult,\n InfraDownOperationResult,\n InfraGenerateOperationResult,\n InfraOperationRequest,\n InfraOrchestrationDependencies,\n InfraOutputsOperationResult,\n InfraPlanOperationResult,\n InfraStatusOperationResult,\n InfraStoredState,\n InfraUpOperationResult,\n InfraValidateOperationResult,\n} from './infraOrchestration.js';\nimport type { InfraArtifactWriteResult, ResolvedInfraProject } from './infraProject.js';\n\ntype InfraCommandName =\n 'validate' | 'plan' | 'generate' | 'up' | 'status' | 'outputs' | 'down' | 'destroy';\n\nexport interface InfraCommandContext {\n readonly cwd: string;\n readonly env: Readonly<Record<string, string | undefined>>;\n readonly version: string;\n writeStdout(text: string): void;\n writeStderr(text: string): void;\n}\n\nexport interface InfraCommandRunResult {\n readonly exitCode: number;\n}\n\nexport interface ParsedInfraArguments {\n readonly projectId?: string;\n readonly environment?: AppEnvironmentId;\n readonly format: 'human' | 'json' | 'env';\n readonly confirmation?: string;\n readonly deleteResources: readonly string[];\n}\n\nexport interface InfraCommandRunRequest {\n readonly context: InfraCommandContext;\n readonly arguments: ParsedInfraArguments;\n}\n\ntype InfraCommandImplementation = (\n request: InfraCommandRunRequest,\n services: InfraCommandServices,\n) => Promise<InfraCommandRunResult>;\n\nexport interface InfraCommandDefinition {\n readonly capability: AnkhCapabilityId;\n readonly path: readonly [InfraCommandName];\n readonly standaloneName: InfraCommandName;\n readonly summary: string;\n readonly run: InfraCommandImplementation;\n}\n\nexport interface InfraCommandInvocation {\n readonly argv: readonly string[];\n readonly command: InfraCommandDefinition;\n readonly context: InfraCommandContext;\n}\n\nexport interface InfraLifecycleOperations {\n readonly validate: (\n request: InfraOperationRequest,\n dependencies: InfraOrchestrationDependencies,\n ) => Promise<InfraValidateOperationResult>;\n readonly plan: (\n request: InfraOperationRequest,\n dependencies: InfraOrchestrationDependencies,\n ) => Promise<InfraPlanOperationResult>;\n readonly generate: (\n request: InfraOperationRequest,\n dependencies: InfraOrchestrationDependencies,\n ) => Promise<InfraGenerateOperationResult>;\n readonly up: (\n request: InfraOperationRequest,\n dependencies: InfraOrchestrationDependencies,\n ) => Promise<InfraUpOperationResult>;\n readonly status: (\n request: InfraOperationRequest,\n dependencies: InfraOrchestrationDependencies,\n ) => Promise<InfraStatusOperationResult>;\n readonly outputs: (request: InfraOperationRequest) => InfraOutputsOperationResult;\n readonly down: (\n request: InfraOperationRequest,\n dependencies: InfraOrchestrationDependencies,\n ) => Promise<InfraDownOperationResult>;\n readonly destroy: (\n request: InfraDestroyOperationRequest,\n dependencies: InfraOrchestrationDependencies,\n ) => Promise<InfraDestroyOperationResult>;\n}\n\ninterface InfraDependencyScope {\n readonly projectPath: string;\n readonly environment: AppEnvironmentId;\n}\n\nexport interface InfraCommandServices {\n readonly resolveProject: (options: {\n readonly cwd: string;\n readonly projectId?: string;\n }) => Promise<ResolvedInfraProject>;\n readonly readState: (\n projectPath: string,\n environment: AppEnvironmentId,\n ) => Promise<InfraStoredState | null>;\n readonly writeState: (projectPath: string, state: InfraStoredState) => Promise<void>;\n readonly removeState: (projectPath: string, environment: AppEnvironmentId) => Promise<void>;\n readonly removeCredentials: (projectPath: string, environment: AppEnvironmentId) => Promise<void>;\n readonly writeArtifacts: (\n projectPath: string,\n artifacts: readonly InfraGeneratedArtifact[],\n previous: InfraLedger | undefined,\n ) => Promise<InfraArtifactWriteResult>;\n readonly writeEnvironmentOutputs: (\n projectPath: string,\n environment: AppEnvironmentId,\n outputs: readonly InfraOutput[],\n ) => Promise<void>;\n readonly operations: InfraLifecycleOperations;\n readonly createDependencies: (\n context: InfraCommandContext,\n scope: InfraDependencyScope,\n ) => InfraOrchestrationDependencies;\n}\n\nexport interface RunInfraCommandOptions {\n readonly services?: Partial<InfraCommandServices>;\n}\n\nexport interface CreateInfraRuntimeProviderOptions {\n readonly runCommandImpl?: RunInfraCommandImpl;\n readonly services?: Partial<InfraCommandServices>;\n}\n\nexport type RunInfraCommandImpl = (\n request: InfraCommandInvocation,\n options?: RunInfraCommandOptions,\n) => Promise<InfraCommandRunResult>;\n\nexport interface PreparedInfraCommandOperation {\n readonly project: ResolvedInfraProject;\n readonly state: InfraStoredState | null;\n readonly desired: InfraEnvironmentSpec;\n readonly operation: InfraOperationRequest;\n readonly dependencies: InfraOrchestrationDependencies;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/infra",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "7.1.
|
|
4
|
+
"version": "7.1.99",
|
|
5
5
|
"description": "Project-aware infrastructure generation library and executable Ankh provider for Ankhorage.",
|
|
6
6
|
"homepage": "https://github.com/ankhorage/infra#readme",
|
|
7
7
|
"bugs": {
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"openapi"
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@ankhorage/ankh": "^0.10.
|
|
39
|
-
"@ankhorage/contracts": "^22.8.
|
|
40
|
-
"@ankhorage/utility": "^1.9.
|
|
38
|
+
"@ankhorage/ankh": "^0.10.84",
|
|
39
|
+
"@ankhorage/contracts": "^22.8.99",
|
|
40
|
+
"@ankhorage/utility": "^1.9.82"
|
|
41
41
|
},
|
|
42
42
|
"files": [
|
|
43
43
|
"dist",
|
|
@@ -113,12 +113,12 @@
|
|
|
113
113
|
},
|
|
114
114
|
"devDependencies": {
|
|
115
115
|
"@ankhorage/cerbos": "^0.2.0",
|
|
116
|
-
"@ankhorage/devtools": "^1.
|
|
116
|
+
"@ankhorage/devtools": "^2.1.2",
|
|
117
117
|
"@ankhorage/docker-compose": "^0.5.3",
|
|
118
118
|
"@ankhorage/hetzner": "^0.3.0",
|
|
119
119
|
"@ankhorage/k3s": "^0.4.1",
|
|
120
|
-
"@ankhorage/local": "^0.3.
|
|
121
|
-
"@ankhorage/minikube": "^0.4.
|
|
120
|
+
"@ankhorage/local": "^0.3.7",
|
|
121
|
+
"@ankhorage/minikube": "^0.4.109",
|
|
122
122
|
"@ankhorage/paradox": "^0.2.27",
|
|
123
123
|
"@ankhorage/r2": "^0.2.0",
|
|
124
124
|
"@ankhorage/supabase": "^0.5.14",
|
package/src/types/infraCli.ts
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import type { AnkhCapabilityId } from '@ankhorage/contracts/cli';
|
|
2
2
|
import type { AppEnvironmentId } from '@ankhorage/contracts/environments';
|
|
3
|
-
import type { InfraEnvironmentSpec } from '@ankhorage/contracts/infra';
|
|
4
|
-
|
|
5
|
-
import type { readStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/readStoredInfraStateAsync.js';
|
|
6
|
-
import type { removeStoredInfraCredentialsAsync } from '../features/environment-lifecycle/adapters/outbound/removeStoredInfraCredentialsAsync.js';
|
|
7
|
-
import type { removeStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/removeStoredInfraStateAsync.js';
|
|
8
|
-
import type { writeInfraGeneratedArtifactsAsync } from '../features/environment-lifecycle/adapters/outbound/writeInfraGeneratedArtifactsAsync.js';
|
|
9
|
-
import type { writeProjectEnvironmentOutputsAsync } from '../features/environment-lifecycle/adapters/outbound/writeProjectEnvironmentOutputsAsync.js';
|
|
10
|
-
import type { writeStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/writeStoredInfraStateAsync.js';
|
|
11
|
-
import type { destroyInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/destroyInfraEnvironmentAsync.js';
|
|
12
|
-
import type { downInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/downInfraEnvironmentAsync.js';
|
|
13
|
-
import type { generateInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/generateInfraEnvironmentAsync.js';
|
|
14
|
-
import type { getInfraEnvironmentOutputs } from '../features/environment-lifecycle/application/use-cases/getInfraEnvironmentOutputs.js';
|
|
15
|
-
import type { planInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/planInfraEnvironmentAsync.js';
|
|
16
|
-
import type { statusInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/statusInfraEnvironmentAsync.js';
|
|
17
|
-
import type { upInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/upInfraEnvironmentAsync.js';
|
|
18
|
-
import type { validateInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/validateInfraEnvironmentAsync.js';
|
|
19
3
|
import type {
|
|
4
|
+
InfraEnvironmentSpec,
|
|
5
|
+
InfraGeneratedArtifact,
|
|
6
|
+
InfraLedger,
|
|
7
|
+
InfraOutput,
|
|
8
|
+
} from '@ankhorage/contracts/infra';
|
|
9
|
+
|
|
10
|
+
import type {
|
|
11
|
+
InfraDestroyOperationRequest,
|
|
12
|
+
InfraDestroyOperationResult,
|
|
13
|
+
InfraDownOperationResult,
|
|
14
|
+
InfraGenerateOperationResult,
|
|
20
15
|
InfraOperationRequest,
|
|
21
16
|
InfraOrchestrationDependencies,
|
|
17
|
+
InfraOutputsOperationResult,
|
|
18
|
+
InfraPlanOperationResult,
|
|
19
|
+
InfraStatusOperationResult,
|
|
22
20
|
InfraStoredState,
|
|
21
|
+
InfraUpOperationResult,
|
|
22
|
+
InfraValidateOperationResult,
|
|
23
23
|
} from './infraOrchestration.js';
|
|
24
|
-
import type { ResolvedInfraProject } from './infraProject.js';
|
|
24
|
+
import type { InfraArtifactWriteResult, ResolvedInfraProject } from './infraProject.js';
|
|
25
25
|
|
|
26
26
|
type InfraCommandName =
|
|
27
27
|
'validate' | 'plan' | 'generate' | 'up' | 'status' | 'outputs' | 'down' | 'destroy';
|
|
@@ -71,14 +71,35 @@ export interface InfraCommandInvocation {
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
export interface InfraLifecycleOperations {
|
|
74
|
-
readonly validate:
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
readonly
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
74
|
+
readonly validate: (
|
|
75
|
+
request: InfraOperationRequest,
|
|
76
|
+
dependencies: InfraOrchestrationDependencies,
|
|
77
|
+
) => Promise<InfraValidateOperationResult>;
|
|
78
|
+
readonly plan: (
|
|
79
|
+
request: InfraOperationRequest,
|
|
80
|
+
dependencies: InfraOrchestrationDependencies,
|
|
81
|
+
) => Promise<InfraPlanOperationResult>;
|
|
82
|
+
readonly generate: (
|
|
83
|
+
request: InfraOperationRequest,
|
|
84
|
+
dependencies: InfraOrchestrationDependencies,
|
|
85
|
+
) => Promise<InfraGenerateOperationResult>;
|
|
86
|
+
readonly up: (
|
|
87
|
+
request: InfraOperationRequest,
|
|
88
|
+
dependencies: InfraOrchestrationDependencies,
|
|
89
|
+
) => Promise<InfraUpOperationResult>;
|
|
90
|
+
readonly status: (
|
|
91
|
+
request: InfraOperationRequest,
|
|
92
|
+
dependencies: InfraOrchestrationDependencies,
|
|
93
|
+
) => Promise<InfraStatusOperationResult>;
|
|
94
|
+
readonly outputs: (request: InfraOperationRequest) => InfraOutputsOperationResult;
|
|
95
|
+
readonly down: (
|
|
96
|
+
request: InfraOperationRequest,
|
|
97
|
+
dependencies: InfraOrchestrationDependencies,
|
|
98
|
+
) => Promise<InfraDownOperationResult>;
|
|
99
|
+
readonly destroy: (
|
|
100
|
+
request: InfraDestroyOperationRequest,
|
|
101
|
+
dependencies: InfraOrchestrationDependencies,
|
|
102
|
+
) => Promise<InfraDestroyOperationResult>;
|
|
82
103
|
}
|
|
83
104
|
|
|
84
105
|
interface InfraDependencyScope {
|
|
@@ -91,12 +112,23 @@ export interface InfraCommandServices {
|
|
|
91
112
|
readonly cwd: string;
|
|
92
113
|
readonly projectId?: string;
|
|
93
114
|
}) => Promise<ResolvedInfraProject>;
|
|
94
|
-
readonly readState:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
readonly
|
|
99
|
-
readonly
|
|
115
|
+
readonly readState: (
|
|
116
|
+
projectPath: string,
|
|
117
|
+
environment: AppEnvironmentId,
|
|
118
|
+
) => Promise<InfraStoredState | null>;
|
|
119
|
+
readonly writeState: (projectPath: string, state: InfraStoredState) => Promise<void>;
|
|
120
|
+
readonly removeState: (projectPath: string, environment: AppEnvironmentId) => Promise<void>;
|
|
121
|
+
readonly removeCredentials: (projectPath: string, environment: AppEnvironmentId) => Promise<void>;
|
|
122
|
+
readonly writeArtifacts: (
|
|
123
|
+
projectPath: string,
|
|
124
|
+
artifacts: readonly InfraGeneratedArtifact[],
|
|
125
|
+
previous: InfraLedger | undefined,
|
|
126
|
+
) => Promise<InfraArtifactWriteResult>;
|
|
127
|
+
readonly writeEnvironmentOutputs: (
|
|
128
|
+
projectPath: string,
|
|
129
|
+
environment: AppEnvironmentId,
|
|
130
|
+
outputs: readonly InfraOutput[],
|
|
131
|
+
) => Promise<void>;
|
|
100
132
|
readonly operations: InfraLifecycleOperations;
|
|
101
133
|
readonly createDependencies: (
|
|
102
134
|
context: InfraCommandContext,
|