Update site to include updates about service subscriptions

This commit is contained in:
Raven Scott
2025-12-02 01:41:59 -05:00
parent 34c7c667d0
commit 9975ada3f5
8 changed files with 199 additions and 6 deletions
+29 -4
View File
@@ -74,7 +74,7 @@ export default function AdminPanelPage() {
</p>
<ul className="list-disc pl-6 space-y-2 text-gray-600 dark:text-gray-300 mb-6">
<li><strong className="text-gray-900 dark:text-white">Domains</strong> - Manage P2P domain registrations with consensus status</li>
<li><strong className="text-gray-900 dark:text-white">Host</strong> - Manage Holesail servers and clients</li>
<li><strong className="text-gray-900 dark:text-white">Host</strong> - Manage Holesail servers and clients, and subscribe to services from other domains</li>
<li><strong className="text-gray-900 dark:text-white">Local DNS</strong> - Custom DNS records and conflict resolution</li>
<li><strong className="text-gray-900 dark:text-white">Entries</strong> - View Autopass ledger entries</li>
<li><strong className="text-gray-900 dark:text-white">Peers</strong> - Monitor connected peers</li>
@@ -133,9 +133,11 @@ export default function AdminPanelPage() {
</p>
<h4 className="text-xl font-semibold text-gray-900 dark:text-white mb-3">Holesail Clients</h4>
<ul className="list-disc pl-6 space-y-2 text-gray-600 dark:text-gray-300 mb-6">
<ul className="list-disc pl-6 space-y-2 text-gray-600 dark:text-gray-300 mb-4">
<li><strong className="text-gray-900 dark:text-white">Create clients:</strong> Set up Holesail clients to connect to remote servers</li>
<li><strong className="text-gray-900 dark:text-white">Domain selection:</strong> Choose which domain the client should connect for</li>
<li><strong className="text-gray-900 dark:text-white">Domain selection:</strong> Choose which domain the client should connect for (only domains you own are shown)</li>
<li><strong className="text-gray-900 dark:text-white">Service name:</strong> Optionally specify a service name for the client (format: <code className="bg-gray-800 dark:bg-gray-700 text-gray-100 dark:text-gray-200 px-1.5 py-0.5 rounded">domain_servicename</code>)</li>
<li><strong className="text-gray-900 dark:text-white">Protocol selection:</strong> Choose TCP or UDP protocol for the client</li>
<li><strong className="text-gray-900 dark:text-white">Key and port:</strong> Configure connection key and local port</li>
<li><strong className="text-gray-900 dark:text-white">Restart clients:</strong> Restart clients without deleting configuration</li>
<li><strong className="text-gray-900 dark:text-white">View logs:</strong> Monitor client connection logs in real-time</li>
@@ -143,7 +145,30 @@ export default function AdminPanelPage() {
<li><strong className="text-gray-900 dark:text-white">Status tracking:</strong> Monitor client connection status</li>
</ul>
<p className="text-gray-600 dark:text-gray-300 mb-6">
Client configurations are persisted in <code className="bg-gray-800 dark:bg-gray-700 text-gray-100 dark:text-gray-200 px-1.5 py-0.5 rounded">holesail_clients.json</code>.
Client configurations are persisted in <code className="bg-gray-800 dark:bg-gray-700 text-gray-100 dark:text-gray-200 px-1.5 py-0.5 rounded">holesail_clients.json</code>. When a service name is provided, the client ID follows the format <code className="bg-gray-800 dark:bg-gray-700 text-gray-100 dark:text-gray-200 px-1.5 py-0.5 rounded">domain_servicename</code> to avoid naming conflicts.
</p>
<h4 className="text-xl font-semibold text-gray-900 dark:text-white mb-3">Service Subscriptions</h4>
<p className="text-gray-600 dark:text-gray-300 mb-4">
The Service Subscription feature allows you to automatically subscribe to services published by domain owners across the network. Access the Service Subscription modal via the "Service Subscription" button in the Host tab.
</p>
<ul className="list-disc pl-6 space-y-2 text-gray-600 dark:text-gray-300 mb-4">
<li><strong className="text-gray-900 dark:text-white">Browse domains:</strong> View all domains in the network with their available services</li>
<li><strong className="text-gray-900 dark:text-white">Search functionality:</strong> Quickly find domains by name</li>
<li><strong className="text-gray-900 dark:text-white">Individual subscriptions:</strong> Subscribe to specific services from any domain</li>
<li><strong className="text-gray-900 dark:text-white">Subscribe All:</strong> Enable automatic subscription to all services for a domain, including newly added ones</li>
<li><strong className="text-gray-900 dark:text-white">Auto-subscription on bootup:</strong> All subscribed services automatically create Holesail clients when the system starts (unless <code className="bg-gray-800 dark:bg-gray-700 text-gray-100 dark:text-gray-200 px-1.5 py-0.5 rounded">DISABLE_AUTO_SUBSCRIPTION</code> is enabled)</li>
<li><strong className="text-gray-900 dark:text-white">Dynamic synchronization:</strong> The system automatically:
<ul className="list-disc pl-6 mt-2 space-y-1">
<li>Unsubscribes from services when they are removed by the domain owner</li>
<li>Subscribes to new services when they are added, if "subscribe all" is enabled for that domain</li>
</ul>
</li>
<li><strong className="text-gray-900 dark:text-white">Protocol support:</strong> Services support both TCP and UDP protocols</li>
<li><strong className="text-gray-900 dark:text-white">Service naming:</strong> Subscribed services use the naming format <code className="bg-gray-800 dark:bg-gray-700 text-gray-100 dark:text-gray-200 px-1.5 py-0.5 rounded">domain_servicename</code> for easy identification</li>
</ul>
<p className="text-gray-600 dark:text-gray-300 mb-6">
Subscriptions are stored in <code className="bg-gray-800 dark:bg-gray-700 text-gray-100 dark:text-gray-200 px-1.5 py-0.5 rounded">cache/subscriptions.json</code> and persist across restarts. The system monitors claim record changes to automatically synchronize subscriptions when domain owners add or remove services.
</p>
<h3 className="text-2xl font-semibold text-gray-900 dark:text-white mb-4 mt-8">Local DNS</h3>