Skip to content

Instantly share code, notes, and snippets.

View nctiggy's full-sized avatar
💫

Craig J Smith nctiggy

💫
  • E.verything M.ust C.hange
  • Lake Tapps, WA
View GitHub Profile
<#
.SYNOPSIS
Automated RVTools export for VMware environment assessment.
.DESCRIPTION
Two-step workflow:
1. Run against each vCenter/ESXi host to collect exports (run as many times as needed)
2. Run with -Zip to package everything up for emailing
Downloads and installs RVTools automatically if not already installed.
@nctiggy
nctiggy / edge-deployment-guide.md
Last active April 16, 2026 18:19
Edge Deployment Guide: ISO to Running 2-Node Cluster

Edge Deployment Guide: ISO to Running 2-Node Cluster

Edge Deployment Guide: ISO to Running 2-Node Cluster

Audience: Pavan Jetty Last Updated: 2026-04-16 CanvOS Version: v4.8.20 Palette Version: 4.x SaaS (api.spectrocloud.com)

This guide walks through the complete process: building a Palette Edge ISO, installing it on bare metal, configuring networking, registering hosts with Palette, and creating a 2-node HA cluster.

{"metadata":{"name":"VMO-RA-Templates","description":"Template layers for VMO Reference Architecture, optimized for Longhorn","labels":{"refarch":"vmo-templates"}},"spec":{"version":"1.7.1-longhorn","template":{"type":"add-on","cloudType":"all","packs":[{"name":"vmo-storage","type":"manifest","layer":"addon","version":"1.0.0","tag":"1.7.1","values":"pack:\n spectrocloud.com/install-priority: \"40\"","registry":{"metadata":{"uid":"","name":"","kind":"","isPrivate":false,"providerType":"","isSyncSupported":false}},"manifests":[{"name":"storageprofile-cdi","content":"apiVersion: cdi.kubevirt.io/v1beta1\nkind: StorageProfile\nmetadata:\n name: longhorn\nspec:\n claimPropertySets: \n - accessModes:\n - ReadWriteMany\n volumeMode: \n Block\n cloneStrategy: csi-clone"}]},{"name":"vmo-networking","type":"manifest","layer":"addon","version":"1.0.0","tag":"1.7.1","values":"pack:\n spectrocloud.com/install-priority: \"40\"","registry":{"metadata":{"uid":"","name":"","kind":"","isPrivate":false,"provider
{"metadata":{"name":"VMO-RA-Core-PXKE-Agent","description":"Core layers for VMO Reference Architecture. The VMO pack has a volumeSnapshotClass for Longhorn and Multus configured for PXK-E in Agent Mode","labels":{"refarch":"vmo-core"}},"spec":{"version":"1.7.1-longhorn","template":{"type":"add-on","cloudType":"all","packs":[{"name":"lb-metallb-helm","type":"oci","layer":"addon","version":"0.15.2","tag":"0.15.2","values":"pack:\n content:\n images:\n - image: us-docker.pkg.dev/palette-images/packs/metallb/0.15.2/controller:v0.15.2\n - image: us-docker.pkg.dev/palette-images/packs/metallb/0.15.2/speaker:v0.15.2\n - image: us-docker.pkg.dev/palette-images/packs/metallb/0.15.2/frr:10.2.3\n - image: us-docker.pkg.dev/palette-images/packs/metallb/0.15.2/kube-rbac-proxy:v0.12.0\n charts:\n - repo: https://metallb.github.io/metallb\n name: metallb\n version: 0.15.2\n namespace: metallb-system\n namespaceLabels:\n \"metallb-system\": \"pod-security.kubernetes.io/enfor
{"metadata":{"name":"VMO-RA-Infra-Agent-PXKE-Longhorn","description":"Infra layers for VMO Reference Architecture on Agent Mode (PXK-E), configured to use the Longhorn CSI and Cilium in legacy kubeproxy mode.","labels":{"refarch":"vmo-infra"}},"spec":{"version":"1.7.1","template":{"type":"cluster","cloudType":"edge-native","packs":[{"name":"edge-native-byoi","type":"oci","layer":"os","version":"2.1.0","tag":"2.1.0","values":"pack:\n content:\n images:\n - image: '{{.spectro.pack.edge-native-byoi.options.system.uri}}'\n drain:\n drainPods: auto # Set to false to skip node drain for cluster upgrades.\n podSelector: \"cluster.spectrocloud.com/task!=control-plan,cluster.spectrocloud.com/task!=worker-plan,app!=spectro,app!=spectro-proxy,app!=palette-webhook\" # Set additional pod selector options for draining.\n cordon: true\n timeout: 0 # The length of time to wait before giving up, zero means infinite\n gracePeriod: -1 # Period of
#cloud-config
# Sources:
# - /run/initramfs/live/files-iso/config.yaml
# - /oem/agent_upgrade.yaml
# - /oem/stylus_config.yaml
# - cmdline
cosign: false
install:
[Match]
Name=eno1np0
[DHCP]
ClientIdentifier=mac
[Network]
DHCP=yes
[Link]
@nctiggy
nctiggy / userdata
Last active October 10, 2025 20:43
#cloud-config
install:
auto: true
poweroff: true
grub_options:
saved_entry: registration
partitions:
oem:
size: 5120
fs: ext4
@nctiggy
nctiggy / init
Last active October 10, 2025 20:43
#cloud-config
install:
auto: true
poweroff: true
grub_options:
saved_entry: registration
env:
- HTTPS_PROXY=
- https_proxy=
- NO_PROXY=
#!/usr/bin/env bash
################################################################################
# Help #
################################################################################
Help()
{
# Display Help
echo -e "\e[0m\e[32m #****# \e[0m"
echo -e "\e[0m\e[32m #*********** \e[0m"
echo -e "\e[0m\e[32m #***************** \e[0m"