From 4d701218e7fd3eb41d8d75c95888d8061af7b45b Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sat, 23 Aug 2025 17:38:28 +0530 Subject: [PATCH 01/17] update the docker file --- Dockerfile | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 91e00bdd..5cf178e2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,25 @@ -FROM node:18-alpine AS build +FROM node:20-alpine AS build + +# Set working directory WORKDIR /app + +# Copy all files COPY . . + +# Install dependencies RUN npm install -RUN npm run build +# Increase memory limit and build the app +RUN NODE_OPTIONS="--max-old-space-size=4096" npm run build + +# Use Nginx to serve the built app FROM nginx:alpine + +# Copy the build output to Nginx public directory COPY --from=build /app/build /usr/share/nginx/html + +# Expose port 80 EXPOSE 80 + +# Start Nginx CMD ["nginx", "-g", "daemon off;"] From 8874140105a259bd112ee0d149805024e73b6db7 Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sat, 23 Aug 2025 18:10:59 +0530 Subject: [PATCH 02/17] update the ssh key --- .github/workflows/deploy.yml | 2 +- frontend_key | 49 ++++++++++++++++++++++++++++++++++++ frontend_key.pub | 1 + terraform/frontend_key.pub | 1 - 4 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 frontend_key create mode 100644 frontend_key.pub delete mode 100644 terraform/frontend_key.pub diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 6ce781f2..a8a1e52e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -12,7 +12,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 diff --git a/frontend_key b/frontend_key new file mode 100644 index 00000000..b61ef180 --- /dev/null +++ b/frontend_key @@ -0,0 +1,49 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +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 +-----END OPENSSH PRIVATE KEY----- diff --git a/frontend_key.pub b/frontend_key.pub new file mode 100644 index 00000000..2b52f13c --- /dev/null +++ b/frontend_key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQD7QG9WqNZWHrw0n23fxdPBB2rhIY2HnThRU6foayWUZy/QZ1S8++ptTHkfKnX0Zsz+ARPf31CkMK+bMiR4fOuyoVXHm5J0hmM+HtCyL/qPpc0muUklZFubrHQmRbsNKCThBeHWIg7pX7rUJdBxAWpdumvL/Shl4gxNcaUayWcizjb5gQfthEEp/oozp61DcopMtTNSn8p1q1sIXMpx4/FQWlnZIyiFb1Uh4JLelQ6z4PxusVYyqgzsj3X7XGeQfcMrwAfUvOmQ++wWT3xrX0HRCF9mOu1FkVfQNKPbh0mNK7k/IbsG4v0Q29chJ1mJp0n1kbJtBv7iYQN6khYdIEqCaVqNhjQKke+NTGBaMRGtAF7ohXbJB3L1gd5UZH8b2/RpODC98bj1AH4C2rhWOmXbe2YM642a2GzOvwC2EgpFRFo9aBLN4Ray78Gl7l+GsZ633P5iHi1HS2tveWEpsIz33bxH6kS18EwgCRjncNZ7Ge0mY3MmX1l4K31iQG84xM+keD/LZX0+eD4zPCE60nLGmwGfy3w3T8um1NZUHEZq/38D6DvMcqt3tYSkCMUMKop34/NkMbzZlkk45rjc0pRVMv3b/niYlUaBODGnuiiOwOM8gNTrHQX8zBNFZg2fagRlBUt7WWOapoq/jM2SkBuM0tXX0l9ZZqSW83Etgnun+Q== supuni@DESKTOP-KMFPTKS diff --git a/terraform/frontend_key.pub b/terraform/frontend_key.pub deleted file mode 100644 index 580d66eb..00000000 --- a/terraform/frontend_key.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCaWz0pUfZYEwuaeLwoYJuonc54/ec86xZ1gCHfHA7BRpyuUXBZsh6Qn2XMWUjYSgl9DxqzCG8mWocrEXjUJoV4qX28cFi7tvBy7lsiPU8m31HrP9xdaq6aBI5kvfKkkcRvJrtCZdqCzrBgUasM7uGd2KbLOfwxepjIL0GFnlCtJZVjO+csext57hw1StkJeQVsx01Z06LpLfETAJ190K7DzsV5McJAjFBaYn7Gau4Z+seQiv4JPL8GoinoKmJTS2svJy8RMmTU8MUY2hfl6KbvzyTi1YlGgzqAdDlWl0bO2PQQ512cZ2pbsgfB96ND/3pgBppDvbYm6yY18a3uNjWjdEJi+HlU2KWWYmWYJGF2kHHV8x3D5BUNtH7IAUQwwvIQlYS6ciKMAqOf6FIrNaW2Ge/5lB3akbFnPd4pnO0MURyUsr98JhPzPm0Cy+7NQ19rHYMREeHuSB5HNJcD7ktYGLe5rykJSpVRS7jHnLccR5DfLP30XNdQCRD97XjVGlp2j64tmh5gc8TlxqgDN6ef755dPSjGePsUkTdte15nTZRqm2lhug/1NJ68ETiUahh7O+K74NM0Hso9VN0OmKNEWo3HTAPHJ2U1PP8/ueHZg4OhzFsZRCeyPiqYGJQib6X8NsjlABZjYxakfaFbGu+oHaqCw08oytHQhQrR9zpYlw== supuni@DESKTOP-KMFPTKS From 8805aab00d685a386c789e3133f0faa1782fcaaa Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sat, 23 Aug 2025 18:20:03 +0530 Subject: [PATCH 03/17] update the ssh key --- frontend_key | 49 -------------------------------------- frontend_key.pub | 1 - terraform/frontend_key | 49 ++++++++++++++++++++++++++++++++++++++ terraform/frontend_key.pub | 1 + 4 files changed, 50 insertions(+), 50 deletions(-) delete mode 100644 frontend_key delete mode 100644 frontend_key.pub create mode 100644 terraform/frontend_key create mode 100644 terraform/frontend_key.pub diff --git a/frontend_key b/frontend_key deleted file mode 100644 index b61ef180..00000000 --- a/frontend_key +++ /dev/null @@ -1,49 +0,0 @@ ------BEGIN OPENSSH PRIVATE KEY----- -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 ------END OPENSSH PRIVATE KEY----- diff --git a/frontend_key.pub b/frontend_key.pub deleted file mode 100644 index 2b52f13c..00000000 --- a/frontend_key.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQD7QG9WqNZWHrw0n23fxdPBB2rhIY2HnThRU6foayWUZy/QZ1S8++ptTHkfKnX0Zsz+ARPf31CkMK+bMiR4fOuyoVXHm5J0hmM+HtCyL/qPpc0muUklZFubrHQmRbsNKCThBeHWIg7pX7rUJdBxAWpdumvL/Shl4gxNcaUayWcizjb5gQfthEEp/oozp61DcopMtTNSn8p1q1sIXMpx4/FQWlnZIyiFb1Uh4JLelQ6z4PxusVYyqgzsj3X7XGeQfcMrwAfUvOmQ++wWT3xrX0HRCF9mOu1FkVfQNKPbh0mNK7k/IbsG4v0Q29chJ1mJp0n1kbJtBv7iYQN6khYdIEqCaVqNhjQKke+NTGBaMRGtAF7ohXbJB3L1gd5UZH8b2/RpODC98bj1AH4C2rhWOmXbe2YM642a2GzOvwC2EgpFRFo9aBLN4Ray78Gl7l+GsZ633P5iHi1HS2tveWEpsIz33bxH6kS18EwgCRjncNZ7Ge0mY3MmX1l4K31iQG84xM+keD/LZX0+eD4zPCE60nLGmwGfy3w3T8um1NZUHEZq/38D6DvMcqt3tYSkCMUMKop34/NkMbzZlkk45rjc0pRVMv3b/niYlUaBODGnuiiOwOM8gNTrHQX8zBNFZg2fagRlBUt7WWOapoq/jM2SkBuM0tXX0l9ZZqSW83Etgnun+Q== supuni@DESKTOP-KMFPTKS diff --git a/terraform/frontend_key b/terraform/frontend_key new file mode 100644 index 00000000..af1e9f51 --- /dev/null +++ b/terraform/frontend_key @@ -0,0 +1,49 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +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 +-----END OPENSSH PRIVATE KEY----- diff --git a/terraform/frontend_key.pub b/terraform/frontend_key.pub new file mode 100644 index 00000000..ab357976 --- /dev/null +++ b/terraform/frontend_key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC0qyiBn47v17jHlHdUN7zDIxNGyg657Xy6I/ZoNLVlOgxDjxoQPhR9rx5hM193wPMEHmsrEofPZdGs9PDfFOaFDZArWuYLKEuAorTSXoumf+EH8KqytB05+sX42u2ZkCIb8nanRn538J2pUY41FUkqxto9g89BnEsa2YLwoD3kFptSmn7OxXcScI+/YFuhbmkFFLtX4hQ1x7wlHQ+yv97srYnvfZoFRuch1QPKj01wxhAzyxf/ogkzOVNkhrwwW+GcWskl2khlMM5Bu9BedDwBCaWlUXKU2ZcjcGekQf5Rflon7QzgAx1FpsBJTNwpo3zCl3m1HLyQE4x/6hM+aU8RUHTjhaR6yW6VB9Dwo882FiUD9fH7489MkJy9mRX3375R+wbHu8HvmrFqRBKjplgdytHcdVlJQMRAAt01EMA/V0Mmqaq/MA8Eilxn8dA5tLWOLtbD2sp8O1nlRCr2IfdwnPrUNLNVtuWlKUUgPzv3RPODYnrNMfFVgOa7aWStlFFYEhByvcOf1X4NAx1TuCd//FIcqZLLcBAnW3/R8I8ln0VaXD0NXaCF0IiDDnget06xQmp/kZgqloOd3G3oqvG19snxlqehipyC3d0Z3GitySQgAvPSM2qOCk0aT/IA571rZSCpSF/BZ5LTcl/BINxDqx+QfGNty2uKuZZBUQ+pqw== supuni@DESKTOP-KMFPTKS From a616e0594a94ae1e52684542c5c744812604bdaf Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sat, 23 Aug 2025 18:31:45 +0530 Subject: [PATCH 04/17] updated --- .github/workflows/deploy.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a8a1e52e..96170925 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -20,6 +20,9 @@ jobs: - name: Build Docker image run: docker build -t frontend-app . + - name: Test SSH port + run: nc -zv ${{ secrets.FRONTEND_EC2_IP }} 22 + - name: Copy files to EC2 uses: appleboy/scp-action@master with: From 6dfc1e3a88847d20db65b54929a3ae0f915b8751 Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sat, 23 Aug 2025 18:55:48 +0530 Subject: [PATCH 05/17] updated --- .github/workflows/deploy.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 96170925..18d6bd62 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -12,7 +12,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -20,9 +20,6 @@ jobs: - name: Build Docker image run: docker build -t frontend-app . - - name: Test SSH port - run: nc -zv ${{ secrets.FRONTEND_EC2_IP }} 22 - - name: Copy files to EC2 uses: appleboy/scp-action@master with: @@ -43,4 +40,4 @@ jobs: docker build -t frontend-app . docker stop frontend-app || true docker rm frontend-app || true - docker run -d -p 80:80 --name frontend-app frontend-app + docker run -d -p 80:80 --name frontend-app frontend-app \ No newline at end of file From a1ef7dd57baea143fe48ddc760f803e9b289a561 Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sat, 23 Aug 2025 19:20:36 +0530 Subject: [PATCH 06/17] updated --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 18d6bd62..0b88e9d3 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -26,7 +26,7 @@ jobs: host: ${{ secrets.FRONTEND_EC2_IP }} username: ubuntu key: ${{ secrets.FRONTEND_EC2_SSH_KEY }} - source: "./" + source: "./frontend/Dockerfile" target: "/home/ubuntu/frontend" - name: Deploy on EC2 via SSH From 960fb7e652e3502adaf5e852368cb410bcbcec99 Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sun, 24 Aug 2025 10:06:44 +0530 Subject: [PATCH 07/17] change the instance --- .github/workflows/deploy.yml | 1 - terraform/.terraform.lock.hcl | 32 +++++------ terraform/blendrush_frontend_key | 49 ++++++++++++++++ terraform/blendrush_frontend_key.pub | 1 + terraform/frontend_key | 49 ---------------- terraform/frontend_key.pub | 1 - terraform/main.tf | 56 ++++++++++++------ terraform/outputs.tf | 4 +- terraform/terraform.tfstate | 86 ++++++++++++++++------------ terraform/variables.tf | 9 --- 10 files changed, 154 insertions(+), 134 deletions(-) create mode 100644 terraform/blendrush_frontend_key create mode 100644 terraform/blendrush_frontend_key.pub delete mode 100644 terraform/frontend_key delete mode 100644 terraform/frontend_key.pub diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0b88e9d3..03d64f96 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -3,7 +3,6 @@ name: Deploy Frontend on: push: branches: - - main - supuni-dev jobs: diff --git a/terraform/.terraform.lock.hcl b/terraform/.terraform.lock.hcl index 3a7e66e5..aa47e49a 100644 --- a/terraform/.terraform.lock.hcl +++ b/terraform/.terraform.lock.hcl @@ -2,23 +2,23 @@ # Manual edits may be lost in future updates. provider "registry.terraform.io/hashicorp/aws" { - version = "6.8.0" + version = "6.10.0" hashes = [ - "h1:BfoqVUq+X9n0jRpsZazxIjcKKuvjsn90FuNfQ2pCy5o=", - "zh:04781915164a85316d2f659383bb4a2c26ce258efdd63b10ebf5dc741b13d3a4", - "zh:050eba0f1d40b6a2542206742fbf8697b139e045120e50b59fa090eb1babb46d", - "zh:0590b7ba32f211142fc1acc1350560ce47faa287aeec697b577c9fe10e0efcab", - "zh:279943444a858c38976b30248bdcf968ff4b536b9cd8054e7475b8e493c67a16", - "zh:46c556c8753d31fdb98123ba3437e6eded07d7671c2cbfc127b2c315f82c0899", - "zh:5f6943dfd9e44458b6b915a64f5e103b0e7cff98bf804bb95b8eedaa9c6cc786", - "zh:6456d583155ce05028517425a5b5057a05978a89f90df29f37c5c2295e37f605", - "zh:83fc4712f0a972b13be71e4323982f55687fb431e1657c91854d3ec8ff846dfb", - "zh:921d2761e8474eb12cde03e57dba127021edff8423183241528514351519f721", + "h1:ToB7wJhFPmcX1/0vbx5NgZAnP+cJ7Rti5NpNPyEJpxI=", + "zh:3c92efebaf635372bf7283e04fc667d59b0ff3cf1aacd011fc484a11f70954d9", + "zh:404b2a1d360851e63f25945406f2d0c2cb9c20b361552ce01bf7fe3df516a5bf", + "zh:523b1640e2b9e2b548876a1dccc627c290f342255d727568fe4becfd9a8f5689", + "zh:697adf10c76384195303650555229129d64135f5be3abf95da0bf4b6de742054", + "zh:69d6177e3e106518844373871d4e6377003336761aab884da32f66b034229b5c", + "zh:6a41899ce8ab9cdd6f706160fd350951e5f3fc1432a37e638d3576a780c686fd", + "zh:6e8fd28299d6bf0ab6922cf987757e578f357a45ac45abc312688580dbde3bee", + "zh:7ca4bfb5a8f89586dd0c8dd9c1e638a03bc7c6f456bcc29be57cfb7bdc90fc30", + "zh:8fe1f6e0a2718318bae3f53a4fb77bc9eaef0fc4131145996f48482b135830c6", "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", - "zh:9f7e13279fcb9ca3e775cbda837735d6868c2fc966e7c23aa27607838ce06c11", - "zh:a21075ba6cf6345ed2b28c64bd52af3871d3957f8ca13dbce488975c8b496cbc", - "zh:c2e05b36d5d1eb106eb1e763fca9b9ea9e0e5f9900c773b5a80678b66229cfc1", - "zh:f340a9a4b67d3f63f36e68ba73145900b7c5cb774d7716aef0600e853fad910e", - "zh:f5ce5af7e58f7b3a06b902efb953b64895e5c70c203fc9cdeeb75db240abba31", + "zh:b221cfbc9f19ad30719b773f05f45571e88b124c15c35ac230021df1bb1110f5", + "zh:b458c357b5f38092e374957e51827d9113447696deccf0cb01f5684d976e7725", + "zh:b7fbb1b05972d73d72af58a2179ac124c6d69a4f0392aa2ce4dc855e78f52268", + "zh:d95da0dc45df0f30005e17c5206addbd62b0471c265d9855fe8039bf6f2adef7", + "zh:db5dd4120c6ab6ae13df67353a9bc902ac34d01c1d297812d628ebf61dc6f681", ] } diff --git a/terraform/blendrush_frontend_key b/terraform/blendrush_frontend_key new file mode 100644 index 00000000..e28221dc --- /dev/null +++ b/terraform/blendrush_frontend_key @@ -0,0 +1,49 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +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 +-----END OPENSSH PRIVATE KEY----- diff --git a/terraform/blendrush_frontend_key.pub b/terraform/blendrush_frontend_key.pub new file mode 100644 index 00000000..295391bf --- /dev/null +++ b/terraform/blendrush_frontend_key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC06Prmsl0B8nExhlDU8MUehYLSQRbMhQxe3M7kPpBhbBkeJbqAjWYZHhCNWGhrVvPo4QidNLENQgyZz8vz+wXm65uFMFCeFtl33Xdh68OfywwJHOVJuQnzfGqz7jKSxmkIq9w1cZ2s3AKZMTGSKUVEKJ6kJ6ccWehDXGIiNkQ+ghFAEnik9K2djbLyx0qAeN8cz7QTLR+5OJEdBIoWjUkj92FNj1PqOqNSrhHP8+kq3CVuWJeodLWJyU97tqkpf5ySyM3vvhVXvIObiER75ZhFJadLA0tGWoEu7MhcYyC8ZWlAzV4MLL5AsH/LWuebnwswqZbMZe52WR+OdLXPuh2JqPU1HDeuMjcnTZ1uJ+TzQCaqolJoICQq8UEY3SSdlGy67cSBSvy8cgx/08JC+zqk0+EI0yg8uiM7a1yZ/SEJQYWQg7n9POZsP301HFsjUHL0ggsTvOa7UFVyvt9+l2+8g8PAdcLbit+8ROnXpHWqlnw/JY1WIg7j6fsY4aAPWDyn45n1P0R5EbmN76n8uLIhrT9uptzawlkSb/U3xlYnOFEWIDRUf5+gSJgrrprKJxvO6jCFSYfwyM+U3mwRLHC4rwduagZiWzECf8kLH2FwdBd/5cxkCLQkEpe0Y+AlEEpEKprkQbynaI+bFarCpjQE8mUrSAw5XaMSmMngj7pLKQ== supuni@DESKTOP-KMFPTKS diff --git a/terraform/frontend_key b/terraform/frontend_key deleted file mode 100644 index af1e9f51..00000000 --- a/terraform/frontend_key +++ /dev/null @@ -1,49 +0,0 @@ ------BEGIN OPENSSH PRIVATE KEY----- -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 ------END OPENSSH PRIVATE KEY----- diff --git a/terraform/frontend_key.pub b/terraform/frontend_key.pub deleted file mode 100644 index ab357976..00000000 --- a/terraform/frontend_key.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC0qyiBn47v17jHlHdUN7zDIxNGyg657Xy6I/ZoNLVlOgxDjxoQPhR9rx5hM193wPMEHmsrEofPZdGs9PDfFOaFDZArWuYLKEuAorTSXoumf+EH8KqytB05+sX42u2ZkCIb8nanRn538J2pUY41FUkqxto9g89BnEsa2YLwoD3kFptSmn7OxXcScI+/YFuhbmkFFLtX4hQ1x7wlHQ+yv97srYnvfZoFRuch1QPKj01wxhAzyxf/ogkzOVNkhrwwW+GcWskl2khlMM5Bu9BedDwBCaWlUXKU2ZcjcGekQf5Rflon7QzgAx1FpsBJTNwpo3zCl3m1HLyQE4x/6hM+aU8RUHTjhaR6yW6VB9Dwo882FiUD9fH7489MkJy9mRX3375R+wbHu8HvmrFqRBKjplgdytHcdVlJQMRAAt01EMA/V0Mmqaq/MA8Eilxn8dA5tLWOLtbD2sp8O1nlRCr2IfdwnPrUNLNVtuWlKUUgPzv3RPODYnrNMfFVgOa7aWStlFFYEhByvcOf1X4NAx1TuCd//FIcqZLLcBAnW3/R8I8ln0VaXD0NXaCF0IiDDnget06xQmp/kZgqloOd3G3oqvG19snxlqehipyC3d0Z3GitySQgAvPSM2qOCk0aT/IA571rZSCpSF/BZ5LTcl/BINxDqx+QfGNty2uKuZZBUQ+pqw== supuni@DESKTOP-KMFPTKS diff --git a/terraform/main.tf b/terraform/main.tf index 6e21f44a..f6db1140 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -1,24 +1,39 @@ provider "aws" { - region = var.region + region = "us-east-1" } -resource "aws_key_pair" "frontend_key" { - key_name = "frontend_key" - public_key = file("${path.module}/frontend_key.pub") +variable "region" { + default = "us-east-1" +} + +variable "ami" { + # Ubuntu Server 22.04 LTS - us-east-1 + default = "ami-053b0d53c279acc90" +} + +variable "instance_type" { + default = "t2.micro" +} + +resource "aws_key_pair" "blendrush_frontend_key" { + key_name = "blendrush_frontend_key" + public_key = file("${path.module}/blendrush_frontend_key.pub") } resource "aws_security_group" "frontend_sg" { - name = "frontend-sg" - description = "Allow HTTP and SSH" - + name = "frontend_sg" + description = "Allow SSH and HTTP" + ingress { + description = "SSH" from_port = 22 to_port = 22 protocol = "tcp" cidr_blocks = ["0.0.0.0/0"] } - + ingress { + description = "HTTP" from_port = 80 to_port = 80 protocol = "tcp" @@ -33,29 +48,34 @@ resource "aws_security_group" "frontend_sg" { } } -resource "aws_instance" "frontend_ec2" { - ami = var.ami - instance_type = var.instance_type - key_name = aws_key_pair.frontend_key.key_name - vpc_security_group_ids = [aws_security_group.frontend_sg.id] +resource "aws_instance" "frontend_instance" { + ami = var.ami + instance_type = var.instance_type + key_name = aws_key_pair.blendrush_frontend_key.key_name + associate_public_ip_address = true + vpc_security_group_ids = [aws_security_group.frontend_sg.id] + + tags = { + Name = "FrontendAppInstance" + } provisioner "remote-exec" { inline = [ "sudo apt update -y", "sudo apt install docker.io -y", "sudo systemctl start docker", - "sudo usermod -aG docker ubuntu" + "sudo systemctl enable docker" ] connection { type = "ssh" user = "ubuntu" - private_key = file("${path.module}/frontend_key") + private_key = file("${path.module}/blendrush_frontend_key") host = self.public_ip } } +} - tags = { - Name = "Frontend-EC2" - } +output "frontend_public_ip" { + value = aws_instance.frontend_instance.public_ip } diff --git a/terraform/outputs.tf b/terraform/outputs.tf index de4098b4..c725c43c 100644 --- a/terraform/outputs.tf +++ b/terraform/outputs.tf @@ -1,3 +1,3 @@ -output "frontend_public_ip" { - value = aws_instance.frontend_ec2.public_ip +output "blendrush_frontend_public_ip" { + value = aws_instance.frontend_instance.public_ip } diff --git a/terraform/terraform.tfstate b/terraform/terraform.tfstate index 6100ed7f..d2668ec0 100644 --- a/terraform/terraform.tfstate +++ b/terraform/terraform.tfstate @@ -2,10 +2,14 @@ "version": 4, "terraform_version": "1.12.2", "serial": 4, - "lineage": "00002fe4-8c37-da47-3c7f-86b0c4210b7a", + "lineage": "331adb08-ec4a-ae21-6b59-abcb86a3ae0b", "outputs": { + "blendrush_frontend_public_ip": { + "value": "13.221.80.98", + "type": "string" + }, "frontend_public_ip": { - "value": "52.207.224.204", + "value": "13.221.80.98", "type": "string" } }, @@ -13,16 +17,16 @@ { "mode": "managed", "type": "aws_instance", - "name": "frontend_ec2", + "name": "frontend_instance", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "schema_version": 2, "attributes": { - "ami": "ami-0c7217cdde317cfec", - "arn": "arn:aws:ec2:us-east-1:830437195502:instance/i-0d6faa00ef62902d9", + "ami": "ami-053b0d53c279acc90", + "arn": "arn:aws:ec2:us-east-1:830437195502:instance/i-0211c9003f4afffc9", "associate_public_ip_address": true, - "availability_zone": "us-east-1b", + "availability_zone": "us-east-1a", "capacity_reservation_specification": [ { "capacity_reservation_preference": "open", @@ -58,7 +62,7 @@ "host_id": "", "host_resource_group_arn": null, "iam_instance_profile": "", - "id": "i-0d6faa00ef62902d9", + "id": "i-0211c9003f4afffc9", "instance_initiated_shutdown_behavior": "stop", "instance_lifecycle": "", "instance_market_options": [], @@ -66,7 +70,7 @@ "instance_type": "t2.micro", "ipv6_address_count": 0, "ipv6_addresses": [], - "key_name": "frontend_key", + "key_name": "blendrush_frontend_key", "launch_template": [], "maintenance_options": [ { @@ -88,8 +92,14 @@ "password_data": "", "placement_group": "", "placement_partition_number": 0, - "primary_network_interface_id": "eni-008f15032e565e9df", - "private_dns": "ip-172-31-25-33.ec2.internal", + "primary_network_interface": [ + { + "delete_on_termination": true, + "network_interface_id": "eni-072391fa5c4ca8216" + } + ], + "primary_network_interface_id": "eni-072391fa5c4ca8216", + "private_dns": "ip-172-31-82-11.ec2.internal", "private_dns_name_options": [ { "enable_resource_name_dns_a_record": false, @@ -97,9 +107,9 @@ "hostname_type": "ip-name" } ], - "private_ip": "172.31.25.33", - "public_dns": "ec2-52-207-224-204.compute-1.amazonaws.com", - "public_ip": "52.207.224.204", + "private_ip": "172.31.82.11", + "public_dns": "ec2-13-221-80-98.compute-1.amazonaws.com", + "public_ip": "13.221.80.98", "region": "us-east-1", "root_block_device": [ { @@ -111,23 +121,23 @@ "tags": {}, "tags_all": {}, "throughput": 0, - "volume_id": "vol-02f6c466c51ebecf8", + "volume_id": "vol-009ff2c1cea8a94ea", "volume_size": 8, "volume_type": "gp2" } ], "secondary_private_ips": [], "security_groups": [ - "frontend-sg" + "frontend_sg" ], "source_dest_check": true, "spot_instance_request_id": "", - "subnet_id": "subnet-02979142b6aa590ef", + "subnet_id": "subnet-0b2aa57d86c35c8f8", "tags": { - "Name": "Frontend-EC2" + "Name": "FrontendAppInstance" }, "tags_all": { - "Name": "Frontend-EC2" + "Name": "FrontendAppInstance" }, "tenancy": "default", "timeouts": null, @@ -136,14 +146,14 @@ "user_data_replace_on_change": false, "volume_tags": null, "vpc_security_group_ids": [ - "sg-03a0602a4d5b23740" + "sg-07b6c3dbcb2b6fa50" ] }, "sensitive_attributes": [], "identity_schema_version": 0, "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMCwicmVhZCI6OTAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMiJ9", "dependencies": [ - "aws_key_pair.frontend_key", + "aws_key_pair.blendrush_frontend_key", "aws_security_group.frontend_sg" ] } @@ -152,20 +162,20 @@ { "mode": "managed", "type": "aws_key_pair", - "name": "frontend_key", + "name": "blendrush_frontend_key", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ec2:us-east-1:830437195502:key-pair/frontend_key", - "fingerprint": "bb:3c:d0:15:b0:93:32:9d:3f:25:25:82:fd:dc:5b:e7", - "id": "frontend_key", - "key_name": "frontend_key", + "arn": "arn:aws:ec2:us-east-1:830437195502:key-pair/blendrush_frontend_key", + "fingerprint": "ae:ba:97:4f:68:10:49:09:d3:f2:eb:78:f9:ab:54:eb", + "id": "blendrush_frontend_key", + "key_name": "blendrush_frontend_key", "key_name_prefix": "", - "key_pair_id": "key-0e2a4c8892a59a419", + "key_pair_id": "key-07e40ab3d092dfab6", "key_type": "rsa", - "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCaWz0pUfZYEwuaeLwoYJuonc54/ec86xZ1gCHfHA7BRpyuUXBZsh6Qn2XMWUjYSgl9DxqzCG8mWocrEXjUJoV4qX28cFi7tvBy7lsiPU8m31HrP9xdaq6aBI5kvfKkkcRvJrtCZdqCzrBgUasM7uGd2KbLOfwxepjIL0GFnlCtJZVjO+csext57hw1StkJeQVsx01Z06LpLfETAJ190K7DzsV5McJAjFBaYn7Gau4Z+seQiv4JPL8GoinoKmJTS2svJy8RMmTU8MUY2hfl6KbvzyTi1YlGgzqAdDlWl0bO2PQQ512cZ2pbsgfB96ND/3pgBppDvbYm6yY18a3uNjWjdEJi+HlU2KWWYmWYJGF2kHHV8x3D5BUNtH7IAUQwwvIQlYS6ciKMAqOf6FIrNaW2Ge/5lB3akbFnPd4pnO0MURyUsr98JhPzPm0Cy+7NQ19rHYMREeHuSB5HNJcD7ktYGLe5rykJSpVRS7jHnLccR5DfLP30XNdQCRD97XjVGlp2j64tmh5gc8TlxqgDN6ef755dPSjGePsUkTdte15nTZRqm2lhug/1NJ68ETiUahh7O+K74NM0Hso9VN0OmKNEWo3HTAPHJ2U1PP8/ueHZg4OhzFsZRCeyPiqYGJQib6X8NsjlABZjYxakfaFbGu+oHaqCw08oytHQhQrR9zpYlw== supuni@DESKTOP-KMFPTKS", + "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC06Prmsl0B8nExhlDU8MUehYLSQRbMhQxe3M7kPpBhbBkeJbqAjWYZHhCNWGhrVvPo4QidNLENQgyZz8vz+wXm65uFMFCeFtl33Xdh68OfywwJHOVJuQnzfGqz7jKSxmkIq9w1cZ2s3AKZMTGSKUVEKJ6kJ6ccWehDXGIiNkQ+ghFAEnik9K2djbLyx0qAeN8cz7QTLR+5OJEdBIoWjUkj92FNj1PqOqNSrhHP8+kq3CVuWJeodLWJyU97tqkpf5ySyM3vvhVXvIObiER75ZhFJadLA0tGWoEu7MhcYyC8ZWlAzV4MLL5AsH/LWuebnwswqZbMZe52WR+OdLXPuh2JqPU1HDeuMjcnTZ1uJ+TzQCaqolJoICQq8UEY3SSdlGy67cSBSvy8cgx/08JC+zqk0+EI0yg8uiM7a1yZ/SEJQYWQg7n9POZsP301HFsjUHL0ggsTvOa7UFVyvt9+l2+8g8PAdcLbit+8ROnXpHWqlnw/JY1WIg7j6fsY4aAPWDyn45n1P0R5EbmN76n8uLIhrT9uptzawlkSb/U3xlYnOFEWIDRUf5+gSJgrrprKJxvO6jCFSYfwyM+U3mwRLHC4rwduagZiWzECf8kLH2FwdBd/5cxkCLQkEpe0Y+AlEEpEKprkQbynaI+bFarCpjQE8mUrSAw5XaMSmMngj7pLKQ== supuni@DESKTOP-KMFPTKS", "region": "us-east-1", "tags": null, "tags_all": {} @@ -185,8 +195,8 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ec2:us-east-1:830437195502:security-group/sg-03a0602a4d5b23740", - "description": "Allow HTTP and SSH", + "arn": "arn:aws:ec2:us-east-1:830437195502:security-group/sg-07b6c3dbcb2b6fa50", + "description": "Allow SSH and HTTP", "egress": [ { "cidr_blocks": [ @@ -202,36 +212,36 @@ "to_port": 0 } ], - "id": "sg-03a0602a4d5b23740", + "id": "sg-07b6c3dbcb2b6fa50", "ingress": [ { "cidr_blocks": [ "0.0.0.0/0" ], - "description": "", - "from_port": 22, + "description": "HTTP", + "from_port": 80, "ipv6_cidr_blocks": [], "prefix_list_ids": [], "protocol": "tcp", "security_groups": [], "self": false, - "to_port": 22 + "to_port": 80 }, { "cidr_blocks": [ "0.0.0.0/0" ], - "description": "", - "from_port": 80, + "description": "SSH", + "from_port": 22, "ipv6_cidr_blocks": [], "prefix_list_ids": [], "protocol": "tcp", "security_groups": [], "self": false, - "to_port": 80 + "to_port": 22 } ], - "name": "frontend-sg", + "name": "frontend_sg", "name_prefix": "", "owner_id": "830437195502", "region": "us-east-1", @@ -245,7 +255,7 @@ "identity_schema_version": 0, "identity": { "account_id": "830437195502", - "id": "sg-03a0602a4d5b23740", + "id": "sg-07b6c3dbcb2b6fa50", "region": "us-east-1" }, "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6OTAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIxIn0=" diff --git a/terraform/variables.tf b/terraform/variables.tf index e84d61e2..e69de29b 100644 --- a/terraform/variables.tf +++ b/terraform/variables.tf @@ -1,9 +0,0 @@ -variable "region" { - default = "us-east-1" -} -variable "ami" { - default = "ami-0c7217cdde317cfec" # Ubuntu 20.04 LTS in us-east-1 -} -variable "instance_type" { - default = "t2.micro" -} From 17c9c326d18962ed3dce4f058829221b4c766b1c Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sun, 24 Aug 2025 10:27:32 +0530 Subject: [PATCH 08/17] update the Dockerfile path --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 03d64f96..7fa9f339 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -25,7 +25,7 @@ jobs: host: ${{ secrets.FRONTEND_EC2_IP }} username: ubuntu key: ${{ secrets.FRONTEND_EC2_SSH_KEY }} - source: "./frontend/Dockerfile" + source: "." target: "/home/ubuntu/frontend" - name: Deploy on EC2 via SSH From f69e34e5f8c1fcb5166db38cc5614cae8df39322 Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sun, 24 Aug 2025 10:45:27 +0530 Subject: [PATCH 09/17] increase the timeout --- .github/workflows/deploy.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 7fa9f339..76f5aeab 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -34,6 +34,7 @@ jobs: host: ${{ secrets.FRONTEND_EC2_IP }} username: ubuntu key: ${{ secrets.FRONTEND_EC2_SSH_KEY }} + timeout: 600s script: | cd frontend docker build -t frontend-app . From cf97a03e1f356537a071b9988f7c96624f2ee9ae Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sun, 24 Aug 2025 11:17:08 +0530 Subject: [PATCH 10/17] updated --- .github/workflows/deploy.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 76f5aeab..e713f32c 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,4 +1,4 @@ -name: Deploy Frontend +name: Deploy Frontend Without Docker Hub on: push: @@ -19,14 +19,17 @@ jobs: - name: Build Docker image run: docker build -t frontend-app . - - name: Copy files to EC2 + - name: Save Docker image as tarball + run: docker save frontend-app -o frontend-app.tar + + - name: Copy image tarball to EC2 uses: appleboy/scp-action@master with: host: ${{ secrets.FRONTEND_EC2_IP }} username: ubuntu key: ${{ secrets.FRONTEND_EC2_SSH_KEY }} - source: "." - target: "/home/ubuntu/frontend" + source: "frontend-app.tar" + target: "/home/ubuntu/frontend-app.tar" - name: Deploy on EC2 via SSH uses: appleboy/ssh-action@master @@ -36,8 +39,7 @@ jobs: key: ${{ secrets.FRONTEND_EC2_SSH_KEY }} timeout: 600s script: | - cd frontend - docker build -t frontend-app . + docker load -i frontend-app.tar docker stop frontend-app || true docker rm frontend-app || true - docker run -d -p 80:80 --name frontend-app frontend-app \ No newline at end of file + docker run -d -p 80:80 --name frontend-app frontend-app From 38313a9006e45acc3197eae0649b93a238c3a5d2 Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sun, 24 Aug 2025 11:54:01 +0530 Subject: [PATCH 11/17] updated --- .github/workflows/deploy.yml | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index e713f32c..427ff8aa 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,4 +1,4 @@ -name: Deploy Frontend Without Docker Hub +name: Deploy Frontend on: push: @@ -13,23 +13,25 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' - - name: Build Docker image - run: docker build -t frontend-app . + - name: Install dependencies + run: npm install - - name: Save Docker image as tarball - run: docker save frontend-app -o frontend-app.tar + - name: Build frontend + run: npm run build - - name: Copy image tarball to EC2 + - name: Copy build folder to EC2 uses: appleboy/scp-action@master with: host: ${{ secrets.FRONTEND_EC2_IP }} username: ubuntu key: ${{ secrets.FRONTEND_EC2_SSH_KEY }} - source: "frontend-app.tar" - target: "/home/ubuntu/frontend-app.tar" + source: "dist" # or "build" for CRA + target: "/home/ubuntu/frontend" - name: Deploy on EC2 via SSH uses: appleboy/ssh-action@master @@ -37,9 +39,10 @@ jobs: host: ${{ secrets.FRONTEND_EC2_IP }} username: ubuntu key: ${{ secrets.FRONTEND_EC2_SSH_KEY }} - timeout: 600s + timeout: 300s script: | - docker load -i frontend-app.tar - docker stop frontend-app || true - docker rm frontend-app || true - docker run -d -p 80:80 --name frontend-app frontend-app + sudo apt-get update + sudo apt-get install -y nginx + sudo rm -rf /var/www/html/* + sudo cp -r /home/ubuntu/frontend/dist/* /var/www/html/ + sudo systemctl restart nginx From 522d0b566b1198548f79fc709dc842437828d353 Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sun, 24 Aug 2025 12:02:43 +0530 Subject: [PATCH 12/17] updated the flow --- .github/workflows/deploy.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 427ff8aa..5db9908f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -24,13 +24,20 @@ jobs: - name: Build frontend run: npm run build + - name: Check build folder exists + run: | + if [ ! -d "build" ]; then + echo "❌ build folder not found. Check if 'npm run build' works." + exit 1 + fi + - name: Copy build folder to EC2 uses: appleboy/scp-action@master with: host: ${{ secrets.FRONTEND_EC2_IP }} username: ubuntu key: ${{ secrets.FRONTEND_EC2_SSH_KEY }} - source: "dist" # or "build" for CRA + source: "build" # ✅ Changed from dist to build target: "/home/ubuntu/frontend" - name: Deploy on EC2 via SSH @@ -44,5 +51,6 @@ jobs: sudo apt-get update sudo apt-get install -y nginx sudo rm -rf /var/www/html/* - sudo cp -r /home/ubuntu/frontend/dist/* /var/www/html/ + sudo cp -r /home/ubuntu/frontend/build/* /var/www/html/ # ✅ Changed dist → build sudo systemctl restart nginx + echo "✅ Frontend deployed successfully!" \ No newline at end of file From 73441cc94fbe14d53a9c6f72116b48a36c37797b Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sun, 24 Aug 2025 12:10:17 +0530 Subject: [PATCH 13/17] update the timeout --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 5db9908f..ec974a55 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -46,7 +46,7 @@ jobs: host: ${{ secrets.FRONTEND_EC2_IP }} username: ubuntu key: ${{ secrets.FRONTEND_EC2_SSH_KEY }} - timeout: 300s + timeout: 600s script: | sudo apt-get update sudo apt-get install -y nginx From 8175c203a15ea3d36e291d0a4bdaa9d4d897dc97 Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sun, 24 Aug 2025 12:38:05 +0530 Subject: [PATCH 14/17] updated the instance --- terraform/blendrush_f_key | 49 +++++ terraform/blendrush_f_key.pub | 1 + terraform/blendrush_frontend_key | 49 ----- terraform/blendrush_frontend_key.pub | 1 - terraform/main.tf | 52 +++++- terraform/outputs.tf | 2 +- terraform/terraform.tfstate | 264 +++++++++++++++++++++++---- 7 files changed, 324 insertions(+), 94 deletions(-) create mode 100644 terraform/blendrush_f_key create mode 100644 terraform/blendrush_f_key.pub delete mode 100644 terraform/blendrush_frontend_key delete mode 100644 terraform/blendrush_frontend_key.pub diff --git a/terraform/blendrush_f_key b/terraform/blendrush_f_key new file mode 100644 index 00000000..b6b9a183 --- /dev/null +++ b/terraform/blendrush_f_key @@ -0,0 +1,49 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +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 +-----END OPENSSH PRIVATE KEY----- diff --git a/terraform/blendrush_f_key.pub b/terraform/blendrush_f_key.pub new file mode 100644 index 00000000..86a0578a --- /dev/null +++ b/terraform/blendrush_f_key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCt8kfpI3iKDLL1s2TE218krlMdzjBGLyrKjCvtxHs4nneaOcJ5j9zopsn3cjQwnlfkSmFVZZR1+vBVzIhgrnCF/y/dsR/dOJKWyHfantE+f/U/cDPWxPqlyuw2HnHge00TVhlP9KlrCUFa+Kid6gceOpHJYkEkjbHCN9H3EFw/FliCMfKUa0cHY3pyX/ofZTh+RnOsAkJkgPp7Xb/LvbnjSycs8hefkXOsvqnZZ4q9l7DPbaT/s/zhJTNmbRKkGyWOMvoJZ/8tCYvXD0vZ/qhbZRx3ROPkYxnpgFhGlbnQSs3+fXna+wz15QRUIdlP6wZ4eDF5CF8Bk8qgE2vMBDA8Mgdmlt9ca7yaTwN2SePxk9z17YDFQ1CpHHlfP7CMQBWRU4eicSoOnPVUZQlGzWqbrPLDCCMbNVdFrp1AuqvJDHNVE2RJ3E/TIsHOPJuZTbSm8+sHLJeXalNoB3anPG1aWCA/xQvdO/EvdyScedzSuU9obQmI1e1j57VCEzyTitA7cP4ZG5Ya5wvxAQal4A0GXCodYCwVhRIhOrylkbJFri8sO84FIRc4ycEiyUbxlzYC/a/shogEhq7tFi+7rT1uwfT9FDVix6ALYTAz1MSEcAN7QjKXtvIGiyaGUAtjXlCp9PhLzN9Orx7fOgWB0C6/5/GfkPYiwRpG/44jSJzQfw== supuni@DESKTOP-KMFPTKS diff --git a/terraform/blendrush_frontend_key b/terraform/blendrush_frontend_key deleted file mode 100644 index e28221dc..00000000 --- a/terraform/blendrush_frontend_key +++ /dev/null @@ -1,49 +0,0 @@ ------BEGIN OPENSSH PRIVATE KEY----- -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 ------END OPENSSH PRIVATE KEY----- diff --git a/terraform/blendrush_frontend_key.pub b/terraform/blendrush_frontend_key.pub deleted file mode 100644 index 295391bf..00000000 --- a/terraform/blendrush_frontend_key.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC06Prmsl0B8nExhlDU8MUehYLSQRbMhQxe3M7kPpBhbBkeJbqAjWYZHhCNWGhrVvPo4QidNLENQgyZz8vz+wXm65uFMFCeFtl33Xdh68OfywwJHOVJuQnzfGqz7jKSxmkIq9w1cZ2s3AKZMTGSKUVEKJ6kJ6ccWehDXGIiNkQ+ghFAEnik9K2djbLyx0qAeN8cz7QTLR+5OJEdBIoWjUkj92FNj1PqOqNSrhHP8+kq3CVuWJeodLWJyU97tqkpf5ySyM3vvhVXvIObiER75ZhFJadLA0tGWoEu7MhcYyC8ZWlAzV4MLL5AsH/LWuebnwswqZbMZe52WR+OdLXPuh2JqPU1HDeuMjcnTZ1uJ+TzQCaqolJoICQq8UEY3SSdlGy67cSBSvy8cgx/08JC+zqk0+EI0yg8uiM7a1yZ/SEJQYWQg7n9POZsP301HFsjUHL0ggsTvOa7UFVyvt9+l2+8g8PAdcLbit+8ROnXpHWqlnw/JY1WIg7j6fsY4aAPWDyn45n1P0R5EbmN76n8uLIhrT9uptzawlkSb/U3xlYnOFEWIDRUf5+gSJgrrprKJxvO6jCFSYfwyM+U3mwRLHC4rwduagZiWzECf8kLH2FwdBd/5cxkCLQkEpe0Y+AlEEpEKprkQbynaI+bFarCpjQE8mUrSAw5XaMSmMngj7pLKQ== supuni@DESKTOP-KMFPTKS diff --git a/terraform/main.tf b/terraform/main.tf index f6db1140..0ab500e3 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -7,22 +7,57 @@ variable "region" { } variable "ami" { - # Ubuntu Server 22.04 LTS - us-east-1 - default = "ami-053b0d53c279acc90" + default = "ami-053b0d53c279acc90" # Ubuntu 22.04 LTS } variable "instance_type" { default = "t2.micro" } -resource "aws_key_pair" "blendrush_frontend_key" { - key_name = "blendrush_frontend_key" - public_key = file("${path.module}/blendrush_frontend_key.pub") +# 🔐 SSH Key Pair +resource "aws_key_pair" "blendrush_f_key" { + key_name = "blendrush_f_key" + public_key = file("${path.module}/blendrush_f_key.pub") } +# 🌐 VPC +resource "aws_vpc" "main_vpc" { + cidr_block = "10.0.0.0/16" +} + +# 📡 Internet Gateway +resource "aws_internet_gateway" "igw" { + vpc_id = aws_vpc.main_vpc.id +} + +# 🛣 Route Table +resource "aws_route_table" "public_rt" { + vpc_id = aws_vpc.main_vpc.id + + route { + cidr_block = "0.0.0.0/0" + gateway_id = aws_internet_gateway.igw.id + } +} + +# 🌐 Public Subnet +resource "aws_subnet" "public_subnet" { + vpc_id = aws_vpc.main_vpc.id + cidr_block = "10.0.1.0/24" + map_public_ip_on_launch = true +} + +# 🔗 Associate Subnet to Route Table +resource "aws_route_table_association" "public_assoc" { + subnet_id = aws_subnet.public_subnet.id + route_table_id = aws_route_table.public_rt.id +} + +# 🔒 Security Group resource "aws_security_group" "frontend_sg" { name = "frontend_sg" description = "Allow SSH and HTTP" + vpc_id = aws_vpc.main_vpc.id ingress { description = "SSH" @@ -48,10 +83,12 @@ resource "aws_security_group" "frontend_sg" { } } +# 💻 EC2 Instance resource "aws_instance" "frontend_instance" { ami = var.ami instance_type = var.instance_type - key_name = aws_key_pair.blendrush_frontend_key.key_name + key_name = aws_key_pair.blendrush_f_key.key_name + subnet_id = aws_subnet.public_subnet.id associate_public_ip_address = true vpc_security_group_ids = [aws_security_group.frontend_sg.id] @@ -70,12 +107,13 @@ resource "aws_instance" "frontend_instance" { connection { type = "ssh" user = "ubuntu" - private_key = file("${path.module}/blendrush_frontend_key") + private_key = file("${path.module}/blendrush_f_key") host = self.public_ip } } } +# 🔎 Output the public IP output "frontend_public_ip" { value = aws_instance.frontend_instance.public_ip } diff --git a/terraform/outputs.tf b/terraform/outputs.tf index c725c43c..1b24e616 100644 --- a/terraform/outputs.tf +++ b/terraform/outputs.tf @@ -1,3 +1,3 @@ -output "blendrush_frontend_public_ip" { +output "blendrush_fd_public_ip" { value = aws_instance.frontend_instance.public_ip } diff --git a/terraform/terraform.tfstate b/terraform/terraform.tfstate index d2668ec0..751a6275 100644 --- a/terraform/terraform.tfstate +++ b/terraform/terraform.tfstate @@ -1,15 +1,15 @@ { "version": 4, "terraform_version": "1.12.2", - "serial": 4, - "lineage": "331adb08-ec4a-ae21-6b59-abcb86a3ae0b", + "serial": 11, + "lineage": "17044509-bb1a-415c-3b54-f1707970e5d6", "outputs": { - "blendrush_frontend_public_ip": { - "value": "13.221.80.98", + "blendrush_fd_public_ip": { + "value": "54.235.60.229", "type": "string" }, "frontend_public_ip": { - "value": "13.221.80.98", + "value": "54.235.60.229", "type": "string" } }, @@ -24,9 +24,9 @@ "schema_version": 2, "attributes": { "ami": "ami-053b0d53c279acc90", - "arn": "arn:aws:ec2:us-east-1:830437195502:instance/i-0211c9003f4afffc9", + "arn": "arn:aws:ec2:us-east-1:830437195502:instance/i-0387d090610cde019", "associate_public_ip_address": true, - "availability_zone": "us-east-1a", + "availability_zone": "us-east-1c", "capacity_reservation_specification": [ { "capacity_reservation_preference": "open", @@ -62,7 +62,7 @@ "host_id": "", "host_resource_group_arn": null, "iam_instance_profile": "", - "id": "i-0211c9003f4afffc9", + "id": "i-0387d090610cde019", "instance_initiated_shutdown_behavior": "stop", "instance_lifecycle": "", "instance_market_options": [], @@ -70,7 +70,7 @@ "instance_type": "t2.micro", "ipv6_address_count": 0, "ipv6_addresses": [], - "key_name": "blendrush_frontend_key", + "key_name": "blendrush_f_key", "launch_template": [], "maintenance_options": [ { @@ -95,11 +95,11 @@ "primary_network_interface": [ { "delete_on_termination": true, - "network_interface_id": "eni-072391fa5c4ca8216" + "network_interface_id": "eni-007d87fbb322cf078" } ], - "primary_network_interface_id": "eni-072391fa5c4ca8216", - "private_dns": "ip-172-31-82-11.ec2.internal", + "primary_network_interface_id": "eni-007d87fbb322cf078", + "private_dns": "ip-10-0-1-49.ec2.internal", "private_dns_name_options": [ { "enable_resource_name_dns_a_record": false, @@ -107,9 +107,9 @@ "hostname_type": "ip-name" } ], - "private_ip": "172.31.82.11", - "public_dns": "ec2-13-221-80-98.compute-1.amazonaws.com", - "public_ip": "13.221.80.98", + "private_ip": "10.0.1.49", + "public_dns": "", + "public_ip": "54.235.60.229", "region": "us-east-1", "root_block_device": [ { @@ -121,18 +121,16 @@ "tags": {}, "tags_all": {}, "throughput": 0, - "volume_id": "vol-009ff2c1cea8a94ea", + "volume_id": "vol-08bed4189e85571bb", "volume_size": 8, "volume_type": "gp2" } ], "secondary_private_ips": [], - "security_groups": [ - "frontend_sg" - ], + "security_groups": [], "source_dest_check": true, "spot_instance_request_id": "", - "subnet_id": "subnet-0b2aa57d86c35c8f8", + "subnet_id": "subnet-06c356ad52941ca6d", "tags": { "Name": "FrontendAppInstance" }, @@ -146,15 +144,44 @@ "user_data_replace_on_change": false, "volume_tags": null, "vpc_security_group_ids": [ - "sg-07b6c3dbcb2b6fa50" + "sg-0a3c5a0c06dfe1a4f" ] }, "sensitive_attributes": [], "identity_schema_version": 0, "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMCwicmVhZCI6OTAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMiJ9", "dependencies": [ - "aws_key_pair.blendrush_frontend_key", - "aws_security_group.frontend_sg" + "aws_key_pair.blendrush_f_key", + "aws_security_group.frontend_sg", + "aws_subnet.public_subnet", + "aws_vpc.main_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_internet_gateway", + "name": "igw", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:ec2:us-east-1:830437195502:internet-gateway/igw-0f18c76ceab3d051e", + "id": "igw-0f18c76ceab3d051e", + "owner_id": "830437195502", + "region": "us-east-1", + "tags": {}, + "tags_all": {}, + "timeouts": null, + "vpc_id": "vpc-087dc5937b62c8b3a" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19", + "dependencies": [ + "aws_vpc.main_vpc" ] } ] @@ -162,20 +189,20 @@ { "mode": "managed", "type": "aws_key_pair", - "name": "blendrush_frontend_key", + "name": "blendrush_f_key", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ec2:us-east-1:830437195502:key-pair/blendrush_frontend_key", - "fingerprint": "ae:ba:97:4f:68:10:49:09:d3:f2:eb:78:f9:ab:54:eb", - "id": "blendrush_frontend_key", - "key_name": "blendrush_frontend_key", + "arn": "arn:aws:ec2:us-east-1:830437195502:key-pair/blendrush_f_key", + "fingerprint": "eb:f5:20:38:c6:f6:dc:73:e1:86:8b:b4:9f:7a:6f:7e", + "id": "blendrush_f_key", + "key_name": "blendrush_f_key", "key_name_prefix": "", - "key_pair_id": "key-07e40ab3d092dfab6", + "key_pair_id": "key-08a4d028bf4de217d", "key_type": "rsa", - "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC06Prmsl0B8nExhlDU8MUehYLSQRbMhQxe3M7kPpBhbBkeJbqAjWYZHhCNWGhrVvPo4QidNLENQgyZz8vz+wXm65uFMFCeFtl33Xdh68OfywwJHOVJuQnzfGqz7jKSxmkIq9w1cZ2s3AKZMTGSKUVEKJ6kJ6ccWehDXGIiNkQ+ghFAEnik9K2djbLyx0qAeN8cz7QTLR+5OJEdBIoWjUkj92FNj1PqOqNSrhHP8+kq3CVuWJeodLWJyU97tqkpf5ySyM3vvhVXvIObiER75ZhFJadLA0tGWoEu7MhcYyC8ZWlAzV4MLL5AsH/LWuebnwswqZbMZe52WR+OdLXPuh2JqPU1HDeuMjcnTZ1uJ+TzQCaqolJoICQq8UEY3SSdlGy67cSBSvy8cgx/08JC+zqk0+EI0yg8uiM7a1yZ/SEJQYWQg7n9POZsP301HFsjUHL0ggsTvOa7UFVyvt9+l2+8g8PAdcLbit+8ROnXpHWqlnw/JY1WIg7j6fsY4aAPWDyn45n1P0R5EbmN76n8uLIhrT9uptzawlkSb/U3xlYnOFEWIDRUf5+gSJgrrprKJxvO6jCFSYfwyM+U3mwRLHC4rwduagZiWzECf8kLH2FwdBd/5cxkCLQkEpe0Y+AlEEpEKprkQbynaI+bFarCpjQE8mUrSAw5XaMSmMngj7pLKQ== supuni@DESKTOP-KMFPTKS", + "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCt8kfpI3iKDLL1s2TE218krlMdzjBGLyrKjCvtxHs4nneaOcJ5j9zopsn3cjQwnlfkSmFVZZR1+vBVzIhgrnCF/y/dsR/dOJKWyHfantE+f/U/cDPWxPqlyuw2HnHge00TVhlP9KlrCUFa+Kid6gceOpHJYkEkjbHCN9H3EFw/FliCMfKUa0cHY3pyX/ofZTh+RnOsAkJkgPp7Xb/LvbnjSycs8hefkXOsvqnZZ4q9l7DPbaT/s/zhJTNmbRKkGyWOMvoJZ/8tCYvXD0vZ/qhbZRx3ROPkYxnpgFhGlbnQSs3+fXna+wz15QRUIdlP6wZ4eDF5CF8Bk8qgE2vMBDA8Mgdmlt9ca7yaTwN2SePxk9z17YDFQ1CpHHlfP7CMQBWRU4eicSoOnPVUZQlGzWqbrPLDCCMbNVdFrp1AuqvJDHNVE2RJ3E/TIsHOPJuZTbSm8+sHLJeXalNoB3anPG1aWCA/xQvdO/EvdyScedzSuU9obQmI1e1j57VCEzyTitA7cP4ZG5Ya5wvxAQal4A0GXCodYCwVhRIhOrylkbJFri8sO84FIRc4ycEiyUbxlzYC/a/shogEhq7tFi+7rT1uwfT9FDVix6ALYTAz1MSEcAN7QjKXtvIGiyaGUAtjXlCp9PhLzN9Orx7fOgWB0C6/5/GfkPYiwRpG/44jSJzQfw== supuni@DESKTOP-KMFPTKS", "region": "us-east-1", "tags": null, "tags_all": {} @@ -186,6 +213,80 @@ } ] }, + { + "mode": "managed", + "type": "aws_route_table", + "name": "public_rt", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:ec2:us-east-1:830437195502:route-table/rtb-03bf040028db4aeaf", + "id": "rtb-03bf040028db4aeaf", + "owner_id": "830437195502", + "propagating_vgws": [], + "region": "us-east-1", + "route": [ + { + "carrier_gateway_id": "", + "cidr_block": "0.0.0.0/0", + "core_network_arn": "", + "destination_prefix_list_id": "", + "egress_only_gateway_id": "", + "gateway_id": "igw-0f18c76ceab3d051e", + "ipv6_cidr_block": "", + "local_gateway_id": "", + "nat_gateway_id": "", + "network_interface_id": "", + "transit_gateway_id": "", + "vpc_endpoint_id": "", + "vpc_peering_connection_id": "" + } + ], + "tags": {}, + "tags_all": {}, + "timeouts": null, + "vpc_id": "vpc-087dc5937b62c8b3a" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDAsImRlbGV0ZSI6MzAwMDAwMDAwMDAwLCJ1cGRhdGUiOjEyMDAwMDAwMDAwMH19", + "dependencies": [ + "aws_internet_gateway.igw", + "aws_vpc.main_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_route_table_association", + "name": "public_assoc", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "gateway_id": "", + "id": "rtbassoc-007a151a721e671eb", + "region": "us-east-1", + "route_table_id": "rtb-03bf040028db4aeaf", + "subnet_id": "subnet-06c356ad52941ca6d", + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDAsImRlbGV0ZSI6MzAwMDAwMDAwMDAwLCJ1cGRhdGUiOjEyMDAwMDAwMDAwMH19", + "dependencies": [ + "aws_internet_gateway.igw", + "aws_route_table.public_rt", + "aws_subnet.public_subnet", + "aws_vpc.main_vpc" + ] + } + ] + }, { "mode": "managed", "type": "aws_security_group", @@ -195,7 +296,7 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ec2:us-east-1:830437195502:security-group/sg-07b6c3dbcb2b6fa50", + "arn": "arn:aws:ec2:us-east-1:830437195502:security-group/sg-0a3c5a0c06dfe1a4f", "description": "Allow SSH and HTTP", "egress": [ { @@ -212,7 +313,7 @@ "to_port": 0 } ], - "id": "sg-07b6c3dbcb2b6fa50", + "id": "sg-0a3c5a0c06dfe1a4f", "ingress": [ { "cidr_blocks": [ @@ -246,19 +347,110 @@ "owner_id": "830437195502", "region": "us-east-1", "revoke_rules_on_delete": false, - "tags": null, + "tags": {}, "tags_all": {}, "timeouts": null, - "vpc_id": "vpc-0236220b592d22e09" + "vpc_id": "vpc-087dc5937b62c8b3a" }, "sensitive_attributes": [], "identity_schema_version": 0, "identity": { "account_id": "830437195502", - "id": "sg-07b6c3dbcb2b6fa50", + "id": "sg-0a3c5a0c06dfe1a4f", "region": "us-east-1" }, - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6OTAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIxIn0=" + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6OTAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIxIn0=", + "dependencies": [ + "aws_vpc.main_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_subnet", + "name": "public_subnet", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:us-east-1:830437195502:subnet/subnet-06c356ad52941ca6d", + "assign_ipv6_address_on_creation": false, + "availability_zone": "us-east-1c", + "availability_zone_id": "use1-az6", + "cidr_block": "10.0.1.0/24", + "customer_owned_ipv4_pool": "", + "enable_dns64": false, + "enable_lni_at_device_index": 0, + "enable_resource_name_dns_a_record_on_launch": false, + "enable_resource_name_dns_aaaa_record_on_launch": false, + "id": "subnet-06c356ad52941ca6d", + "ipv6_cidr_block": "", + "ipv6_cidr_block_association_id": "", + "ipv6_native": false, + "map_customer_owned_ip_on_launch": false, + "map_public_ip_on_launch": true, + "outpost_arn": "", + "owner_id": "830437195502", + "private_dns_hostname_type_on_launch": "ip-name", + "region": "us-east-1", + "tags": {}, + "tags_all": {}, + "timeouts": null, + "vpc_id": "vpc-087dc5937b62c8b3a" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "identity": { + "account_id": "830437195502", + "id": "subnet-06c356ad52941ca6d", + "region": "us-east-1" + }, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "aws_vpc.main_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_vpc", + "name": "main_vpc", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:us-east-1:830437195502:vpc/vpc-087dc5937b62c8b3a", + "assign_generated_ipv6_cidr_block": false, + "cidr_block": "10.0.0.0/16", + "default_network_acl_id": "acl-092e214f844bfc5b3", + "default_route_table_id": "rtb-066f870e9292afb65", + "default_security_group_id": "sg-073385a9bb4f33d60", + "dhcp_options_id": "dopt-01847d218e50082ba", + "enable_dns_hostnames": false, + "enable_dns_support": true, + "enable_network_address_usage_metrics": false, + "id": "vpc-087dc5937b62c8b3a", + "instance_tenancy": "default", + "ipv4_ipam_pool_id": null, + "ipv4_netmask_length": null, + "ipv6_association_id": "", + "ipv6_cidr_block": "", + "ipv6_cidr_block_network_border_group": "", + "ipv6_ipam_pool_id": "", + "ipv6_netmask_length": 0, + "main_route_table_id": "rtb-066f870e9292afb65", + "owner_id": "830437195502", + "region": "us-east-1", + "tags": {}, + "tags_all": {} + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" } ] } From 6b56ad4e8fa371e03a613db84f6cd00ff0c44720 Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sun, 24 Aug 2025 13:15:42 +0530 Subject: [PATCH 15/17] updated --- .github/workflows/deploy.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index ec974a55..874404d6 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -47,6 +47,7 @@ jobs: username: ubuntu key: ${{ secrets.FRONTEND_EC2_SSH_KEY }} timeout: 600s + command_timeout: 600s script: | sudo apt-get update sudo apt-get install -y nginx From 3ac062564ed11b5eaf9bb9b618ae1e380fe0e89c Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Sun, 24 Aug 2025 17:09:27 +0530 Subject: [PATCH 16/17] update the workflow --- .github/workflows/deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 874404d6..155879d3 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,3 +1,4 @@ + name: Deploy Frontend on: @@ -30,7 +31,6 @@ jobs: echo "❌ build folder not found. Check if 'npm run build' works." exit 1 fi - - name: Copy build folder to EC2 uses: appleboy/scp-action@master with: @@ -47,7 +47,7 @@ jobs: username: ubuntu key: ${{ secrets.FRONTEND_EC2_SSH_KEY }} timeout: 600s - command_timeout: 600s + command_timeout: 600s script: | sudo apt-get update sudo apt-get install -y nginx From 8b4ee70afc0a71a6dd1e5f56ac86babbd84dae40 Mon Sep 17 00:00:00 2001 From: supunijayasinghe Date: Thu, 4 Sep 2025 13:06:05 +0530 Subject: [PATCH 17/17] remove the warnings --- src/Pages/Menu.jsx | 14 ++++++-------- src/Pages/forgot-pw.jsx | 6 +++--- src/Pages/reset-pw.jsx | 4 ++-- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/Pages/Menu.jsx b/src/Pages/Menu.jsx index c6fc942b..53da728a 100644 --- a/src/Pages/Menu.jsx +++ b/src/Pages/Menu.jsx @@ -52,8 +52,8 @@ export default function MenuPage() { let list = category && category !== "All" ? items.filter( - (it) => it.category?.toLowerCase() === category.toLowerCase() - ) + (it) => it.category?.toLowerCase() === category.toLowerCase() + ) : [...items]; if (search.trim()) { @@ -136,11 +136,10 @@ export default function MenuPage() { @@ -246,9 +245,8 @@ export default function MenuPage() { {/* Toast */}
diff --git a/src/Pages/forgot-pw.jsx b/src/Pages/forgot-pw.jsx index ee1447c3..1a39e29f 100644 --- a/src/Pages/forgot-pw.jsx +++ b/src/Pages/forgot-pw.jsx @@ -16,7 +16,7 @@ const ForgotPW = () => { const navigate = useNavigate(); const { openNotification } = useNotification(); -const handleSubmit = async (values) => { + const handleSubmit = async (values) => { setIsLoading(true); try { const response = await axios.post( @@ -56,7 +56,7 @@ const handleSubmit = async (values) => { useEffect(() => { handleFormChange(); - }, []); + }); return (
{ {/* Form */}
-