From 7b5a7f602caa5ee3b4a7efa85a24f99a39ceb6a7 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 17 Jun 2024 18:28:22 +0800 Subject: [PATCH 01/64] sample build --- .github/workflows/workflow.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .github/workflows/workflow.yml diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml new file mode 100644 index 0000000..fb5a343 --- /dev/null +++ b/.github/workflows/workflow.yml @@ -0,0 +1,21 @@ +name: Deploy jar to EC2 + +on: + push: + branches: [ "main" ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + - name: Build with Maven + run: mvn -B package --file pom.xml From d672533a079af366151c386e204a8ed1e70db841 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 17 Jun 2024 19:13:03 +0800 Subject: [PATCH 02/64] sample build --- .github/workflows/workflow.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index fb5a343..26ae550 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -17,5 +17,16 @@ jobs: java-version: '17' distribution: 'temurin' cache: maven + + - name: Create application-local.properties file + run: | + echo "spring.datasource.url=${{ secrets.DB_URL }}" >> src/main/resources/application-local.properties + echo "spring.datasource.username=${{ secrets.DB_USERNAME }}" >> src/main/resources/application-local.properties + echo "spring.datasource.password=${{ secrets.DB_PASSWORD }}" >> src/main/resources/application-local.properties + echo "spring.datasource.driver-class-name=${{ secrets.DB_DRIVER }}" >> src/main/resources/application-local.properties + echo "spring.jpa.hibernate.ddl-auto=update" >> src/main/resources/application-local.properties + echo "spring.jpa.show-sql=true" >> src/main/resources/application-local.properties + - name: Build with Maven run: mvn -B package --file pom.xml + From 36d68e304a1a49ee95a03c0c2dd1c4f150e22322 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 17 Jun 2024 19:14:06 +0800 Subject: [PATCH 03/64] added github secrets --- .github/workflows/workflow.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 26ae550..c7ccb9e 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -18,6 +18,7 @@ jobs: distribution: 'temurin' cache: maven + - name: Create application-local.properties file run: | echo "spring.datasource.url=${{ secrets.DB_URL }}" >> src/main/resources/application-local.properties From be1d847c0fb79e7f7fb29e2d94dfe24d69d9cea1 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 17 Jun 2024 21:41:02 +0800 Subject: [PATCH 04/64] test iam sts assume role --- .github/workflows/workflow.yml | 15 +++++++++++++++ .gitignore | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index c7ccb9e..dea2a5e 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -4,6 +4,10 @@ on: push: branches: [ "main" ] +permissions: + id-token: write # This is required for requesting the JWT + contents: read # This is required for actions/checkout + jobs: build: @@ -31,3 +35,14 @@ jobs: - name: Build with Maven run: mvn -B package --file pom.xml + - name: Configure AWS Credentials + id: configure-aws-credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/${{ secrets.AWS_ROLE }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Get Instance ID + id: get_instance_id + run: aws ssm start-session --target i-0fc1eb77776dc1758 + diff --git a/.gitignore b/.gitignore index 6d77e55..8a409ed 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,7 @@ target/ *.iws *.iml *.ipr -application-local.properties +src/main/resources/application-local.properties ### NetBeans ### /nbproject/private/ From 8cc52bc032e1006f9dd64385e00bb90fb8614cf7 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 17 Jun 2024 22:00:27 +0800 Subject: [PATCH 05/64] test iam sts assume role --- .github/workflows/workflow.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index dea2a5e..be3f25d 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -44,5 +44,19 @@ jobs: - name: Get Instance ID id: get_instance_id - run: aws ssm start-session --target i-0fc1eb77776dc1758 + run: | + INSTANCE_ID=$(aws ec2 describe-instances --filters "Name=tag:Name,Values=safeqr-ec2" --query "Reservations[0].Instances[0].InstanceId" --output text) + echo "INSTANCE_ID=$INSTANCE_ID" >> $GITHUB_ENV + + - name: Start SSM Port Forwarding + id: port_forward + run: | + aws ssm start-session --target ${{ env.INSTANCE_ID }} + env: + AWS_DEFAULT_REGION: ${{ secrets.AWS_REGION }} + AWS_REGION: ${{ secrets.AWS_REGION }} + AWS_ACCESS_KEY_ID: ${{ steps.configure-aws-credentials.outputs.aws_access_key_id }} + AWS_SECRET_ACCESS_KEY: ${{ steps.configure-aws-credentials.outputs.aws_secret_access_key }} + AWS_SESSION_TOKEN: ${{ steps.configure-aws-credentials.outputs.aws_session_token }} + From d9acb4af6b61d64598d6106367ecd5f06ab8758c Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 17 Jun 2024 22:02:12 +0800 Subject: [PATCH 06/64] test iam sts assume role --- .github/workflows/workflow.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index be3f25d..79219b4 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -52,11 +52,5 @@ jobs: id: port_forward run: | aws ssm start-session --target ${{ env.INSTANCE_ID }} - env: - AWS_DEFAULT_REGION: ${{ secrets.AWS_REGION }} - AWS_REGION: ${{ secrets.AWS_REGION }} - AWS_ACCESS_KEY_ID: ${{ steps.configure-aws-credentials.outputs.aws_access_key_id }} - AWS_SECRET_ACCESS_KEY: ${{ steps.configure-aws-credentials.outputs.aws_secret_access_key }} - AWS_SESSION_TOKEN: ${{ steps.configure-aws-credentials.outputs.aws_session_token }} From 42f0a1fa50157c4b70d56e88699fae03f0e9c2cb Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 17 Jun 2024 22:08:14 +0800 Subject: [PATCH 07/64] test iam sts assume role --- .github/workflows/workflow.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 79219b4..f264b9b 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -51,6 +51,11 @@ jobs: - name: Start SSM Port Forwarding id: port_forward run: | + echo "Starting SSM session..." aws ssm start-session --target ${{ env.INSTANCE_ID }} + if [ $? -ne 0 ]; then + echo "Failed to start SSM session" + exit 1 + fi From d11d7d5199979f6f30255f0aeb1621d2b0e3faf8 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 17 Jun 2024 22:17:46 +0800 Subject: [PATCH 08/64] test iam sts assume role --- .github/workflows/workflow.yml | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index f264b9b..d9c85d2 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -49,13 +49,23 @@ jobs: echo "INSTANCE_ID=$INSTANCE_ID" >> $GITHUB_ENV - name: Start SSM Port Forwarding - id: port_forward + id: start-ssm-port-forwarding run: | - echo "Starting SSM session..." - aws ssm start-session --target ${{ env.INSTANCE_ID }} - if [ $? -ne 0 ]; then - echo "Failed to start SSM session" - exit 1 - fi + aws ssm start-session --target ${{ env.INSTANCE_ID }} --document-name AWS-StartPortForwardingSession --parameters '{"portNumber":["1234"],"localPortNumber":["1234"]}' & + sleep 10 + + - name: Install netcat locally + run: sudo apt-get install -y netcat + + - name: Send File to EC2 + run: | + echo "Sending JAR file to EC2 instance..." + nc -w 3 127.0.0.1 1234 < target/app-0.0.1-SNAPSHOT.jar + continue-on-error: false + + - name: Verify File on EC2 + run: | + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Verify JAR file" --parameters 'commands=["ls -l /tmp/app-0.0.1-SNAPSHOT.jar"]' + From d38aa582723672edb64495ed6f19cd49b72e17b4 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 17 Jun 2024 22:28:41 +0800 Subject: [PATCH 09/64] test iam sts assume role --- .github/workflows/workflow.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index d9c85d2..6ceb0c4 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -48,6 +48,10 @@ jobs: INSTANCE_ID=$(aws ec2 describe-instances --filters "Name=tag:Name,Values=safeqr-ec2" --query "Reservations[0].Instances[0].InstanceId" --output text) echo "INSTANCE_ID=$INSTANCE_ID" >> $GITHUB_ENV + - name: Start `nc` on EC2 to Listen and Save File + run: | + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Start netcat to listen and save file" --parameters 'commands=["sudo nc -l -p 1234 > /home/app-0.0.1-SNAPSHOT.jar"]' + - name: Start SSM Port Forwarding id: start-ssm-port-forwarding run: | @@ -65,7 +69,7 @@ jobs: - name: Verify File on EC2 run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Verify JAR file" --parameters 'commands=["ls -l /tmp/app-0.0.1-SNAPSHOT.jar"]' + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Verify JAR file" --parameters 'commands=["ls -l /home/app-0.0.1-SNAPSHOT.jar"]' From 3dffbc013d37f18ccc618ef9bfcbb77806ddeea0 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 17 Jun 2024 22:46:50 +0800 Subject: [PATCH 10/64] test iam sts assume role --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 6ceb0c4..dcb7dbf 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -50,7 +50,7 @@ jobs: - name: Start `nc` on EC2 to Listen and Save File run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Start netcat to listen and save file" --parameters 'commands=["sudo nc -l -p 1234 > /home/app-0.0.1-SNAPSHOT.jar"]' + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Start netcat to listen and save file" --parameters 'commands=["sudo nc -l 1234 > /home/app-0.0.1-SNAPSHOT.jar"]' - name: Start SSM Port Forwarding id: start-ssm-port-forwarding From fa4d9ddc33669f98d5f84d1c075d701ba73d7443 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 17 Jun 2024 23:06:31 +0800 Subject: [PATCH 11/64] split JAP into chunks --- .github/workflows/workflow.yml | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index dcb7dbf..c45e52c 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -35,6 +35,10 @@ jobs: - name: Build with Maven run: mvn -B package --file pom.xml + - name: Split JAR into Chunks + run: | + split -b 10M target/app-0.0.1-SNAPSHOT.jar target/chunk_ + - name: Configure AWS Credentials id: configure-aws-credentials uses: aws-actions/configure-aws-credentials@v4 @@ -48,28 +52,17 @@ jobs: INSTANCE_ID=$(aws ec2 describe-instances --filters "Name=tag:Name,Values=safeqr-ec2" --query "Reservations[0].Instances[0].InstanceId" --output text) echo "INSTANCE_ID=$INSTANCE_ID" >> $GITHUB_ENV - - name: Start `nc` on EC2 to Listen and Save File + - name: Upload Chunks to EC2 run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Start netcat to listen and save file" --parameters 'commands=["sudo nc -l 1234 > /home/app-0.0.1-SNAPSHOT.jar"]' + for file in target/chunk_*; do + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Upload chunk" --parameters commands="echo \"$(cat $file)\" > /home/ec2-user/$(basename $file)" + done - - name: Start SSM Port Forwarding - id: start-ssm-port-forwarding + - name: Reassemble Chunks on EC2 run: | - aws ssm start-session --target ${{ env.INSTANCE_ID }} --document-name AWS-StartPortForwardingSession --parameters '{"portNumber":["1234"],"localPortNumber":["1234"]}' & - sleep 10 - - - name: Install netcat locally - run: sudo apt-get install -y netcat - - - name: Send File to EC2 - run: | - echo "Sending JAR file to EC2 instance..." - nc -w 3 127.0.0.1 1234 < target/app-0.0.1-SNAPSHOT.jar - continue-on-error: false + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Reassemble chunks" --parameters commands="cat /home/ec2-user/chunk_* > /home/ec2-user/app-0.0.1-SNAPSHOT.jar" - name: Verify File on EC2 run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Verify JAR file" --parameters 'commands=["ls -l /home/app-0.0.1-SNAPSHOT.jar"]' - - + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Verify JAR file" --parameters 'commands=["ls -l /home/ec2-user/app-0.0.1-SNAPSHOT.jar"]' From 4aeb19a5830ca9701b9624c574f9ae275d213f9c Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 17 Jun 2024 23:10:17 +0800 Subject: [PATCH 12/64] split JAP into chunks --- .github/workflows/workflow.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index c45e52c..a515490 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -35,9 +35,13 @@ jobs: - name: Build with Maven run: mvn -B package --file pom.xml - - name: Split JAR into Chunks + - name: Split and Encode JAR into Chunks run: | - split -b 10M target/app-0.0.1-SNAPSHOT.jar target/chunk_ + mkdir -p chunks + split -b 10M target/app-0.0.1-SNAPSHOT.jar chunks/chunk_ + for file in chunks/chunk_*; do + base64 $file > ${file}.b64 + done - name: Configure AWS Credentials id: configure-aws-credentials @@ -54,8 +58,8 @@ jobs: - name: Upload Chunks to EC2 run: | - for file in target/chunk_*; do - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Upload chunk" --parameters commands="echo \"$(cat $file)\" > /home/ec2-user/$(basename $file)" + for file in chunks/chunk_*.b64; do + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Upload chunk" --parameters commands="echo $(cat $file) | base64 --decode > /home/ec2-user/$(basename ${file%.b64})" done - name: Reassemble Chunks on EC2 @@ -64,5 +68,4 @@ jobs: - name: Verify File on EC2 run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Verify JAR file" --parameters 'commands=["ls -l /home/ec2-user/app-0.0.1-SNAPSHOT.jar"]' - + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Verify JAR file" --parameters 'commands=["ls -l /home/ec2-user/app-0.0.1-SNAPSHOT.jar"]' \ No newline at end of file From cc89ad6d0a292e2cbfc82e0ec09866df39f1a909 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 17 Jun 2024 23:42:45 +0800 Subject: [PATCH 13/64] set portforwarding netcat --- .github/workflows/workflow.yml | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index a515490..6ceb0c4 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -35,14 +35,6 @@ jobs: - name: Build with Maven run: mvn -B package --file pom.xml - - name: Split and Encode JAR into Chunks - run: | - mkdir -p chunks - split -b 10M target/app-0.0.1-SNAPSHOT.jar chunks/chunk_ - for file in chunks/chunk_*; do - base64 $file > ${file}.b64 - done - - name: Configure AWS Credentials id: configure-aws-credentials uses: aws-actions/configure-aws-credentials@v4 @@ -56,16 +48,28 @@ jobs: INSTANCE_ID=$(aws ec2 describe-instances --filters "Name=tag:Name,Values=safeqr-ec2" --query "Reservations[0].Instances[0].InstanceId" --output text) echo "INSTANCE_ID=$INSTANCE_ID" >> $GITHUB_ENV - - name: Upload Chunks to EC2 + - name: Start `nc` on EC2 to Listen and Save File run: | - for file in chunks/chunk_*.b64; do - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Upload chunk" --parameters commands="echo $(cat $file) | base64 --decode > /home/ec2-user/$(basename ${file%.b64})" - done + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Start netcat to listen and save file" --parameters 'commands=["sudo nc -l -p 1234 > /home/app-0.0.1-SNAPSHOT.jar"]' - - name: Reassemble Chunks on EC2 + - name: Start SSM Port Forwarding + id: start-ssm-port-forwarding run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Reassemble chunks" --parameters commands="cat /home/ec2-user/chunk_* > /home/ec2-user/app-0.0.1-SNAPSHOT.jar" + aws ssm start-session --target ${{ env.INSTANCE_ID }} --document-name AWS-StartPortForwardingSession --parameters '{"portNumber":["1234"],"localPortNumber":["1234"]}' & + sleep 10 + + - name: Install netcat locally + run: sudo apt-get install -y netcat + + - name: Send File to EC2 + run: | + echo "Sending JAR file to EC2 instance..." + nc -w 3 127.0.0.1 1234 < target/app-0.0.1-SNAPSHOT.jar + continue-on-error: false - name: Verify File on EC2 run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Verify JAR file" --parameters 'commands=["ls -l /home/ec2-user/app-0.0.1-SNAPSHOT.jar"]' \ No newline at end of file + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Verify JAR file" --parameters 'commands=["ls -l /home/app-0.0.1-SNAPSHOT.jar"]' + + + From 1647a81715df864c8d7fda924c417b589dc9cfcc Mon Sep 17 00:00:00 2001 From: heyethereum Date: Tue, 18 Jun 2024 00:11:05 +0800 Subject: [PATCH 14/64] upload s3 bucket --- .github/workflows/workflow.yml | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 6ceb0c4..d9aa6b9 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -48,28 +48,18 @@ jobs: INSTANCE_ID=$(aws ec2 describe-instances --filters "Name=tag:Name,Values=safeqr-ec2" --query "Reservations[0].Instances[0].InstanceId" --output text) echo "INSTANCE_ID=$INSTANCE_ID" >> $GITHUB_ENV - - name: Start `nc` on EC2 to Listen and Save File + - name: Upload JAR to S3 run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Start netcat to listen and save file" --parameters 'commands=["sudo nc -l -p 1234 > /home/app-0.0.1-SNAPSHOT.jar"]' + aws s3 cp target/app-0.0.1-SNAPSHOT.jar s3://s3-bucket-safeqr/ - - name: Start SSM Port Forwarding - id: start-ssm-port-forwarding + - name: Get Presigned URL + id: presigned_url run: | - aws ssm start-session --target ${{ env.INSTANCE_ID }} --document-name AWS-StartPortForwardingSession --parameters '{"portNumber":["1234"],"localPortNumber":["1234"]}' & - sleep 10 + URL=$(aws s3 presign s3://s3-bucket-safeqr/app-0.0.1-SNAPSHOT.jar --expires-in 3600) + echo "PRESIGNED_URL=$URL" >> $GITHUB_ENV - - name: Install netcat locally - run: sudo apt-get install -y netcat - - - name: Send File to EC2 + - name: Download and Verify JAR on EC2 run: | - echo "Sending JAR file to EC2 instance..." - nc -w 3 127.0.0.1 1234 < target/app-0.0.1-SNAPSHOT.jar - continue-on-error: false - - - name: Verify File on EC2 - run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Verify JAR file" --parameters 'commands=["ls -l /home/app-0.0.1-SNAPSHOT.jar"]' - - + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Download JAR file" --parameters 'commands=["curl -o /home/ec2-user/app-0.0.1-SNAPSHOT.jar ${{ env.PRESIGNED_URL }}", "ls -l /home/ec2-user/app-0.0.1-SNAPSHOT.jar"]' + From 4f3bd4711822fe6b4b137d7817fe4bb28ccb171a Mon Sep 17 00:00:00 2001 From: heyethereum Date: Tue, 18 Jun 2024 00:20:20 +0800 Subject: [PATCH 15/64] upload s3 bucket --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index d9aa6b9..0b87af6 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -60,6 +60,6 @@ jobs: - name: Download and Verify JAR on EC2 run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Download JAR file" --parameters 'commands=["curl -o /home/ec2-user/app-0.0.1-SNAPSHOT.jar ${{ env.PRESIGNED_URL }}", "ls -l /home/ec2-user/app-0.0.1-SNAPSHOT.jar"]' + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Download JAR file" --parameters 'commands=["curl -o /home/app-0.0.1-SNAPSHOT.jar ${{ env.PRESIGNED_URL }}", "ls -l /home/app-0.0.1-SNAPSHOT.jar"]' From 9ff0e3033463f0a85cfd2330f275a7a5e7a3b162 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Tue, 18 Jun 2024 00:25:43 +0800 Subject: [PATCH 16/64] upload s3 bucket --- .github/workflows/workflow.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 0b87af6..cd5d81a 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -61,5 +61,7 @@ jobs: - name: Download and Verify JAR on EC2 run: | aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Download JAR file" --parameters 'commands=["curl -o /home/app-0.0.1-SNAPSHOT.jar ${{ env.PRESIGNED_URL }}", "ls -l /home/app-0.0.1-SNAPSHOT.jar"]' - + - name: Create and Start Systemd Service + run: | + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=["echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ec2-user\nExecStart=/usr/bin/java -jar /home/app-0.0.1-SNAPSHOT.jar\nRestart=always\n\n[Install]\nWantedBy=multi-user.target\\" > /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", "sudo systemctl status springboot-app"]' From 07b3c738f28aedf8e119a236a4b86b03a83bd791 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Tue, 18 Jun 2024 00:30:28 +0800 Subject: [PATCH 17/64] upload s3 bucket --- .github/workflows/workflow.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index cd5d81a..d3c0115 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -22,7 +22,6 @@ jobs: distribution: 'temurin' cache: maven - - name: Create application-local.properties file run: | echo "spring.datasource.url=${{ secrets.DB_URL }}" >> src/main/resources/application-local.properties @@ -60,8 +59,8 @@ jobs: - name: Download and Verify JAR on EC2 run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Download JAR file" --parameters 'commands=["curl -o /home/app-0.0.1-SNAPSHOT.jar ${{ env.PRESIGNED_URL }}", "ls -l /home/app-0.0.1-SNAPSHOT.jar"]' + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Download JAR file" --parameters 'commands=["curl -o /home/ec2-user/app-0.0.1-SNAPSHOT.jar ${{ env.PRESIGNED_URL }}", "ls -l /home/ec2-user/app-0.0.1-SNAPSHOT.jar"]' - name: Create and Start Systemd Service run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=["echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ec2-user\nExecStart=/usr/bin/java -jar /home/app-0.0.1-SNAPSHOT.jar\nRestart=always\n\n[Install]\nWantedBy=multi-user.target\\" > /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", "sudo systemctl status springboot-app"]' + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=["sudo bash -c '\''echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ec2-user\\nExecStart=/usr/bin/java -jar /home/ec2-user/app-0.0.1-SNAPSHOT.jar\\nRestart=always\\n\\n[Install]\\nWantedBy=multi-user.target\" > /etc/systemd/system/springboot-app.service'\''", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", "sudo systemctl status springboot-app"]' From 1283a25a6c64c78d20a72b11c5caf858fb6b41ed Mon Sep 17 00:00:00 2001 From: heyethereum Date: Tue, 18 Jun 2024 01:04:09 +0800 Subject: [PATCH 18/64] upload s3 bucket --- .github/workflows/workflow.yml | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index d3c0115..2c2ece9 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -51,16 +51,19 @@ jobs: run: | aws s3 cp target/app-0.0.1-SNAPSHOT.jar s3://s3-bucket-safeqr/ - - name: Get Presigned URL - id: presigned_url + - name: Download JAR from S3 to EC2 run: | - URL=$(aws s3 presign s3://s3-bucket-safeqr/app-0.0.1-SNAPSHOT.jar --expires-in 3600) - echo "PRESIGNED_URL=$URL" >> $GITHUB_ENV - - - name: Download and Verify JAR on EC2 - run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Download JAR file" --parameters 'commands=["curl -o /home/ec2-user/app-0.0.1-SNAPSHOT.jar ${{ env.PRESIGNED_URL }}", "ls -l /home/ec2-user/app-0.0.1-SNAPSHOT.jar"]' + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Download JAR from S3" --parameters 'commands=[ + "aws s3 cp s3://s3-bucket-safeqr/app-0.0.1-SNAPSHOT.jar /home/app-0.0.1-SNAPSHOT.jar", + "ls -l /home/app-0.0.1-SNAPSHOT.jar" + ]' - name: Create and Start Systemd Service run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=["sudo bash -c '\''echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ec2-user\\nExecStart=/usr/bin/java -jar /home/ec2-user/app-0.0.1-SNAPSHOT.jar\\nRestart=always\\n\\n[Install]\\nWantedBy=multi-user.target\" > /etc/systemd/system/springboot-app.service'\''", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", "sudo systemctl status springboot-app"]' + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=[ + "sudo bash -c '\''cat < /etc/systemd/system/springboot-app.service\n[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nExecStart=/usr/bin/java -jar /home/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\nEOF'\''", + "sudo systemctl daemon-reload", + "sudo systemctl enable springboot-app", + "sudo systemctl start springboot-app", + "sudo systemctl status springboot-app" + ]' From 454f1b2dbd1ebdd54e29d9d7131e519075ca592e Mon Sep 17 00:00:00 2001 From: heyethereum Date: Tue, 18 Jun 2024 01:12:08 +0800 Subject: [PATCH 19/64] upload s3 bucket --- .github/workflows/workflow.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 2c2ece9..5314314 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -54,14 +54,14 @@ jobs: - name: Download JAR from S3 to EC2 run: | aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Download JAR from S3" --parameters 'commands=[ - "aws s3 cp s3://s3-bucket-safeqr/app-0.0.1-SNAPSHOT.jar /home/app-0.0.1-SNAPSHOT.jar", - "ls -l /home/app-0.0.1-SNAPSHOT.jar" + "aws s3 cp s3://s3-bucket-safeqr/app-0.0.1-SNAPSHOT.jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar", + "ls -l /home/ssm-user/app-0.0.1-SNAPSHOT.jar" ]' - name: Create and Start Systemd Service run: | aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=[ - "sudo bash -c '\''cat < /etc/systemd/system/springboot-app.service\n[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nExecStart=/usr/bin/java -jar /home/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\nEOF'\''", + "sudo bash -c '\''cat < /etc/systemd/system/springboot-app.service\n[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\nEOF'\''", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 62c848b0fb5fb472d395cae9c02a93128e79ab50 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Tue, 18 Jun 2024 21:41:41 +0800 Subject: [PATCH 20/64] update env variable --- .gitignore | 1 + src/main/resources/application.properties | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8a409ed..c455574 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ target/ *.iml *.ipr src/main/resources/application-local.properties +update_env_var.sh ### NetBeans ### /nbproject/private/ diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e678576..80137c6 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,2 +1,20 @@ spring.application.name=SafeQR-app -spring.profiles.active=local +#spring.profiles.active=local +http.port=${HTTP_PORT} +server.port=${SERVER_PORT} +server.ssl.enabled=true +server.ssl.key-store-type=${SERVER_SSL_KEY_STORE_TYPE} +server.ssl.key-store=${SERVER_SSL_KEY_STORE_LOCATION} +server.ssl.key-store-password=${SERVER_SSL_KEY_STORE_PASSWORD} +server.ssl.key-alias=${SERVER_SSL_KEY_ALIAS} +trust.store=${SERVER_SSL_TRUST_STORE_LOCATION} +trust.store.password=${SERVER_SSL_TRUST_STORE_PASSWORD} + +spring.datasource.url=${SERVER_DB_URL} +spring.datasource.username=${SERVER_DB_USERNAME} +spring.datasource.password=${SERVER_DB_PASSWORD} +spring.datasource.driver-class-name=${SERVER_DB_DRIVER_CLASS_NAME} +spring.jpa.database-platform=${SERVER_DB_DIALECT} +spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.format_sql=true From 97c5ccb96bb009b47bfe2ca881947a22bdc5d29f Mon Sep 17 00:00:00 2001 From: heyethereum Date: Tue, 18 Jun 2024 21:49:25 +0800 Subject: [PATCH 21/64] update env variable --- src/main/resources/application.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 80137c6..7239e41 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,5 +1,5 @@ spring.application.name=SafeQR-app -#spring.profiles.active=local +spring.profiles.active=local http.port=${HTTP_PORT} server.port=${SERVER_PORT} server.ssl.enabled=true From 0920afefca770a6544bb48c8fa94dd80e84047b3 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Tue, 18 Jun 2024 22:02:26 +0800 Subject: [PATCH 22/64] update env variable --- .github/workflows/workflow.yml | 21 ++++++++++++++------- src/main/resources/application.properties | 2 +- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 5314314..28484f8 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -22,14 +22,21 @@ jobs: distribution: 'temurin' cache: maven - - name: Create application-local.properties file + - name: Set environment variables run: | - echo "spring.datasource.url=${{ secrets.DB_URL }}" >> src/main/resources/application-local.properties - echo "spring.datasource.username=${{ secrets.DB_USERNAME }}" >> src/main/resources/application-local.properties - echo "spring.datasource.password=${{ secrets.DB_PASSWORD }}" >> src/main/resources/application-local.properties - echo "spring.datasource.driver-class-name=${{ secrets.DB_DRIVER }}" >> src/main/resources/application-local.properties - echo "spring.jpa.hibernate.ddl-auto=update" >> src/main/resources/application-local.properties - echo "spring.jpa.show-sql=true" >> src/main/resources/application-local.properties + echo "SERVER_DB_URL=${{ secrets.DB_URL }}" >> $GITHUB_ENV + echo "SERVER_DB_USERNAME=${{ secrets.DB_USERNAME }}" >> $GITHUB_ENV + echo "SERVER_DB_PASSWORD=${{ secrets.DB_PASSWORD }}" >> $GITHUB_ENV + echo "SERVER_DB_DRIVER_CLASS_NAME=${{ secrets.DB_DRIVER }}" >> $GITHUB_ENV + echo "SERVER_DB_DIALECT=${{ secrets.SERVER_DB_DIALECT }}" >> $GITHUB_ENV + echo "HTTP_PORT=${{ secrets.HTTP_PORT }}" >> $GITHUB_ENV + echo "SERVER_PORT=${{ secrets.SERVER_PORT }}" >> $GITHUB_ENV + echo "SERVER_SSL_KEY_STORE_TYPE=${{ secrets.SERVER_SSL_KEY_STORE_TYPE }}" >> $GITHUB_ENV + echo "SERVER_SSL_KEY_STORE_LOCATION=${{ secrets.SERVER_SSL_KEY_STORE_LOCATION }}" >> $GITHUB_ENV + echo "SERVER_SSL_KEY_STORE_PASSWORD=${{ secrets.SERVER_SSL_KEY_STORE_PASSWORD }}" >> $GITHUB_ENV + echo "SERVER_SSL_KEY_ALIAS=${{ secrets.SERVER_SSL_KEY_ALIAS }}" >> $GITHUB_ENV + echo "SERVER_SSL_TRUST_STORE_LOCATION=${{ secrets.SERVER_SSL_TRUST_STORE_LOCATION }}" >> $GITHUB_ENV + echo "SERVER_SSL_TRUST_STORE_PASSWORD=${{ secrets.SERVER_SSL_TRUST_STORE_PASSWORD }}" >> $GITHUB_ENV - name: Build with Maven run: mvn -B package --file pom.xml diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7239e41..80137c6 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,5 +1,5 @@ spring.application.name=SafeQR-app -spring.profiles.active=local +#spring.profiles.active=local http.port=${HTTP_PORT} server.port=${SERVER_PORT} server.ssl.enabled=true From 890a2affb5ebef4150953ac8b3fb2790abc037f9 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Tue, 18 Jun 2024 22:16:23 +0800 Subject: [PATCH 23/64] update env variable --- src/main/resources/application.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 80137c6..2f7ba85 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,7 +1,7 @@ spring.application.name=SafeQR-app #spring.profiles.active=local http.port=${HTTP_PORT} -server.port=${SERVER_PORT} +server.port=8081 server.ssl.enabled=true server.ssl.key-store-type=${SERVER_SSL_KEY_STORE_TYPE} server.ssl.key-store=${SERVER_SSL_KEY_STORE_LOCATION} From 1fa79bbd3cc9dd0b28c1db0b6ea7a33a50ae326f Mon Sep 17 00:00:00 2001 From: heyethereum Date: Tue, 18 Jun 2024 23:43:50 +0800 Subject: [PATCH 24/64] update env variable --- .github/workflows/workflow.yml | 13 ++++++++----- src/main/resources/application.properties | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 28484f8..eae040a 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -68,9 +68,12 @@ jobs: - name: Create and Start Systemd Service run: | aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=[ - "sudo bash -c '\''cat < /etc/systemd/system/springboot-app.service\n[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\nEOF'\''", - "sudo systemctl daemon-reload", - "sudo systemctl enable springboot-app", - "sudo systemctl start springboot-app", - "sudo systemctl status springboot-app" + "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", + "chmod +x /home/ssm-user/update_env_var.sh", + "source /home/ssm-user/.bashrc", + "sudo bash -c '\''cat < /etc/systemd/system/springboot-app.service\n[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\nEOF'\''", + "sudo systemctl daemon-reload", + "sudo systemctl enable springboot-app", + "sudo systemctl start springboot-app", + "sudo systemctl status springboot-app" ]' diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 2f7ba85..80137c6 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,7 +1,7 @@ spring.application.name=SafeQR-app #spring.profiles.active=local http.port=${HTTP_PORT} -server.port=8081 +server.port=${SERVER_PORT} server.ssl.enabled=true server.ssl.key-store-type=${SERVER_SSL_KEY_STORE_TYPE} server.ssl.key-store=${SERVER_SSL_KEY_STORE_LOCATION} From d75a6c0bf05a93b7147abcb438bcbb836c469220 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Tue, 18 Jun 2024 23:50:54 +0800 Subject: [PATCH 25/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index eae040a..3df21e6 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "chmod +x /home/ssm-user/update_env_var.sh", "source /home/ssm-user/.bashrc", - "sudo bash -c '\''cat < /etc/systemd/system/springboot-app.service\n[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\nEOF'\''", + "sudo bash -c '\''cat < /etc/systemd/system/springboot-app.service\n[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"DB_URL=${{ env.DB_URL }}\" \"DB_USERNAME=${{ env.DB_USERNAME }}\" \"DB_PASSWORD=${{ env.DB_PASSWORD }}\" \"DB_DRIVER=${{ env.DB_DRIVER }}\" \"KEY_STORE_PATH=${{ env.KEY_STORE_PATH }}\" \"KEY_STORE_PASSWORD=${{ env.KEY_STORE_PASSWORD }}\" \"KEY_ALIAS=${{ env.KEY_ALIAS }}\" \"TRUST_STORE_PATH=${{ env.TRUST_STORE_PATH }}\" \"TRUST_STORE_PASSWORD=${{ env.TRUST_STORE_PASSWORD }}\" \"SERVER_PORT=${{ env.SERVER_PORT }}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\nEOF'\''", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From b978f768d93427cac13eaaba940808a1cf3391fd Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 00:06:55 +0800 Subject: [PATCH 26/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 3df21e6..f5f9ff0 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "chmod +x /home/ssm-user/update_env_var.sh", "source /home/ssm-user/.bashrc", - "sudo bash -c '\''cat < /etc/systemd/system/springboot-app.service\n[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"DB_URL=${{ env.DB_URL }}\" \"DB_USERNAME=${{ env.DB_USERNAME }}\" \"DB_PASSWORD=${{ env.DB_PASSWORD }}\" \"DB_DRIVER=${{ env.DB_DRIVER }}\" \"KEY_STORE_PATH=${{ env.KEY_STORE_PATH }}\" \"KEY_STORE_PASSWORD=${{ env.KEY_STORE_PASSWORD }}\" \"KEY_ALIAS=${{ env.KEY_ALIAS }}\" \"TRUST_STORE_PATH=${{ env.TRUST_STORE_PATH }}\" \"TRUST_STORE_PASSWORD=${{ env.TRUST_STORE_PASSWORD }}\" \"SERVER_PORT=${{ env.SERVER_PORT }}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\nEOF'\''", + "echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"DB_URL=${{ env.DB_URL }}\" \"DB_USERNAME=${{ env.DB_USERNAME }}\" \"DB_PASSWORD=${{ env.DB_PASSWORD }}\" \"DB_DRIVER=${{ env.DB_DRIVER }}\" \"KEY_STORE_PATH=${{ env.KEY_STORE_PATH }}\" \"KEY_STORE_PASSWORD=${{ env.KEY_STORE_PASSWORD }}\" \"KEY_ALIAS=${{ env.KEY_ALIAS }}\" \"TRUST_STORE_PATH=${{ env.TRUST_STORE_PATH }}\" \"TRUST_STORE_PASSWORD=${{ env.TRUST_STORE_PASSWORD }}\" \"SERVER_PORT=${{ env.SERVER_PORT }}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" > /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From c4749cb3adba9ed966dde58751dfc3100f299c8a Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 00:11:35 +0800 Subject: [PATCH 27/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index f5f9ff0..4af2ba8 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "chmod +x /home/ssm-user/update_env_var.sh", "source /home/ssm-user/.bashrc", - "echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"DB_URL=${{ env.DB_URL }}\" \"DB_USERNAME=${{ env.DB_USERNAME }}\" \"DB_PASSWORD=${{ env.DB_PASSWORD }}\" \"DB_DRIVER=${{ env.DB_DRIVER }}\" \"KEY_STORE_PATH=${{ env.KEY_STORE_PATH }}\" \"KEY_STORE_PASSWORD=${{ env.KEY_STORE_PASSWORD }}\" \"KEY_ALIAS=${{ env.KEY_ALIAS }}\" \"TRUST_STORE_PATH=${{ env.TRUST_STORE_PATH }}\" \"TRUST_STORE_PASSWORD=${{ env.TRUST_STORE_PASSWORD }}\" \"SERVER_PORT=${{ env.SERVER_PORT }}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" > /etc/systemd/system/springboot-app.service", + "echo \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=\\\"DB_URL=\\\" \\\"DB_USERNAME=\\\" \\\"DB_PASSWORD=\\\" \\\"DB_DRIVER=\\\" \\\"KEY_STORE_PATH=\\\" \\\"KEY_STORE_PASSWORD=\\\" \\\"KEY_ALIAS=\\\" \\\"TRUST_STORE_PATH=\\\" \\\"TRUST_STORE_PASSWORD=\\\" \\\"SERVER_PORT=***\\\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" > /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 717eb80a940b37d64dcb1956542667873a9a80b1 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 00:23:19 +0800 Subject: [PATCH 28/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 4af2ba8..5505e7d 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "chmod +x /home/ssm-user/update_env_var.sh", "source /home/ssm-user/.bashrc", - "echo \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=\\\"DB_URL=\\\" \\\"DB_USERNAME=\\\" \\\"DB_PASSWORD=\\\" \\\"DB_DRIVER=\\\" \\\"KEY_STORE_PATH=\\\" \\\"KEY_STORE_PASSWORD=\\\" \\\"KEY_ALIAS=\\\" \\\"TRUST_STORE_PATH=\\\" \\\"TRUST_STORE_PASSWORD=\\\" \\\"SERVER_PORT=***\\\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" > /etc/systemd/system/springboot-app.service", + "echo \"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\" > /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 517bd6f1ffad68e7ac55f92118631624adbbc9c8 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 00:29:11 +0800 Subject: [PATCH 29/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 5505e7d..183a517 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "chmod +x /home/ssm-user/update_env_var.sh", "source /home/ssm-user/.bashrc", - "echo \"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\" > /etc/systemd/system/springboot-app.service", + "echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" > /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From e436e38400ef0723fc1af50a4904621310ab18ff Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 00:34:55 +0800 Subject: [PATCH 30/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 183a517..091ee5c 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "chmod +x /home/ssm-user/update_env_var.sh", "source /home/ssm-user/.bashrc", - "echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" > /etc/systemd/system/springboot-app.service", + 'echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" > /etc/systemd/system/springboot-app.service', "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 453403213b80be7dabc17a818d7a6c2421eec5a9 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 00:37:11 +0800 Subject: [PATCH 31/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 091ee5c..b02a576 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "chmod +x /home/ssm-user/update_env_var.sh", "source /home/ssm-user/.bashrc", - 'echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" > /etc/systemd/system/springboot-app.service', + 'sudo echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" > /etc/systemd/system/springboot-app.service', "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 2b963dd71d98d832466d27d337c9d97ce0772462 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 00:41:16 +0800 Subject: [PATCH 32/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index b02a576..0c5e523 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "chmod +x /home/ssm-user/update_env_var.sh", "source /home/ssm-user/.bashrc", - 'sudo echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" > /etc/systemd/system/springboot-app.service', + 'sudo bash -c echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" > /etc/systemd/system/springboot-app.service', "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 2da932e9ff43a36d9a369d11bebe8e7635e32395 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 00:44:53 +0800 Subject: [PATCH 33/64] update env variable --- .github/workflows/workflow.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 0c5e523..ad4bfa3 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -69,8 +69,8 @@ jobs: run: | aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=[ "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", - "chmod +x /home/ssm-user/update_env_var.sh", - "source /home/ssm-user/.bashrc", + "sudo chmod +x /home/ssm-user/update_env_var.sh", + "sudo source /home/ssm-user/.bashrc", 'sudo bash -c echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" > /etc/systemd/system/springboot-app.service', "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", From d8bf0fd5b37b53eec29f4239b2486244bb36d833 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 00:46:50 +0800 Subject: [PATCH 34/64] update env variable --- .github/workflows/workflow.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index ad4bfa3..9b1f692 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -70,8 +70,7 @@ jobs: aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=[ "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", - "sudo source /home/ssm-user/.bashrc", - 'sudo bash -c echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" > /etc/systemd/system/springboot-app.service', + "sudo source /home/ssm-user/.bashrc", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From f928a7c26d2efe1dff2c2b32381117ae188ee567 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 00:50:11 +0800 Subject: [PATCH 35/64] update env variable --- .github/workflows/workflow.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 9b1f692..8352261 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -70,7 +70,8 @@ jobs: aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=[ "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", - "sudo source /home/ssm-user/.bashrc", + "sudo source /home/ssm-user/.bashrc", + 'sudo bash -c \'echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" > /etc/systemd/system/springboot-app.service'\', "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 4d143523333af3dc6d75981ef78917cca476a351 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 00:58:39 +0800 Subject: [PATCH 36/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 8352261..f2f3a87 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", "sudo source /home/ssm-user/.bashrc", - 'sudo bash -c \'echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" > /etc/systemd/system/springboot-app.service'\', + 'echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" | sudo tee /etc/systemd/system/springboot-app.service', "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 5e594ed0e0658c8d7811b882684529117daf4105 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 01:03:25 +0800 Subject: [PATCH 37/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index f2f3a87..d9de20f 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", "sudo source /home/ssm-user/.bashrc", - 'echo \\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\" | sudo tee /etc/systemd/system/springboot-app.service', + "echo \\\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\\" | sudo tee /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 3b6f2c22bff9d785ef73db018a44688fb468a04e Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 01:06:50 +0800 Subject: [PATCH 38/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index d9de20f..b781ded 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", "sudo source /home/ssm-user/.bashrc", - "echo \\\"[Unit]\nDescription=Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=ssm-user\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n\\\" | sudo tee /etc/systemd/system/springboot-app.service", + "echo \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 79e618971b8d13d80bfdf2773eace545e474c4ea Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 01:12:51 +0800 Subject: [PATCH 39/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index b781ded..696af07 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", "sudo source /home/ssm-user/.bashrc", - "echo \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", + "echo \\"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=\\"SERVER_DB_URL=${SERVER_DB_URL}\\" \\"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\\" \\"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\\" \\"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\\" \\"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\\" \\"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\\" \\"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\\" \\"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\\" \\"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\\" \\"SERVER_PORT=${SERVER_PORT}\\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\\" | sudo tee /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 23e36027e9c9d1f694f9fee45d62493714d7e839 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 01:15:14 +0800 Subject: [PATCH 40/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 696af07..3e899ad 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", "sudo source /home/ssm-user/.bashrc", - "echo \\"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=\\"SERVER_DB_URL=${SERVER_DB_URL}\\" \\"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\\" \\"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\\" \\"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\\" \\"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\\" \\"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\\" \\"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\\" \\"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\\" \\"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\\" \\"SERVER_PORT=${SERVER_PORT}\\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\\" | sudo tee /etc/systemd/system/springboot-app.service", + "echo -e \\\"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=\\\"SERVER_DB_URL=${SERVER_DB_URL}\\\" \\\"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\\\" \\\"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\\\" \\\"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\\\" \\\"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\\\" \\\"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\\\" \\\"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\\\" \\\"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\\\" \\\"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\\\" \\\"SERVER_PORT=${SERVER_PORT}\\\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\\\" | sudo tee /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From e299a912e4b829a64ee9360e425e5050295689ee Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 01:22:51 +0800 Subject: [PATCH 41/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 3e899ad..ee3824a 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", "sudo source /home/ssm-user/.bashrc", - "echo -e \\\"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=\\\"SERVER_DB_URL=${SERVER_DB_URL}\\\" \\\"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\\\" \\\"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\\\" \\\"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\\\" \\\"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\\\" \\\"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\\\" \\\"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\\\" \\\"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\\\" \\\"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\\\" \\\"SERVER_PORT=${SERVER_PORT}\\\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\\\" | sudo tee /etc/systemd/system/springboot-app.service", + "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment='SERVER_DB_URL=${SERVER_DB_URL}' 'SERVER_DB_USERNAME=${SERVER_DB_USERNAME}' 'SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}' 'SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}' 'SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}' 'SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}' 'SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}' 'SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}' 'SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}' 'SERVER_PORT=${SERVER_PORT}'\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From ae375c2cede1ffe1c9edeab6cfb3bf0550d7d663 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 01:24:52 +0800 Subject: [PATCH 42/64] update env variable --- .github/workflows/workflow.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index ee3824a..3638db8 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -18,8 +18,8 @@ jobs: - name: Set up JDK 17 uses: actions/setup-java@v3 with: - java-version: '17' - distribution: 'temurin' + java-version: \"17\" + distribution: \"temurin\" cache: maven - name: Set environment variables @@ -60,20 +60,20 @@ jobs: - name: Download JAR from S3 to EC2 run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Download JAR from S3" --parameters 'commands=[ + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Download JAR from S3" --parameters \"commands=[ "aws s3 cp s3://s3-bucket-safeqr/app-0.0.1-SNAPSHOT.jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar", "ls -l /home/ssm-user/app-0.0.1-SNAPSHOT.jar" - ]' + ]\" - name: Create and Start Systemd Service run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=[ + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters \"commands=[ "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", "sudo source /home/ssm-user/.bashrc", - "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment='SERVER_DB_URL=${SERVER_DB_URL}' 'SERVER_DB_USERNAME=${SERVER_DB_USERNAME}' 'SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}' 'SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}' 'SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}' 'SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}' 'SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}' 'SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}' 'SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}' 'SERVER_PORT=${SERVER_PORT}'\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", + "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", "sudo systemctl status springboot-app" - ]' + ]\" From 0a2b8ff9b19f00c3ebfbdc899380858ec4c2f6ee Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 01:26:35 +0800 Subject: [PATCH 43/64] update env variable --- .github/workflows/workflow.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 3638db8..bd846da 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -18,8 +18,8 @@ jobs: - name: Set up JDK 17 uses: actions/setup-java@v3 with: - java-version: \"17\" - distribution: \"temurin\" + java-version: '17' + distribution: 'temurin' cache: maven - name: Set environment variables @@ -60,14 +60,14 @@ jobs: - name: Download JAR from S3 to EC2 run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Download JAR from S3" --parameters \"commands=[ + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Download JAR from S3" --parameters 'commands=[ "aws s3 cp s3://s3-bucket-safeqr/app-0.0.1-SNAPSHOT.jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar", "ls -l /home/ssm-user/app-0.0.1-SNAPSHOT.jar" - ]\" + ]' - name: Create and Start Systemd Service run: | - aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters \"commands=[ + aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=[ "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", "sudo source /home/ssm-user/.bashrc", @@ -76,4 +76,4 @@ jobs: "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", "sudo systemctl status springboot-app" - ]\" + ]' From 873d54955c2299c38bb8a14e01fc9bc99b1ee20e Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 01:32:13 +0800 Subject: [PATCH 44/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index bd846da..5909bb7 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", "sudo source /home/ssm-user/.bashrc", - "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=\"SERVER_DB_URL=${SERVER_DB_URL}\" \"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\" \"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\" \"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\" \"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\" \"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\" \"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\" \"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\" \"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\" \"SERVER_PORT=${SERVER_PORT}\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", + "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=\\\"SERVER_DB_URL=${SERVER_DB_URL}\\\" \\\"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\\\" \\\"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\\\" \\\"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\\\" \\\"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\\\" \\\"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\\\" \\\"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\\\" \\\"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\\\" \\\"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\\\" \\\"SERVER_PORT=${SERVER_PORT}\\\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 22532d4a9f3a20fe24489383ecdf48c9b456e6fb Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 01:35:33 +0800 Subject: [PATCH 45/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 5909bb7..becaa05 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", "sudo source /home/ssm-user/.bashrc", - "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=\\\"SERVER_DB_URL=${SERVER_DB_URL}\\\" \\\"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\\\" \\\"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\\\" \\\"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\\\" \\\"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\\\" \\\"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\\\" \\\"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\\\" \\\"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\\\" \\\"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\\\" \\\"SERVER_PORT=${SERVER_PORT}\\\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", + "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=\\"SERVER_DB_URL=${SERVER_DB_URL}\\" \\"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\\" \\"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\\" \\"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\\" \\"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\\" \\"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\\" \\"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\\" \\"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\\" \\"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\\" \\"SERVER_PORT=${SERVER_PORT}\\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 08fd9f034fa76d45866fb34425d4111fc6d18d0e Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 01:38:15 +0800 Subject: [PATCH 46/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index becaa05..137dca3 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", "sudo source /home/ssm-user/.bashrc", - "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=\\"SERVER_DB_URL=${SERVER_DB_URL}\\" \\"SERVER_DB_USERNAME=${SERVER_DB_USERNAME}\\" \\"SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}\\" \\"SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}\\" \\"SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}\\" \\"SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}\\" \\"SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}\\" \\"SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}\\" \\"SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}\\" \\"SERVER_PORT=${SERVER_PORT}\\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", + "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment="SERVER_DB_URL=${SERVER_DB_URL}" "SERVER_DB_USERNAME=${SERVER_DB_USERNAME}" "SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}" "SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}" "SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}" "SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}" "SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}" "SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}" "SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}" "SERVER_PORT=${SERVER_PORT}"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 6705351cf20a98c83e720f56806e650beccf189d Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 01:42:08 +0800 Subject: [PATCH 47/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 137dca3..e1e8874 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", "sudo source /home/ssm-user/.bashrc", - "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment="SERVER_DB_URL=${SERVER_DB_URL}" "SERVER_DB_USERNAME=${SERVER_DB_USERNAME}" "SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD}" "SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME}" "SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION}" "SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD}" "SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS}" "SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION}" "SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD}" "SERVER_PORT=${SERVER_PORT}"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", + "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=SERVER_DB_URL=\"${SERVER_DB_URL}\" SERVER_DB_USERNAME=\"${SERVER_DB_USERNAME}\" SERVER_DB_PASSWORD=\"${SERVER_DB_PASSWORD}\" SERVER_DB_DRIVER_CLASS_NAME=\"${SERVER_DB_DRIVER_CLASS_NAME}\" SERVER_SSL_KEY_STORE_LOCATION=\"${SERVER_SSL_KEY_STORE_LOCATION}\" SERVER_SSL_KEY_STORE_PASSWORD=\"${SERVER_SSL_KEY_STORE_PASSWORD}\" SERVER_SSL_KEY_ALIAS=\"${SERVER_SSL_KEY_ALIAS}\" SERVER_SSL_TRUST_STORE_LOCATION=\"${SERVER_SSL_TRUST_STORE_LOCATION}\" SERVER_SSL_TRUST_STORE_PASSWORD=\"${SERVER_SSL_TRUST_STORE_PASSWORD}\" SERVER_PORT=\"${SERVER_PORT}\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 6086ff5272fa61a65d9827906c1c106e5ca16e81 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 01:46:11 +0800 Subject: [PATCH 48/64] update env variable --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index e1e8874..958e898 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -71,7 +71,7 @@ jobs: "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", "sudo chmod +x /home/ssm-user/update_env_var.sh", "sudo source /home/ssm-user/.bashrc", - "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=SERVER_DB_URL=\"${SERVER_DB_URL}\" SERVER_DB_USERNAME=\"${SERVER_DB_USERNAME}\" SERVER_DB_PASSWORD=\"${SERVER_DB_PASSWORD}\" SERVER_DB_DRIVER_CLASS_NAME=\"${SERVER_DB_DRIVER_CLASS_NAME}\" SERVER_SSL_KEY_STORE_LOCATION=\"${SERVER_SSL_KEY_STORE_LOCATION}\" SERVER_SSL_KEY_STORE_PASSWORD=\"${SERVER_SSL_KEY_STORE_PASSWORD}\" SERVER_SSL_KEY_ALIAS=\"${SERVER_SSL_KEY_ALIAS}\" SERVER_SSL_TRUST_STORE_LOCATION=\"${SERVER_SSL_TRUST_STORE_LOCATION}\" SERVER_SSL_TRUST_STORE_PASSWORD=\"${SERVER_SSL_TRUST_STORE_PASSWORD}\" SERVER_PORT=\"${SERVER_PORT}\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", + "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=SERVER_DB_URL=${SERVER_DB_URL} SERVER_DB_USERNAME=${SERVER_DB_USERNAME} SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD} SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME} SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION} SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD} SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS} SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION} SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD} SERVER_PORT=${SERVER_PORT}\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", From 2f4faf9ead30aa4828cf98385c06d4c9f5cb0bb6 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 01:50:02 +0800 Subject: [PATCH 49/64] update env variable --- .github/workflows/workflow.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 958e898..5a5776c 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -69,8 +69,9 @@ jobs: run: | aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=[ "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", - "sudo chmod +x /home/ssm-user/update_env_var.sh", + "chmod +x /home/ssm-user/update_env_var.sh", "sudo source /home/ssm-user/.bashrc", + "echo \"${SERVER_PORT}\"", "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=SERVER_DB_URL=${SERVER_DB_URL} SERVER_DB_USERNAME=${SERVER_DB_USERNAME} SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD} SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME} SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION} SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD} SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS} SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION} SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD} SERVER_PORT=${SERVER_PORT}\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", From 4a3810af2add5ac238306906b148d5d38bd4328f Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 23:49:12 +0800 Subject: [PATCH 50/64] update service and env files --- .github/workflows/workflow.yml | 8 ++------ .gitignore | 2 ++ springboot-app.service | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 springboot-app.service diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 5a5776c..28a313c 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -62,17 +62,13 @@ jobs: run: | aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Download JAR from S3" --parameters 'commands=[ "aws s3 cp s3://s3-bucket-safeqr/app-0.0.1-SNAPSHOT.jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar", - "ls -l /home/ssm-user/app-0.0.1-SNAPSHOT.jar" ]' - name: Create and Start Systemd Service run: | aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=[ - "aws s3 cp s3://s3-bucket-safeqr/update_env_var.sh /home/ssm-user/update_env_var.sh", - "chmod +x /home/ssm-user/update_env_var.sh", - "sudo source /home/ssm-user/.bashrc", - "echo \"${SERVER_PORT}\"", - "echo -e \"[Unit]\\nDescription=Spring Boot Application\\nAfter=network.target\\n\\n[Service]\\nUser=ssm-user\\nEnvironment=SERVER_DB_URL=${SERVER_DB_URL} SERVER_DB_USERNAME=${SERVER_DB_USERNAME} SERVER_DB_PASSWORD=${SERVER_DB_PASSWORD} SERVER_DB_DRIVER_CLASS_NAME=${SERVER_DB_DRIVER_CLASS_NAME} SERVER_SSL_KEY_STORE_LOCATION=${SERVER_SSL_KEY_STORE_LOCATION} SERVER_SSL_KEY_STORE_PASSWORD=${SERVER_SSL_KEY_STORE_PASSWORD} SERVER_SSL_KEY_ALIAS=${SERVER_SSL_KEY_ALIAS} SERVER_SSL_TRUST_STORE_LOCATION=${SERVER_SSL_TRUST_STORE_LOCATION} SERVER_SSL_TRUST_STORE_PASSWORD=${SERVER_SSL_TRUST_STORE_PASSWORD} SERVER_PORT=${SERVER_PORT}\"\\nExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar\\nSuccessExitStatus=143\\nRestart=always\\nRestartSec=3\\n\\n[Install]\\nWantedBy=multi-user.target\\n\" | sudo tee /etc/systemd/system/springboot-app.service", + "aws s3 cp s3://s3-bucket-safeqr/springboot-app.service /etc/systemd/system/springboot-app.service", + "aws s3 cp s3://s3-bucket-safeqr/springboot-app.var /etc/systemd/system/springboot-app.var", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", diff --git a/.gitignore b/.gitignore index c455574..d57dd76 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,8 @@ target/ *.ipr src/main/resources/application-local.properties update_env_var.sh +springboot-app.service +springboot-app.var ### NetBeans ### /nbproject/private/ diff --git a/springboot-app.service b/springboot-app.service new file mode 100644 index 0000000..4b03773 --- /dev/null +++ b/springboot-app.service @@ -0,0 +1,14 @@ +[Unit] +Description=Spring Boot Application +After=network.target + +[Service] +User=ssm-user +EnvironmentFile=/etc/systemd/system/springboot-app.var +ExecStart=/usr/bin/java -jar /home/ssm-user/app-0.0.1-SNAPSHOT.jar +SuccessExitStatus=143 +Restart=always +RestartSec=3 + +[Install] +WantedBy=multi-user.target \ No newline at end of file From 75ae070c5d08d98a6961213ac96933c391b969fc Mon Sep 17 00:00:00 2001 From: heyethereum Date: Wed, 19 Jun 2024 23:57:41 +0800 Subject: [PATCH 51/64] devops success test --- .../java/com/safeqr/app/user/controller/UserController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/safeqr/app/user/controller/UserController.java b/src/main/java/com/safeqr/app/user/controller/UserController.java index 2cf4e31..4412345 100644 --- a/src/main/java/com/safeqr/app/user/controller/UserController.java +++ b/src/main/java/com/safeqr/app/user/controller/UserController.java @@ -16,7 +16,7 @@ public class UserController { @GetMapping(value = "/version", produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity version() { System.out.println(userService.getUserByEmail()); - return ResponseEntity.ok("SafeQR v1.0.0"); + return ResponseEntity.ok("SafeQR v1.0.1"); } } From 268748a07d80128bd955517d67c5b9aeffc4b805 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Thu, 20 Jun 2024 00:05:40 +0800 Subject: [PATCH 52/64] devops success test --- .github/workflows/workflow.yml | 1 + .../java/com/safeqr/app/user/controller/UserController.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 28a313c..0a45c9c 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -69,6 +69,7 @@ jobs: aws ssm send-command --instance-ids ${{ env.INSTANCE_ID }} --document-name "AWS-RunShellScript" --comment "Create and start service" --parameters 'commands=[ "aws s3 cp s3://s3-bucket-safeqr/springboot-app.service /etc/systemd/system/springboot-app.service", "aws s3 cp s3://s3-bucket-safeqr/springboot-app.var /etc/systemd/system/springboot-app.var", + "sudo systemctl stop springboot-app", "sudo systemctl daemon-reload", "sudo systemctl enable springboot-app", "sudo systemctl start springboot-app", diff --git a/src/main/java/com/safeqr/app/user/controller/UserController.java b/src/main/java/com/safeqr/app/user/controller/UserController.java index 4412345..6c05a0f 100644 --- a/src/main/java/com/safeqr/app/user/controller/UserController.java +++ b/src/main/java/com/safeqr/app/user/controller/UserController.java @@ -16,7 +16,7 @@ public class UserController { @GetMapping(value = "/version", produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity version() { System.out.println(userService.getUserByEmail()); - return ResponseEntity.ok("SafeQR v1.0.1"); + return ResponseEntity.ok("SafeQR v1.0.2"); } } From 1afbcbe4100b81cf6c408541f9bac30cd1dd19d3 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Sun, 30 Jun 2024 13:08:26 +0800 Subject: [PATCH 53/64] test health check --- .../com/safeqr/app/user/controller/UserController.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/safeqr/app/user/controller/UserController.java b/src/main/java/com/safeqr/app/user/controller/UserController.java index 6c05a0f..b913d3e 100644 --- a/src/main/java/com/safeqr/app/user/controller/UserController.java +++ b/src/main/java/com/safeqr/app/user/controller/UserController.java @@ -8,15 +8,17 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.Map; + @RestController @RequestMapping("/v1") public class UserController { @Autowired UserService userService; @GetMapping(value = "/version", produces = MediaType.APPLICATION_JSON_VALUE) - public ResponseEntity version() { - System.out.println(userService.getUserByEmail()); - return ResponseEntity.ok("SafeQR v1.0.2"); + public ResponseEntity> version() { + //System.out.println(userService.getUserByEmail()); + return ResponseEntity.ok(Map.of("version","SafeQR v1.0.2")); } } From d73f05ed6b7d6579c72fbcde2b0a82b31f2df6b7 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Sun, 30 Jun 2024 22:41:18 +0800 Subject: [PATCH 54/64] Added truststore --- src/main/resources/keystore/truststore.p12 | Bin 0 -> 1254 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/keystore/truststore.p12 diff --git a/src/main/resources/keystore/truststore.p12 b/src/main/resources/keystore/truststore.p12 new file mode 100644 index 0000000000000000000000000000000000000000..c7e526fa0a8b25710b787a847bd622d8e577ed07 GIT binary patch literal 1254 zcmV&LNQU+thDZTr0|Wso1Q6~pq7n?~`cC-ueetjxX7zxA1K?p`q#Q1AYChd*>^>)e+mRB) za=S?_;I}eH4VJf^Cd2Z57bsp(T)qiHm`Asf+8W|?!W_ays3ku_$7NyVojr*wqG^7L zAtJ=LHYVRBA5$Xj9UlQE&402>g46HFPCdlYNS*Ir{6hy zPB{5d>$;Ey?SBR8TBQn=sgsK%n5@Rcp!Qgntpk{bp` zMoDuQEE_+LUgA897J{iSLCtb4)ly{GP*2l%q>#A^M1T1|i?rjW4wO6QCIVO=^QM>% zOaf;10ceAR^R_};@0TGQkYLelxU!}!PZ|~8-5C_kO*TD!!~0_*Pgi9l^Jkv9v$sbK z*U$hOvK3(Y_^#5eQo+7!O}|{JN+zvgRid2l^%15h*0ZC-Uf!ma0a39sR#7^jbx-?w zS@t+6iaid@V!Z1t-l4S5q(gAqdH$boLu3~^5lJWo(wMPKq|4megC3DPzR#pp4`sIT zn=Uc8+webuy3XE96g+1E>ERK%4hiTdH^*swDNT7_+qx%$F7Zb2XDvcCc0d!k`?C^;RTn zvSX4>VC8EM?f+zAz0H#QzFXgifRLdRVXBN4)ZkXuVFqE!*uNZLw+x)V)7(fnia*_{ za!oxO-FwK{rcmKcy#s4Ni`b!mEp~g6wyv8XdhMh$c!}Y;Y;lKNs~v%~AZ&#BUx0VP z7By^Tpc^73hK3r|%rQ8*E>So)`^YTrCIXtepH+` zvunLO3>kvI^n}d+H9cR;lND$U^&CyAYK1@iwlXSz6XfcCe`tLt5D&qf&Y`!=%W({* zeLV(g;V-^ z`=Q9e`jdpdsw4%MWFNg0?bpODu+s9~;lRA{%oGFJ*NC9O7 z1OfpC00baKo5RE@slkGY-iuG+^IZ+{Irm~h-|64oMGQ#e_5BP46zY97ktf)ySh|ZW QWvJHSxZyLQpaKFX5dVcl(EtDd literal 0 HcmV?d00001 From 43b6d12e6811566898c9c131f2732219a4916b21 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Sun, 30 Jun 2024 23:55:06 +0800 Subject: [PATCH 55/64] Added truststore --- .../java/com/safeqr/app/user/controller/UserController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/safeqr/app/user/controller/UserController.java b/src/main/java/com/safeqr/app/user/controller/UserController.java index b913d3e..2e1a62c 100644 --- a/src/main/java/com/safeqr/app/user/controller/UserController.java +++ b/src/main/java/com/safeqr/app/user/controller/UserController.java @@ -17,7 +17,7 @@ public class UserController { UserService userService; @GetMapping(value = "/version", produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity> version() { - //System.out.println(userService.getUserByEmail()); + System.out.println(userService.getUserByEmail()); return ResponseEntity.ok(Map.of("version","SafeQR v1.0.2")); } From c5f3fd3578f3c2f7774015180563352fac1c19b9 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 1 Jul 2024 00:23:22 +0800 Subject: [PATCH 56/64] change keystore --- src/main/resources/keystore/safeqr-bak.p12 | Bin 0 -> 5143 bytes src/main/resources/keystore/safeqr.p12 | Bin 5143 -> 2848 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/keystore/safeqr-bak.p12 diff --git a/src/main/resources/keystore/safeqr-bak.p12 b/src/main/resources/keystore/safeqr-bak.p12 new file mode 100644 index 0000000000000000000000000000000000000000..87584fb7033eff6753ed60f2d7f04d9bf28121dc GIT binary patch literal 5143 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 PK{Z;OJM-jUE5v^Qz(aq( literal 0 HcmV?d00001 diff --git a/src/main/resources/keystore/safeqr.p12 b/src/main/resources/keystore/safeqr.p12 index 87584fb7033eff6753ed60f2d7f04d9bf28121dc..7709e4a698f17378c5eb231420d69af0ec30afb8 100644 GIT binary patch literal 2848 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 PK{Z;OJM-jUE5v^Qz(aq( From fccdc6c019504482582e724441e02ea0da13e71d Mon Sep 17 00:00:00 2001 From: heyethereum Date: Mon, 1 Jul 2024 00:42:08 +0800 Subject: [PATCH 57/64] change keystore --- src/main/resources/keystore/safeqr-bak.p12 | Bin 5143 -> 0 bytes src/main/resources/keystore/safeqr.p12 | Bin 2848 -> 5143 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/main/resources/keystore/safeqr-bak.p12 diff --git a/src/main/resources/keystore/safeqr-bak.p12 b/src/main/resources/keystore/safeqr-bak.p12 deleted file mode 100644 index 87584fb7033eff6753ed60f2d7f04d9bf28121dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5143 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 PK{Z;OJM-jUE5v^Qz(aq( diff --git a/src/main/resources/keystore/safeqr.p12 b/src/main/resources/keystore/safeqr.p12 index 7709e4a698f17378c5eb231420d69af0ec30afb8..87584fb7033eff6753ed60f2d7f04d9bf28121dc 100644 GIT binary patch literal 5143 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 PK{Z;OJM-jUE5v^Qz(aq( literal 2848 zcmai$XEYlO8-^1i#FnTPbSP@2u_>xHHLF(b)QUZesu`QstPzx;))!Jz6sZwf6%|`` zSkLs}wb|3+5ic@XEC_axe>(lQHv zM!nprEisOcjtPKd1vCBcDjkFYfD{5lTvH5z9`qofB#84jMn_j8zyEq~#gLp=-=I@G z1{8nCO<|8R5SQBoKRbzaof)G5cAe+3ExkXyk{{`CnPC@e>DwJ(CbuJQ_ioMkN>tK2 zjx9JJP>9k?f_3%tY`Qo56XfQ{%7AzB)YRaJb*e!{MHle9cOQ03#+;wM@9g~GYJy;K z1Off4clB1q8p^3!u$sDUy@B&otA636wQ%-=JA2;poWH;Q15_$cRTOW+8_I11vh2bA zY&*mi{_yeoc?sKHp%q%CRnZYlg4e%=Fx!ZyHV)-AU3z`!Km<0bI-rC1Yc1(DRsuan zj)2_}DQv2jpF)gv@b{GZv=Z{DQ)#+#%$a2m=STGojON^=hW9@2%E*c}GH&Wg6^yO( znA5*NA9pvwnqN6nhmf7qPZM*rTW)4HD)bnAuN0@vDzI=#or&+y99l6BMxjvF8^*fw zl1cr2S%{w!^&Y(9@5IyC3)uJ5)bcwTulvG_im`AJ4hw!toLxCPR6kQYAur-2CEe|Ee35>3Vp+uV&oTb6U$Ay)*?ohv@(t?UProeLTi(gYsddb0XL7y!$jje%*6}TM<>BhJ$_$F>l ze$LV!^(wD4?CT09+P!cUx@({I7;4#14wxu_BNZtNIkRAA&2`)YayX8j9xV3rl6YHmarA2UzJ||!7^D@gn|$CdtZm+<7yc?kE=)VX z+yZwr$bZq5u!|uCZEmJh8X?f51edoD4;Wq}f zba=Q8=F`Fx$L3E#+FDV1IOn=9s>3KJ%`NJ7!ZC?kKz1$@y21*0Qbjbc!G;SHb6rdC z6MMX#)8cHZX^!bj=KHp#(I%S3sU$1T3{!tSlZABefHHAd5JYW9L5BmK9MmpQLrJ%s zFlUouFZRB5V#9_%Ui(Ls3?(28L*YrCcQRREmj64Hl^IBP0##2+#eWkc>gkR#s)r;qFq0RRN!d+yQF6MG}+qt(H= zw9nQsw$;epn4TFyJ`Hbe{YV}G_DYk&aG4|Yjj-+ABC|V!ohF0LSJAz?1HqETtT#7a;==ik z1Dp+tSiI6?FmX1}V~{Dr7E-KCcPWiTg|{n%vpynw=v$$U6qjGVzEMz-Iroh?5atVlw^^(`q^0C5H{+^ zuEk^E;PH;9V*0}7rKSKeth{oOqxjN&wCLdT*qkfy;b#uM%jkJqQ{iB6{E*e;ev;G9 zHnx-Qg_W4HX6G;ZQJGlZPou3Qow@iuy$lOG+Bv_A?lrc%HHjc>|8cj_7|z-%kcvN* z+aNLm=Y$X_gG%Z$KNsNNo85tCSS1BeV4;z)#k-*f%xBD^b8sw?$hSA2POjOX@Ca%k7ARR;)l4rfG6wFYVmv_aw09%^-D zt`|bWPY{o^s4idnUwW>TpI#x(vUQ*Byb2B@G3KVHxhKgAHFuk3wUO{YqJ?nFvJ0~ULIEg%C%^*`3 Date: Mon, 1 Jul 2024 08:29:58 +0800 Subject: [PATCH 58/64] includes nlb cert --- .../resources/keystore/safeqr-nlb-cert.p12 | Bin 0 -> 2882 bytes src/main/resources/keystore/safeqr.p12 | Bin 5143 -> 7744 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/keystore/safeqr-nlb-cert.p12 diff --git a/src/main/resources/keystore/safeqr-nlb-cert.p12 b/src/main/resources/keystore/safeqr-nlb-cert.p12 new file mode 100644 index 0000000000000000000000000000000000000000..3e6161dc147ba3544774668d9acd26f39dfa6fd9 GIT binary patch literal 2882 zcmai$c{me}AIG;DGe_=1tW8RhY`L#yNyssG&Jmewj*v{H%uQ6}m^)XBVxi=mD{_pG zqeag6np}|_3B zNx%aV_%V-TV!6G6i9-0XBr8Fs#>Qdfu4P-YPi*@p4y0JB9b{x?&E6+Tc$w0E)~aHt zVv(WL$HRfOqunodzl>O)wCvt|;78DixIi6f(%F14hHa(WPjP$A^_O~WDGVCF5RjT) zYPr-uRS@(g+xszL*OjYK&G$AfPRu1STRIPP`@H$K$M@Jo+oqEnhFvOKgpYX6%5GbJ z`t{Jpy_8!nSNzrLMrRv zgE37N+>FFSyROb}zMcDsHF`fbN26KX0G^wjfy&x|N`igd%Tz?)HlQXQJXepcZ>f0Q zR7_4@VRCy5o)B~Vo)@sFSs%5@*N$8;yKG3efxWG7el`fJ-;7*QDA`|DRrtL$Bk!>D zl%0_bBBM6=5hK^lL$b;Mp%{^YBM679?|DBK!%)vsqJ*Jn-~1ZnQpujbh(=r6WATg1 zw_shdtzH>gg^8i8hTUI%uf1oYiN}RsBK8{eau!gLiuyIRb(UkZbbM=Unr^=*pWd&| zq|96_WE&8Si}M6OsT=CbD!i71l=tpMo$mxV&t(}%XvsRs^DMT6n=M_4&NLr}+N{x2 z0$@!d)xkYcM*WFi3Db==tt_UCYs%+3)ONZ|L(t5y+qWj=cgIgOpG*X+7WB7mIy|uQ z{c>`!|k(ZU3DEGzXABRYM`xm8XM+o!&oFt;Q~-6KEt=+)EgS08qeuP`|^^dl*z zs#jBiQgBo-{7O<+J#VIKxa-+p>n>-wgo^#AmG#U1`Q%t;(_rSl`M7E_!3eHpEyOz| zv}%I2`Vq5mv{bO>o{P;{3U8~qi*gxaJ(jre2w$z`Vx$gMGgzLyY_(?W-Xvi5y*FSz zL-~U*`KR52))|H4J}vIkh%>?b%EbHje!d^vINQ5ESsYwS_gCg`+#f6uw*tHs;?+n> z+0tH=y7r~)L%^`D^GIa!*0*>SKg&DJ4vwHr>EO%ZO)_@OHg`eTB$gv`zN%-nFQbWn z50}A`Gtl)sAEyv)DVlUw9wI0E1<HM2%i)58qa}cZU zD~@>h>p2bMZ;=!IX_tUl0PR`--ka{Bu8DKEq9pC8NonwrELVZEs*VZ{UXrG)E)-Ge zR)aIzZh66iL-mEqCYUS<^cWk(U0_THk(Yh9XTB}f0Lt*4&5{6|p7X#O9qc*rOI9w= z^Z0zl=}a1DWB8LIPM7SLRHZi-=`Vy*70w313hedBrr0ZTUt6JEr1)KebI|7EXHLte zX{w14V@_OiCC9}eRYc>C5p>ZU-v^P|mcj_nX!pE<(Y%J;3SATO1%OcKis$v}akc)I z&YP=p&LZyQI{h9yV;s%YNpKXhQ-AJ6?OPS!FoiM8Yq7amp~8|VL= z%EbW$9fqohQ1SnXQjbi#k^JC_yO9%x@O%%A`@f<@+l_H$=6fjbHcNm?ueI=lN#Ong z$Uymq#Rov;S4I!9U2KO**KFi@p5_FHXS^$k|13PmP`KFJCx44stJ2QyX^Ad*iB%ds z4jQ?i1UkXelA4@*HT_6-2sA=|@i?8~vV4oLTmI!JFS2addgF;L;jVhbl&|as!m&va znA!jf>&<{f&~xHof)(>!-og+5ozkh9h{@U)(F2t`#!o3SCs$H}O4*9iA64 zZO&pc))-1#yr3}{K<*UWm}j@nAJ zk&Yq{tj`|RwRtX3lz~DN7p|1hwWJZN`WGJyLo=tJDp}oohh<=^u1<< zbHr2bERj9+n!sgt-eJt?pD4#To`y6V(ZzXBX>)ej*Mi2-1zq2@NTQz-t+LjZQfx>v ziOE7ajNZ+7MWqfaL>?FhEc-iS3CdPKQL-u90>)?1=Um2ec+=1x@s-j% zIdD7bDmADp&MS-<W1Dd-)vv{AKRh86x_ZXxx+^}3868gz`2^kWI^C+9{=a4Ce`F%ibu<+rv-F9%4sV-HA*(?Yi@$gst>bN(PK7y># zmz~p|`Da#Vb@pyO5|@IgJ3xLsQz7fK0k>&{YH~Z=1XFy%NuMo-r!t-6`mzT`%^Znp z6|YmP`PBijirCMqwNC0D`UrfW`Q9Vr?a#G-5V9;yM@PJaoFZ0eyWW8fgswx_-Ys{+ z_@CapKREY3W8&m*HTv}DUzZ{Z+(^MA&<^NMJo-ibR7;8$SUA`SU5dEl9r#;J#@#u} zN9J|`HHJ0p%5f1zHFcebMwBBQaeY#JeGUNs+%Up1PT0IhWWYPpC^lei3)5_Zm>iD^UXQJlEd6v*p zkkZroN%)qWsA#W5;7;kZat}9d@yYJR#P99P#iJyBzE}Zrn?B1YgS7yJR4uw%=NB-F95nzMYPbiWuYCY!e3XnV)vL)BuniOV1``-`ISSjtQ|_Fpsq E2jDF?I{*Lx literal 0 HcmV?d00001 diff --git a/src/main/resources/keystore/safeqr.p12 b/src/main/resources/keystore/safeqr.p12 index 87584fb7033eff6753ed60f2d7f04d9bf28121dc..2f2123a7092b14f2d72f6becb8ff8e8b289d6e6f 100644 GIT binary patch delta 4748 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 Date: Mon, 1 Jul 2024 11:37:06 +0800 Subject: [PATCH 59/64] health check message --- .../java/com/safeqr/app/user/controller/UserController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/safeqr/app/user/controller/UserController.java b/src/main/java/com/safeqr/app/user/controller/UserController.java index 2e1a62c..4ac744e 100644 --- a/src/main/java/com/safeqr/app/user/controller/UserController.java +++ b/src/main/java/com/safeqr/app/user/controller/UserController.java @@ -17,7 +17,8 @@ public class UserController { UserService userService; @GetMapping(value = "/version", produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity> version() { - System.out.println(userService.getUserByEmail()); + //System.out.println(userService.getUserByEmail()); + System.out.println("Health Check"); return ResponseEntity.ok(Map.of("version","SafeQR v1.0.2")); } From 6b5053d2581656f2670b67c82c0fa92212eaaee7 Mon Sep 17 00:00:00 2001 From: safeqr <166971032+safeqr@users.noreply.github.com> Date: Mon, 1 Jul 2024 11:49:47 +0800 Subject: [PATCH 60/64] Delete src/main/resources/keystore/safeqr.p12 --- src/main/resources/keystore/safeqr.p12 | Bin 7744 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/main/resources/keystore/safeqr.p12 diff --git a/src/main/resources/keystore/safeqr.p12 b/src/main/resources/keystore/safeqr.p12 deleted file mode 100644 index 2f2123a7092b14f2d72f6becb8ff8e8b289d6e6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7744 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 From 878c8e23491e71c38cee20dcdceffe37fc3dbd53 Mon Sep 17 00:00:00 2001 From: safeqr <166971032+safeqr@users.noreply.github.com> Date: Mon, 1 Jul 2024 11:50:26 +0800 Subject: [PATCH 61/64] re-upload keystore --- src/main/resources/keystore/safeqr.p12 | Bin 0 -> 5313 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/keystore/safeqr.p12 diff --git a/src/main/resources/keystore/safeqr.p12 b/src/main/resources/keystore/safeqr.p12 new file mode 100644 index 0000000000000000000000000000000000000000..b6f4da8b90b1ef065278f1eae44380d323bb4200 GIT binary patch literal 5313 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 literal 0 HcmV?d00001 From ccd6baf0d786a468bcf2b33a73f0db9f3938e8fa Mon Sep 17 00:00:00 2001 From: heyethereum Date: Thu, 11 Jul 2024 00:22:27 +0800 Subject: [PATCH 62/64] revised includes edited user entity --- pom.xml | 28 ++++- .../controller/QRCodeTypeController.java | 64 +++++++++++ .../safeqr/app/qrcode/dto/QRCodePayload.java | 8 ++ .../app/qrcode/dto/RedirectCountResponse.java | 9 ++ .../app/qrcode/dto/SafeBrowsingRequest.java | 40 +++++++ .../app/qrcode/dto/SafeBrowsingResponse.java | 33 ++++++ .../qrcode/dto/URLVerificationRequest.java | 14 +++ .../qrcode/dto/URLVerificationResponse.java | 13 +++ .../app/qrcode/dto/VirusTotalResponse.java | 15 +++ .../com/safeqr/app/qrcode/entity/QRCode.java | 30 ++++++ .../safeqr/app/qrcode/entity/QRCodeType.java | 20 ++++ .../app/qrcode/entity/SafeBrowsingCache.java | 28 +++++ .../repository/QRCodeTypeRepository.java | 10 ++ .../SafeBrowsingCacheRepository.java | 11 ++ .../app/qrcode/service/QRCodeTypeService.java | 50 +++++++++ .../qrcode/service/RedirectCountService.java | 26 +++++ .../qrcode/service/SafeBrowsingService.java | 101 ++++++++++++++++++ .../service/URLVerificationService.java | 28 +++++ .../app/qrcode/service/VirusTotalService.java | 92 ++++++++++++++++ .../app/user/controller/UserController.java | 2 +- .../safeqr/app/user/entity/UserEntity.java | 14 +-- .../safeqr/app/user/service/UserService.java | 4 +- src/main/resources/application.properties | 5 +- .../safeqr/app/SafeQrAppApplicationTests.java | 5 +- 24 files changed, 635 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/safeqr/app/qrcode/controller/QRCodeTypeController.java create mode 100644 src/main/java/com/safeqr/app/qrcode/dto/QRCodePayload.java create mode 100644 src/main/java/com/safeqr/app/qrcode/dto/RedirectCountResponse.java create mode 100644 src/main/java/com/safeqr/app/qrcode/dto/SafeBrowsingRequest.java create mode 100644 src/main/java/com/safeqr/app/qrcode/dto/SafeBrowsingResponse.java create mode 100644 src/main/java/com/safeqr/app/qrcode/dto/URLVerificationRequest.java create mode 100644 src/main/java/com/safeqr/app/qrcode/dto/URLVerificationResponse.java create mode 100644 src/main/java/com/safeqr/app/qrcode/dto/VirusTotalResponse.java create mode 100644 src/main/java/com/safeqr/app/qrcode/entity/QRCode.java create mode 100644 src/main/java/com/safeqr/app/qrcode/entity/QRCodeType.java create mode 100644 src/main/java/com/safeqr/app/qrcode/entity/SafeBrowsingCache.java create mode 100644 src/main/java/com/safeqr/app/qrcode/repository/QRCodeTypeRepository.java create mode 100644 src/main/java/com/safeqr/app/qrcode/repository/SafeBrowsingCacheRepository.java create mode 100644 src/main/java/com/safeqr/app/qrcode/service/QRCodeTypeService.java create mode 100644 src/main/java/com/safeqr/app/qrcode/service/RedirectCountService.java create mode 100644 src/main/java/com/safeqr/app/qrcode/service/SafeBrowsingService.java create mode 100644 src/main/java/com/safeqr/app/qrcode/service/URLVerificationService.java create mode 100644 src/main/java/com/safeqr/app/qrcode/service/VirusTotalService.java diff --git a/pom.xml b/pom.xml index cfef930..eb78588 100644 --- a/pom.xml +++ b/pom.xml @@ -1,6 +1,6 @@ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 org.springframework.boot @@ -45,6 +45,30 @@ spring-boot-starter-test test + + + org.springframework.boot + spring-boot-starter-webflux + + + + + io.projectreactor + reactor-core + + + + + io.projectreactor + reactor-core + + + + + io.netty + netty-resolver-dns-native-macos + osx-x86_64 + @@ -64,4 +88,4 @@ - + \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/controller/QRCodeTypeController.java b/src/main/java/com/safeqr/app/qrcode/controller/QRCodeTypeController.java new file mode 100644 index 0000000..043afd2 --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/controller/QRCodeTypeController.java @@ -0,0 +1,64 @@ +package com.safeqr.app.qrcode.controller; + +import com.safeqr.app.qrcode.dto.QRCodePayload; +import com.safeqr.app.qrcode.dto.RedirectCountResponse; +import com.safeqr.app.qrcode.dto.URLVerificationResponse; +import com.safeqr.app.qrcode.entity.QRCodeType; +import com.safeqr.app.qrcode.service.QRCodeTypeService; +import com.safeqr.app.qrcode.service.RedirectCountService; +import com.safeqr.app.qrcode.service.URLVerificationService; +import com.safeqr.app.qrcode.service.VirusTotalService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/v1/api/qrcodetypes") +public class QRCodeTypeController { + + @Autowired + private QRCodeTypeService qrCodeTypeService; + + @Autowired + private URLVerificationService urlVerificationService; + + @Autowired + private VirusTotalService virusTotalService; + + @Autowired + private RedirectCountService redirectCountService; + + @GetMapping + public ResponseEntity> getAllTypes() { + return ResponseEntity.ok(qrCodeTypeService.getAllTypes()); + } + + @PostMapping("/detect") + public ResponseEntity detectType(@RequestBody QRCodePayload payload) { + return ResponseEntity.ok(qrCodeTypeService.detectType(payload).block()); + } + + @PostMapping("/verifyURL") + public ResponseEntity verifyURL(@RequestBody QRCodePayload payload) { + URLVerificationResponse response = urlVerificationService.verifyURL(payload); + return ResponseEntity.ok(response); + } + + @PostMapping("/virusTotalCheck") + public ResponseEntity virusTotalCheck(@RequestBody QRCodePayload payload) { + try { + String analysisId = virusTotalService.scanURL(payload); + boolean isSafe = virusTotalService.getAnalysis(analysisId); + return ResponseEntity.ok(isSafe); + } catch (Exception e) { + return ResponseEntity.status(500).body(false); + } + } + + @PostMapping("/checkRedirects") + public ResponseEntity checkRedirects(@RequestBody QRCodePayload payload) { + return ResponseEntity.ok(redirectCountService.countRedirects(payload).block()); + } +} \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/dto/QRCodePayload.java b/src/main/java/com/safeqr/app/qrcode/dto/QRCodePayload.java new file mode 100644 index 0000000..2d140bb --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/dto/QRCodePayload.java @@ -0,0 +1,8 @@ +package com.safeqr.app.qrcode.dto; + +import lombok.Data; + +@Data // Lombok annotation to generate getters, setters, toString, equals, and hashCode methods +public class QRCodePayload { + private String data; +} \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/dto/RedirectCountResponse.java b/src/main/java/com/safeqr/app/qrcode/dto/RedirectCountResponse.java new file mode 100644 index 0000000..ad34005 --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/dto/RedirectCountResponse.java @@ -0,0 +1,9 @@ +package com.safeqr.app.qrcode.dto; + +import lombok.Data; + +@Data +public class RedirectCountResponse { + private int redirectCount; + private String message; +} \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/dto/SafeBrowsingRequest.java b/src/main/java/com/safeqr/app/qrcode/dto/SafeBrowsingRequest.java new file mode 100644 index 0000000..7fef125 --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/dto/SafeBrowsingRequest.java @@ -0,0 +1,40 @@ +package com.safeqr.app.qrcode.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class SafeBrowsingRequest { + private Client client; + private ThreatInfo threatInfo; + + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class Client { + private String clientId; + private String clientVersion; + } + + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class ThreatInfo { + private List threatTypes; + private List platformTypes; + private List threatEntryTypes; + private List threatEntries; + + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class ThreatEntry { + private String url; + } + } +} \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/dto/SafeBrowsingResponse.java b/src/main/java/com/safeqr/app/qrcode/dto/SafeBrowsingResponse.java new file mode 100644 index 0000000..4466e0a --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/dto/SafeBrowsingResponse.java @@ -0,0 +1,33 @@ + +package com.safeqr.app.qrcode.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class SafeBrowsingResponse { + private List matches; + + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class ThreatMatch { + private Threat threat; + private String threatType; + private String platformType; + private String threatEntryType; + + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class Threat { + private String url; + private String hash; + } + } +} diff --git a/src/main/java/com/safeqr/app/qrcode/dto/URLVerificationRequest.java b/src/main/java/com/safeqr/app/qrcode/dto/URLVerificationRequest.java new file mode 100644 index 0000000..f43dad1 --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/dto/URLVerificationRequest.java @@ -0,0 +1,14 @@ +package com.safeqr.app.qrcode.dto; + +public class URLVerificationRequest { + private String url; + + // Getters and Setters + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } +} \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/dto/URLVerificationResponse.java b/src/main/java/com/safeqr/app/qrcode/dto/URLVerificationResponse.java new file mode 100644 index 0000000..2a264b2 --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/dto/URLVerificationResponse.java @@ -0,0 +1,13 @@ +package com.safeqr.app.qrcode.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class URLVerificationResponse { + private boolean secure; + private String message; +} \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/dto/VirusTotalResponse.java b/src/main/java/com/safeqr/app/qrcode/dto/VirusTotalResponse.java new file mode 100644 index 0000000..0ee0fbe --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/dto/VirusTotalResponse.java @@ -0,0 +1,15 @@ +package com.safeqr.app.qrcode.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Map; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class VirusTotalResponse { + private boolean safe; + private Map response; +} \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/entity/QRCode.java b/src/main/java/com/safeqr/app/qrcode/entity/QRCode.java new file mode 100644 index 0000000..23b5481 --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/entity/QRCode.java @@ -0,0 +1,30 @@ + +package com.safeqr.app.qrcode.entity; + +import jakarta.persistence.*; +import lombok.Data; +import org.hibernate.annotations.GenericGenerator; + +import java.util.UUID; + +@Entity +@Table(name = "qr_code", schema = "safeqr") +@Data +public class QRCode { + + @Id + @GeneratedValue(generator = "UUID") + @GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator") + @Column(updatable = false, nullable = false) + private UUID id; + + @ManyToOne + @JoinColumn(name = "qr_code_type_id", nullable = false) + private QRCodeType qrCodeType; + + private String userId; + private String contents; + + @Column(name = "created_at", insertable = false, updatable = false) + private String createdAt; +} diff --git a/src/main/java/com/safeqr/app/qrcode/entity/QRCodeType.java b/src/main/java/com/safeqr/app/qrcode/entity/QRCodeType.java new file mode 100644 index 0000000..2d4b9f0 --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/entity/QRCodeType.java @@ -0,0 +1,20 @@ + +package com.safeqr.app.qrcode.entity; + +import jakarta.persistence.*; +import lombok.Data; + +@Entity +@Table(name = "qr_code_types", schema = "safeqr") +@Data +public class QRCodeType { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String type; + private String description; + private String prefix; + private String tableName; +} diff --git a/src/main/java/com/safeqr/app/qrcode/entity/SafeBrowsingCache.java b/src/main/java/com/safeqr/app/qrcode/entity/SafeBrowsingCache.java new file mode 100644 index 0000000..cfc0bc8 --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/entity/SafeBrowsingCache.java @@ -0,0 +1,28 @@ + +package com.safeqr.app.qrcode.entity; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import lombok.Data; +import org.hibernate.annotations.GenericGenerator; + +import java.util.UUID; + +@Data +@Entity +@Table(name = "safe_browsing_cache", schema = "safeqr") +public class SafeBrowsingCache { + + @Id + @GeneratedValue(generator = "UUID") + @GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator") + private UUID id; + + private String hashPrefix; + private String threatType; + private String platformType; + private String threatEntryType; + private String fullHash; +} diff --git a/src/main/java/com/safeqr/app/qrcode/repository/QRCodeTypeRepository.java b/src/main/java/com/safeqr/app/qrcode/repository/QRCodeTypeRepository.java new file mode 100644 index 0000000..c99889b --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/repository/QRCodeTypeRepository.java @@ -0,0 +1,10 @@ + +package com.safeqr.app.qrcode.repository; + +import com.safeqr.app.qrcode.entity.QRCodeType; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface QRCodeTypeRepository extends JpaRepository { +} diff --git a/src/main/java/com/safeqr/app/qrcode/repository/SafeBrowsingCacheRepository.java b/src/main/java/com/safeqr/app/qrcode/repository/SafeBrowsingCacheRepository.java new file mode 100644 index 0000000..c96ff72 --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/repository/SafeBrowsingCacheRepository.java @@ -0,0 +1,11 @@ +package com.safeqr.app.qrcode.repository; + +import com.safeqr.app.qrcode.entity.SafeBrowsingCache; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; +import java.util.UUID; + +public interface SafeBrowsingCacheRepository extends JpaRepository { + Optional findByHashPrefix(String hashPrefix); +} \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/service/QRCodeTypeService.java b/src/main/java/com/safeqr/app/qrcode/service/QRCodeTypeService.java new file mode 100644 index 0000000..6b28244 --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/service/QRCodeTypeService.java @@ -0,0 +1,50 @@ + +package com.safeqr.app.qrcode.service; + +import com.safeqr.app.qrcode.dto.QRCodePayload; +import com.safeqr.app.qrcode.entity.QRCodeType; +import com.safeqr.app.qrcode.repository.QRCodeTypeRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import reactor.core.publisher.Mono; + +import java.security.NoSuchAlgorithmException; +import java.util.List; + +@Service +public class QRCodeTypeService { + + @Autowired + private QRCodeTypeRepository qrCodeTypeRepository; + + @Autowired + private SafeBrowsingService safeBrowsingService; + + public List getAllTypes() { + return qrCodeTypeRepository.findAll(); + } + + public Mono detectType(QRCodePayload payload) { + String data = payload.getData(); + List configs = qrCodeTypeRepository.findAll(); + + for (QRCodeType config : configs) { + if (data.startsWith(config.getPrefix())) { + if ("URL".equals(config.getType())) { + try + { + return safeBrowsingService.isSafeUrl(data) + .map(isSafe -> isSafe ? "Safe URL" : "Unsafe URL"); + } catch (NoSuchAlgorithmException e) + { + // TODO Auto-generated catch block + return Mono.just("Error checking URL safety: " + e.getMessage()); + } + } + return Mono.just(config.getType()); + } + } + + return Mono.just("Unknown"); + } +} diff --git a/src/main/java/com/safeqr/app/qrcode/service/RedirectCountService.java b/src/main/java/com/safeqr/app/qrcode/service/RedirectCountService.java new file mode 100644 index 0000000..9d77201 --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/service/RedirectCountService.java @@ -0,0 +1,26 @@ + +package com.safeqr.app.qrcode.service; + +import com.safeqr.app.qrcode.dto.QRCodePayload; +import com.safeqr.app.qrcode.dto.RedirectCountResponse; +import org.springframework.stereotype.Service; +import org.springframework.web.reactive.function.client.WebClient; +import reactor.core.publisher.Mono; + +@Service +public class RedirectCountService { + + public Mono countRedirects(QRCodePayload payload) { + String url = payload.getData(); + + return WebClient.create() + .get() + .uri(url) + .exchangeToMono(response -> { + RedirectCountResponse redirectCountResponse = new RedirectCountResponse(); + redirectCountResponse.setRedirectCount(response.cookies().size()); + redirectCountResponse.setMessage("Redirect count calculated."); + return Mono.just(redirectCountResponse); + }); + } +} diff --git a/src/main/java/com/safeqr/app/qrcode/service/SafeBrowsingService.java b/src/main/java/com/safeqr/app/qrcode/service/SafeBrowsingService.java new file mode 100644 index 0000000..455df4f --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/service/SafeBrowsingService.java @@ -0,0 +1,101 @@ +package com.safeqr.app.qrcode.service; + +import com.safeqr.app.qrcode.dto.SafeBrowsingRequest; +import com.safeqr.app.qrcode.dto.SafeBrowsingResponse; +import com.safeqr.app.qrcode.entity.SafeBrowsingCache; +import com.safeqr.app.qrcode.repository.SafeBrowsingCacheRepository; + +import jakarta.annotation.PostConstruct; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Service; +import org.springframework.web.reactive.function.client.WebClient; +import reactor.core.publisher.Mono; + +import java.nio.charset.StandardCharsets; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.Base64; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +@Service +public class SafeBrowsingService { + + @Value("${google.safebrowsing.api.key}") + private String apiKey; + + private final WebClient webClient; + private final SafeBrowsingCacheRepository cacheRepository; + + public SafeBrowsingService(WebClient.Builder webClientBuilder, SafeBrowsingCacheRepository cacheRepository) { + this.webClient = webClientBuilder.baseUrl("https://safebrowsing.googleapis.com/v4/threatMatches:find").build(); + this.cacheRepository = cacheRepository; + } + + @PostConstruct + public void initializeCache() { + // Fetch the full list of hashes from Google and store them in the local database. + // This is a placeholder method. You need to implement the logic to fetch and store the hashes. + fetchAndStoreFullHashes(); + } + + public Mono isSafeUrl(String url) throws NoSuchAlgorithmException { + String hashPrefix = getHashPrefix(url); + + Optional cachedResult = cacheRepository.findByHashPrefix(hashPrefix); + if (cachedResult.isPresent()) { + return Mono.just(cachedResult.get().getFullHash().isEmpty()); + } + + // If not in cache, call Google Safe Browsing API + String requestUrl = "?key=" + apiKey; + + SafeBrowsingRequest request = new SafeBrowsingRequest( + new SafeBrowsingRequest.Client("safeqr-fyp-24", "1.0"), + new SafeBrowsingRequest.ThreatInfo( + List.of("MALWARE", "SOCIAL_ENGINEERING"), + List.of("WINDOWS"), + List.of("URL"), + List.of(new SafeBrowsingRequest.ThreatInfo.ThreatEntry(url)) + ) + ); + + return webClient.post() + .uri(requestUrl) + .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) + .bodyValue(request) + .retrieve() + .bodyToMono(SafeBrowsingResponse.class) + .map(response -> { + boolean isSafe = response.getMatches() == null || response.getMatches().isEmpty(); + if (!isSafe) { + SafeBrowsingResponse.ThreatMatch match = response.getMatches().get(0); + SafeBrowsingCache cache = new SafeBrowsingCache(); + cache.setId(UUID.randomUUID()); + cache.setHashPrefix(hashPrefix); + cache.setThreatType(match.getThreatType()); + cache.setPlatformType(match.getPlatformType()); + cache.setThreatEntryType(match.getThreatEntryType()); + cache.setFullHash(match.getThreat().getHash()); + cacheRepository.save(cache); + } + return isSafe; + }); + } + + private String getHashPrefix(String url) throws NoSuchAlgorithmException { + // Compute hash prefix of the URL (first 4 bytes of SHA-256) + MessageDigest digest = MessageDigest.getInstance("SHA-256"); + byte[] hash = digest.digest(url.getBytes(StandardCharsets.UTF_8)); + return Base64.getEncoder().encodeToString(hash).substring(0, 4); + } + + private void fetchAndStoreFullHashes() { + // Implement the logic to fetch and store the full list of hashes from Google Safe Browsing API + // This could involve using the threatListUpdates:fetch endpoint + } +} \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/service/URLVerificationService.java b/src/main/java/com/safeqr/app/qrcode/service/URLVerificationService.java new file mode 100644 index 0000000..1d362a6 --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/service/URLVerificationService.java @@ -0,0 +1,28 @@ +package com.safeqr.app.qrcode.service; + +import com.safeqr.app.qrcode.dto.QRCodePayload; +import com.safeqr.app.qrcode.dto.URLVerificationResponse; +import org.springframework.stereotype.Service; + +@Service +public class URLVerificationService { + + public URLVerificationResponse verifyURL(QRCodePayload payload) { + URLVerificationResponse response = new URLVerificationResponse(); + try { + java.net.URL url = new java.net.URL(payload.getData()); + String protocol = url.getProtocol(); + if ("https".equalsIgnoreCase(protocol)) { + response.setSecure(true); + response.setMessage("The connection is secure."); + } else { + response.setSecure(false); + response.setMessage("The connection is not secure."); + } + } catch (Exception e) { + response.setSecure(false); + response.setMessage("Invalid URL."); + } + return response; + } +} \ No newline at end of file diff --git a/src/main/java/com/safeqr/app/qrcode/service/VirusTotalService.java b/src/main/java/com/safeqr/app/qrcode/service/VirusTotalService.java new file mode 100644 index 0000000..7913357 --- /dev/null +++ b/src/main/java/com/safeqr/app/qrcode/service/VirusTotalService.java @@ -0,0 +1,92 @@ + +package com.safeqr.app.qrcode.service; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.safeqr.app.qrcode.dto.QRCodePayload; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.*; +import org.springframework.stereotype.Service; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.util.UriComponentsBuilder; + +import java.util.Map; + +@Service +public class VirusTotalService { + + private static final Logger logger = LoggerFactory.getLogger(VirusTotalService.class); + + @Value("${virustotal.api.key}") + private String apiKey; + + private final RestTemplate restTemplate; + private final ObjectMapper objectMapper; + + public VirusTotalService() { + this.restTemplate = new RestTemplate(); + this.objectMapper = new ObjectMapper(); + } + + public String scanURL(QRCodePayload payload) { + String urlToScan = payload.getData(); + logger.info("Scanning URL: {}", urlToScan); + + UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("https://www.virustotal.com/api/v3/urls"); + + HttpHeaders headers = new HttpHeaders(); + headers.set("accept", "application/json"); + headers.set("content-type", "application/x-www-form-urlencoded"); + headers.set("x-apikey", apiKey); + + String body = "url=" + urlToScan; + HttpEntity request = new HttpEntity<>(body, headers); + + ResponseEntity response = restTemplate.postForEntity(builder.toUriString(), request, String.class); + logger.info("Response from VirusTotal scan: {}", response.getBody()); + + try { + Map responseBody = objectMapper.readValue(response.getBody(), Map.class); + Map data = (Map) responseBody.get("data"); + return (String) data.get("id"); + } catch (Exception e) { + logger.error("Error parsing response from VirusTotal scan", e); + throw new RuntimeException("Error parsing response from VirusTotal scan", e); + } + } + + public boolean getAnalysis(String analysisId) { + logger.info("Retrieving analysis for ID: {}", analysisId); + + UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("https://www.virustotal.com/api/v3/analyses/" + analysisId); + + HttpHeaders headers = new HttpHeaders(); + headers.set("accept", "application/json"); + headers.set("x-apikey", apiKey); + + HttpEntity request = new HttpEntity<>(headers); + + ResponseEntity response = restTemplate.exchange(builder.toUriString(), HttpMethod.GET, request, String.class); + logger.info("Response from VirusTotal analysis: {}", response.getBody()); + + try { + Map responseBody = objectMapper.readValue(response.getBody(), Map.class); + Map data = (Map) responseBody.get("data"); + Map attributes = (Map) data.get("attributes"); + Map stats = (Map) attributes.get("stats"); + + return evaluateSafety(stats); + } catch (Exception e) { + logger.error("Error parsing response from VirusTotal analysis", e); + throw new RuntimeException("Error parsing response from VirusTotal analysis", e); + } + } + + private boolean evaluateSafety(Map stats) { + int malicious = stats.getOrDefault("malicious", 0); + int suspicious = stats.getOrDefault("suspicious", 0); + + return malicious < 5 && suspicious < 5; + } +} diff --git a/src/main/java/com/safeqr/app/user/controller/UserController.java b/src/main/java/com/safeqr/app/user/controller/UserController.java index 4ac744e..c45ce88 100644 --- a/src/main/java/com/safeqr/app/user/controller/UserController.java +++ b/src/main/java/com/safeqr/app/user/controller/UserController.java @@ -17,7 +17,7 @@ public class UserController { UserService userService; @GetMapping(value = "/version", produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity> version() { - //System.out.println(userService.getUserByEmail()); + System.out.println(userService.getUserByEmail()); System.out.println("Health Check"); return ResponseEntity.ok(Map.of("version","SafeQR v1.0.2")); } diff --git a/src/main/java/com/safeqr/app/user/entity/UserEntity.java b/src/main/java/com/safeqr/app/user/entity/UserEntity.java index 160565b..8eb11c7 100644 --- a/src/main/java/com/safeqr/app/user/entity/UserEntity.java +++ b/src/main/java/com/safeqr/app/user/entity/UserEntity.java @@ -5,22 +5,24 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import lombok.*; +import java.util.List; +import java.time.OffsetDateTime; + @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @Entity +@Data @Table(name="user", schema = "safeqr") public class UserEntity { @Id private String id; - private String cognitoId; - private String firstname; - private String lastname; + private String name; private String email; + private OffsetDateTime date_created; + private OffsetDateTime date_updated; private String source; - private String password; - private String salt; - + private String status; } diff --git a/src/main/java/com/safeqr/app/user/service/UserService.java b/src/main/java/com/safeqr/app/user/service/UserService.java index 50fd3cb..ba0cfe3 100644 --- a/src/main/java/com/safeqr/app/user/service/UserService.java +++ b/src/main/java/com/safeqr/app/user/service/UserService.java @@ -14,9 +14,9 @@ public class UserService { public String getUserByEmail() { // Retrieve the user by email - UserEntity retrievedUser = userRepository.findByEmail("test.user@example.com"); + UserEntity retrievedUser = userRepository.findByEmail("piggyinu@gmail.com"); if (retrievedUser != null) { - return "User found: " + retrievedUser.getFirstname() + " " + retrievedUser.getLastname(); + return "User found: " + retrievedUser.getName(); } return "User not found"; } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 80137c6..ff84cd3 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,5 +1,5 @@ spring.application.name=SafeQR-app -#spring.profiles.active=local +spring.profiles.active=local http.port=${HTTP_PORT} server.port=${SERVER_PORT} server.ssl.enabled=true @@ -18,3 +18,6 @@ spring.jpa.database-platform=${SERVER_DB_DIALECT} spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true + +google.safebrowsing.api.key=${GOOGLE_SAFEBROWSING_API_KEY} +virustotal.api.key=${VIRUSTOTAL_API_KEY} \ No newline at end of file diff --git a/src/test/java/com/safeqr/app/SafeQrAppApplicationTests.java b/src/test/java/com/safeqr/app/SafeQrAppApplicationTests.java index e3ba1e7..a5049d2 100644 --- a/src/test/java/com/safeqr/app/SafeQrAppApplicationTests.java +++ b/src/test/java/com/safeqr/app/SafeQrAppApplicationTests.java @@ -4,10 +4,9 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest -class SafeQrAppApplicationTests { +public class SafeQrAppApplicationTests { @Test - void contextLoads() { + public void contextLoads() { } - } From 5c3082168325ab0de9793182b89096b4cd157f6b Mon Sep 17 00:00:00 2001 From: heyethereum Date: Thu, 11 Jul 2024 08:00:22 +0800 Subject: [PATCH 63/64] intellij unable to pick up user environment --- pom.xml | 2 +- src/main/resources/application.properties | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index eb78588..e8ce888 100644 --- a/pom.xml +++ b/pom.xml @@ -67,7 +67,7 @@ io.netty netty-resolver-dns-native-macos - osx-x86_64 + runtime diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index ff84cd3..31fed41 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,10 +1,5 @@ spring.application.name=SafeQR-app -spring.profiles.active=local -http.port=${HTTP_PORT} -server.port=${SERVER_PORT} -server.ssl.enabled=true -server.ssl.key-store-type=${SERVER_SSL_KEY_STORE_TYPE} -server.ssl.key-store=${SERVER_SSL_KEY_STORE_LOCATION} +#{SERVER_SSL_KEY_STORE_LOCATION} server.ssl.key-store-password=${SERVER_SSL_KEY_STORE_PASSWORD} server.ssl.key-alias=${SERVER_SSL_KEY_ALIAS} trust.store=${SERVER_SSL_TRUST_STORE_LOCATION} From 0a0a638a06951fc1b1ee88654c695e3a80b357e3 Mon Sep 17 00:00:00 2001 From: heyethereum Date: Thu, 11 Jul 2024 20:50:03 +0800 Subject: [PATCH 64/64] solved unable to pick up user env vars --- .../resources/application-prod.properties | 21 +++++++++++++++++++ src/main/resources/application.properties | 18 +--------------- 2 files changed, 22 insertions(+), 17 deletions(-) create mode 100644 src/main/resources/application-prod.properties diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties new file mode 100644 index 0000000..fb53d4d --- /dev/null +++ b/src/main/resources/application-prod.properties @@ -0,0 +1,21 @@ +http.port=${HTTP_PORT} +server.port=${SERVER_PORT} +server.ssl.enabled=true +server.ssl.key-store-type=${SERVER_SSL_KEY_STORE_TYPE} +server.ssl.key-store=${SERVER_SSL_KEY_STORE_LOCATION} +server.ssl.key-store-password=${SERVER_SSL_KEY_STORE_PASSWORD} +server.ssl.key-alias=${SERVER_SSL_KEY_ALIAS} +trust.store=${SERVER_SSL_TRUST_STORE_LOCATION} +trust.store.password=${SERVER_SSL_TRUST_STORE_PASSWORD} + +spring.datasource.url=${SERVER_DB_URL} +spring.datasource.username=${SERVER_DB_USERNAME} +spring.datasource.password=${SERVER_DB_PASSWORD} +spring.datasource.driver-class-name=${SERVER_DB_DRIVER_CLASS_NAME} +#spring.jpa.database-platform=${SERVER_DB_DIALECT} +spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.format_sql=true + +google.safebrowsing.api.key=${GOOGLE_SAFE_BROWSING_API_KEY} +virustotal.api.key=${VIRUSTOTAL_API_KEY} \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 31fed41..6eac79d 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,18 +1,2 @@ spring.application.name=SafeQR-app -#{SERVER_SSL_KEY_STORE_LOCATION} -server.ssl.key-store-password=${SERVER_SSL_KEY_STORE_PASSWORD} -server.ssl.key-alias=${SERVER_SSL_KEY_ALIAS} -trust.store=${SERVER_SSL_TRUST_STORE_LOCATION} -trust.store.password=${SERVER_SSL_TRUST_STORE_PASSWORD} - -spring.datasource.url=${SERVER_DB_URL} -spring.datasource.username=${SERVER_DB_USERNAME} -spring.datasource.password=${SERVER_DB_PASSWORD} -spring.datasource.driver-class-name=${SERVER_DB_DRIVER_CLASS_NAME} -spring.jpa.database-platform=${SERVER_DB_DIALECT} -spring.jpa.hibernate.ddl-auto=update -spring.jpa.show-sql=true -spring.jpa.properties.hibernate.format_sql=true - -google.safebrowsing.api.key=${GOOGLE_SAFEBROWSING_API_KEY} -virustotal.api.key=${VIRUSTOTAL_API_KEY} \ No newline at end of file +spring.profiles.active=prod \ No newline at end of file