This Node.js application allows you to enter an IP address and retrieve its location using the ipgeolocation.io API.
To run the application using Docker, use the following command:
docker run -d -p 3000:3000 itaybeyder/savvy-node-app:latest
If you want to run the app in a Kubernetes environment using Minikube, please follow these steps:
- Minikube Installation: Follow the full instructions for installing Minikube.
-
Install Minikube on your local machine.
-
Start Minikube:
minikube start
-
Enable the Ingress addon:
minikube addons enable ingress
-
Create self-signed certificates.
-
Install the application by running the GitHub Actions workflow (using self-hosted agents):
- The workflow will build the Node.js project, create a Docker image, and deploy it to Docker Hub.
- It will then run
helm install/upgrade
to create workloads in your Minikube cluster.
You can find the workflow here: Docker Build and Push Workflow.
If you would like to fork the code, make changes, and use the app solely via Docker containers, you do not need self-hosted agents; you can use GitHub-hosted agents instead.
When running the pipeline, choose your desired environment. Each environment will have a separate namespace and a distinct Ingress URL.
Follow these instructions to successfully run the application in both Docker and Kubernetes environments. For any issues, feel free to check the repository or raise an issue.