# DevOps Context for Odin Code Projects This file contains essential information about the DevOps setup for the Odin Code Projects. It helps the AI assistant (and any humans working on the project) understand the build, deployment, and infrastructure context. ## Build Process * **GitHub Actions:** The build process is managed using GitHub Actions. * **Workflow:** The primary workflow is defined in `.github/workflows/build.yml`. * **Build Context:** * For most projects, the build context when building is the root of the project. * For the `restaurant` project, the build context for docker is the `restaurant/` folder, and the dockerfile is found at `restaurant/devops/Dockerfile` * **Image Naming:** Images are named using the format `ghcr.io//odin-codeprojects/:`. The tag is either `latest` or the first 8 characters of the commit hash. * **Package files**: Most node projects have `package.json` and `package-lock.json` in the root, or in the `app/` folder. * **Projects with package.json:** * Battleship * restaurant * shopping-cart * weather * testing * todo ## Deployment * **Kubernetes:** The applications are deployed to a Kubernetes cluster. * **Ingress**: All projects are exposed through ingress with the following settings. * ingressClassName: traefik * annotations: * cert-manager.io/cluster-issuer: letsencrypt * hosts: * .odin.thecodedom.com * tls: * hosts: * .odin.thecodedom.com * secretName: -tls * **Ingress locations**: The ingress files are located at /devops/-ingress.yaml * **ArgoCD**: Application files are located at deploy/chart/templates/-application.yaml ## Tools and Automation * **Firebase Studio:** Firebase Studio was used to help create the devops process. Instructed by Smiggiddy though. * **CI/CD**: CI/CD is in place to build and test the code and deploy changes. ## Project List * All projects in this list are part of the build pipeline and can be deployed. - admin-dashboard - auth-expressjs - battleship - calculator - cv - cv-project - inventory - library - messages - nodejs-mini-message-board - portfolio - restaurant - shopping-cart - signup_form - tictactoe - todo - weather