How this works
This is a custom solution to a complex problem: How to show people what I do and know!
Read the project outline below:
- Define entire project as code
- One git push builds everything
- Docker container is built with site self contained
As I progress I want to be able to apply to new jobs and make the hiring process super simple as there tends to be this 20 minute conversation on what tech you know vs dont know, as well as asking for a CV.
As an engineer, I fix a problem in a way that fits each case, so opposed to creating a CV site, this documentation has been built.
What I did?
I personally was responsible for:
- Picking a CMS
- Picking a CI/CD Pipeline provider
- Building the content
- Building the terraform for:
- Service accounts
- Custom roles
- Container security
How it works
- Changes are made to the MD (Mark down) files on my computer
- Push to github
- Codefresh catches on to changes
- Pulls files down
- Sets env variables
- Builds the mkdocs site
- Moves files around
- Builds docker container and pushes to gcr.io
- At the same time:
- Pushes to cloud run
- Pushes files to web server
Check the below screenshot for the pipeline
Issues I had to overcome
Deployment time was too long
So on codefresh, it runs steps to deploy what ever you're feeding it. And it can take a while sometimes.
Checking gcr.io, I could see that the container was averaging 50mb, which for a container is huge
I was able to solve this as well as some security issues by moving to the
:alpine version of the base image. Neat
Container had a bunch of CVE's
Using one of my favourite tools from Aqua sec, trivy, I was able to see all the CVE's related to the container image I built.