Skip to content
View patrickdappollonio's full-sized avatar
👨‍💻
👨‍💻

Organizations

@HewlettPackard @kubefirst @acorn-beta @konstructio

Block or report patrickdappollonio

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
patrickdappollonio/README.md

Hello! 👋 Welcome to my Github Profile!

technologies I use

I'm Patrick D'appollonio, I'm a Chilean 🇨🇱 Canadian 🇨🇦 and a Principal Engineer working at Kubefirst. I work mostly with Go and Kubernetes in my day-to-day, and as such, you'll see a few tools below I've built over time to solve personal itches. You should also see some Rust code here and there. If any of the applications you see are valuable to you or have any feedback, please do not hesitate to create an issue in their respective repository, or message me on Twitter: @marlex. I'm always looking forward to feedback!

If you want to know more about me, you can visit my personal website (some of the most recent articles I've written are listed below!), follow me on Twitter/X or add me on LinkedIn.

My personal favourite projects are 📌 pinned below!

📚 Latest Blog Posts

(Some content might be written in Spanish)

... And several additional articles are available on my blog. Check it out!

✍️ Recent Public Contributions

Pull Requests I've opened or contributed to recently, only public repositories are visible.

Overall, my most recent contributions (besides my own repos) have gone to @konstructio, @kubernetes-sigs, @ansible and @jbrukh.

🛠️ My Open Source projects

My best recommendations of projects I maintain that might help you in your day-to-day. Happy to take feedback or feature requests!

  • patrickdappollonio/http-server: A small, but batteries-included static HTTP server. Includes a file explorer and support for Github-flavoured Markdown rendering. It's fully air-grapped, meaning it won't make any request to any third-party site (unless your code does so), so it plays well with highly-regulated environments. Useful for static pages like documentation.
  • patrickdappollonio/kubectl-slice: Have you ever wanted to split YAML manifests separated by "---" into individual files? This tool does that for you, and uses a template-style approach to generate filenames by tapping into typical Kubernetes YAML structure.
  • patrickdappollonio/gc-rust: I've always thought the developer experience of cloning a repo is a bit cumbersome: you have to find a path where you want to store the repo, then ensure you copied the right URL or Git reference, then run git clone. This tool simplifies that process by allowing you to clone a repo by just saying gc <user>/<repo>.
  • patrickdappollonio/tgen: My own attempt at a template tool that can be used in CI and automation environments. Provide a Go template either from a file or directly as an argument, load environment variables from the environment or from a file, then render the template! It includes a "strict" mode that prevents you from rendering a template if an environment variable that the template depends on is missing.
  • patrickdappollonio/wait-for: After seeing multiple bash attempts, I decided to write my own as well. This is a tiny application that can query a TCP endpoint (like a website or database) and hold until the endpoint is reachable or a timeout happens. Super useful to use in CI/CD pipelines or initContainers in Kubernetes.
  • patrickdappollonio/tabloid: I'm always doing kubectl get X and while I know some awk, I'm not an expert. This tool can parse table-like outputs found in kubectl and other CLI tools and use an expression engine to query and filter the output, while at the same time reformatting whitespaces and headers to make it more readable.
  • patrickdappollonio/nginx-vs-caddy-benchmark: Born off a Twitter argument where someone claimed Caddy was faster than Nginx, I decided to write a small environment to test that claim. This repo holds docker-compose files to spin up environments and steps to try them out. The idea is to get a comparison as close to apples-to-apples as possible between Caddy and Nginx.
  • patrickdappollonio/cloudflare-cache-purger: Looking at CI as well, whenever I deploy my own site I need to also purge the aggressive Cloudflare cache I have in front of it. This tool allows you to purge the cache by just providing a token and the zone ID. It's also offered as a container, so you can use it in your CI/CD pipelines.
  • patrickdappollonio/find-project: I like Go's $GOPATH and the brainless process it becomes maintaining folders with projects in your machine where github.com/foo/bar becomes ~/go/src/github.com/foo/bar. Switching between projects though becomes a pain. find-project is a small tool that allows you to provide a project name and it will find the project in your $GOPATH by choosing whatever is closest to the root first.
  • patrickdappollonio/kubernetes-guestbook: The Kubernetes community wrote a Guestbook in PHP that requires a Redis backend with quite a few requirements to run. I decided to write a version of it in Go that uses several backend options instead (as of now, basic Redis and SQL Server). Available both as a container and a Helm chart.

⭐ New third-party projects I'm keeping an eye on

Repositories I've starred recently because they were interesting, cool, or useful.

Last updated: September 04, 2024 at 16:04:34 EDT. The content here updates twice daily or when manually triggered.

Pinned Loading

  1. kubectl-slice kubectl-slice Public

    Split multiple Kubernetes files into smaller files with ease. Split multi-YAML files into individual files.

    Go 285 21

  2. http-server http-server Public

    A small application with no dependencies to expose a local folder as an HTTP server. It includes a file explorer and a Markdown renderer.

    JavaScript 74 13

  3. tabloid tabloid Public

    tabloid is a simple command line tool to parse and filter column-based CLI outputs from commands like kubectl or docker

    Go 45 1

  4. tgen tgen Public

    A template tool with no dependencies that works like Helm templates or Consul templates.

    Go 15 1

  5. wait-for wait-for Public

    "wait-for" is a small, zero dependencies app that can be used as an init container to ping TCP resources and check if they're available.

    Go 14 2

  6. gc-rust gc-rust Public

    Clone GitHub repositories like a champ!

    Rust 1