Rebalance portfolio around visual evidence
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Keith Casko
2026-10-06 17:02:07 -04:00
parent 67d412e575
commit c54d7d6989
2 changed files with 154 additions and 115 deletions
+21 -54
View File
@@ -57,12 +57,6 @@
infrastructure, and build AWS applications. My project write-ups document
troubleshooting steps, fixes, and verification—not just installations.
</p>
<p>
Currently completing a B.S. in Software Engineering at Western Governors
University while building practical infrastructure and support experience
through a dedicated homelab, AWS projects, and ongoing study of systems
administration and cloud operations.
</p>
<div class="hero-actions">
<a class="btn btn-primary" href="#projects">View Projects</a>
<a class="btn btn-secondary" href="assets/resume/Keith_Casko_IT_Cloud_Resume.pdf" download>Download Resume</a>
@@ -74,6 +68,12 @@
<span>Kalamazoo, Michigan</span>
</div>
</div>
<figure class="hero-proof">
<img src="assets/images/homelab-topology.svg"
alt="ByteGeist Windows Server lab topology with DC01, FILE01, OPNsense, and WIN11-01" />
<figcaption>Windows Server lab topology &mdash; real environment, documented and tested.</figcaption>
</figure>
</div>
</div>
</section>
@@ -98,12 +98,8 @@
<div class="body">
<h3>ByteGeist Windows Server Lab</h3>
<p>
Windows Server 2022 Active Directory lab in VMware: domain
controller with AD DS and DNS, member file server with
role-based SMB share access, a Windows 11 domain client, and
an OPNsense firewall/router used for segmentation practice.
The current client and servers remain on VMnet8 while the
VMnet2 segmented client layout is the next networking exercise.
Windows Server 2022 Active Directory lab with AD DS, DNS, SMB permissions,
a Windows 11 domain client, and OPNsense segmentation practice.
</p>
<a class="view-link" href="homelab.html">View Lab Details</a>
</div>
@@ -117,10 +113,8 @@
<div class="body">
<h3>ByteGeist Support Lab</h3>
<p>
An interactive IT troubleshooting application on AWS (Amplify,
Lambda, API Gateway, DynamoDB) with React. Realistic support
incidents, command-line workflows, diagnosis, resolution, and
scoring.
Interactive AWS troubleshooting lab with realistic incidents,
command-line workflows, diagnosis, resolution, and scoring.
</p>
<a class="view-link" href="https://supportlab.casko.dev/" rel="noopener">View Live Site</a>
</div>
@@ -135,11 +129,8 @@
<div class="body">
<h3>ByteGeist Infrastructure Lab</h3>
<p>
A self-hosted Hetzner Ubuntu environment running Docker-based
services with Prometheus, node_exporter, cAdvisor, Grafana, Loki,
Authentik, Gitea, Woodpecker CI, TLS routing, and a sanitized live
status API. Built to practice deployment, monitoring, identity,
security, recovery, and day-to-day infrastructure operations.
Self-hosted Ubuntu infrastructure with Docker, Grafana, Prometheus,
Loki, Authentik, Gitea, CI/CD, TLS routing, and live service telemetry.
</p>
<a class="view-link" href="https://bytegeist.casko.dev/" rel="noopener">View Live Control Plane</a>
</div>
@@ -153,10 +144,8 @@
<div class="body">
<h3>AWS Cloud Study Tracker</h3>
<p>
A multi-user serverless AWS study tracker using Cognito, API Gateway,
Lambda, DynamoDB, and Amplify. Public demo topics remain readable
without an account, while signed-in users get private CRUD access
protected by JWT authorization and per-record ownership checks.
Multi-user serverless AWS tracker using Cognito, API Gateway, Lambda,
DynamoDB, Amplify, JWT authorization, and per-record ownership checks.
</p>
<a class="view-link" href="https://tracker.casko.dev" rel="noopener">View Live Site</a>
</div>
@@ -173,23 +162,6 @@
<h2 id="notes-title">Troubleshooting Case Studies</h2>
<span class="subtitle">Observed issues, diagnostic work, and verified outcomes</span>
</div>
<div class="proof-strip" aria-label="Quick verification evidence">
<details class="proof-callout">
<summary>Verified Fix: Domain trust failure</summary>
<div class="proof-body">
<p><code>Test-ComputerSecureChannel</code> failed while WIN11-01 was on the wrong VMware network.</p>
<p><strong>Fix:</strong> Returned the client to VMnet8, restored DC01 as DNS, repaired the secure channel, then verified with <code>Test-ComputerSecureChannel</code> and <code>nltest</code>.</p>
</div>
</details>
<details class="proof-callout">
<summary>Verified Fix: PDC time source</summary>
<div class="proof-body">
<p><code>w32tm /query /source</code> reported <code>Local CMOS Clock</code> on the PDC Emulator.</p>
<p><strong>Fix:</strong> Configured external NTP peers, resynchronized Windows Time, then verified <code>time.windows.com</code> as the active source.</p>
</div>
</details>
</div>
<div class="case-grid">
<article class="case-card">
<div class="case-meta">
@@ -200,6 +172,8 @@
<p><strong>Problem:</strong> An AD domain controller reported <code>Local CMOS Clock</code> as its time source. Unreliable domain time can lead to Kerberos clock-skew failures.</p>
<p><strong>Action:</strong> Checked the source with <code>w32tm</code>, configured external NTP peers, restarted Windows Time, and resynchronized.</p>
<p><strong>Result:</strong> Verified <code>time.windows.com</code> as the source, stratum 5.</p>
<pre class="case-terminal"><span>$ w32tm /query /source</span>
time.windows.com</pre>
<a class="view-link" href="homelab.html#validation">See commands and verification</a>
</article>
<article class="case-card">
@@ -211,6 +185,8 @@
<p><strong>Problem:</strong> WIN11-01 was bridged onto the physical LAN and could not reach DC01 on the VMware NAT subnet. Trust repair initially failed.</p>
<p><strong>Action:</strong> Changed the VM network to NAT, pointed client DNS at DC01, and repaired the machine-account trust.</p>
<p><strong>Result:</strong> <code>Test-ComputerSecureChannel</code> returned <code>True</code>; <code>nltest</code> located DC01 successfully.</p>
<pre class="case-terminal"><span>$ Test-ComputerSecureChannel</span>
True</pre>
<a class="view-link" href="homelab.html#validation">See audit evidence</a>
</article>
</div>
@@ -271,7 +247,7 @@
</article>
<article class="credential-card">
<div class="credential-badge">
<div class="credential-badge credential-badge-google">
<img src="assets/credentials/google-it-support.png"
alt="Google IT Support Professional Certificate badge" />
</div>
@@ -364,7 +340,7 @@
</ul>
</div>
<div class="panel">
<div class="panel panel-costco">
<h3>Costco Wholesale &mdash; Baker</h3>
<div class="meta">June 2015 &ndash; Present</div>
<ul>
@@ -372,16 +348,7 @@
<li>Day-to-day troubleshooting of equipment and workflow problems</li>
<li>Training coworkers, customer service, and clear communication under time pressure</li>
</ul>
</div>
<div class="panel">
<h3>Earlier Grocery &amp; Bakery Experience</h3>
<div class="meta">Prior to Costco</div>
<p>
Additional long-term experience in bakery and grocery environments,
contributing to roughly three decades of customer service, production,
teamwork, training, and operational problem-solving.
</p>
<p class="prior-experience"><strong>Earlier experience:</strong> Bakery and grocery roles before Costco, building a long-term background in customer service, production, teamwork, and operational problem-solving.</p>
</div>
</div>