Skip to content

Commit 1265818

Browse files
committed
docs: remove reference to multi-cloud
1 parent da5d189 commit 1265818

File tree

1 file changed

+46
-52
lines changed

1 file changed

+46
-52
lines changed

docs/architecture/deploy.md

Lines changed: 46 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -11,41 +11,41 @@ graph TB
1111
subgraph "Command Layer"
1212
CLI[deploy command<br/>cmd/deploy.go]
1313
end
14-
14+
1515
subgraph "Core Deploy Module"
1616
DI[Deployer Interface<br/>deployer.go]
1717
SD[StackDeployer<br/>deployer.go]
18-
18+
1919
subgraph "Deployment Strategies"
2020
NS[New Stack Creation<br/>deployNewStack()]
2121
CS[Changeset Deployment<br/>deployWithChangeSet()]
2222
end
23-
23+
2424
subgraph "Validation"
2525
TV[Template Validator<br/>ValidateTemplate()]
2626
end
2727
end
28-
28+
2929
subgraph "External Dependencies"
3030
AWS[AWS CloudFormation<br/>internal/aws]
3131
DIFF[Diff Engine<br/>internal/diff]
3232
PROMPT[User Prompt<br/>internal/prompt]
3333
CFG[Configuration<br/>internal/config]
3434
RES[Stack Resolver<br/>internal/resolve]
3535
end
36-
36+
3737
CLI --> DI
3838
DI --> SD
3939
SD --> NS
4040
SD --> CS
4141
SD --> TV
42-
42+
4343
SD --> AWS
4444
CS --> DIFF
4545
SD --> PROMPT
4646
CLI --> CFG
4747
CLI --> RES
48-
48+
4949
DIFF --> AWS
5050
```
5151

@@ -65,13 +65,13 @@ classDiagram
6565
+deployWithConfig() error
6666
+handleMultipleStacks() error
6767
}
68-
68+
6969
class Deployer {
7070
<<interface>>
7171
+DeployStack(ctx, stack) error
7272
+ValidateTemplate(ctx, templateFile) error
7373
}
74-
74+
7575
DeployCommand --> Deployer
7676
```
7777

