@@ -422,7 +422,7 @@ Resources:
422422 VSCodeIdeGiteaIdeLogGroupCD76FEFA :
423423 Type : AWS::Logs::LogGroup
424424 Properties :
425- LogGroupName : ide-bootstrap-log-20250524-084013
425+ LogGroupName : ide-bootstrap-log-20250603-125135
426426 RetentionInDays : 7
427427 UpdateReplacePolicy : Retain
428428 DeletionPolicy : Retain
@@ -855,8 +855,8 @@ Resources:
855855 parameters :
856856 BootstrapScript :
857857 description : (Optional) Custom bootstrap script to run.
858- type : String
859858 default : " "
859+ type : String
860860 mainSteps :
861861 - inputs :
862862 runCommand :
@@ -1063,7 +1063,12 @@ Resources:
10631063 # Iterate over each entry in the array
10641064 for extension in "${!array[@]}"; do
10651065 # Use retries as extension installation seems unreliable
1066- sudo -u ec2-user bash -c "set -e; (r=5;while ! code-server --install-extension $extension --force ; do ((--r))||exit;sleep 5;done)"
1066+ echo "Installing extension: $extension"
1067+ if sudo -u ec2-user bash -c "set -e; (r=5;while ! code-server --install-extension $extension --force ; do echo 'Retrying installation of $extension...'; ((--r))||break;sleep 5;done)" || true; then
1068+ echo "Extension $extension installed successfully"
1069+ else
1070+ echo "Failed to install extension $extension after multiple retries, continuing anyway"
1071+ fi
10671072 done
10681073
10691074 if [ ! -f "/home/ec2-user/.local/share/code-server/coder.json" ]; then
@@ -1112,7 +1117,49 @@ Resources:
11121117 /opt/aws/bin/cfn-signal -e $exit_code '${waitConditionHandleUrl}'
11131118
11141119 exit $exit_code
1115- - installGitea : |
1120+ - customBootstrapScript : |
1121+ date
1122+
1123+ echo '=== Clone Git repository ==='
1124+ sudo -H -u ec2-user bash -c "git clone https://github.com/aws-samples/java-on-aws ~/java-on-aws/"
1125+ # sudo -H -u ec2-user bash -c "cd ~/java-on-aws && git checkout refactoring"
1126+
1127+ echo '=== Setup IDE ==='
1128+ sudo -H -i -u ec2-user bash -c "~/java-on-aws/infrastructure/scripts/setup/ide.sh"
1129+ sudo -H -i -u ec2-user bash -c "~/java-on-aws/infrastructure/scripts/setup/idp.sh"
1130+ passwordName:
1131+ Fn::Join:
1132+ - "-"
1133+ - - Fn::Select:
1134+ - 0
1135+ - Fn::Split:
1136+ - "-"
1137+ - Fn::Select:
1138+ - 6
1139+ - Fn::Split:
1140+ - ":"
1141+ - Ref: VSCodeIdeGiteaIdePasswordSecretD25F73F4
1142+ - Fn::Select:
1143+ - 1
1144+ - Fn::Split:
1145+ - "-"
1146+ - Fn::Select:
1147+ - 6
1148+ - Fn::Split:
1149+ - ":"
1150+ - Ref: VSCodeIdeGiteaIdePasswordSecretD25F73F4
1151+ - Fn::Select:
1152+ - 2
1153+ - Fn::Split:
1154+ - "-"
1155+ - Fn::Select:
1156+ - 6
1157+ - Fn::Split:
1158+ - ":"
1159+ - Ref: VSCodeIdeGiteaIdePasswordSecretD25F73F4
1160+ environmentContentsZip: ""
1161+ terminalOnStartup: "true"
1162+ installGitea: |
11161163 dnf install -y nerdctl cni-plugins
11171164 mkdir -p /gitea/config /gitea/data
11181165
@@ -1304,61 +1351,19 @@ Resources:
13041351 EOF
13051352
13061353 source /etc/profile.d/gitea.sh
1307- terminalOnStartup: "true"
1308- environmentContentsZip: ""
1309- passwordName:
1310- Fn::Join:
1311- - "-"
1312- - - Fn::Select:
1313- - 0
1314- - Fn::Split:
1315- - "-"
1316- - Fn::Select:
1317- - 6
1318- - Fn::Split:
1319- - ":"
1320- - Ref: VSCodeIdeGiteaIdePasswordSecretD25F73F4
1321- - Fn::Select:
1322- - 1
1323- - Fn::Split:
1324- - "-"
1325- - Fn::Select:
1326- - 6
1327- - Fn::Split:
1328- - ":"
1329- - Ref: VSCodeIdeGiteaIdePasswordSecretD25F73F4
1330- - Fn::Select:
1331- - 2
1332- - Fn::Split:
1333- - "-"
1334- - Fn::Select:
1335- - 6
1336- - Fn::Split:
1337- - ":"
1338- - Ref: VSCodeIdeGiteaIdePasswordSecretD25F73F4
1339- customBootstrapScript: |
1340- date
1341-
1342- echo '=== Clone Git repository ==='
1343- sudo -H -u ec2-user bash -c "git clone https://github.com/aws-samples/java-on-aws ~/java-on-aws/"
1344- # sudo -H -u ec2-user bash -c "cd ~/java-on-aws && git checkout refactoring"
1345-
1346- echo '=== Setup IDE ==='
1347- sudo -H -i -u ec2-user bash -c "~/java-on-aws/infrastructure/scripts/setup/ide.sh"
1348- sudo -H -i -u ec2-user bash -c "~/java-on-aws/infrastructure/scripts/setup/idp.sh"
1349- codeServerVersion: 4.100.2
1350- instanceIamRoleName:
1351- Ref: VSCodeIdeGiteaIdeRole90308F47
1352- splashUrl: ""
1354+ domain: ""
1355+ extensions: ms-azuretools.vscode-docker,ms-kubernetes-tools.vscode-kubernetes-tools,vscjava.vscode-java-pack
1356+ waitConditionHandleUrl:
1357+ Ref: VSCodeIdeGiteaIdeBootstrapWaitConditionHandle78036ED5
1358+ readmeUrl: ""
13531359 instanceIamRoleArn:
13541360 Fn::GetAtt:
13551361 - VSCodeIdeGiteaIdeRole90308F47
13561362 - Arn
1357- readmeUrl: ""
1358- waitConditionHandleUrl:
1359- Ref: VSCodeIdeGiteaIdeBootstrapWaitConditionHandle78036ED5
1360- extensions: ms-azuretools.vscode-docker,ms-kubernetes-tools.vscode-kubernetes-tools,vscjava.vscode-java-pack
1361- domain: ""
1363+ splashUrl: ""
1364+ instanceIamRoleName:
1365+ Ref: VSCodeIdeGiteaIdeRole90308F47
1366+ codeServerVersion: 4.100.2
13621367 name : IdeBootstrapFunction
13631368 action : aws:runShellScript
13641369 DocumentFormat : YAML
@@ -1496,12 +1501,12 @@ Resources:
14961501 Fn::GetAtt :
14971502 - VSCodeIdeGiteaIdeBootstrapFunction34BA645E
14981503 - Arn
1499- LogGroupName :
1500- Ref : VSCodeIdeGiteaIdeLogGroupCD76FEFA
1501- SsmDocument :
1502- Ref : VSCodeIdeGiteaIdeBootstrapDocument7FC8732A
15031504 InstanceId :
15041505 Ref : VSCodeIdeGiteaIdeEC2Instance51274E6D
1506+ SsmDocument :
1507+ Ref : VSCodeIdeGiteaIdeBootstrapDocument7FC8732A
1508+ LogGroupName :
1509+ Ref : VSCodeIdeGiteaIdeLogGroupCD76FEFA
15051510 UpdateReplacePolicy : Delete
15061511 DeletionPolicy : Delete
15071512Outputs :
0 commit comments