MCPcopy Index your code
hub / github.com/JefeDavis/Resume-Operator

github.com/JefeDavis/Resume-Operator @v0.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2.0 ↗ · + Follow
303 symbols 749 edges 54 files 215 documented · 71% updated 2y agov0.2.0 · 2022-10-01★ 245
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Resume-Operator - Jeff Davis - resume.jefedavis.dev

A Kubernetes operator built with operator-builder.

This respoistory and it's companion 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 and operator-builder) I was able to create a fully functional operator in about 30 minutes.

K8s Architecture Overview

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-push

Then 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

Extension points exported contracts — how you extend this code

ReconcilerInitializer (Interface)
(no doc) [3 implementers]
main.go
InitFunc (FuncType)
(no doc)
cmd/resumectl/commands/init/init.go
VersionFunc (FuncType)
(no doc)
cmd/resumectl/commands/version/version.go
GenerateFunc (FuncType)
(no doc)
cmd/resumectl/commands/generate/generate.go

Core symbols most depended-on inside this repo

GetName
called by 12
main.go
Run
called by 4
cmd/resumectl/commands/root.go
Setup
called by 4
cmd/resumectl/commands/init/init.go
Setup
called by 4
cmd/resumectl/commands/version/version.go
Setup
called by 4
cmd/resumectl/commands/generate/generate.go
Display
called by 3
cmd/resumectl/commands/version/version.go
Generate
called by 3
apis/resumes/v1alpha1/resume/resources.go
Generate
called by 3
apis/resumes/v1alpha1/experience/resources.go

Shape

Method 152
Function 108
Struct 34
FuncType 8
Interface 1

Languages

Go100%

Modules by API surface

apis/resumes/v1alpha1/zz_generated.deepcopy.go48 symbols
test/e2e/e2e_test.go45 symbols
apis/resumes/v1alpha1/profile_types.go21 symbols
controllers/resumes/jobexperience_controller.go18 symbols
controllers/resumes/certification_controller.go18 symbols
apis/resumes/v1alpha1/jobexperience_types.go17 symbols
apis/resumes/v1alpha1/certification_types.go16 symbols
controllers/resumes/profile_controller.go15 symbols
cmd/resumectl/commands/version/version.go8 symbols
cmd/resumectl/commands/root.go7 symbols
cmd/resumectl/commands/init/init.go6 symbols
cmd/resumectl/commands/generate/generate.go6 symbols

For agents

$ claude mcp add Resume-Operator \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact