41554 blogs · [ { "id": "01a08791-0ef6-7323-9959-8cc69682144d", "title": "One API to Rule Them All: Building an OpenAI Gateway", "url": "https://www.joshkasuboski.com/posts/openai-gateway/", "published_at": "2025-05-01T23:23:59+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6976f0d3f", "title": "I Just Wanted Pretty Spans: A Rust OpenTelemetry Story", "url": "https://www.joshkasuboski.com/posts/rust-opentelemetry-tracing/", "published_at": "2025-03-21T19:22:05+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc697ac8994", "title": "Building a Python Docker Image with Distroless and Uv", "url": "https://www.joshkasuboski.com/posts/distroless-python-uv/", "published_at": "2025-03-08T19:03:13+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc697b36f9c", "title": "Talos Cluster", "url": "https://www.joshkasuboski.com/posts/talos-cluster/", "published_at": "2024-10-30T19:46:23+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6983dbe32", "title": "NixOS NAS", "url": "https://www.joshkasuboski.com/posts/nixos-nas/", "published_at": "2023-09-19T17:46:18+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc698d70293", "title": "NixOS Dev Environment on Mac", "url": "https://www.joshkasuboski.com/posts/nix-dev-environment/", "published_at": "2023-01-25T03:17:07+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc699b444df", "title": "Exporting Google Saved Places Update", "url": "https://www.joshkasuboski.com/posts/google-saved-places-update/", "published_at": "2022-12-03T02:28:17+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc69aa941e1", "title": "Using asdf for Installing my Local Dev Environment", "url": "https://www.joshkasuboski.com/posts/local-tools-asdf/", "published_at": "2022-07-29T17:07:36+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc69ad8cac6", "title": "Running a Buildkit ARM Builder", "url": "https://www.joshkasuboski.com/posts/buildkit-builder/", "published_at": "2022-05-08T20:34:19+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc69b8e6106", "title": "Connect to Kubernetes Pods with Tailscale", "url": "https://www.joshkasuboski.com/posts/tailscale-connect-kubernetes-pods/", "published_at": "2022-04-03T18:52:19+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc69c8a4746", "title": "Multi-Region K3s", "url": "https://www.joshkasuboski.com/posts/multi-region-k3s/", "published_at": "2021-11-11T21:56:57+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc69ca3a1cc", "title": "Interact with Blockchain Apps in Javascript", "url": "https://www.joshkasuboski.com/posts/interact-blockchain-javascript/", "published_at": "2021-08-31T02:11:59+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc69d9d7670", "title": "Moving My Cluster to the Cloud", "url": "https://www.joshkasuboski.com/posts/moving-cluster-to-the-cloud/", "published_at": "2021-08-06T03:06:31+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc69e05e53c", "title": "Migrating to Free Heroku Postgres (or not)", "url": "https://www.joshkasuboski.com/posts/migrating-to-free-heroku-postgres/", "published_at": "2021-06-29T20:17:39+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc69ee3b5f1", "title": "M1 Macbook Air Setup", "url": "https://www.joshkasuboski.com/posts/m1-macbook-setup/", "published_at": "2021-06-28T20:10:16+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc69fab150c", "title": "Rackmounting the Raspberry PIs", "url": "https://www.joshkasuboski.com/posts/rackmount-pi/", "published_at": "2021-01-13T20:04:08+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a0945877", "title": "Re-provisioning the Cluster", "url": "https://www.joshkasuboski.com/posts/cluster-reprovisioning/", "published_at": "2020-12-15T18:29:47+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a16b72ca", "title": "Removing OpenEBS", "url": "https://www.joshkasuboski.com/posts/removing-openebs/", "published_at": "2020-12-01T22:37:25+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a1d088c3", "title": "Add Multi-Arch Dependencies Easily", "url": "https://www.joshkasuboski.com/posts/easy-multi-arch-deps/", "published_at": "2020-11-19T17:02:45+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a275a895", "title": "Leaving Feedly for Miniflux", "url": "https://www.joshkasuboski.com/posts/switching-to-miniflux/", "published_at": "2020-11-13T19:57:42+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a34ead7a", "title": "Copy files to and from Kubernetes Pods with kubectl", "url": "https://www.joshkasuboski.com/posts/kubectl-cp/", "published_at": "2020-11-06T02:46:06+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a3e45b3f", "title": "Client Side Shopping Cart", "url": "https://www.joshkasuboski.com/posts/client-side-cart-1/", "published_at": "2020-10-29T19:15:57+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a485e74c", "title": "Scan Images in my GitOps Repo", "url": "https://www.joshkasuboski.com/posts/trivy-gitops-repo-scan/", "published_at": "2020-10-22T19:41:31+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a5128840", "title": "Accept Beer Money with Stripe - Sans Server", "url": "https://www.joshkasuboski.com/posts/stripe-beer-money/", "published_at": "2020-10-15T15:51:52+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a5bef023", "title": "Test HTML in GitHub Actions", "url": "https://www.joshkasuboski.com/posts/htmltest-githubactions/", "published_at": "2020-10-07T21:08:40+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a69e7081", "title": "Scan Container Images Found in Files", "url": "https://www.joshkasuboski.com/posts/scan-images-in-files/", "published_at": "2020-10-01T16:29:05+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a752e161", "title": "Container Image Scanning with Trivy", "url": "https://www.joshkasuboski.com/posts/image-scanning-trivy/", "published_at": "2020-09-25T17:01:50+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a780906c", "title": "Serve a JSON API with GitHub", "url": "https://www.joshkasuboski.com/posts/stats-from-github-file/", "published_at": "2020-09-17T18:18:28+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a78ea933", "title": "Getting Push Notifications for Everything with Pushover", "url": "https://www.joshkasuboski.com/posts/pushover-notifications/", "published_at": "2020-09-10T18:52:17+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a7bf6e2b", "title": "Connect Your Home to the Cloud with Tailscale", "url": "https://www.joshkasuboski.com/posts/connect-home-cloud-tailscale/", "published_at": "2020-08-24T16:05:17+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a8592180", "title": "Generate Your Resume with GitHub Actions", "url": "https://www.joshkasuboski.com/posts/generate-resume-gh-actions/", "published_at": "2020-08-18T15:39:19+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a8d4711a", "title": "I Mounted My PC - Server Rack Update", "url": "https://www.joshkasuboski.com/posts/server-rack-2/", "published_at": "2020-08-16T18:33:52+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a948d3ae", "title": "Managing the Cluster with ArgoCD", "url": "https://www.joshkasuboski.com/posts/argocd-managed/", "published_at": "2020-07-26T19:24:26+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6a991c717", "title": "GitOpsing the cluster", "url": "https://www.joshkasuboski.com/posts/gitops-cluster-1/", "published_at": "2020-07-12T23:40:37+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6aa23e0d0", "title": "Automated Upgrades for k3s", "url": "https://www.joshkasuboski.com/posts/k8s-auto-upgrades/", "published_at": "2020-07-08T23:50:17+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6aab52d5c", "title": "Server Rack Beginnings", "url": "https://www.joshkasuboski.com/posts/server-rack-1/", "published_at": "2020-07-05T18:58:33+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6aabb8e9d", "title": "Persistent Storage with OpenEBS", "url": "https://www.joshkasuboski.com/posts/openebs-homelab/", "published_at": "2020-06-23T23:18:22+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6ab61265e", "title": "Kubectl List All Resources With Label", "url": "https://www.joshkasuboski.com/posts/list-all-resource-with-label/", "published_at": "2020-05-25T03:19:00+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6ab81b4f3", "title": "Building Multiarch Images", "url": "https://www.joshkasuboski.com/posts/build-multiarch-image/", "published_at": "2020-05-17T22:28:55+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6abf69ceb", "title": "Homelab Raspberry Pi Kubernetes Cluster Current State", "url": "https://www.joshkasuboski.com/posts/home-k8s-raspberry-update/", "published_at": "2020-05-10T17:20:48+00:00" }, { "id": "01a08791-0ef6-7323-9959-8cc6ac75f195", "title": "Homelab Raspberry Pi Kubernetes Cluster", "url": "https://www.joshkasuboski.com/posts/home-k8s-raspberry-pi/", "published_at": "2020-05-02T21:17:39+00:00" }, { "id": "01a08791-0ef7-70e8-97b8-0501660ecbe3", "title": "Deploying this site with GitHub Actions", "url": "https://www.joshkasuboski.com/posts/deploy-site-github-actions/", "published_at": "2020-04-05T21:18:12+00:00" }, { "id": "01a08791-0ef7-70e8-97b8-0501670593f4", "title": "Weather Data after Dark Sky Shutdown", "url": "https://www.joshkasuboski.com/posts/dark-sky-shutdown/", "published_at": "2020-04-05T20:03:48+00:00" }, { "id": "01a08791-0ef7-70e8-97b8-0501679df8a8", "title": "Exporting Google Saved Places", "url": "https://www.joshkasuboski.com/posts/export-google-saved-places/", "published_at": "2020-01-25T18:40:00+00:00" }, { "id": "01a08791-0ef7-70e8-97b8-0501689658ed", "title": "Replacing Feedly with Microsub?", "url": "https://www.joshkasuboski.com/posts/replacing-feedly/", "published_at": "2020-01-16T00:48:10+00:00" }, { "id": "01a08791-0ef7-70e8-97b8-050168bb4004", "title": "Now", "url": "https://www.joshkasuboski.com/now/", "published_at": "2019-12-23T00:00:00+00:00" }, { "id": "01a08791-0ef7-70e8-97b8-0501698ffe03", "title": "Cheap Managed Kubernetes with Terraform", "url": "https://www.joshkasuboski.com/posts/cheap-managed-kube/", "published_at": "2019-04-18T20:15:59+00:00" }, { "id": "01a08791-0ef7-70e8-97b8-050169a3d878", "title": "About", "url": "https://www.joshkasuboski.com/about/", "published_at": "2019-04-09T00:00:00+00:00" }, { "id": "01a08791-0ef7-70e8-97b8-05016a5846e3", "title": "Buy Me a Beer", "url": "https://www.joshkasuboski.com/payments/", "published_at": null }, { "id": "01a08791-0ef7-70e8-97b8-05016b13814a", "title": "Success", "url": "https://www.joshkasuboski.com/success/", "published_at": null }, { "id": "01a08791-0ef7-70e8-97b8-05016c04a0f7", "title": "Uh Oh", "url": "https://www.joshkasuboski.com/canceled/", "published_at": null } ] posts Claim your blog
Back to joshkasuboski.com
Blog · corpus.blog/blogs/joshkasuboski.com/posts

joshkasuboski.com

joshkasuboski.com

2025

2024

2023

2022

2021

2020

2019

23 Dec 2019

Undated