# Jon (SN3 Dev Box)
Jon is a HP ProLiant DL380p Gen 8 server running the [proxmox](https://www.proxmox.com/en/) virtual environment. Mesh service owners can use Jon to run VMs and LXC to host their mesh services. Jon is physically located in the [DataVerge](https://dataverge.com/) data center, network number 713 (SN3).
Jon was graciously [donated](https://nycmesh.slack.com/archives/CAZ4V9E0P/p1711819301417259) to the mesh by Willard.
### Hardware
- HP ProLiant DL380p Gen 8
- Dual Xeon E5-3670V2
- 128GB of DDR3 ECC memory
- 5x 2TB 3.5" SAS Drives
### How It Works
#### Getting Access
Access can be requested from Willard.
##### How To Provide Access
The root password should not be shared. Instead, user accounts can be created for each user.
TBD
#### Resource Pools
Resource pools must be used to group resources. They can be used for easily providing permissions as well as organize resources that belong to a given service.
#### Tagging
Resources must be tagged to the owner(s) and service. Un-tagged resources are subject to automatic removal.
**Tag Name** | **Tag Type** | **Description** |
jameso | Person | Maintained by James |
meshdbdev | Service | Maintained by to the meshdb project
|
soc
| Service
| Maintained by the MeshDB SOC (a.k.a. James)
|
willard
| Person
| Maintained by Willard
|
### Available Images
Save future you some time by using a cloud image. This will give you a pre-provisioned linux system without needing to go through the installer. When using these, remember:
- Do not start the template image, this will break it
- When cloning any template image, make sure that "Mode" is "**Full Clone**" NOT A "Linked Clone"
#### How debian-cloud (5001) was setup
If you are doing this yourself, you'll need to pick a number in the 5XXX range that is not already taken.
1. Get the [cloud image](https://cloud.debian.org/images/cloud/), add the guest agent. You may need libguestfs-tools
```
wget https://cloud.debian.org/images/cloud/bookworm/20240429-1732/debian-12-generic-amd64-20240429-1732.tar.xz
tar -xf debian-12-generic-amd64-20240429-1732.tar.xz
virt-customize -a disk.raw --install qemu-guest-agent
```
2. scp the modified image to jon
```
scp disk.raw root@10.70.90.52:/root/debian-12-generic-amd64-20240429-1732-qemu-guest-agent.raw
```
3. On jon, create a template VM and import the image
```
qm create 5001 --memory 2048 --core 2 --name debian-cloud --net0 virtio,bridge=vmbr0
qm importdisk 5001 debian-12-generic-amd64-20240429-1732-qemu-guest-agent.raw local-lvm
qm set 5001 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-5001-disk-0
qm set 5001 --ide2 local-lvm:cloudinit
qm set 5001 --boot c --bootdisk scsi0
qm set 5001 --serial0 socket --vga serial0
qm set 5001 --ipconfig0 ip=dhcp
qm set 5001 --agent 1
qm template 5001
```
4. Find the VM (5001) in the proxmox UI. Look review configuration.
#### Using debian-cloud (5001)
1. Log into proxmox
2. Right click VM 5001 and click "Clone"
3. Make sure you use "Full Clone"
4. In you clone, go to "Cloud-Init" and set the username, password and/or ssh key
5. Make sure the disk size is large enough for your needs
6. Start the VM, give it a few minutes to go through the cloud-init process and update packages.
7. Do something great for the mesh!