mirror of
https://github.com/jbowdre/runtimeterror.git
synced 2024-11-25 00:12:18 +00:00
Compare commits
6 commits
7fba1865a0
...
f3161654d3
Author | SHA1 | Date | |
---|---|---|---|
f3161654d3 | |||
6bbcfded0f | |||
df54406ef6 | |||
59353bf3ca | |||
6d5355541b | |||
36dd55a821 |
38 changed files with 75 additions and 56 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -4,5 +4,5 @@
|
||||||
/package.json
|
/package.json
|
||||||
/public/
|
/public/
|
||||||
/resources/
|
/resources/
|
||||||
/.env
|
/.env*
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ draft: true
|
||||||
description: "This is a new post about..."
|
description: "This is a new post about..."
|
||||||
featured: false
|
featured: false
|
||||||
toc: true
|
toc: true
|
||||||
comment: true
|
comments: true
|
||||||
series: Tips # Projects, Code
|
series: Tips # Projects, Code
|
||||||
tags:
|
tags:
|
||||||
- 3dprinting
|
- 3dprinting
|
||||||
|
|
|
@ -8,19 +8,29 @@ numberOfRelatedPosts = 5
|
||||||
|
|
||||||
indexTitle = ".-. ..- -. - .. -- . - . .-. .-. --- .-."
|
indexTitle = ".-. ..- -. - .. -- . - . .-. .-. --- .-."
|
||||||
|
|
||||||
[author]
|
|
||||||
name = "John Bowdre"
|
|
||||||
email = "jbowdre@omg.lol"
|
|
||||||
username = "jbowdre"
|
|
||||||
|
|
||||||
# Comments
|
# Comments
|
||||||
comments = true
|
comments = true
|
||||||
utterancesRepo = "jbowdre/site-comments"
|
giscusCategory = "Announcements"
|
||||||
utterancesIssueTerm = "og:title"
|
giscusCategoryId = "DIC_kwDOKKEGD84CcG89"
|
||||||
utterancesTheme = "gruvbox-dark"
|
giscusCrossOrigin = "anonymous"
|
||||||
|
giscusEmitMetadata = "0"
|
||||||
|
giscusInputPosition = "bottom"
|
||||||
|
giscusLang = "en"
|
||||||
|
giscusLoading = "lazy"
|
||||||
|
giscusMapping = "og:title"
|
||||||
|
giscusReactions = "1"
|
||||||
|
giscusRepo = "jbowdre/site-comments"
|
||||||
|
giscusRepoId = "R_kgDOKKEGDw"
|
||||||
|
giscusStrict = "0"
|
||||||
|
giscusTheme = "noborder_gray"
|
||||||
|
|
||||||
analytics = true
|
analytics = true
|
||||||
|
|
||||||
|
[author]
|
||||||
|
name = "John Bowdre"
|
||||||
|
email = "jbowdre@omg.lol"
|
||||||
|
username = "jbowdre"
|
||||||
|
|
||||||
[theme]
|
[theme]
|
||||||
palette = "runtimeterror"
|
palette = "runtimeterror"
|
||||||
|
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
comments = false
|
comments = true
|
||||||
analytics = false
|
analytics = false
|
|
@ -6,7 +6,7 @@ description: "Using the power of Home Assistant automations and Ntfy push notifi
|
||||||
featured: true
|
featured: true
|
||||||
alias: automating-security-camera-notifications-with-home-assistant-and-ntfy
|
alias: automating-security-camera-notifications-with-home-assistant-and-ntfy
|
||||||
toc: true
|
toc: true
|
||||||
comment: true
|
comments: true
|
||||||
thumbnail: thumbnail.png
|
thumbnail: thumbnail.png
|
||||||
series: Projects
|
series: Projects
|
||||||
tags:
|
tags:
|
||||||
|
|
|
@ -21,7 +21,7 @@ tags:
|
||||||
- python
|
- python
|
||||||
- api
|
- api
|
||||||
- phpipam
|
- phpipam
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
|
|
||||||
I [recently wrote](/tanzu-community-edition-k8s-homelab/#a-real-workload---phpipam) about getting started with VMware's [Tanzu Community Edition](https://tanzucommunityedition.io/) and deploying [phpIPAM](https://phpipam.net/) as my first real-world Kubernetes workload. Well I've spent much of my time since then working on a script which would help to populate my phpIPAM instance with a list of networks to monitor.
|
I [recently wrote](/tanzu-community-edition-k8s-homelab/#a-real-workload---phpipam) about getting started with VMware's [Tanzu Community Edition](https://tanzucommunityedition.io/) and deploying [phpIPAM](https://phpipam.net/) as my first real-world Kubernetes workload. Well I've spent much of my time since then working on a script which would help to populate my phpIPAM instance with a list of networks to monitor.
|
||||||
|
|
|
@ -19,7 +19,7 @@ tags:
|
||||||
- linux
|
- linux
|
||||||
- shell
|
- shell
|
||||||
- regex
|
- regex
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
It's super handy when a Linux config file is loaded with comments to tell you precisely how to configure the thing, but all those comments can really get in the way when you're trying to review the current configuration.
|
It's super handy when a Linux config file is loaded with comments to tell you precisely how to configure the thing, but all those comments can really get in the way when you're trying to review the current configuration.
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ tags:
|
||||||
- chromeos
|
- chromeos
|
||||||
- homelab
|
- homelab
|
||||||
- iac
|
- iac
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
I've lately been trying to do more with [Salt](https://saltproject.io/) at work, but I'm still very much a novice with that tool. I thought it would be great to have a nice little portable lab environment where I could deploy a few lightweight VMs and practice managing them with Salt - without impacting any systems that are actually being used for anything. Along the way, I figured I'd leverage [HashiCorp Vagrant](https://www.vagrantup.com/) to create and manage the VMs, which would provide a declarative way to define what the VMs should look like. The VM (or even groups of VMs) would be specified in a single file, and I'd bypass all the tedious steps of creating the virtual hardware, attaching the installation media, installing the OS, and performing the initial configuration. Vagrant will help me build up, destroy, and redeploy a development environment in a simple and repeatable way.
|
I've lately been trying to do more with [Salt](https://saltproject.io/) at work, but I'm still very much a novice with that tool. I thought it would be great to have a nice little portable lab environment where I could deploy a few lightweight VMs and practice managing them with Salt - without impacting any systems that are actually being used for anything. Along the way, I figured I'd leverage [HashiCorp Vagrant](https://www.vagrantup.com/) to create and manage the VMs, which would provide a declarative way to define what the VMs should look like. The VM (or even groups of VMs) would be specified in a single file, and I'd bypass all the tedious steps of creating the virtual hardware, attaching the installation media, installing the OS, and performing the initial configuration. Vagrant will help me build up, destroy, and redeploy a development environment in a simple and repeatable way.
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ date: 2023-11-24
|
||||||
description: "I moved my homelab from VMware vSphere to Proxmox VE, and my only regret is that I didn't make this change sooner."
|
description: "I moved my homelab from VMware vSphere to Proxmox VE, and my only regret is that I didn't make this change sooner."
|
||||||
featured: false
|
featured: false
|
||||||
toc: true
|
toc: true
|
||||||
comment: true
|
comments: true
|
||||||
series: Tips # Projects, Code
|
series: Tips # Projects, Code
|
||||||
tags:
|
tags:
|
||||||
- homelab
|
- homelab
|
||||||
|
|
|
@ -5,7 +5,7 @@ lastmod: 2023-12-22
|
||||||
description: "Deploying and configuring a self-hosted pub-sub notification handler, getting another server to send a notifcation when it boots, and integrating the notification handler into Home Assistant."
|
description: "Deploying and configuring a self-hosted pub-sub notification handler, getting another server to send a notifcation when it boots, and integrating the notification handler into Home Assistant."
|
||||||
featured: false
|
featured: false
|
||||||
toc: true
|
toc: true
|
||||||
comment: true
|
comments: true
|
||||||
series: Projects
|
series: Projects
|
||||||
tags:
|
tags:
|
||||||
- android
|
- android
|
||||||
|
|
|
@ -21,7 +21,7 @@ tags:
|
||||||
- tanzu
|
- tanzu
|
||||||
- kubernetes
|
- kubernetes
|
||||||
- shell
|
- shell
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
|
|
||||||
Lately I've been spending some time [getting more familiar](/tanzu-community-edition-k8s-homelab/) with VMware's [Tanzu Community Edition](https://tanzucommunityedition.io/) Kubernetes distribution, but I'm still not quite familiar enough with the `tanzu` command line. If only there were a better way for me to discover the available commands for a given context and help me type them correctly...
|
Lately I've been spending some time [getting more familiar](/tanzu-community-edition-k8s-homelab/) with VMware's [Tanzu Community Edition](https://tanzucommunityedition.io/) Kubernetes distribution, but I'm still not quite familiar enough with the `tanzu` command line. If only there were a better way for me to discover the available commands for a given context and help me type them correctly...
|
||||||
|
|
|
@ -23,7 +23,7 @@ tags:
|
||||||
- tailscale
|
- tailscale
|
||||||
- photon
|
- photon
|
||||||
- vpn
|
- vpn
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
{{% notice note "ESXi-ARM Fling v1.10 Update" %}}
|
{{% notice note "ESXi-ARM Fling v1.10 Update" %}}
|
||||||
On July 20, 2022, VMware released a [major update](https://blogs.vmware.com/arm/2022/07/20/1-10/) for the ESXi-ARM Fling. Among [other fixes and improvements](https://flings.vmware.com/esxi-arm-edition#changelog), this version enables **in-place ESXi upgrades** and [adds support for the Quartz64's **on-board NIC**](https://twitter.com/jmcwhatever/status/1549935971822706688). To update, I:
|
On July 20, 2022, VMware released a [major update](https://blogs.vmware.com/arm/2022/07/20/1-10/) for the ESXi-ARM Fling. Among [other fixes and improvements](https://flings.vmware.com/esxi-arm-edition#changelog), this version enables **in-place ESXi upgrades** and [adds support for the Quartz64's **on-board NIC**](https://twitter.com/jmcwhatever/status/1549935971822706688). To update, I:
|
||||||
|
|
|
@ -23,7 +23,7 @@ tags:
|
||||||
- automation
|
- automation
|
||||||
- rest
|
- rest
|
||||||
- api
|
- api
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
I've been doing a bit of work lately to make my vRealize Automation setup more flexible and dynamic and less dependent upon hardcoded values. To that end, I thought it was probably about time to learn how to interact with the vRA REST API. I wrote this post to share what I've learned and give a quick crash course on how to start doing things with the API.
|
I've been doing a bit of work lately to make my vRealize Automation setup more flexible and dynamic and less dependent upon hardcoded values. To that end, I thought it was probably about time to learn how to interact with the vRA REST API. I wrote this post to share what I've learned and give a quick crash course on how to start doing things with the API.
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ tags:
|
||||||
- cloud
|
- cloud
|
||||||
- tailscale
|
- tailscale
|
||||||
- selfhosting
|
- selfhosting
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
I recently started using [Obsidian](https://obsidian.md/) for keeping notes, tracking projects, and just generally organizing all the information that would otherwise pass into my brain and then fall out the other side. Unlike other similar solutions which operate entirely in *The Cloud*, Obsidian works with Markdown files stored in a local folder[^sync], which I find to be very attractive. Not only will this allow me to easily transfer my notes between apps if I find something I like better than Obsidian, but it also opens the door to using `git` to easily back up all this important information.
|
I recently started using [Obsidian](https://obsidian.md/) for keeping notes, tracking projects, and just generally organizing all the information that would otherwise pass into my brain and then fall out the other side. Unlike other similar solutions which operate entirely in *The Cloud*, Obsidian works with Markdown files stored in a local folder[^sync], which I find to be very attractive. Not only will this allow me to easily transfer my notes between apps if I find something I like better than Obsidian, but it also opens the door to using `git` to easily back up all this important information.
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ codeLineNumbers: false # Override global value for showing of line numbers withi
|
||||||
tags:
|
tags:
|
||||||
- meta
|
- meta
|
||||||
- hugo
|
- hugo
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
**Oops, I did it again.**
|
**Oops, I did it again.**
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ tags:
|
||||||
- containers
|
- containers
|
||||||
- iac
|
- iac
|
||||||
- packer
|
- packer
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
I've been leveraging the open-source Tanzu Community Edition Kubernetes distribution for a little while now, both [in my home lab](/tanzu-community-edition-k8s-homelab) and at work, so I was disappointed to learn that VMware was [abandoning the project](https://github.com/vmware-tanzu/community-edition). TCE had been a pretty good fit for my needs, and now I needed to search for a replacement. VMware is offering a free version of Tanzu Kubernetes Grid as a replacement, but it comes with a license solely for non-commercial use so I wouldn't be able to use it at work. And I'd really like to use the same solution in both environments to make development and testing easier on me.
|
I've been leveraging the open-source Tanzu Community Edition Kubernetes distribution for a little while now, both [in my home lab](/tanzu-community-edition-k8s-homelab) and at work, so I was disappointed to learn that VMware was [abandoning the project](https://github.com/vmware-tanzu/community-edition). TCE had been a pretty good fit for my needs, and now I needed to search for a replacement. VMware is offering a free version of Tanzu Kubernetes Grid as a replacement, but it comes with a license solely for non-commercial use so I wouldn't be able to use it at work. And I'd really like to use the same solution in both environments to make development and testing easier on me.
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ tags:
|
||||||
- certs
|
- certs
|
||||||
- cluster
|
- cluster
|
||||||
- containers
|
- containers
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
Not long ago, I [deployed a Tanzu Community Edition Kubernetes cluster in my homelab](/tanzu-community-edition-k8s-homelab/), and then I fumbled through figuring out how to [log into it from a different device](/logging-in-tce-cluster-from-new-device/) than the one I'd used for deploying the cluster from the `tanzu` cli. That setup works great for playing with Kubernetes in my homelab but I'd love to do some Kubernetes with my team at work and I really need the ability to authenticate multiple users with domain credentials for that.
|
Not long ago, I [deployed a Tanzu Community Edition Kubernetes cluster in my homelab](/tanzu-community-edition-k8s-homelab/), and then I fumbled through figuring out how to [log into it from a different device](/logging-in-tce-cluster-from-new-device/) than the one I'd used for deploying the cluster from the `tanzu` cli. That setup works great for playing with Kubernetes in my homelab but I'd love to do some Kubernetes with my team at work and I really need the ability to authenticate multiple users with domain credentials for that.
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ tags:
|
||||||
- vmware
|
- vmware
|
||||||
- kubernetes
|
- kubernetes
|
||||||
- tanzu
|
- tanzu
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
When I [set up my Tanzu Community Edition environment](/tanzu-community-edition-k8s-homelab/), I did so from a Linux VM since the containerized Linux environment on my Chromebook doesn't support the `kind` bootstrap cluster used for the deployment. But now that the Kubernetes cluster is up and running, I'd like to be able to connect to it directly without the aid of a jumpbox. How do I get the appropriate cluster configuration over to my Chromebook?
|
When I [set up my Tanzu Community Edition environment](/tanzu-community-edition-k8s-homelab/), I did so from a Linux VM since the containerized Linux environment on my Chromebook doesn't support the `kind` bootstrap cluster used for the deployment. But now that the Kubernetes cluster is up and running, I'd like to be able to connect to it directly without the aid of a jumpbox. How do I get the appropriate cluster configuration over to my Chromebook?
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ tags:
|
||||||
- tanzu
|
- tanzu
|
||||||
- containers
|
- containers
|
||||||
- security
|
- security
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
Now that VMware [has released](https://blogs.vmware.com/vsphere/2022/01/announcing-availability-of-vsphere-7-update-3c.html) [vCenter 7.0U3c](https://docs.vmware.com/en/VMware-vSphere/7.0/rn/vsphere-vcenter-server-70u3c-release-notes.html) to resolve the Log4Shell vulnerabilities I thought it might be fun to run a security scan against the upgraded VCSA in my homelab to see how it looks. Of course, I don't actually have a security scanner in that environment so I'll need to deploy one.
|
Now that VMware [has released](https://blogs.vmware.com/vsphere/2022/01/announcing-availability-of-vsphere-7-update-3c.html) [vCenter 7.0U3c](https://docs.vmware.com/en/VMware-vSphere/7.0/rn/vsphere-vcenter-server-70u3c-release-notes.html) to resolve the Log4Shell vulnerabilities I thought it might be fun to run a security scan against the upgraded VCSA in my homelab to see how it looks. Of course, I don't actually have a security scanner in that environment so I'll need to deploy one.
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ tags:
|
||||||
- vmware
|
- vmware
|
||||||
- powercli
|
- powercli
|
||||||
- powershell
|
- powershell
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
|
|
||||||
I recently needed to export a list of all the Linux VMs in a rather large vSphere environment spanning multiple vCenters (and the entire globe), and I wanted to include information about which virtual datacenter each VM lived in to make it easier to map VMs to their physical location.
|
I recently needed to export a list of all the Linux VMs in a rather large vSphere environment spanning multiple vCenters (and the entire globe), and I wanted to include information about which virtual datacenter each VM lived in to make it easier to map VMs to their physical location.
|
||||||
|
|
|
@ -18,7 +18,7 @@ series: Code
|
||||||
tags:
|
tags:
|
||||||
- powershell
|
- powershell
|
||||||
- windows
|
- windows
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
We've been working lately to use [HashiCorp Packer](https://www.packer.io/) to standardize and automate our VM template builds, and we found a need to pull in all of the contents of a specific directory on an internal web server. This would be pretty simple for Linux systems using `wget -r`, but we needed to find another solution for our Windows builds.
|
We've been working lately to use [HashiCorp Packer](https://www.packer.io/) to standardize and automate our VM template builds, and we found a need to pull in all of the contents of a specific directory on an internal web server. This would be pretty simple for Linux systems using `wget -r`, but we needed to find another solution for our Windows builds.
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ tags:
|
||||||
- powershell
|
- powershell
|
||||||
- windows
|
- windows
|
||||||
- powercli
|
- powercli
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
{{% notice note "Fix available" %}}
|
{{% notice note "Fix available" %}}
|
||||||
VMware has released a fix for this problem in the form of [ESXi 7.0 Update 3k](https://docs.vmware.com/en/VMware-vSphere/7.0/rn/vsphere-esxi-70u3k-release-notes.html#resolvedissues):
|
VMware has released a fix for this problem in the form of [ESXi 7.0 Update 3k](https://docs.vmware.com/en/VMware-vSphere/7.0/rn/vsphere-esxi-70u3k-release-notes.html#resolvedissues):
|
||||||
|
|
|
@ -19,7 +19,7 @@ tags:
|
||||||
- vmware
|
- vmware
|
||||||
- vsphere
|
- vsphere
|
||||||
- homelab
|
- homelab
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
|
|
||||||
Way back in 2020, VMware released vSphere 7 Update 1 and introduced the new [vSphere Clustering Services (vCLS)](https://core.vmware.com/resource/introduction-vsphere-clustering-service-vcls) to improve how cluster services like the Distributed Resource Scheduler (DRS) operate. vCLS deploys lightweight agent VMs directly on the cluster being managed, and those VMs provide a decoupled and distributed control plane to offload some of the management responsibilities from the vCenter server.
|
Way back in 2020, VMware released vSphere 7 Update 1 and introduced the new [vSphere Clustering Services (vCLS)](https://core.vmware.com/resource/introduction-vsphere-clustering-service-vcls) to improve how cluster services like the Distributed Resource Scheduler (DRS) operate. vCLS deploys lightweight agent VMs directly on the cluster being managed, and those VMs provide a decoupled and distributed control plane to offload some of the management responsibilities from the vCenter server.
|
||||||
|
|
|
@ -5,7 +5,7 @@ lastmod: 2023-12-22
|
||||||
description: "A hasty Salt state to deploy netdata monitoring and publish it internally on my tailnet with Tailscale Serve"
|
description: "A hasty Salt state to deploy netdata monitoring and publish it internally on my tailnet with Tailscale Serve"
|
||||||
featured: false
|
featured: false
|
||||||
toc: true
|
toc: true
|
||||||
comment: true
|
comments: true
|
||||||
series: Code
|
series: Code
|
||||||
tags:
|
tags:
|
||||||
- homelab
|
- homelab
|
||||||
|
|
|
@ -20,7 +20,7 @@ tags:
|
||||||
- hugo
|
- hugo
|
||||||
- meta
|
- meta
|
||||||
- shell
|
- shell
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
In case you missed [the news](/hello-hugo), I recently migrated this blog from a site built with Jekyll to one built with Hugo. One of Hugo's cool features is the concept of [Page Bundles](https://gohugo.io/content-management/page-bundles/), which _bundle_ a page's resources together in one place instead of scattering them all over the place.
|
In case you missed [the news](/hello-hugo), I recently migrated this blog from a site built with Jekyll to one built with Hugo. One of Hugo's cool features is the concept of [Page Bundles](https://gohugo.io/content-management/page-bundles/), which _bundle_ a page's resources together in one place instead of scattering them all over the place.
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ tags:
|
||||||
- networking
|
- networking
|
||||||
- security
|
- security
|
||||||
- tailscale
|
- tailscale
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
Not all that long ago, I shared about a [somewhat-complicated WireGuard VPN setup](/cloud-based-wireguard-vpn-remote-homelab-access/) that I had started using to replace my previous OpenVPN solution. I raved about WireGuard's speed, security, and flexible (if complex) Cryptokey Routing, but adding and managing peers with WireGuard is a fairly manual (and tedious) process. And while I thought I was pretty clever for using a WireGuard peer in GCP to maintain a secure tunnel into my home network without having to punch holes through my firewall, routing all my traffic through The Cloud wasn't really optimal[^egress_fees].
|
Not all that long ago, I shared about a [somewhat-complicated WireGuard VPN setup](/cloud-based-wireguard-vpn-remote-homelab-access/) that I had started using to replace my previous OpenVPN solution. I raved about WireGuard's speed, security, and flexible (if complex) Cryptokey Routing, but adding and managing peers with WireGuard is a fairly manual (and tedious) process. And while I thought I was pretty clever for using a WireGuard peer in GCP to maintain a secure tunnel into my home network without having to punch holes through my firewall, routing all my traffic through The Cloud wasn't really optimal[^egress_fees].
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ tags:
|
||||||
- chat
|
- chat
|
||||||
- selfhosting
|
- selfhosting
|
||||||
- caddy
|
- caddy
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
**Non-technical users deserve private communications, too.**
|
**Non-technical users deserve private communications, too.**
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ lastmod: 2023-11-13
|
||||||
description: "Syntax highlighting powered by the Torchlight.dev API makes it easier to dress up code blocks. Here's an overview of what I did to replace this blog's built-in Hugo highlighter (Chroma) with Torchlight."
|
description: "Syntax highlighting powered by the Torchlight.dev API makes it easier to dress up code blocks. Here's an overview of what I did to replace this blog's built-in Hugo highlighter (Chroma) with Torchlight."
|
||||||
featured: false
|
featured: false
|
||||||
toc: true
|
toc: true
|
||||||
comment: true
|
comments: true
|
||||||
series: Projects # Projects, Code
|
series: Projects # Projects, Code
|
||||||
tags:
|
tags:
|
||||||
- javascript
|
- javascript
|
||||||
|
|
|
@ -5,7 +5,7 @@ date: 2023-10-15
|
||||||
description: "Quick notes on using `systemctl edit` to override a systemd service to delay its startup."
|
description: "Quick notes on using `systemctl edit` to override a systemd service to delay its startup."
|
||||||
featured: false
|
featured: false
|
||||||
toc: false
|
toc: false
|
||||||
comment: true
|
comments: true
|
||||||
series: Tips # Projects, Code
|
series: Tips # Projects, Code
|
||||||
tags:
|
tags:
|
||||||
- crostini
|
- crostini
|
||||||
|
|
|
@ -22,7 +22,7 @@ tags:
|
||||||
- wireguard
|
- wireguard
|
||||||
- containers
|
- containers
|
||||||
- selfhosting
|
- selfhosting
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
I've shared in the past about how I use [custom search engines in Chrome](/abusing-chromes-custom-search-engines-for-fun-and-profit/) as quick web shortcuts. And I may have mentioned [my love for Tailscale](/tags/tailscale/) a time or two as well. Well I recently learned of a way to combine these two passions: [Tailscale golink](https://github.com/tailscale/golink). The [golink announcement post on the Tailscale blog](https://tailscale.com/blog/golink/) offers a great overview of the service:
|
I've shared in the past about how I use [custom search engines in Chrome](/abusing-chromes-custom-search-engines-for-fun-and-profit/) as quick web shortcuts. And I may have mentioned [my love for Tailscale](/tags/tailscale/) a time or two as well. Well I recently learned of a way to combine these two passions: [Tailscale golink](https://github.com/tailscale/golink). The [golink announcement post on the Tailscale blog](https://tailscale.com/blog/golink/) offers a great overview of the service:
|
||||||
> Using golink, you can create and share simple go/name links for commonly accessed websites, so that anyone in your network can access them no matter the device they’re on — without requiring browser extensions or fiddling with DNS settings. And because golink integrates with Tailscale, links are private to users in your tailnet without any separate user management, logins, or security policies.
|
> Using golink, you can create and share simple go/name links for commonly accessed websites, so that anyone in your network can access them no matter the device they’re on — without requiring browser extensions or fiddling with DNS settings. And because golink integrates with Tailscale, links are private to users in your tailnet without any separate user management, logins, or security policies.
|
||||||
|
|
|
@ -22,7 +22,7 @@ tags:
|
||||||
- networking
|
- networking
|
||||||
- security
|
- security
|
||||||
- tailscale
|
- tailscale
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
You might remember that I'm a [pretty big fan](/secure-networking-made-simple-with-tailscale/) of [Tailscale](https://tailscale.com), which makes it easy to connect your various devices together in a secure [tailnet](https://tailscale.com/kb/1136/tailnet/), or private network. Tailscale is super simple to set up on most platforms, but you'll need to [install it manually](https://tailscale.com/download/linux/static) if there isn't a prebuilt package for your system.
|
You might remember that I'm a [pretty big fan](/secure-networking-made-simple-with-tailscale/) of [Tailscale](https://tailscale.com), which makes it easy to connect your various devices together in a secure [tailnet](https://tailscale.com/kb/1136/tailnet/), or private network. Tailscale is super simple to set up on most platforms, but you'll need to [install it manually](https://tailscale.com/download/linux/static) if there isn't a prebuilt package for your system.
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ date: 2023-12-30
|
||||||
description: "Using Docker Compose to deploy containerized applications and make them available via Tailscale Serve and Tailscale Funnel"
|
description: "Using Docker Compose to deploy containerized applications and make them available via Tailscale Serve and Tailscale Funnel"
|
||||||
featured: false
|
featured: false
|
||||||
toc: true
|
toc: true
|
||||||
comment: true
|
comments: true
|
||||||
series: Projects
|
series: Projects
|
||||||
tags:
|
tags:
|
||||||
- containers
|
- containers
|
||||||
|
|
|
@ -5,7 +5,7 @@ date: 2023-12-20
|
||||||
description: "Exploring some of my favorite Tailscale addon features: SSH, Serve, and Funnel."
|
description: "Exploring some of my favorite Tailscale addon features: SSH, Serve, and Funnel."
|
||||||
featured: false
|
featured: false
|
||||||
toc: true
|
toc: true
|
||||||
comment: true
|
comments: true
|
||||||
series: Tips # Projects, Code
|
series: Tips # Projects, Code
|
||||||
tags:
|
tags:
|
||||||
- homelab
|
- homelab
|
||||||
|
|
|
@ -23,7 +23,7 @@ tags:
|
||||||
- containers
|
- containers
|
||||||
- tanzu
|
- tanzu
|
||||||
- homelab
|
- homelab
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
|
|
||||||
Back in October, VMware [announced](https://tanzu.vmware.com/content/blog/vmware-tanzu-community-edition-announcement) [Tanzu Community Edition](https://tanzucommunityedition.io/) as way to provide "a full-featured, easy-to-manage Kubernetes platform that’s perfect for users and learners alike." TCE bundles a bunch of open-source components together in a modular, "batteries included but swappable" way:
|
Back in October, VMware [announced](https://tanzu.vmware.com/content/blog/vmware-tanzu-community-edition-announcement) [Tanzu Community Edition](https://tanzucommunityedition.io/) as way to provide "a full-featured, easy-to-manage Kubernetes platform that’s perfect for users and learners alike." TCE bundles a bunch of open-source components together in a modular, "batteries included but swappable" way:
|
||||||
|
|
|
@ -19,7 +19,7 @@ tags:
|
||||||
- vmware
|
- vmware
|
||||||
- homelab
|
- homelab
|
||||||
- vsphere
|
- vsphere
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
You may have heard that there's a new vSphere release out in the wild - [vSphere 8, which just reached Initial Availability this week](https://advocacy.vmware.com/Article/Redirect/9cfbc1b1-207f-4885-a520-cc0bfafcd6c0?uc=197618&g=2d17264e-593a-492d-8d91-3a2155e835f1&f=3104867). Upgrading the vCenter in my single-host homelab is a very straightforward task, and using the included Lifecycle Manager would make quick work of patching a cluster of hosts... but things get a little trickier with a single host. I could write the installer ISO to a USB drive, boot the host off of that, and go through the install interactively, but what if physical access to the host is kind of inconvenient?
|
You may have heard that there's a new vSphere release out in the wild - [vSphere 8, which just reached Initial Availability this week](https://advocacy.vmware.com/Article/Redirect/9cfbc1b1-207f-4885-a520-cc0bfafcd6c0?uc=197618&g=2d17264e-593a-492d-8d91-3a2155e835f1&f=3104867). Upgrading the vCenter in my single-host homelab is a very straightforward task, and using the included Lifecycle Manager would make quick work of patching a cluster of hosts... but things get a little trickier with a single host. I could write the installer ISO to a USB drive, boot the host off of that, and go through the install interactively, but what if physical access to the host is kind of inconvenient?
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ tags:
|
||||||
- vmware
|
- vmware
|
||||||
- vsphere
|
- vsphere
|
||||||
- python
|
- python
|
||||||
comment: true # Disable comment if false.
|
comments: true # Disable comment if false.
|
||||||
---
|
---
|
||||||
VMware vCenter does wonders for abstracting away the layers of complexity involved in managing a large virtual infrastructure, but when something goes wrong it can be challenging to find exactly where the problem lies. And it can be even harder to proactively address potential issues before they occur.
|
VMware vCenter does wonders for abstracting away the layers of complexity involved in managing a large virtual infrastructure, but when something goes wrong it can be challenging to find exactly where the problem lies. And it can be even harder to proactively address potential issues before they occur.
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ timeless: true
|
||||||
draft: false
|
draft: false
|
||||||
description: "This blog has migrated from virtuallypotato.com to runtimeterror.dev."
|
description: "This blog has migrated from virtuallypotato.com to runtimeterror.dev."
|
||||||
toc: false
|
toc: false
|
||||||
comment: true
|
comments: true
|
||||||
tags:
|
tags:
|
||||||
- meta
|
- meta
|
||||||
---
|
---
|
||||||
|
|
|
@ -1,11 +1,20 @@
|
||||||
{{ if .Site.Params.utterancesRepo }}
|
{{ if isset site.Params "giscusrepo" }}
|
||||||
<br>
|
<br>
|
||||||
<div class="post_comments">
|
<div class="post_comments">
|
||||||
<script src="https://utteranc.es/client.js"
|
<script src="https://giscus.runtimeterror.dev/client.js"
|
||||||
repo="{{.Site.Params.utterancesRepo}}"
|
data-repo="{{ .Site.Params.giscusRepo }}"
|
||||||
issue-term="{{.Site.Params.utterancesIssueTerm | default "pathname"}}"
|
data-repo-id="{{ .Site.Params.giscusRepoId }}"
|
||||||
theme="{{.Site.Params.utterancesTheme | default "github-dark-orange"}}"
|
data-category="{{ .Site.Params.giscusCategory }}"
|
||||||
crossorigin="anonymous"
|
data-category-id="{{ .Site.Params.giscusCategoryId }}"
|
||||||
|
data-mapping="{{ .Site.Params.giscusMapping }}"
|
||||||
|
data-strict="{{ .Site.Params.giscusStrict }}"
|
||||||
|
data-reactions-enabled="{{ .Site.Params.giscusReactions }}"
|
||||||
|
data-emit-metadata="{{ .Site.Params.giscusEmitMetadata }}"
|
||||||
|
data-input-position="{{ .Site.Params.giscusInputPosition }}"
|
||||||
|
data-theme="{{ .Site.Params.giscusTheme }}"
|
||||||
|
data-lang="{{ .Site.Params.giscusLang }}"
|
||||||
|
data-loading="{{ .Site.Params.giscusLoading }}"
|
||||||
|
crossorigin="{{ .Site.Params.giscusCrossOrigin }}"
|
||||||
async>
|
async>
|
||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue