adding devops

used gemini to create the k8s/dockerfiles faster
This commit is contained in:
Smigz 2025-05-02 16:47:07 +00:00
parent 5c09c5a22f
commit 6c14a968c3
74 changed files with 2061 additions and 16 deletions

30
cv/README.md Normal file
View file

@ -0,0 +1,30 @@
# CV Project
This project is a web application designed to display a curriculum vitae (CV) or resume. It's built using HTML, CSS, and JavaScript to provide a dynamic and interactive presentation of personal and professional information.
## Project Structure
- `index.html`: The main HTML file that structures the web page content.
- `css/style.css`: The stylesheet used to visually format the CV.
- `js/script.js`: Contains JavaScript code for interactive elements and functionality.
- `assets/`: This folder contains the compiled production react code.
- `icon.svg`: The icon for the project.
- `vite.svg`: The vite logo used in the project.
## Running the Project Locally
To view and run this CV project on your local machine, follow these steps:
1. **Clone the Repository**
If you haven't already, clone the project repository to your local machine using git.
2. **Open `index.html`**
Navigate to the project directory in your file explorer and double-click on the `index.html` file. This will open the CV in your default web browser.
## Project Overview
This project provides a clean and modern way to present a CV online. It leverages web technologies to create a visually appealing and functional document.
## Additional Notes
- No specific server setup is required to run this project locally, as it is primarily a client-side application.
- All dependencies and code are self-contained within the project directory.

16
cv/devops/Dockerfile Normal file
View file

@ -0,0 +1,16 @@
# Use an official Nginx image as the base image
FROM nginx:latest
# Set the working directory to /app
WORKDIR /app
# Copy the HTML, CSS, and JavaScript files to the Nginx default directory
COPY index.html /usr/share/nginx/html/
COPY css/ /usr/share/nginx/html/css/
COPY assets/ /usr/share/nginx/html/assets/
# Expose port 80 to the outside world
EXPOSE 80
# Start Nginx
CMD ["nginx", "-g", "daemon off;"]

32
cv/devops/deployment.yaml Normal file
View file

@ -0,0 +1,32 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: cv-deployment
spec:
replicas: 1
selector:
matchLabels:
app: cv
template:
metadata:
labels:
app: cv
spec:
containers:
- name: cv-app
image: ghcr.io/smiggiddy/odin-codeprojects/cv:latest
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: cv-service
spec:
type: LoadBalancer
selector:
app: cv
ports:
- protocol: TCP
port: 80
targetPort: 80