sweep the last typographic punctuation out of the components and data files
build-and-deploy / build (push) Failing after 14m21s
build-and-deploy / build (push) Failing after 14m21s
This commit is contained in:
+11
-11
@@ -13,33 +13,33 @@ export const experience: Role[] = [
|
||||
{
|
||||
title: "Infrastructure / DevOps Engineer",
|
||||
org: "Woolworths",
|
||||
period: "Aug 2025 – Present",
|
||||
period: "Aug 2025 - Present",
|
||||
summary:
|
||||
"Core DevOps infrastructure engineer for store-edge solutions — turning high-level designs into single-press deployments and CD pipelines.",
|
||||
"Core DevOps infrastructure engineer for store-edge solutions - turning high-level designs into single-press deployments and CD pipelines.",
|
||||
highlights: [
|
||||
"Single-touch deployment of an edge AI solution running on Kubernetes at the store edge",
|
||||
"GPU brought online as code — passthrough via ESXi, end-state manifests / Helm charts",
|
||||
"GPU brought online as code - passthrough via ESXi, end-state manifests / Helm charts",
|
||||
"Ansible playbook builds wired through a single source-of-truth pipeline with per-store vars",
|
||||
"Removed manual practices across infra and ops — IaC throughout, spec-driven and documented as code",
|
||||
"Removed manual practices across infra and ops - IaC throughout, spec-driven and documented as code",
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Infrastructure Systems Engineer",
|
||||
org: "Virtus Health",
|
||||
period: "Aug 2022 – Aug 2025",
|
||||
period: "Aug 2022 - Aug 2025",
|
||||
summary:
|
||||
"Global IT — optimisation, implementation and projects across an enterprise estate.",
|
||||
"Global IT - optimisation, implementation and projects across an enterprise estate.",
|
||||
highlights: [
|
||||
"Managed ~1,000 VMs across a global VMware estate",
|
||||
"Re-segmented flat sites into isolated VLAN ranges; SD-WAN and Aruba ClearPass onboarding",
|
||||
"Migrated workloads to Azure (Blob, AVS); upgraded Palo Alto / FortiGate firewalls",
|
||||
"Led a new major-site build — end-to-end services implementation",
|
||||
"Led a new major-site build - end-to-end services implementation",
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Global IT Infrastructure Engineer",
|
||||
org: "Linde Asia Pacific",
|
||||
period: "Sep 2019 – Aug 2022",
|
||||
period: "Sep 2019 - Aug 2022",
|
||||
summary:
|
||||
"Maintained and modernised global infrastructure to enterprise standards across the region.",
|
||||
highlights: [
|
||||
@@ -51,7 +51,7 @@ export const experience: Role[] = [
|
||||
{
|
||||
title: "Web Developer / Tech Admin",
|
||||
org: "ELGAS",
|
||||
period: "Aug 2018 – Sep 2019",
|
||||
period: "Aug 2018 - Sep 2019",
|
||||
summary:
|
||||
"Development, optimisation and escalation for the IT service-desk team.",
|
||||
highlights: [
|
||||
@@ -62,12 +62,12 @@ export const experience: Role[] = [
|
||||
{
|
||||
title: "IT Technician",
|
||||
org: "Darktime Computer Services",
|
||||
period: "Nov 2010 – Jun 2013",
|
||||
period: "Nov 2010 - Jun 2013",
|
||||
summary:
|
||||
"Field and workshop IT across legal firms, schools, real estate and small business.",
|
||||
highlights: [
|
||||
"SBS 2008 server installs, Exchange, backups and RAID storage for small business",
|
||||
"Solo on-site support — diagnose, fix, move on",
|
||||
"Solo on-site support - diagnose, fix, move on",
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
+5
-5
@@ -1,14 +1,14 @@
|
||||
// The fleet, as data — drives the hero constellation + typing facts.
|
||||
// The fleet, as data - drives the hero constellation + typing facts.
|
||||
// REAL numbers, captured 2026-07-03; refresh from the fleet at rebuild
|
||||
// (kubectl get applications -n argocd | wc -l · kubectl get cnp -A | wc -l per cluster).
|
||||
|
||||
// Facts the hero typing bar cycles through. Real, verbatim — no invented numbers.
|
||||
// Facts the hero typing bar cycles through. Real, verbatim - no invented numbers.
|
||||
export const fleetFacts = [
|
||||
"6 single-node Talos clusters · 0 SSH daemons · every machine is a document",
|
||||
"139 ArgoCD Applications reconciled from one hub",
|
||||
"170+ CiliumNetworkPolicies fleet-wide — every namespace starts at default-deny",
|
||||
"zero open inbound ports — the origin dials out",
|
||||
"*.bztmon.org — a Let's Encrypt wildcard per cluster · DNS-01 · auto-renewed",
|
||||
"170+ CiliumNetworkPolicies fleet-wide - every namespace starts at default-deny",
|
||||
"zero open inbound ports - the origin dials out",
|
||||
"*.bztmon.org - a Let's Encrypt wildcard per cluster · DNS-01 · auto-renewed",
|
||||
"~140 pods running right now, reconciled by git",
|
||||
] as const;
|
||||
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
// Central site config — single source of truth for identity + metadata.
|
||||
// Central site config - single source of truth for identity + metadata.
|
||||
// Edit here, not in components.
|
||||
|
||||
export const site = {
|
||||
@@ -20,7 +20,7 @@ export const site = {
|
||||
"Edge AI",
|
||||
],
|
||||
// One-paragraph elevator pitch for the About section.
|
||||
bio: "I'm an infrastructure and DevOps engineer who turns high-level designs into single-press deployments. My day job is store-edge Kubernetes running GPU-backed AI; my craft is the automation, GitOps and network policy that make a fleet behave the same way every time. I've run global infrastructure at enterprise scale — a thousand VMs, multi-region migrations, segmented networks — and I bring that same rigour to the smallest edge node. I'm an IaC enthusiast: if it's a manual step, I want it gone.",
|
||||
bio: "I'm an infrastructure and DevOps engineer who turns high-level designs into single-press deployments. My day job is store-edge Kubernetes running GPU-backed AI; my craft is the automation, GitOps and network policy that make a fleet behave the same way every time. I've run global infrastructure at enterprise scale - a thousand VMs, multi-region migrations, segmented networks - and I bring that same rigour to the smallest edge node. I'm an IaC enthusiast: if it's a manual step, I want it gone.",
|
||||
|
||||
// Canonical URL (used for OG/sitemap/RSS).
|
||||
url: "https://www.bztmon.com",
|
||||
|
||||
+12
-12
@@ -1,17 +1,17 @@
|
||||
// Grouped capability matrix — NO percentage bars / ratings / logo walls.
|
||||
// Grouped capability matrix - NO percentage bars / ratings / logo walls.
|
||||
// Driven entirely by this file; the Skills section renders whatever is here.
|
||||
|
||||
export type SkillGroup = {
|
||||
title: string;
|
||||
// Short framing line for the group.
|
||||
blurb: string;
|
||||
/** Proof-point lines rendered between the blurb and the chips — fills the
|
||||
/** Proof-point lines rendered between the blurb and the chips - fills the
|
||||
* tall tiles (hero / full) so the tile reads as substance, not whitespace. */
|
||||
points?: string[];
|
||||
items: string[];
|
||||
/** Bento tile size — "hero" = 2×2 flagship · "wide" = 2×1 · "full" = whole row · default 1×1. */
|
||||
/** Bento tile size - "hero" = 2×2 flagship · "wide" = 2×1 · "full" = whole row · default 1×1. */
|
||||
span?: "hero" | "wide" | "full";
|
||||
/** Accent flavour — "magenta" marks security-flavoured tiles. */
|
||||
/** Accent flavour - "magenta" marks security-flavoured tiles. */
|
||||
flavor?: "magenta";
|
||||
/** Eyebrow label rendered on the hero tile. */
|
||||
flag?: string;
|
||||
@@ -24,10 +24,10 @@ export const skills: SkillGroup[] = [
|
||||
flag: "FLAGSHIP",
|
||||
blurb: "Serving vision and language models on real hardware at the edge.",
|
||||
points: [
|
||||
"Fail-closed computer vision on single-node OpenShift — probes that catch a silently dead model, not just a dead pod.",
|
||||
"One GPU, two jobs — a single card time-sliced between LLM serving and video transcode, with neither noticing.",
|
||||
"Fail-closed computer vision on single-node OpenShift - probes that catch a silently dead model, not just a dead pod.",
|
||||
"One GPU, two jobs - a single card time-sliced between LLM serving and video transcode, with neither noticing.",
|
||||
"Vendor video-analytics stacks re-platformed as first-class Kubernetes workloads, not appliances.",
|
||||
"Local models behind an OpenAI-compatible gateway — swap the backend, keep every client.",
|
||||
"Local models behind an OpenAI-compatible gateway - swap the backend, keep every client.",
|
||||
],
|
||||
items: [
|
||||
"NVIDIA GPU Operator",
|
||||
@@ -56,7 +56,7 @@ export const skills: SkillGroup[] = [
|
||||
},
|
||||
{
|
||||
title: "Automation & IaC",
|
||||
blurb: "Single-touch deployments — removing the manual step, not documenting it.",
|
||||
blurb: "Single-touch deployments - removing the manual step, not documenting it.",
|
||||
items: [
|
||||
"Ansible / AWX",
|
||||
"PowerShell (PowerCLI)",
|
||||
@@ -97,11 +97,11 @@ export const skills: SkillGroup[] = [
|
||||
{
|
||||
title: "Observability & Ops",
|
||||
span: "full",
|
||||
blurb: "Knowing the system is healthy — and the GPUs with it.",
|
||||
blurb: "Knowing the system is healthy - and the GPUs with it.",
|
||||
points: [
|
||||
"Fleet metrics by remote-write — every cluster ships to one Prometheus, GPUs included (DCGM / Intel Xe).",
|
||||
"Alerts that reach a phone and mean it — tuned until silence means healthy, not unmonitored.",
|
||||
"A backup is a rumour until a restore drill proves it — drills are scheduled, not aspirational.",
|
||||
"Fleet metrics by remote-write - every cluster ships to one Prometheus, GPUs included (DCGM / Intel Xe).",
|
||||
"Alerts that reach a phone and mean it - tuned until silence means healthy, not unmonitored.",
|
||||
"A backup is a rumour until a restore drill proves it - drills are scheduled, not aspirational.",
|
||||
],
|
||||
items: [
|
||||
"Prometheus",
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ export type Social = {
|
||||
|
||||
export const socials: Social[] = [
|
||||
{
|
||||
// Self-hosted public git — his code, on his own infrastructure (goes live with git.bztmon.com).
|
||||
// Self-hosted public git - his code, on his own infrastructure (goes live with git.bztmon.com).
|
||||
label: "Source",
|
||||
href: "https://git.bztmon.com/jwright",
|
||||
external: true,
|
||||
|
||||
Reference in New Issue
Block a user