@@ -93,7 +93,7 @@ classDiagram
9393
+DeployStack(ctx, stack) error
9494
+ValidateTemplate(ctx, templateFile) error
9595
}
96-
96+
9797
class StackDeployer {
9898
-awsClient: Client
9999
+DeployStack(ctx, stack) error
@@ -102,7 +102,7 @@ classDiagram
102102
-deployWithChangeSet(ctx, stack) error
103103
-readTemplateFile(filename) string
104104
}
105-
105+
106106
Deployer <|-- StackDeployer
107107
```
108108

@@ -121,7 +121,7 @@ stateDiagram-v2
121121
CheckStackExists --> NewStack: Stack doesn't exist
122122
CheckStackExists --> ExistingStack: Stack exists
123123
CheckStackExists --> Error: AWS Error
124-
124+
125125
NewStack --> ValidateTemplate: Direct creation path
126126
ValidateTemplate --> ShowPreview: Template valid
127127
ShowPreview --> ConfirmCreation: User review
@@ -130,15 +130,15 @@ stateDiagram-v2
130130
CreateStack --> MonitorEvents: Creation initiated
131131
MonitorEvents --> Success: Creation complete
132132
MonitorEvents --> Error: Creation failed
133-
133+
134134
ExistingStack --> GenerateDiff: Changeset path
135135
GenerateDiff --> ShowChanges: Changes detected
136136
GenerateDiff --> NoChanges: No changes
137137
ShowChanges --> ConfirmChanges: User review
138138
ConfirmChanges --> ExecuteChangeSet: User confirms
139139
ConfirmChanges --> Cancel: User cancels
140140
ExecuteChangeSet --> MonitorEvents: Update initiated
141-
141+
142142
Success --> [*]
143143
Cancel --> [*]
144144
Error --> [*]
@@ -153,23 +153,23 @@ classDiagram
153153
-awsClient: Client
154154
+DeployStack() error
155155
}
156-
156+
157157
class DiffEngine {
158158
+DiffStack() Result
159159
+KeepChangeSet: bool
160160
}
161-
161+
162162
class UserPrompt {
163163
+Confirm(message) bool
164164
}
165-
165+
166166
class AWSClient {
167167
+StackExists() bool
168168
+DeployStackWithCallback() error
169169
+ExecuteChangeSet() error
170170
+WaitForStackOperation() error
171171
}
172-
172+
173173
StackDeployer --> DiffEngine: For existing stacks
174174
StackDeployer --> UserPrompt: Confirmation required
175175
StackDeployer --> AWSClient: All AWS operations
@@ -187,22 +187,22 @@ sequenceDiagram
187187
participant Deployer as Stack Deployer
188188
participant Prompt as User Prompt
189189
participant AWS as AWS Client
190-
190+
191191
CLI->>Resolver: Resolve stack configuration
192192
Resolver->>CLI: ResolvedStack
193-
193+
194194
CLI->>Deployer: DeployStack(resolved)
195195
Deployer->>AWS: StackExists(stackName)
196196
AWS->>Deployer: false (new stack)
197-
197+
198198
Deployer->>Deployer: Show creation preview
199199
Note over Deployer: Display stack info:<br/>- Name<br/>- Parameters<br/>- Tags
200-
200+
201201
Deployer->>Prompt: Confirm("Apply changes?")
202202
Prompt->>User: Interactive confirmation
203203
User->>Prompt: Yes/No
204204
Prompt->>Deployer: Confirmation result
205-
205+
206206
alt User Confirms
207207
Deployer->>AWS: DeployStackWithCallback(input, eventCallback)
208208
AWS->>Deployer: Stack events (streaming)
@@ -223,11 +223,11 @@ sequenceDiagram
223223
participant Diff as Diff Engine
224224
participant Prompt as User Prompt
225225
participant AWS as AWS Client
226-
226+
227227
CLI->>Deployer: DeployStack(resolved)
228228
Deployer->>AWS: StackExists(stackName)
229229
AWS->>Deployer: true (existing stack)
230-
230+
231231
Deployer->>Diff: DiffStack(stack, {KeepChangeSet: true})
232232
Diff->>AWS: CreateChangeSet()
233233
AWS->>Diff: ChangeSetID
@@ -236,16 +236,16 @@ sequenceDiagram
236236
Diff->>AWS: DescribeChangeSet()
237237
AWS->>Diff: Change details
238238
Diff->>Deployer: Result with kept changeset
239-
239+
240240
alt Has Changes
241241
Deployer->>Deployer: Display formatted changes
242242
Note over Deployer: Show complete diff:<br/>- Template changes<br/>- Parameter changes<br/>- Tag changes<br/>- Resource impacts
243-
243+
244244
Deployer->>Prompt: Confirm("Apply changes?")
245245
Prompt->>User: Interactive confirmation
246246
User->>Prompt: Yes/No
247247
Prompt->>Deployer: Confirmation result
248-
248+
249249
alt User Confirms
250250
Deployer->>AWS: ExecuteChangeSet(changeSetID)
251251
AWS->>Deployer: Execution started
@@ -350,36 +350,36 @@ graph TD
350350
B -->|Error| C[AWS Connection Error]
351351
B -->|No| D[New Stack Path]
352352
B -->|Yes| E[Changeset Path]
353-
353+
354354
D --> F{Template Valid?}
355355
F -->|No| G[Template Validation Error]
356356
F -->|Yes| H[Show Preview]
357-
357+
358358
E --> I{Generate Changeset}
359359
I -->|Error| J[Changeset Creation Error]
360360
I -->|Success| K{Has Changes?}
361-
361+
362362
K -->|No| L[No Changes - Exit Clean]
363363
K -->|Yes| M[Show Changes]
364-
364+
365365
H --> N{User Confirms?}
366366
M --> N
367367
N -->|No| O[User Cancelled]
368368
N -->|Yes| P[Execute Deployment]
369-
369+
370370
P --> Q{Deployment Success?}
371371
Q -->|Yes| R[Success - Cleanup Resources]
372372
Q -->|No| S[Deployment Failed]
373-
373+
374374
C --> T[Log AWS Error + Exit]
375375
G --> U[Log Template Error + Exit]
376376
J --> V[Log Changeset Error + Exit]
377377
O --> W[Log Cancellation + Exit]
378378
S --> X[Log Deployment Error + Exit]
379-
379+
380380
L --> Y[Exit Success]
381381
R --> Y
382-
382+
383383
T --> Z[Error Exit Code]
384384
U --> Z
385385
V --> Z
@@ -425,12 +425,12 @@ graph TB
425425
D[Progress Monitoring<br/>Real-time Feedback]
426426
E[Resource Cleanup<br/>Automatic Tidying]
427427
end
428-
428+
429429
subgraph "Deployment Types"
430430
F[New Stack Creation]
431431
G[Existing Stack Updates]
432432
end
433-
433+
434434
A --> F
435435
A --> G
436436
B --> G
@@ -500,21 +500,21 @@ graph LR
500500
C[Error Handling Tests]
501501
D[Template Validation Tests]
502502
end
503-
503+
504504
subgraph "Integration Tests"
505505
E[AWS Client Integration]
506506
F[Diff Engine Integration]
507507
G[Prompt System Integration]
508508
H[End-to-End Deploy Tests]
509509
end
510-
510+
511511
subgraph "Mock Infrastructure"
512512
I[Mock AWS Client]
513513
J[Mock Diff Engine]
514514
K[Mock Prompt System]
515515
L[Mock Stack Resolver]
516516
end
517-
517+
518518
A --> I
519519
B --> I
520520
C --> I
@@ -587,16 +587,16 @@ sequenceDiagram
587587
participant D as Deployer
588588
participant AWS as AWS CloudFormation
589589
participant UI as User Interface
590-
590+
591591
D->>AWS: Start deployment operation
592592
AWS->>D: Operation initiated
593-
593+
594594
loop Event Streaming
595595
AWS->>D: StackEvent
596596
D->>UI: Formatted progress update
597597
Note over UI: Timestamp: 15:04:05<br/>AWS::S3::Bucket: CREATE_IN_PROGRESS<br/>MyBucket
598598
end
599-
599+
600600
AWS->>D: Operation complete
601601
D->>UI: Final status
602602
```
@@ -689,19 +689,13 @@ sequenceDiagram
689689
- Deployment approval workflows
690690
- Integration with external approval systems
691691

692-
4. **Multi-Cloud Support**
693-
- Terraform provider integration
694-
- Azure Resource Manager support
695-
- Google Cloud Deployment Manager support
696-
- Cross-cloud dependency management
697-
698692
### Extension Points
699693

700694
The architecture provides clear extension points through interfaces:
701695

702696
- `Deployer` interface - Alternative deployment engines
703697
- Event callback system - Custom progress monitoring
704-
- Confirmation system - Integration with external approval workflows
698+
- Confirmation system - Integration with external approval workflows
705699
- Template validation - Custom validation rules and policies
706700

707701
### Architectural Principles for Extensions
@@ -712,4 +706,4 @@ The architecture provides clear extension points through interfaces:
712706
4. **Error Context Preservation** - Rich error information without data exposure
713707
5. **Resource Lifecycle Management** - Automatic cleanup and resource management
714708

715-
This modular design ensures the deployment functionality can evolve to support complex enterprise requirements while maintaining simplicity for basic use cases.
709+
This modular design ensures the deployment functionality can evolve to support complex enterprise requirements while maintaining simplicity for basic use cases.

0 commit comments

Comments
 (0)