From 748f6d7bf9837460a10bc07da9a916d22e81039f Mon Sep 17 00:00:00 2001 From: Keith Casko Date: Sat, 3 Oct 2026 08:00:38 -0400 Subject: [PATCH] Initial commit: Active Directory homelab, audit documentation, verified portfolio site files, all evidence as of 2026-10-03. --- README.md | 107 ++ assets/images/hero-server-rack.png | Bin 0 -> 1814029 bytes assets/images/homelab-topology.svg | 67 + assets/images/keith-casko-headshot.png | Bin 0 -> 2277167 bytes .../resume/Keith_Casko_IT_Cloud_Resume.docx | Bin 0 -> 39297 bytes assets/screenshots/README.md | 4 + assets/screenshots/aws-tracker.png | Bin 0 -> 46655 bytes .../screenshots/bytegeist-control-plane.png | Bin 0 -> 291855 bytes .../bytegeist-infrastructure-live.png | Bin 0 -> 152722 bytes .../bytegeist-support-01-incident-queue.png | Bin 0 -> 542273 bytes .../bytegeist-support-02-ai-coach-s3.png | Bin 0 -> 134276 bytes .../bytegeist-support-03-incident-review.png | Bin 0 -> 214023 bytes ...-support-04-learner-performance-report.png | Bin 0 -> 379354 bytes assets/screenshots/bytegeist-support-live.png | Bin 0 -> 607304 bytes assets/screenshots/bytegeist-support.png | Bin 0 -> 542273 bytes css/styles.css | 702 ++++++++++ docs/homelab-audit.md | 131 ++ docs/windows-server-homelab.md | 147 ++ homelab.html | 285 ++++ index.html | 513 +++++++ index.old.html | 1232 +++++++++++++++++ js/main.js | 21 + 22 files changed, 3209 insertions(+) create mode 100644 README.md create mode 100644 assets/images/hero-server-rack.png create mode 100644 assets/images/homelab-topology.svg create mode 100644 assets/images/keith-casko-headshot.png create mode 100644 assets/resume/Keith_Casko_IT_Cloud_Resume.docx create mode 100644 assets/screenshots/README.md create mode 100644 assets/screenshots/aws-tracker.png create mode 100644 assets/screenshots/bytegeist-control-plane.png create mode 100644 assets/screenshots/bytegeist-infrastructure-live.png create mode 100644 assets/screenshots/bytegeist-support-01-incident-queue.png create mode 100644 assets/screenshots/bytegeist-support-02-ai-coach-s3.png create mode 100644 assets/screenshots/bytegeist-support-03-incident-review.png create mode 100644 assets/screenshots/bytegeist-support-04-learner-performance-report.png create mode 100644 assets/screenshots/bytegeist-support-live.png create mode 100644 assets/screenshots/bytegeist-support.png create mode 100644 css/styles.css create mode 100644 docs/homelab-audit.md create mode 100644 docs/windows-server-homelab.md create mode 100644 homelab.html create mode 100644 index.html create mode 100644 index.old.html create mode 100644 js/main.js diff --git a/README.md b/README.md new file mode 100644 index 0000000..0f07585 --- /dev/null +++ b/README.md @@ -0,0 +1,107 @@ +# Keith Casko — Portfolio + +A static personal portfolio for Keith Casko, targeting IT Support, Help Desk, +Desktop Support, Junior SysAdmin, and Cloud Support / Operations roles. + +Stack: plain HTML, CSS, and a tiny vanilla JS file (mobile nav + footer year). +No build step. No frameworks. + +## Run locally + +Any static server works. Easiest options from the project root: + + # Python 3 + python -m http.server 8080 + + # Node (if installed) + npx serve . + +Then open http://localhost:8080 + +Opening `index.html` directly in a browser also works; using a local server +is only needed if you later add fetches or routing. + +## Project structure + + keith-portfolio/ + ├── index.html + ├── css/ + │ └── styles.css + ├── js/ + │ └── main.js + ├── assets/ + │ ├── images/ # portrait, hero rack/workstation photos + │ ├── screenshots/ # project screenshots + │ └── resume/ # keith-casko-resume.pdf + └── README.md + +## Things to replace before publishing + +Every spot that needs a real value is marked with `REPLACE` in an HTML +comment. Search the project for `REPLACE` to find all of them. The main ones: + +- **Resume PDF** — put the file at `assets/resume/keith-casko-resume.pdf` + (two links in `index.html`: hero "Download Resume" button and footer). +- **GitHub** — footer link, replace `https://github.com/REPLACE_ME`. +- **LinkedIn** — footer link, replace `https://www.linkedin.com/in/REPLACE_ME`. +- **Email** — footer and Contact section, replace `you@example.com` + (two `mailto:` links). +- **Project links** — four `View Project ›` links in the Featured Projects + section currently point to `#`. Point each to the real repo or live demo. + +## Screenshots & images + +Drop the real files into these paths and remove the placeholder `
`s +in `index.html` (replace with `…`): + +- `assets/images/hero-rack.jpg` — homelab, rack, or workstation photo +- `assets/images/portrait.jpg` — portrait photo for the About section +- `assets/screenshots/bytegeist-ad.jpg` — Windows Server / AD lab screenshot +- `assets/screenshots/bytegeist-support.jpg` — Support Lab app screenshot +- `assets/screenshots/linux-docker.jpg` — Grafana / Portainer / Uptime Kuma +- `assets/screenshots/aws-tracker.jpg` — AWS Cloud Study Tracker UI + +Keep images reasonably sized (e.g. 1600px wide max, JPEG quality ~80, or +WebP) for fast loads. + +## Deploy + +### AWS Amplify (manual deploy, no Git connection required) + +1. In the Amplify Console, choose **Host web app → Deploy without Git**. +2. Zip the whole project folder (`index.html`, `css/`, `js/`, `assets/`) + and drag the zip into the uploader. Name the environment e.g. `prod`. +3. Amplify gives you an `*.amplifyapp.com` URL. To use a custom domain, + open the app → **Domain management → Add domain**. + +For redeploys, upload a new zip to the same environment. + +### GitHub Pages + +1. Push this folder to a GitHub repo (e.g. `keith-portfolio`). +2. Repo → **Settings → Pages**. +3. Source: **Deploy from a branch**. Branch: `main` (or `master`), + folder: `/ (root)`. Save. +4. GitHub publishes to `https://.github.io/keith-portfolio/`. + Allow a minute for the first build. + +For a custom domain, add a `CNAME` file at the project root containing +the domain, and configure DNS to point at GitHub Pages. + +### Vercel + +1. Install the CLI once: `npm i -g vercel`. +2. From the project root: `vercel` (follow prompts) and then `vercel --prod`. + +Or connect the GitHub repo in the Vercel dashboard — framework preset is +**Other**; no build command; output directory is `.` (the repo root). + +## Accessibility & performance notes + +- Semantic HTML (`
`, `