Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jefedavis/resume-operator
Kubernetes operator to build & host my resume, powered by operator-builder
https://github.com/jefedavis/resume-operator
golang k8s kubernetes operator operator-builder
Last synced: 1 day ago
JSON representation
Kubernetes operator to build & host my resume, powered by operator-builder
- Host: GitHub
- URL: https://github.com/jefedavis/resume-operator
- Owner: JefeDavis
- Created: 2022-03-19T18:52:15.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-25T21:41:09.000Z (about 1 year ago)
- Last Synced: 2025-01-01T17:09:55.315Z (8 days ago)
- Topics: golang, k8s, kubernetes, operator, operator-builder
- Language: Go
- Homepage: https://resume.jefedavis.dev
- Size: 815 KB
- Stars: 238
- Watchers: 5
- Forks: 14
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Resume-Operator - Jeff Davis - resume.jefedavis.dev
A Kubernetes operator built with
[operator-builder](https://github.com/nukleros/operator-builder).This respository and it's companion [Resume](https://github.com/JefeDavis/Resume) serves two purposes:
* Backup of my resume for rapid deployment and development
* Showcasing some skills while I'm at it:
- Golang
- Docker
- Kubernetes
- Kubernetes Operators
- CI/CD
- GitHub Actions
- MakeFile
- Hugo Web Framework
- HTML5, SCSS
- Writing Great Documentation# Why
I hate updating resumes, It's not so much writing the content that I dislike. Instead, it's messing with Word and other tools to adjust margins, dealing with columns, page breaks and just formatting in general. So, why not use a data structure language like `YAML` and let programming deal with all of the formating. Plus, the portability and rapid deployments are a big upshot as well.Now I can store all my expierence, certifications, skills, and projects in kubernetes manifests and let the code handle the rest. I work with Kubernetes and Kuberentes Operators quite a bit, why not practice what I preach?
## OK, but is a Kubernetes Operator really necessary?
Absolutely not, but it was a fun exercise and a neat talking point. Additionally with the other tools I've built and worked on ([yot](https://github.com/vmware-tanzu-labs/yaml-overlay-tool) and [operator-builder](https://github.com/nukleros/operator-builder)) I was able to create a fully functional operator in about 30 minutes.# K8s Architecture Overview
![](./resume-operator.png)## Local Development & Testing
To install the custom resource/s for this operator, make sure you have a
kubeconfig set up for a test cluster, then run:make install
To run the controller locally against a test cluster:
make run
You can then test the operator by creating the sample manifest/s:
kubectl apply -f config/samples
To clean up:
make uninstall
## Deploy the Controller Manager
First, set the image:
export IMG=myrepo/myproject:v0.1.0
Now you can build and push the image:
make docker-build
make docker-pushThen deploy:
make deploy
To clean up:
make undeploy
## Companion CLI
To build the companion CLI:
make build-cli
The CLI binary will get saved to the bin directory. You can see the help
message with:./bin/resumectl help