You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -960,3 +999,22 @@ if ("java-on-aws-immersion-day".equals(templateType) || "java-on-amazon-eks".equ
960
999
#### Property 34: Construct Simplification
961
1000
*For any* Unicorn or JvmAnalysis construct, it should not create explicit ECR repositories when EcrRegistry is present
962
1001
**Validates: Requirements 28.1, 28.2, 28.3**
1002
+
1003
+
1004
+
### Correctness Properties for Shared Functions
1005
+
1006
+
#### Property 35: Shared Functions Sourcing
1007
+
*For any* IDE script (bootstrap.sh, vscode.sh, code-editor.sh, tools.sh), it should source functions.sh for shared helper functions
1008
+
**Validates: Requirements 30.1**
1009
+
1010
+
#### Property 36: Environment Variable Sourcing
1011
+
*For any* script that needs AWS variables (AWS_REGION, ACCOUNT_ID), it should source /etc/profile.d/workshop.sh instead of re-fetching from metadata or API
1012
+
**Validates: Requirements 30.4, 31.1, 31.2**
1013
+
1014
+
#### Property 37: Docker Installation Timing
1015
+
*For any* bootstrap execution, Docker should be installed before IDE setup so that IDE services inherit docker group membership without requiring restart
1016
+
**Validates: Requirements 30.5**
1017
+
1018
+
#### Property 38: Consistent Variable Naming
1019
+
*For any* script referencing AWS region, it should use AWS_REGION variable name (not REGION) for consistency
Copy file name to clipboardExpand all lines: .kiro/specs/infra/requirements.md
+23Lines changed: 23 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -383,3 +383,26 @@ This document specifies the requirements for creating a new AWS workshop infrast
383
383
384
384
1. THE Repository_Creation_Template SHALL apply an "Environment" tag with value "workshop" to all created repositories
385
385
2. THE Repository_Creation_Template SHALL apply a "ManagedBy" tag with value "ecr-create-on-push" to all created repositories
386
+
387
+
388
+
### Requirement 30
389
+
390
+
**User Story:** As a workshop developer, I want shared helper functions across all IDE scripts, so that I can maintain consistent error handling, logging, and retry logic without code duplication.
391
+
392
+
#### Acceptance Criteria
393
+
394
+
1. WHEN IDE scripts execute, THE system SHALL source a shared functions.sh file for common helper functions
395
+
2. WHEN retry operations are needed, THE system SHALL use retry_command with configurable attempts, delay, and failure mode
396
+
3. WHEN tools are installed, THE system SHALL use install_with_version to log tool name and version consistently
397
+
4. WHEN AWS variables are needed, THE system SHALL source /etc/profile.d/workshop.sh instead of re-fetching from metadata/API
398
+
5. WHEN Docker is installed, THE system SHALL install it in bootstrap.sh before IDE setup so services inherit docker group membership
399
+
400
+
### Requirement 31
401
+
402
+
**User Story:** As a workshop developer, I want consistent AWS variable naming across all scripts, so that I can avoid confusion between different variable names for the same values.
403
+
404
+
#### Acceptance Criteria
405
+
406
+
1. WHEN AWS region is referenced, THE system SHALL use AWS_REGION variable name consistently (not REGION)
407
+
2. WHEN AWS account ID is referenced, THE system SHALL use ACCOUNT_ID variable name consistently
408
+
3. WHEN workshop.sh is created, THE system SHALL set AWS_REGION, AWS_DEFAULT_REGION, ACCOUNT_ID, and AWS_ACCOUNT_ID for compatibility
Copy file name to clipboardExpand all lines: .kiro/specs/java25-spring-modernization/requirements.md
+14-1Lines changed: 14 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -229,7 +229,20 @@ When a Java/Spring developer sees this application, they should think:
229
229
6. THE pom.xml SHALL be organized with sortpom plugin for consistent dependency ordering
230
230
7. THE application.yaml SHALL be organized with logical sections and explanatory comments
231
231
232
-
### Requirement 19: Clean Configuration for Microservices
232
+
### Requirement 19: Standardized Container Base Images
233
+
234
+
**User Story:** As a workshop attendee, I want consistent container base images across all Dockerfiles, so that I can fairly compare optimization techniques and have predictable behavior.
235
+
236
+
#### Acceptance Criteria
237
+
238
+
1. ALL Dockerfiles SHALL use `public.ecr.aws/docker/library/maven:3-amazoncorretto-25-al2023` as the builder image
239
+
2. ALL Dockerfiles SHALL use `public.ecr.aws/docker/library/amazoncorretto:25-al2023` as the runner image
240
+
3. THE Jib plugin in pom.xml SHALL use `public.ecr.aws/docker/library/amazoncorretto:25-al2023` as the base image
241
+
4. WHEN CRaC is used, THE Dockerfile SHALL use `azul/zulu-openjdk:25-jdk-crac-latest` (exception - CRaC requires special JVM)
242
+
5. WHEN GraalVM native image is built, THE Dockerfile SHALL use Mandrel builder image (exception - native compilation)
243
+
6. THE standardization SHALL enable fair comparison of image sizes across optimization techniques
244
+
245
+
### Requirement 20: Clean Configuration for Microservices
233
246
234
247
**User Story:** As a workshop attendee, I want to see production-ready microservice configuration, so that I can understand best practices for containerized Java applications.
0 commit comments