An open API service indexing awesome lists of open source software.

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.

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