chandu / open_ims

A custom Inventory Management Solution (IMS) designed and architected specifically for the Christensen Consulting Groups (CCG).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

open_ims

A custom Inventory Management Solution (IMS) designed and architected specifically for the Christensen Consulting Groups (CCG).

Development

Pre-requisites

Our development stack consists of:

  • Docker Desktop with (ideally):
    • Docker Engine v24.0.0 or greater
    • Kubernetes v1.27.0 or greater
  • Skaffold v2.6.0
  • Kustomize v5.0.1 (shipped with our version of kubernetes/kubectl)

To run, lets first make sure that Kubernetes is enabled in the Docker settings. The command kubectl get nodes should show a single node called docker-desktop. This application requires your Kubernetes cluster to have the ingress-nginx controller installed. You can follow the installation steps on the website to get the latest rawYaml or simply run (the version I have):

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.1/deploy/static/provider/cloud/deploy.yaml

After it has finished setting up, you are ready to start up the application!

Development

Starting the dev env

In the root of the project, run:

skaffold dev

The terminal should now be streaming logs. Tack on the --keep-running-on-failure to prevent Skaffolds default behaviour of exiting on failuire and live-debug the app.

This command will run the application in dev mode. Skaffold will deploy our application and (based on configurations) re-deploy the applications services as it picks up changes to the code. At first, this may take a couple of minutes as images may have to be pulled from Docker Hub, please be patient as Skaffold sets up the environment for the first time.

Once you start seeing service logs, feel free to make changes (to relevant files) as you usually would and observe the logs Skaffold outputs as it re-builds our application (or in our case specifically, "injects" the changes directly into our running containers).

Stopping the dev env

In the same terminal that was used to run skaffold dev, simply press CTRL+C to kill the process. Skaffold will take care of the rest and teardown all pods and services/prune any dangling images :D!

About

A custom Inventory Management Solution (IMS) designed and architected specifically for the Christensen Consulting Groups (CCG).

License:MIT License


Languages

Language:TypeScript 69.4%Language:SCSS 21.2%Language:JavaScript 3.3%Language:Dockerfile 2.9%Language:HTML 1.6%Language:Shell 1.5%