Skip to content

Commit 8ed725b

Browse files
author
Yuriy Bezsonov
committed
update vscode and cfn stacks
1 parent 2b22355 commit 8ed725b

9 files changed

Lines changed: 136 additions & 91 deletions

File tree

infrastructure/cdk/src/main/java/com/unicorn/IdeGiteaStack.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public class IdeGiteaStack extends Stack {
2828
2929
echo '=== Setup IDE ==='
3030
sudo -H -i -u ec2-user bash -c "~/java-on-aws/infrastructure/scripts/setup/ide.sh"
31+
sudo -H -i -u ec2-user bash -c "~/java-on-aws/infrastructure/scripts/setup/idp.sh"
3132
""";
3233

3334
public IdeGiteaStack(final Construct scope, final String id) {

infrastructure/cdk/src/main/java/com/unicorn/IdeStack.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public class IdeStack extends Stack {
2828
2929
echo '=== Setup IDE ==='
3030
sudo -H -i -u ec2-user bash -c "~/java-on-aws/infrastructure/scripts/setup/ide.sh"
31+
sudo -H -i -u ec2-user bash -c "~/java-on-aws/infrastructure/scripts/setup/idp.sh"
3132
""";
3233

3334
public IdeStack(final Construct scope, final String id) {

infrastructure/cdk/src/main/java/com/unicorn/constructs/VSCodeIde.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public static class VSCodeIdeProps {
8181
private String availabilityZone;
8282
private IMachineImage machineImage = MachineImage.latestAmazonLinux2023();
8383
private InstanceType instanceType = InstanceType.of(InstanceClass.T3, InstanceSize.MEDIUM);
84-
private String codeServerVersion = "4.100.0";
84+
private String codeServerVersion = "4.100.2";
8585
private List<IManagedPolicy> additionalIamPolicies = new ArrayList<>();
8686
private List<ISecurityGroup> additionalSecurityGroups = new ArrayList<>();
8787
private int bootstrapTimeoutMinutes = 30;

infrastructure/cdk/src/main/resources/bootstrapDocument.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ PASSWORD_SECRET_VALUE=$(aws secretsmanager get-secret-value --secret-id "${passw
77
88
export IDE_PASSWORD=$(echo "$PASSWORD_SECRET_VALUE" | jq -r '.password')
99
10+
yum install httpd-tools -y
11+
export IDE_PASSWORD_HASH=$(htpasswd -bnBC 10 "" $IDE_PASSWORD | tr -d ':\n')
12+
export IDE_PASSWORD_KEY=$(openssl rand -base64 48 | tr -d "=+/" | head -c 32 | base64)
13+
1014
echo "Setting profile variables..."
1115
1216
# Set some useful variables
@@ -35,6 +39,8 @@ export EC2_URL="$EC2_URL"
3539
export IDE_DOMAIN="$IDE_DOMAIN"
3640
export IDE_URL="https://$IDE_DOMAIN"
3741
export IDE_PASSWORD="$IDE_PASSWORD"
42+
export IDE_PASSWORD_HASH="$IDE_PASSWORD_HASH"
43+
export IDE_PASSWORD_KEY="$IDE_PASSWORD_KEY"
3844
3945
alias code="code-server"
4046
EOF

infrastructure/cfn/ide-gitea-stack.yaml

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ Resources:
422422
VSCodeIdeGiteaIdeLogGroupCD76FEFA:
423423
Type: AWS::Logs::LogGroup
424424
Properties:
425-
LogGroupName: ide-bootstrap-log-20250513-101351
425+
LogGroupName: ide-bootstrap-log-20250517-202159
426426
RetentionInDays: 7
427427
UpdateReplacePolicy: Retain
428428
DeletionPolicy: Retain
@@ -871,6 +871,10 @@ Resources:
871871
872872
export IDE_PASSWORD=$(echo "$PASSWORD_SECRET_VALUE" | jq -r '.password')
873873
874+
yum install httpd-tools -y
875+
export IDE_PASSWORD_HASH=$(htpasswd -bnBC 10 "" $IDE_PASSWORD | tr -d ':\n')
876+
export IDE_PASSWORD_KEY=$(openssl rand -base64 48 | tr -d "=+/" | head -c 32 | base64)
877+
874878
echo "Setting profile variables..."
875879
876880
# Set some useful variables
@@ -899,6 +903,8 @@ Resources:
899903
export IDE_DOMAIN="$IDE_DOMAIN"
900904
export IDE_URL="https://$IDE_DOMAIN"
901905
export IDE_PASSWORD="$IDE_PASSWORD"
906+
export IDE_PASSWORD_HASH="$IDE_PASSWORD_HASH"
907+
export IDE_PASSWORD_KEY="$IDE_PASSWORD_KEY"
902908
903909
alias code="code-server"
904910
EOF
@@ -1112,7 +1118,14 @@ Resources:
11121118
/opt/aws/bin/cfn-signal -e $exit_code '${waitConditionHandleUrl}'
11131119
11141120
exit $exit_code
1115-
- readmeUrl: ""
1121+
- instanceIamRoleName:
1122+
Ref: VSCodeIdeGiteaIdeRole90308F47
1123+
splashUrl: ""
1124+
instanceIamRoleArn:
1125+
Fn::GetAtt:
1126+
- VSCodeIdeGiteaIdeRole90308F47
1127+
- Arn
1128+
readmeUrl: ""
11161129
waitConditionHandleUrl:
11171130
Ref: VSCodeIdeGiteaIdeBootstrapWaitConditionHandle78036ED5
11181131
extensions: ms-azuretools.vscode-docker,ms-kubernetes-tools.vscode-kubernetes-tools,vscjava.vscode-java-pack
@@ -1350,14 +1363,8 @@ Resources:
13501363
13511364
echo '=== Setup IDE ==='
13521365
sudo -H -i -u ec2-user bash -c "~/java-on-aws/infrastructure/scripts/setup/ide.sh"
1353-
codeServerVersion: 4.100.0
1354-
instanceIamRoleName:
1355-
Ref: VSCodeIdeGiteaIdeRole90308F47
1356-
splashUrl: ""
1357-
instanceIamRoleArn:
1358-
Fn::GetAtt:
1359-
- VSCodeIdeGiteaIdeRole90308F47
1360-
- Arn
1366+
sudo -H -i -u ec2-user bash -c "~/java-on-aws/infrastructure/scripts/setup/idp.sh"
1367+
codeServerVersion: 4.100.2
13611368
name: IdeBootstrapFunction
13621369
action: aws:runShellScript
13631370
DocumentFormat: YAML
@@ -1495,12 +1502,12 @@ Resources:
14951502
Fn::GetAtt:
14961503
- VSCodeIdeGiteaIdeBootstrapFunction34BA645E
14971504
- Arn
1498-
LogGroupName:
1499-
Ref: VSCodeIdeGiteaIdeLogGroupCD76FEFA
15001505
SsmDocument:
15011506
Ref: VSCodeIdeGiteaIdeBootstrapDocument7FC8732A
15021507
InstanceId:
15031508
Ref: VSCodeIdeGiteaIdeEC2Instance51274E6D
1509+
LogGroupName:
1510+
Ref: VSCodeIdeGiteaIdeLogGroupCD76FEFA
15041511
UpdateReplacePolicy: Delete
15051512
DeletionPolicy: Delete
15061513
Outputs:

infrastructure/cfn/ide-stack.yaml

Lines changed: 38 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ Resources:
422422
VSCodeIdeGiteaIdeLogGroupCD76FEFA:
423423
Type: AWS::Logs::LogGroup
424424
Properties:
425-
LogGroupName: ide-bootstrap-log-20250513-101321
425+
LogGroupName: ide-bootstrap-log-20250517-202220
426426
RetentionInDays: 7
427427
UpdateReplacePolicy: Retain
428428
DeletionPolicy: Retain
@@ -837,9 +837,9 @@ Resources:
837837
description: Bootstrap IDE
838838
parameters:
839839
BootstrapScript:
840-
description: (Optional) Custom bootstrap script to run.
841-
type: String
842840
default: ""
841+
type: String
842+
description: (Optional) Custom bootstrap script to run.
843843
mainSteps:
844844
- inputs:
845845
runCommand:
@@ -854,6 +854,10 @@ Resources:
854854
855855
export IDE_PASSWORD=$(echo "$PASSWORD_SECRET_VALUE" | jq -r '.password')
856856
857+
yum install httpd-tools -y
858+
export IDE_PASSWORD_HASH=$(htpasswd -bnBC 10 "" $IDE_PASSWORD | tr -d ':\n')
859+
export IDE_PASSWORD_KEY=$(openssl rand -base64 48 | tr -d "=+/" | head -c 32 | base64)
860+
857861
echo "Setting profile variables..."
858862
859863
# Set some useful variables
@@ -882,6 +886,8 @@ Resources:
882886
export IDE_DOMAIN="$IDE_DOMAIN"
883887
export IDE_URL="https://$IDE_DOMAIN"
884888
export IDE_PASSWORD="$IDE_PASSWORD"
889+
export IDE_PASSWORD_HASH="$IDE_PASSWORD_HASH"
890+
export IDE_PASSWORD_KEY="$IDE_PASSWORD_KEY"
885891
886892
alias code="code-server"
887893
EOF
@@ -1096,8 +1102,29 @@ Resources:
10961102
10971103
exit $exit_code
10981104
- installGitea: echo bootstrapGitea was not provided
1099-
terminalOnStartup: "true"
1100-
environmentContentsZip: ""
1105+
domain: ""
1106+
extensions: ms-azuretools.vscode-docker,ms-kubernetes-tools.vscode-kubernetes-tools,vscjava.vscode-java-pack
1107+
waitConditionHandleUrl:
1108+
Ref: VSCodeIdeGiteaIdeBootstrapWaitConditionHandle78036ED5
1109+
readmeUrl: ""
1110+
instanceIamRoleArn:
1111+
Fn::GetAtt:
1112+
- VSCodeIdeGiteaIdeRole90308F47
1113+
- Arn
1114+
splashUrl: ""
1115+
instanceIamRoleName:
1116+
Ref: VSCodeIdeGiteaIdeRole90308F47
1117+
codeServerVersion: 4.100.2
1118+
customBootstrapScript: |
1119+
date
1120+
1121+
echo '=== Clone Git repository ==='
1122+
sudo -H -u ec2-user bash -c "git clone https://github.com/aws-samples/java-on-aws ~/java-on-aws/"
1123+
# sudo -H -u ec2-user bash -c "cd ~/java-on-aws && git checkout refactoring"
1124+
1125+
echo '=== Setup IDE ==='
1126+
sudo -H -i -u ec2-user bash -c "~/java-on-aws/infrastructure/scripts/setup/ide.sh"
1127+
sudo -H -i -u ec2-user bash -c "~/java-on-aws/infrastructure/scripts/setup/idp.sh"
11011128
passwordName:
11021129
Fn::Join:
11031130
- "-"
@@ -1128,28 +1155,8 @@ Resources:
11281155
- Fn::Split:
11291156
- ":"
11301157
- Ref: VSCodeIdeGiteaIdePasswordSecretD25F73F4
1131-
customBootstrapScript: |
1132-
date
1133-
1134-
echo '=== Clone Git repository ==='
1135-
sudo -H -u ec2-user bash -c "git clone https://github.com/aws-samples/java-on-aws ~/java-on-aws/"
1136-
# sudo -H -u ec2-user bash -c "cd ~/java-on-aws && git checkout refactoring"
1137-
1138-
echo '=== Setup IDE ==='
1139-
sudo -H -i -u ec2-user bash -c "~/java-on-aws/infrastructure/scripts/setup/ide.sh"
1140-
codeServerVersion: 4.100.0
1141-
instanceIamRoleName:
1142-
Ref: VSCodeIdeGiteaIdeRole90308F47
1143-
splashUrl: ""
1144-
instanceIamRoleArn:
1145-
Fn::GetAtt:
1146-
- VSCodeIdeGiteaIdeRole90308F47
1147-
- Arn
1148-
readmeUrl: ""
1149-
waitConditionHandleUrl:
1150-
Ref: VSCodeIdeGiteaIdeBootstrapWaitConditionHandle78036ED5
1151-
extensions: ms-azuretools.vscode-docker,ms-kubernetes-tools.vscode-kubernetes-tools,vscjava.vscode-java-pack
1152-
domain: ""
1158+
environmentContentsZip: ""
1159+
terminalOnStartup: "true"
11531160
name: IdeBootstrapFunction
11541161
action: aws:runShellScript
11551162
DocumentFormat: YAML
@@ -1287,12 +1294,12 @@ Resources:
12871294
Fn::GetAtt:
12881295
- VSCodeIdeGiteaIdeBootstrapFunction34BA645E
12891296
- Arn
1290-
LogGroupName:
1291-
Ref: VSCodeIdeGiteaIdeLogGroupCD76FEFA
1292-
SsmDocument:
1293-
Ref: VSCodeIdeGiteaIdeBootstrapDocument7FC8732A
12941297
InstanceId:
12951298
Ref: VSCodeIdeGiteaIdeEC2Instance51274E6D
1299+
SsmDocument:
1300+
Ref: VSCodeIdeGiteaIdeBootstrapDocument7FC8732A
1301+
LogGroupName:
1302+
Ref: VSCodeIdeGiteaIdeLogGroupCD76FEFA
12961303
UpdateReplacePolicy: Delete
12971304
DeletionPolicy: Delete
12981305
Outputs:

0 commit comments

Comments
 (0)