https://github.com/tukue/simpleapplication
This project is a Node.js and Express web application that supports CRUD operations. It is containerized using Docker and includes a CI/CD pipeline for building and pushing Docker images to AWS ECR. The application is deployed to an AWS EKS cluster using Kubernetes.
https://github.com/tukue/simpleapplication
aws aws-ecr aws-eks awscodebuild cicd nodejs terraform
Last synced: 7 months ago
JSON representation
This project is a Node.js and Express web application that supports CRUD operations. It is containerized using Docker and includes a CI/CD pipeline for building and pushing Docker images to AWS ECR. The application is deployed to an AWS EKS cluster using Kubernetes.
- Host: GitHub
- URL: https://github.com/tukue/simpleapplication
- Owner: tukue
- Created: 2024-02-03T19:02:34.000Z (over 1 year ago)
- Default Branch: featuresimpleapp
- Last Pushed: 2025-02-18T08:41:21.000Z (8 months ago)
- Last Synced: 2025-02-18T09:34:13.305Z (8 months ago)
- Topics: aws, aws-ecr, aws-eks, awscodebuild, cicd, nodejs, terraform
- Language: HTML
- Homepage:
- Size: 666 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
Awesome Lists containing this project
README
## Getting Started
### Prerequisites
- Node.js
- Docker
- AWS CLI
- Kubernetes CLI (kubectl)### Installation
1. Clone the repository:
```sh
git clone
cd simpleApplication
```2. Install dependencies:
```sh
npm install
```3. Create a [.env](http://_vscodecontentref_/2) file in the root directory with the following content:
```env
AWS_ACCOUNT_ID=your_aws_account_id
AWS_REGION=your_aws_region
ECR_REPOSITORY_NAME=your_ecr_repository_name
REDIS_HOST=your_redis_host
REDIS_PORT=your_redis_port
REDIS_PASSWORD=your_redis_password
```### Running the Application
1. Start the application:
```sh
npm start
```2. Open your browser and navigate to `http://localhost:2019`.
### Docker
1. Build the Docker image:
```sh
docker build -t your_docker_image_name .
```2. Run the Docker container:
```sh
docker run -p 2019:2019 your_docker_image_name
```### CI/CD Pipeline
The CI/CD pipeline is configured in [buildspec.yml] for AWS CodeBuild. It builds the Docker image and pushes it to AWS ECR.
### Kubernetes Deployment
The Kubernetes deployment configuration is in [deployment.yaml]. It deploys the application to an AWS EKS cluster.
1. Apply the deployment:
```sh kubectl apply -f deployment.yaml
```### Testing
1. Run the tests:
```sh
npm test
```### Project Structure