|
216 | 216 | - Added Kubernetes tools (kubectl 1.34.2, Helm 3.19.3, eks-node-viewer, k9s, e1s) |
217 | 217 | - Integrated container tools (Docker, SOCI snapshotter 0.12.0) with proper configuration |
218 | 218 | - Added AWS tools (SAM CLI, Session Manager Plugin) and utilities (jq, yq 4.49.2) |
| 219 | + - Added kubectl alias 'k' for convenience in base.sh |
219 | 220 | - Implemented comprehensive error handling and logging for all tool installations |
220 | | - - _Requirements: 6.4, 6.7_ |
| 221 | + - _Requirements: 6.4, 6.7, 18.5_ |
221 | 222 |
|
222 | 223 | - [x] 11.10 Fix CloudFormation signaling permissions |
223 | 224 | - Added cloudformation:SignalResource permission to IDE instance IAM role |
|
371 | 372 | - Reference unicorn-roles-analysis.md for IAM role requirements |
372 | 373 | - _Requirements: 5.4, 5.5_ |
373 | 374 |
|
374 | | -- [ ] 100.2 Create EKS construct |
375 | | - - Create infra/cdk/src/main/java/sample/com/constructs/Eks.java |
376 | | - - Copy and refactor infrastructure/cdk/src/main/java/com/unicorn/constructs/EksCluster.java |
377 | | - - Update to use EKS AutoMode and integrate with new Vpc and Roles constructs |
378 | | - - Implement unicorn EKS roles: cluster-role, node-role, pod-role, eso-role, eso-sm-role (see unicorn-roles-analysis.md) |
379 | | - - Remove workshop-specific customizations, keep generic EKS setup |
380 | | - - _Requirements: 5.6_ |
381 | | - |
382 | | -- [ ] 100.3 Create Database construct with universal naming |
| 375 | +- [ ] 100.2 Create EKS construct using EKS v2 with Auto Mode |
| 376 | + - Create infra/cdk/src/main/java/sample/com/constructs/Eks.java using software.amazon.awscdk.services.eks.v2.alpha |
| 377 | + - Configure workshop-cluster with Auto Mode, version 1.34, system+general-purpose node pools |
| 378 | + - Add 3 EKS add-ons: AWS Secrets Store CSI Driver, AWS Mountpoint S3 CSI Driver, EKS Pod Identity Agent |
| 379 | + - Create Access Entry for WSParticipantRole AND IDE instance role with cluster admin permissions |
| 380 | + - Use Access Entries authentication mode instead of ConfigMap-based authentication |
| 381 | + - Enable all log types (api, audit, authenticator, controllerManager, scheduler) for comprehensive monitoring |
| 382 | + - EKS cluster should depend only on VPC for parallel deployment with Database |
| 383 | + - _Requirements: 13.1, 13.2, 13.3, 13.4, 13.7, 13.8, 15.3, 15.5, 15.6, 19.1_ |
| 384 | + |
| 385 | +- [x] 100.3 Create Database construct with universal naming |
383 | 386 | - Create infra/cdk/src/main/java/sample/com/constructs/Database.java |
384 | 387 | - Copy and refactor database setup from infrastructure/cdk/src/main/java/com/unicorn/core/DatabaseSetup.java |
385 | 388 | - Update all database resource names to use "workshop-" prefix: cluster, writer, security group, subnet group |
|
392 | 395 | - Consolidate RDS and database schema setup into single construct |
393 | 396 | - _Requirements: 5.6, 12.1, 12.2, 12.3, 12.4, 12.5, 12.6_ |
394 | 397 |
|
395 | | -- [ ] 100.4 Update WorkshopStack for java-on-aws |
396 | | - - Add conditional EKS creation: if (!"base".equals(workshopType) && !"java-ai-agents".equals(workshopType)) |
397 | | - - Database already conditionally created for non-base templates (same as Roles) |
398 | | - - Test WORKSHOP_TYPE=java-on-aws generates template with all required resources |
399 | | - - Validate generated template matches existing unicornstore-stack.yaml functionality |
400 | | - - _Requirements: 1.2, 5.5_ |
401 | | - |
402 | | -- [ ] 100.5 Migrate java-on-aws setup scripts |
403 | | - - Copy and refactor infrastructure/scripts/setup/eks.sh to infra/scripts/setup/eks.sh |
404 | | - - Copy and refactor infrastructure/scripts/setup/app.sh to infra/scripts/setup/app.sh |
405 | | - - Copy and refactor infrastructure/scripts/setup/monitoring.sh to infra/scripts/setup/monitoring.sh |
406 | | - - Update all scripts with emoji-based logging and consistent error handling |
407 | | - - _Requirements: 3.3, 5.7_ |
| 398 | +- [x] 100.4 Update WorkshopStack for java-on-aws with EKS integration (Database part complete) |
| 399 | + - Database already conditionally created for non-base templates (same as Roles) ✅ |
| 400 | + - Need to add conditional EKS creation: if (!"base".equals(workshopType) && !"java-ai-agents".equals(workshopType)) |
| 401 | + - Test TEMPLATE_TYPE=java-on-aws generates template with VPC, IDE, CodeBuild, Roles, Database, and EKS resources |
| 402 | + - Validate generated template includes all EKS add-ons and Access Entries configuration |
| 403 | + - Ensure template supports both java-on-aws and base templates from same codebase |
| 404 | + - _Requirements: 1.2, 1.3, 13.1, 16.1_ |
| 405 | + |
| 406 | +- [ ] 100.5 Create EKS post-deployment setup script |
| 407 | + - Create infra/scripts/setup/eks.sh for EKS cluster configuration (based on original infrastructure/scripts/setup/eks.sh) |
| 408 | + - Check cluster status and wait until kubectl get ns works successfully before proceeding |
| 409 | + - Update kubeconfig and add workshop-cluster to kubectl context |
| 410 | + - Deploy GP3 StorageClass (encrypted, default) since EKS Auto Mode doesn't provide encrypted GP3 by default |
| 411 | + - Deploy ALB IngressClass + IngressClassParams for Application Load Balancer integration |
| 412 | + - Create SecretProviderClass for database secrets (workshop-db-secret, workshop-db-password-secret, workshop-db-connection-string) |
| 413 | + - Configure EKS Pod Identity with AWSSecretsManagerClientReadOnlyAccess managed policy |
| 414 | + - Verify all three add-ons are installed and functional before completing |
| 415 | + - Update script with emoji-based logging and consistent error handling |
| 416 | + - _Requirements: 15.1, 15.2, 14.2, 14.3, 14.4, 15.7, 18.1, 18.2, 18.3, 18.4_ |
408 | 417 |
|
409 | 418 | - [ ] 100.6 Create java-on-aws workshop orchestration script |
410 | | - - Create infra/scripts/workshops/java-on-aws.sh |
411 | | - - Orchestrate: base.sh, eks.sh, app.sh, monitoring.sh |
412 | | - - Implement proper error handling and progress feedback |
| 419 | + - Create infra/scripts/ide/java-on-aws.sh that executes base.sh and EKS implementation |
| 420 | + - Script should call base.sh first for foundational development tools |
| 421 | + - Then execute EKS-specific setup (cluster configuration, add-ons, storage classes) |
| 422 | + - Implement proper error handling and progress feedback between base and EKS phases |
413 | 423 | - Test script execution and validate all setup steps complete successfully |
414 | 424 | - _Requirements: 3.1, 3.2_ |
415 | 425 |
|
416 | | -- [ ] 100.7 Validate java-on-aws migration |
417 | | - - Generate template and compare with existing unicornstore-stack.yaml |
418 | | - - Verify all required resources are present and properly configured |
419 | | - - Test workshop deployment end-to-end (optional, can be done manually) |
420 | | - - Document any differences and ensure they are acceptable |
421 | | - - _Requirements: 5.5_ |
| 426 | +- [ ]* 100.7 Write property test for EKS Access Entry configuration |
| 427 | + - **Property 19: EKS Access Entry Configuration** |
| 428 | + - **Validates: Requirements 13.8** |
| 429 | + |
| 430 | +- [ ]* 100.8 Write property test for workshop script orchestration |
| 431 | + - **Property 20: Workshop Script Orchestration** |
| 432 | + - **Validates: Requirements 17.1, 17.2** |
| 433 | + |
| 434 | +- [ ]* 100.9 Write property test for workshop error handling |
| 435 | + - **Property 21: Workshop Error Handling** |
| 436 | + - **Validates: Requirements 17.3** |
| 437 | + |
| 438 | +- [ ]* 100.10 Write property test for workshop verification |
| 439 | + - **Property 22: Workshop Verification** |
| 440 | + - **Validates: Requirements 17.4** |
| 441 | + |
| 442 | +- [ ] 100.11 Validate java-on-aws migration |
| 443 | + - Generate template with TEMPLATE_TYPE=java-on-aws and verify all EKS resources are present |
| 444 | + - Test template generation for both base and java-on-aws from same codebase |
| 445 | + - Verify EKS add-ons, Access Entries, and database resources are properly configured |
| 446 | + - Document template differences and ensure they provide equivalent functionality |
| 447 | + - _Requirements: 1.2, 1.3, 16.1_ |
422 | 448 |
|
423 | 449 | ## Java-on-EKS Migration (200.x) |
424 | 450 |
|
|
0 commit comments