ICN Development Environment
icn-dev VM
Dedicated development VM for ICN work, hosted on Hyperion (10.8.10.15).
| Setting | Value |
|---|---|
| VMID | 600 |
| Name | icn-dev |
| IP | 10.8.10.45 |
| RAM | 12GB |
| CPU | 6 vCPUs |
| Disk | 100GB |
| OS | Ubuntu 24.04.3 LTS |
Access
# SSH
ssh ubuntu@10.8.10.45
# Web VSCode (code-server)
http://10.8.10.45:8443
# Access credential: retrieve from secure channel (vault/team secret manager)
Installed Tools
| Tool | Version | Notes |
|---|---|---|
| Rust | 1.92.0 | via rustup |
| Cargo | 1.92.0 | |
| kubectl | 1.35.0 | K3s kubeconfig configured |
| code-server | 4.107.1 | Web-based VSCode |
| gh | latest | GitHub CLI |
| Build tools | - | gcc, make, pkg-config, libssl-dev |
Project Locations
# ICN source code
~/projects/icn
# K3s kubeconfig
~/.kube/config
# Cargo/Rust binaries
~/.cargo/bin
Build & Test
cd ~/projects/icn/icn
# Build
cargo build --release
# Test
cargo test
# Run daemon locally
./target/debug/icnd
K3s Access
The dev VM has kubectl configured to access the K3s cluster:
# Check cluster
kubectl get nodes
# ICN pods
kubectl -n icn get pods
# ICN daemon logs
kubectl -n icn logs deploy/icn-daemon --tail=50
# Show ICN identity
kubectl -n icn exec deploy/icn-daemon -- /usr/local/bin/icnctl id show
Claude Code Setup
To set up Claude Code on the dev VM:
# SSH to dev VM
ssh ubuntu@10.8.10.45
# Install Claude Code
curl -fsSL https://claude.ai/code/install.sh | sh
# Configure GitHub CLI (for PRs)
gh auth login
# Navigate to project
cd ~/projects/icn
# Start Claude Code
claude
The ICN repo contains CLAUDE.md with all project-specific instructions.
Network Diagram
Workstation (matt)
|
+-- SSH --> icn-dev (10.8.10.45) --> ~/projects/icn
| |
| +-- kubectl --> K3s Cluster
| |
+-- SSH --> k3s-control (10.8.30.40)
|
+-- k3s-worker-1 (10.8.30.41)
+-- k3s-worker-2 (10.8.30.42)
|
+-- ICN pods (NFS from Atlas 10.8.10.25)
Related Documentation
- HOMELAB_DEPLOYMENT.md - K3s cluster details
- GETTING_STARTED.md - ICN quickstart guide
- ARCHITECTURE.md - System architecture