ready to deploy
Some checks failed
Build and Push Docker Images / build (admin-dashboard) (push) Failing after 15s
Build and Push Docker Images / build (battleship) (push) Failing after 9s
Build and Push Docker Images / build (calculator) (push) Failing after 9s
Build and Push Docker Images / build (cv-project) (push) Failing after 9s
Build and Push Docker Images / build (inventory) (push) Failing after 10s
Build and Push Docker Images / build (library) (push) Failing after 10s
Build and Push Docker Images / build (messages) (push) Failing after 9s
Build and Push Docker Images / build (nodejs-mini-message-board) (push) Failing after 10s
Build and Push Docker Images / build (portfolio) (push) Failing after 9s
Build and Push Docker Images / build (restaurant) (push) Failing after 9s
Build and Push Docker Images / build (shopping-cart) (push) Failing after 9s
Build and Push Docker Images / build (signup_form) (push) Failing after 8s
Build and Push Docker Images / build (tictactoe) (push) Failing after 9s
Build and Push Docker Images / build (weather) (push) Failing after 9s

This commit is contained in:
Smigz 2025-05-03 00:14:04 +00:00
parent 427e75b86a
commit 694c1f10dc
16 changed files with 423 additions and 0 deletions

61
.devops-context.md Normal file
View file

@ -0,0 +1,61 @@
# 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/<github_username>/odin-codeprojects/<project_name>:<tag>`. 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:
* <project_name>.odin.thecodedom.com
* tls:
* hosts:
* <project_name>.odin.thecodedom.com
* secretName: <project_name>-tls
* **Ingress locations**: The ingress files are located at <project>/devops/<project>-ingress.yaml
* **ArgoCD**: Application files are located at deploy/chart/templates/<project>-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