Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b07a114227 | |||
| 88f77edadd |
@@ -26,4 +26,8 @@ git clone https://epigas.gitea.cloud/RiskRancher/core
|
|||||||
cd core
|
cd core
|
||||||
go build -o rr ./cmd/rr/main.go
|
go build -o rr ./cmd/rr/main.go
|
||||||
./rr
|
./rr
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
Apache License 2.0
|
||||||
@@ -10,15 +10,18 @@
|
|||||||
<div class="tab-nav">
|
<div class="tab-nav">
|
||||||
<button class="tab-btn active" onclick="switchTab('tab-metrics', this)">📊 Metrics</button>
|
<button class="tab-btn active" onclick="switchTab('tab-metrics', this)">📊 Metrics</button>
|
||||||
<button class="tab-btn" onclick="switchTab('tab-performance', this)">📡 Performance</button>
|
<button class="tab-btn" onclick="switchTab('tab-performance', this)">📡 Performance</button>
|
||||||
|
{{ block "pro_risk_tab_btn" .}}
|
||||||
<button class="tab-btn" style="color: #94a3b8; cursor: not-allowed;" title="Available in RiskRancher Pro">
|
<button class="tab-btn" style="color: #94a3b8; cursor: not-allowed;" title="Available in RiskRancher Pro">
|
||||||
🔒 Risk Reviews (Pro)
|
🔒 Risk Reviews (Pro)
|
||||||
</button>
|
</button>
|
||||||
|
{{ end }}
|
||||||
<button class="tab-btn" onclick="switchTab('tab-config', this)">⚙️ Configuration</button>
|
<button class="tab-btn" onclick="switchTab('tab-config', this)">⚙️ Configuration</button>
|
||||||
<button class="tab-btn" onclick="switchTab('tab-feed', this)">📻 System Logs</button>
|
<button class="tab-btn" onclick="switchTab('tab-feed', this)">📻 System Logs</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{template "admin_metrics" .}}
|
{{template "admin_metrics" .}}
|
||||||
{{template "admin_performance" .}}
|
{{template "admin_performance" .}}
|
||||||
|
{{block "pro_risk_tab_content" .}}{{end}}
|
||||||
{{template "admin_config" .}}
|
{{template "admin_config" .}}
|
||||||
{{template "admin_feed" .}}
|
{{template "admin_feed" .}}
|
||||||
{{template "admin_modals" .}}
|
{{template "admin_modals" .}}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="border: 1px solid #e2e8f0; border-radius: 8px; padding: 15px;">
|
{{block "pro_source_routing" .}}
|
||||||
<div style="border: 1px solid #e2e8f0; border-radius: 8px; padding: 15px; background: #f8fafc;">
|
<div style="border: 1px solid #e2e8f0; border-radius: 8px; padding: 15px; background: #f8fafc;">
|
||||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;">
|
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;">
|
||||||
<h3 style="margin: 0; color: #64748b;">🛤️ Source Routing</h3>
|
<h3 style="margin: 0; color: #64748b;">🛤️ Source Routing</h3>
|
||||||
@@ -35,65 +35,69 @@
|
|||||||
<a href="https://RiskRancher.com/pro" target="_blank" style="color: #8b5cf6; text-decoration: none; font-weight: bold; font-size: 0.85rem;">Learn about RiskRancher Pro →</a>
|
<a href="https://RiskRancher.com/pro" target="_blank" style="color: #8b5cf6; text-decoration: none; font-weight: bold; font-size: 0.85rem;">Learn about RiskRancher Pro →</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="display: grid; grid-template-columns: 2fr 1fr; gap: 20px;">
|
<div style="display: grid; grid-template-columns: 2fr 1fr; gap: 20px;">
|
||||||
|
|
||||||
<div style="border: 1px solid #e2e8f0; border-radius: 8px; padding: 15px; position: relative;">
|
{{block "pro_sla_policy" .}}
|
||||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;">
|
<div style="border: 1px solid #e2e8f0; border-radius: 8px; padding: 15px; position: relative;">
|
||||||
<div>
|
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;">
|
||||||
<h3 style="margin: 0;">⏱️ SLA Policies & System Time</h3>
|
<div>
|
||||||
<p style="margin: 2px 0 0 0; font-size: 0.8rem; color: #64748b;">Locked to Standard FedRAMP/NIST Default Timeframes</p>
|
<h3 style="margin: 0;">⏱️ SLA Policies & System Time</h3>
|
||||||
|
<p style="margin: 2px 0 0 0; font-size: 0.8rem; color: #64748b;">Locked to Standard FedRAMP/NIST Default Timeframes</p>
|
||||||
|
</div>
|
||||||
|
<button class="btn" style="padding: 6px 12px; font-size: 0.85rem; background: #f8fafc; color: #64748b; border: 1px solid #cbd5e1;" onclick="showUpsell('Custom SLA Timers & Business Hours')">🔒 Customize (Pro)</button>
|
||||||
</div>
|
</div>
|
||||||
<button class="btn" style="padding: 6px 12px; font-size: 0.85rem; background: #f8fafc; color: #64748b; border: 1px solid #cbd5e1;" onclick="showUpsell('Custom SLA Timers & Business Hours')">🔒 Customize (Pro)</button>
|
<div style="display: flex; gap: 30px; opacity: 0.7; pointer-events: none;">
|
||||||
</div>
|
<div style="flex: 1; padding: 15px; background: #f8fafc; border-radius: 6px; border: 1px solid #e2e8f0;">
|
||||||
<div style="display: flex; gap: 30px; opacity: 0.7; pointer-events: none;">
|
<h4 style="margin-top: 0;">Base Configuration</h4>
|
||||||
<div style="flex: 1; padding: 15px; background: #f8fafc; border-radius: 6px; border: 1px solid #e2e8f0;">
|
<label>System Timezone:</label>
|
||||||
<h4 style="margin-top: 0;">Base Configuration</h4>
|
<select disabled style="width: 100%; padding: 6px; margin-bottom: 10px; background: #e2e8f0;">
|
||||||
<label>System Timezone:</label>
|
<option selected>UTC (Universal)</option>
|
||||||
<select disabled style="width: 100%; padding: 6px; margin-bottom: 10px; background: #e2e8f0;">
|
</select>
|
||||||
<option selected>UTC (Universal)</option>
|
<div style="display: flex; gap: 10px; margin-bottom: 10px;">
|
||||||
</select>
|
<div style="flex: 1;"><label>Biz Start:</label><input type="text" disabled value="09:00" style="width: 100%; padding: 6px; background: #e2e8f0;"></div>
|
||||||
<div style="display: flex; gap: 10px; margin-bottom: 10px;">
|
<div style="flex: 1;"><label>Biz End:</label><input type="text" disabled value="17:00" style="width: 100%; padding: 6px; background: #e2e8f0;"></div>
|
||||||
<div style="flex: 1;"><label>Biz Start:</label><input type="text" disabled value="09:00" style="width: 100%; padding: 6px; background: #e2e8f0;"></div>
|
</div>
|
||||||
<div style="flex: 1;"><label>Biz End:</label><input type="text" disabled value="17:00" style="width: 100%; padding: 6px; background: #e2e8f0;"></div>
|
</div>
|
||||||
|
<div style="flex: 2;">
|
||||||
|
<div style="margin-bottom: 10px; display: flex; justify-content: space-between;">
|
||||||
|
<h4 style="margin: 0;">SLA Matrix (Days to Patch)</h4>
|
||||||
|
</div>
|
||||||
|
<table style="font-size: 0.85rem; width: 100%; text-align: left;">
|
||||||
|
<thead><tr><th style="padding-bottom: 5px;">Severity</th><th>Triage</th><th>Patch</th></tr></thead>
|
||||||
|
<tbody>
|
||||||
|
<tr class="sla-row"><td style="padding: 4px 0;"><span class="badge critical">Critical</span></td><td>1</td><td>3</td></tr>
|
||||||
|
<tr class="sla-row"><td style="padding: 4px 0;"><span class="badge high">High</span></td><td>3</td><td>14</td></tr>
|
||||||
|
<tr class="sla-row"><td style="padding: 4px 0;"><span class="badge medium">Medium</span></td><td>7</td><td>30</td></tr>
|
||||||
|
<tr class="sla-row"><td style="padding: 4px 0;"><span class="badge low">Low</span></td><td>14</td><td>90</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="flex: 2;">
|
|
||||||
<div style="margin-bottom: 10px; display: flex; justify-content: space-between;">
|
|
||||||
<h4 style="margin: 0;">SLA Matrix (Days to Patch)</h4>
|
|
||||||
</div>
|
|
||||||
<table style="font-size: 0.85rem; width: 100%; text-align: left;">
|
|
||||||
<thead><tr><th style="padding-bottom: 5px;">Severity</th><th>Triage</th><th>Patch</th></tr></thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="sla-row"><td style="padding: 4px 0;"><span class="badge critical">Critical</span></td><td>1</td><td>3</td></tr>
|
|
||||||
<tr class="sla-row"><td style="padding: 4px 0;"><span class="badge high">High</span></td><td>3</td><td>14</td></tr>
|
|
||||||
<tr class="sla-row"><td style="padding: 4px 0;"><span class="badge medium">Medium</span></td><td>7</td><td>30</td></tr>
|
|
||||||
<tr class="sla-row"><td style="padding: 4px 0;"><span class="badge low">Low</span></td><td>14</td><td>90</td></tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{{end}}
|
||||||
|
|
||||||
<div style="border: 1px solid #e2e8f0; border-radius: 8px; padding: 15px; display: flex; flex-direction: column;">
|
<div style="border: 1px solid #e2e8f0; border-radius: 8px; padding: 15px; display: flex; flex-direction: column;">
|
||||||
<h3 style="margin: 0 0 15px 0;">⚙️ Operations</h3>
|
<h3 style="margin: 0 0 15px 0;">⚙️ Operations</h3>
|
||||||
|
|
||||||
<div style="margin-bottom: 20px;">
|
{{block "pro_backups" .}}
|
||||||
<label style="font-weight: bold; display: flex; justify-content: space-between;">
|
<div style="margin-bottom: 20px;">
|
||||||
Automated Backups
|
<label style="font-weight: bold; display: flex; justify-content: space-between;">
|
||||||
<span style="font-size: 0.75rem; color: #8b5cf6; font-weight: normal;">Pro Feature</span>
|
Automated Backups
|
||||||
</label>
|
<span style="font-size: 0.75rem; color: #8b5cf6; font-weight: normal;">Pro Feature</span>
|
||||||
<div style="display: flex; gap: 10px; margin-top: 5px;">
|
</label>
|
||||||
<select disabled style="flex: 1; padding: 6px; background: #f1f5f9; color: #94a3b8; cursor: not-allowed; border: 1px solid #cbd5e1;">
|
<div style="display: flex; gap: 10px; margin-top: 5px;">
|
||||||
<option>Manual Only (Free Core)</option>
|
<select disabled style="flex: 1; padding: 6px; background: #f1f5f9; color: #94a3b8; cursor: not-allowed; border: 1px solid #cbd5e1;">
|
||||||
<option>Daily Automated</option>
|
<option>Manual Only (Free Core)</option>
|
||||||
<option>Weekly Automated</option>
|
<option>Daily Automated</option>
|
||||||
</select>
|
<option>Weekly Automated</option>
|
||||||
<button class="btn btn-secondary" style="color: #94a3b8; border-color: #cbd5e1;" onclick="showUpsell('Automated DB Backups')">🔒 Apply</button>
|
</select>
|
||||||
|
<button class="btn btn-secondary" style="color: #94a3b8; border-color: #cbd5e1;" onclick="showUpsell('Automated DB Backups')">🔒 Apply</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{{end}}
|
||||||
|
|
||||||
<div style="margin-bottom: 20px;">
|
<div style="margin-bottom: 20px;">
|
||||||
<label style="font-weight: bold;">Data Portability</label>
|
<label style="font-weight: bold;">Data Portability</label>
|
||||||
|
|||||||
@@ -8,9 +8,11 @@
|
|||||||
</a>
|
</a>
|
||||||
<a href="/dashboard?tab=chute" class="tab-btn {{if eq .CurrentTab "chute"}}active{{end}}">🤠 The Chute (Assigned)</a>
|
<a href="/dashboard?tab=chute" class="tab-btn {{if eq .CurrentTab "chute"}}active{{end}}">🤠 The Chute (Assigned)</a>
|
||||||
|
|
||||||
<a href="javascript:void(0)" onclick="showUpsell('E2E Exception & Verification Pipeline')" class="tab-btn" style="color: #94a3b8;">
|
{{block "pro_verification_tab" .}}
|
||||||
🔒 Pending Verification (Pro)
|
<a href="javascript:void(0)" onclick="showUpsell('E2E Exception & Verification Pipeline')" class="tab-btn" style="color: #94a3b8;">
|
||||||
</a>
|
🔒 Pending Verification (Pro)
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
|
||||||
<a href="/dashboard?tab=archives" class="tab-btn {{if eq .CurrentTab "archives"}}active{{end}}">
|
<a href="/dashboard?tab=archives" class="tab-btn {{if eq .CurrentTab "archives"}}active{{end}}">
|
||||||
🗄️ The Archives
|
🗄️ The Archives
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
{{define "content"}}
|
{{define "content"}}
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
window.CurrentTab = "{{.CurrentTab}}";
|
window.CurrentTab = "{{.CurrentTab}}";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{{template "dash_tabs" .}}
|
{{template "dash_tabs" .}}
|
||||||
|
|
||||||
|
{{block "pro_risk_tab_content" .}}{{end}}
|
||||||
|
|
||||||
<div class="tab-pane active">
|
<div class="tab-pane active">
|
||||||
{{template "dash_table" .}}
|
{{template "dash_table" .}}
|
||||||
</div>
|
</div>
|
||||||
@@ -13,5 +14,4 @@
|
|||||||
{{template "dash_modals" .}}
|
{{template "dash_modals" .}}
|
||||||
|
|
||||||
<script src="/static/dashboard.js"></script>
|
<script src="/static/dashboard.js"></script>
|
||||||
|
|
||||||
{{end}}
|
{{end}}
|
||||||
Reference in New Issue
Block a user