Skip to content

Lamaste E2E: 09 — Agent Site Deploy (Three-VM) ​

text
> Started at `2026-03-30 13:11:28 UTC`


## Pre-flight: verify onboarding is complete


## Create managed site using admin cert

✅ `13:11:29` Site creation via admin cert returned ok: true  
✅ `13:11:29` Site has an ID  
✅ `13:11:29` Site has an FQDN  
ℹ️ `13:11:29` Created site: e2esite.test.lamaste.local (ID: 5551ec71-3269-420f-8ea5-e51dcbf78d50)  

## Generate agent cert with sites capabilities and allowedSites

✅ `13:11:29` Agent cert creation returned ok: true  
✅ `13:11:29` Agent cert has a p12 password  
✅ `13:11:29` Agent cert label matches  
ℹ️ `13:11:30` Created agent cert: site-agent (allowedSites: [e2esite])  
✅ `13:11:30` Extracted PEM cert and key from .p12  

## Upload test HTML file using agent cert

✅ `13:11:30` File upload via agent cert returned ok: true  

## Verify site listing using agent cert (sites:read + allowedSites)

✅ `13:11:30` Agent can list sites and find assigned site  
✅ `13:11:30` Agent sees only its assigned site (count: 1)  

## Verify site accessible from visitor VM

✅ `13:11:32` Site returns HTTP 200 from visitor VM  
✅ `13:11:32` Site content matches uploaded HTML from visitor VM  

## File extension validation — disallowed extensions rejected

✅ `13:11:33` Upload of .php file rejected with 400  
✅ `13:11:33` Upload of .exe file rejected with 400  
✅ `13:11:33` Upload of .css file succeeds via agent cert  

## Delete site using admin cert (site CRUD is admin-only)

✅ `13:11:33` Site deletion via admin cert returned ok: true  
✅ `13:11:33` Deleted site no longer in listing  

## Negative test: agent WITHOUT site in allowedSites gets 403 on file upload

✅ `13:11:35` No-perm agent cert creation returned ok: true  
✅ `13:11:36` Agent without site in allowedSites rejected with 403 on file upload  
✅ `13:11:36` Agent sees only assigned sites (none match real sites)  

---

## Results

| Metric | Count |
|--------|-------|
| **Passed** | `20` |
| **Failed** | `0` |
| **Skipped** | `0` |
| **Total** | `20` |

ℹ️ `13:11:36` Cleaning up test resources...  
🔵 `13:11:36` **Running: 11-plugin-lifecycle.sh**

Released under the PolyForm Noncommercial License 1.0.0