mirror of
https://gitea.smigz.com/smiggiddy/odin-codeprojects.git
synced 2025-06-27 11:20:40 -04:00
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
61 lines
2.4 KiB
Markdown
61 lines
2.4 KiB
Markdown
# 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
|