Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e3d320d581 | |||
| d560b83da9 | |||
| d670230112 | |||
| 8f2ad91e38 |
@@ -75,7 +75,7 @@ params:
|
||||
Title: "Hi there \U0001F44B"
|
||||
Content: Welcome to my blog
|
||||
|
||||
# socialIcons:
|
||||
socialIcons: []
|
||||
# - name: x
|
||||
# url: "https://x.com/"
|
||||
# - name: stackoverflow
|
||||
|
||||
@@ -3,8 +3,10 @@ title = 'About'
|
||||
date = 2024-10-07T06:53:00-05:00
|
||||
+++
|
||||
|
||||
Whoa, you came to the about page?! Little creepy to want to know so much about me no? Anyway, I am a Father (one daughter), husband (one wife) and Software Engineer at a major retailer. I work on an observability team, providing the tools and infrastructure necessary for other engineers to understand the health of their applications. I also get up at crazy early or uncomfortably late times to dive into topics of interest, write blog posts and do a bit of light reading. Also, never totally mastered proper spelling, and lean quite heavily on spell check. If you see any mistakes, grammar or otherwise, let me know and I'll fix it; maybe.
|
||||
I am a Father (one daughter), husband (one wife) and Software Engineer at a major retailer. I work on an observability team, providing the tools and infrastructure necessary for other engineers to understand the health of their applications. I also get up at crazy early or uncomfortably late times to dive into topics of interest, write blog posts and do a bit of light reading. Also, never totally mastered proper spelling, and lean quite heavily on spell check. If you see any mistakes, grammar or otherwise, let me know and I'll fix it; maybe.
|
||||
|
||||
During my day job I like to solve problems by automating them away. If something has to be done more than once I have a bash script in my `~/.bin/` directory, usually with some help text, to get it done quickly. In other words awk and the `|` have treated me well. If the problem is more complex I will create the tools needed (Often with Go, Rust or something else) to solve it in the most simple yet generic way. I love taking on big novel challenges that require creativity or those annoying problems that no one could quite figure out.
|
||||
During my day job I like to solve problems by automating them away. If something has to be done more than once I have a bash script in my `~/.bin/` directory, usually with some help text, to get it done quickly. If the problem is more complex I will create the tools needed (Often with Go, Rust or something near it) to solve things in the most simple yet generic way. I love taking on big novel challenges that require creativity or those annoying problems that no one could quite figure out.
|
||||
|
||||
In my role as a leader I try to create a light-hearted atmosphere when working with others, and have noticed this tends to foment excitement for the projects we are working on. I put effort into ensuring those that I work with find a comfortable space where creative problem solving can occur. I regularly adapt my processes (communication channels, ceremonies, project management styles) towards the group I am working with to ensure I create the best possible chance for a successful outcome. I have gotten the feedback on more than one occasion: "I really enjoyed this project because you made it fun", or "Your silliness made the project low stress, even when things were tough". I lead with humility and humor, and would rather ask a good question instead of giving command.
|
||||
|
||||
When I am not working I enjoy a plethora of circulating hobbies such as hiking, drumming, painting, drawing, photography, woodworking, cooking, barbecuing, running, writing and more software engineering. That isn't to say I am good at all these things, but I do enjoy them.
|
||||
|
||||
35
content/posts/application_kustomize_image.md
Normal file
35
content/posts/application_kustomize_image.md
Normal file
@@ -0,0 +1,35 @@
|
||||
+++
|
||||
title = "Application Kustomize image"
|
||||
date = 2026-02-28T00:00:00-05:00
|
||||
draft = false
|
||||
+++
|
||||
|
||||
When creating [Applications](https://argo-cd.readthedocs.io/en/latest/user-guide/application-specification/) in [Argocd](https://argo-cd.readthedocs.io/en/stable/) I always prefer to use [kustomize](https://argo-cd.readthedocs.io/en/stable/user-guide/kustomize/) for my own manifests. It allows me to create a simple "base" of manifests and then alter it for the specific use case via the `kustomize` attribute within the application. This allows a single place (the `Application` or `ApplicationSet`) to stores all the high level information for configuring the installation.
|
||||
|
||||
While working on one project or another, I don't remember anymore why I needed to figure this out, I noticed the `images` attribute works differently in Argocd than it does in kustomize. **Since you the reader might be interested in the solution as opposed to the exploration, let me get that out of the way now**:
|
||||
|
||||
_format_: `- [old_image_name=]<image_name>:<image_tag>`
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
spec:
|
||||
source:
|
||||
path: examples/helloWorld
|
||||
repoURL: 'https://github.com/kubernetes-sigs/kustomize'
|
||||
targetRevision: HEAD
|
||||
kustomize:
|
||||
images:
|
||||
- nginx=docker.io/nginx:v1.1.2
|
||||
```
|
||||
|
||||
Documentation for this syntax was hard to find, so I had to go digging through the [source](https://github.com/argoproj/argo-cd/blob/a3b4c8327f38ef2edfb3be6c68f96729ce98f9d8/pkg/apis/application/v1alpha1/types.go#L653-L654) to find out how it should be formatted.
|
||||
|
||||
Kustomize is less concise than argocd, having you [spell out each part](https://github.com/kubernetes-sigs/kustomize/blob/master/examples/image.md). The same example above in kustomize would look like this.
|
||||
|
||||
```yaml
|
||||
images:
|
||||
- name: nginx
|
||||
newName: docker.io/nginx
|
||||
newTag: v1.1.2
|
||||
```
|
||||
10
content/posts/kla.md
Normal file
10
content/posts/kla.md
Normal file
@@ -0,0 +1,10 @@
|
||||
+++
|
||||
title = 'KLA'
|
||||
date = 2024-01-28T20:45:05-06:00
|
||||
draft = true
|
||||
+++
|
||||
|
||||
You know what I love, when things have documented HTTP Restful APIs. They make it possible for me to configure things without having to log in to some UI. It also enables me to automate or write scripts to make managing those things easier. Another thing I love is the terminal. I spend most of my engineering time in one, even preferring something like [helix](https://helix-editor.com/) over VSCode. Given these two loves it was only inevitable I ended up creating [kla](https://github.com/d1ngd0/kla).
|
||||
|
||||
Kla is an open source replacement for curl (you know, because we needed that) that also allows you to create templates, which can take arguments, to easily create https requests against a RESTful API. While I do regularly use it in my day to day now, it started as an excuse to learn rust.
|
||||
|
||||
@@ -6,28 +6,19 @@ draft = false
|
||||
|
||||
# Paul Montag - Software Engineer
|
||||
|
||||
[https://github.com/d1ngd0](https://github.com/d1ngd0) :: [https://blog.paulmontag.info/](https://blog.paulmontag.info/)
|
||||
Lead Software engineer who enjoys building strong teams specializing in golang development, Linux and Kubernetes administration, and Observability.
|
||||
|
||||
Lead Software engineer, specializing in golang development, server administration and observability.
|
||||
|
||||
<!-- TODO: Add stuff about how you are a good leader, how you automate simple things with bash and complicated things with well thought out software. -->
|
||||
|
||||
## Skills
|
||||
|
||||
Languages: Golang, Rust, bash, javascript, HTML, CSS, YAML, JSON, python, awk
|
||||
Tools: Ansible, git, github, Kubernetes, KubeBuilder, Argocd, Helm, kafka, elasticsearch, Clickhouse, influxdb, vim, helix, delve, chef, mercurial, Terraform, OpenTelemetry, Grafana, Postgres, MySQL/MariaDB, ChatGPT, Copilot, Burrow, BPFTrace, Linux, Ubuntu, CentOS, GCP, AWS
|
||||
|
||||
## Experience
|
||||
## Employment
|
||||
|
||||
### Target - Minneapolis, MN
|
||||
|
||||
#### Lead Engineer 2019 - present
|
||||
#### Lead Engineer <sub>2019 - present</sub>
|
||||
|
||||
- Work with engineers throughout Target to better understand observability tooling
|
||||
- Manage replicated dataset with Petabytes of data, and billions of transactions daily
|
||||
- Manage highly resilient, zonal aware Clickhouse architecture in Kubernetes
|
||||
- Maintain Elasticsearch, Influx, Grafana architectures on VMware with ansible
|
||||
- Lead small team of engineers through various initiatives utilizing Agile methodology
|
||||
- Work with engineers throughout Target to better understand observability tooling
|
||||
- Present talks within Target to create a culture of observability, and desired engineering practices
|
||||
- Create highly performant, specialized applications in golang to manage observability data
|
||||
|
||||
@@ -58,9 +49,18 @@ Tools: Ansible, git, github, Kubernetes, KubeBuilder, Argocd, Helm, kafka, elast
|
||||
- Worked both individually and with a team of developers to complete projects
|
||||
- Configured Apache, MySQL, and PHP on Linux servers as well as MSSQL and IIS on Windows servers
|
||||
|
||||
|
||||
## Skills
|
||||
|
||||
<sub>Languages: Golang, Rust, bash, javascript, HTML, CSS, YAML, JSON, python, awk</sub>
|
||||
|
||||
<sub>Tools: Ansible, git, github, Kubernetes, KubeBuilder, Argocd, Helm, kafka, elasticsearch, Clickhouse, influxdb, vim, helix, delve, chef, mercurial, Terraform, OpenTelemetry, Grafana, Postgres, MySQL/MariaDB, ChatGPT, Copilot, Burrow, BPFTrace, Linux, Ubuntu, CentOS, GCP, AWS</sub>
|
||||
|
||||
## Education
|
||||
|
||||
### Saint Cloud Technical College
|
||||
Saint Cloud, MN 2008 – 2010
|
||||
**Saint Cloud Technical College** _(Saint Cloud, MN 2008 – 2010)_ Associate of Applied Science Degree in Computer Programming
|
||||
|
||||
- Associate of Applied Science Degree in Computer Programming
|
||||
## Contact
|
||||
|
||||
- Blog: [https://blog.paulmontag.info/](https://blog.paulmontag.info/)
|
||||
- Github: [https://github.com/d1ngd0](https://github.com/d1ngd0)
|
||||
|
||||
Reference in New Issue
Block a user