Ryan Malloy 5abc3c87b2 OIDC groups implementation
- Add Groups field to User struct with JSON storage
- Include GetGroups() and SetGroups() helper methods
- Extract groups from OIDC claims in FromClaim()
- Add database migration 202509161200 for groups column
- Update config-example.yaml with groups scope
- Add comprehensive documentation and testing
2026-05-21 17:55:31 -06:00

65 lines
2.0 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Headscale Test Environment</title>
<style>
body {
font-family: system-ui, -apple-system, sans-serif;
max-width: 800px;
margin: 50px auto;
padding: 20px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
}
.container {
background: white;
border-radius: 10px;
padding: 30px;
box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}
h1 {
color: #333;
border-bottom: 3px solid #667eea;
padding-bottom: 10px;
}
.status {
background: #f0f9ff;
border-left: 4px solid #3b82f6;
padding: 15px;
margin: 20px 0;
border-radius: 5px;
}
code {
background: #f3f4f6;
padding: 2px 6px;
border-radius: 3px;
font-family: 'Courier New', monospace;
}
</style>
</head>
<body>
<div class="container">
<h1>🎉 Headscale Test Environment</h1>
<div class="status">
<strong>✅ Web Server is accessible!</strong>
<p>If you can see this page, the Tailscale network is working correctly.</p>
</div>
<h2>Test Commands</h2>
<p>Try these commands from the Tailscale clients:</p>
<ul>
<li><code>curl http://webserver</code> - Access this page</li>
<li><code>tailscale ping client2</code> - Ping another client</li>
<li><code>tailscale status</code> - Check network status</li>
</ul>
<h2>Network Information</h2>
<p>This server is running on the Headscale-managed Tailscale network.</p>
<ul>
<li>Docker Network: <code>10.99.0.30</code></li>
<li>Tailscale Network: <code>100.64.x.x</code></li>
<li>Hostname: <code>webserver</code></li>
</ul>
</div>
</body>
</html>