@chisquare-tech/origine-ngx-apps-services 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -569,7 +569,7 @@ class ServicesNewPage {
569
569
  }
570
570
  pickEngine(e) {
571
571
  if (!e.available) {
572
- this.error.set(`${e.name} arrives at GA.`);
572
+ this.error.set(`${e.name} cannot be created here.`);
573
573
  return;
574
574
  }
575
575
  this.error.set('');
@@ -645,7 +645,7 @@ class ServicesNewPage {
645
645
  @for (e of engines(); track e.id) {
646
646
  <button type="button" class="o-opt" [class.o-on]="engine()?.id === e.id" [class.o-dis]="!e.available" (click)="pickEngine(e)" [attr.data-testid]="'svc-engine-' + e.id">
647
647
  <span class="o-rad" [class.o-on]="engine()?.id === e.id"></span>
648
- <div class="o-col" style="gap:3px;flex:1"><span class="o-flex"><b>{{ e.name }}</b>@if (e.tag) {<b class="o-ph-tag o-ga">{{ e.tag }}</b>}</span><span class="o-faint o-sm o-lh">{{ e.description }}</span></div>
648
+ <div class="o-col" style="gap:3px;flex:1"><span class="o-flex"><b>{{ e.name }}</b>@if (!e.available) {<span class="o-chip">Not available</span>}</span><span class="o-faint o-sm o-lh">{{ e.description }}</span></div>
649
649
  </button>
650
650
  }
651
651
  </div>
@@ -769,7 +769,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
769
769
  @for (e of engines(); track e.id) {
770
770
  <button type="button" class="o-opt" [class.o-on]="engine()?.id === e.id" [class.o-dis]="!e.available" (click)="pickEngine(e)" [attr.data-testid]="'svc-engine-' + e.id">
771
771
  <span class="o-rad" [class.o-on]="engine()?.id === e.id"></span>
772
- <div class="o-col" style="gap:3px;flex:1"><span class="o-flex"><b>{{ e.name }}</b>@if (e.tag) {<b class="o-ph-tag o-ga">{{ e.tag }}</b>}</span><span class="o-faint o-sm o-lh">{{ e.description }}</span></div>
772
+ <div class="o-col" style="gap:3px;flex:1"><span class="o-flex"><b>{{ e.name }}</b>@if (!e.available) {<span class="o-chip">Not available</span>}</span><span class="o-faint o-sm o-lh">{{ e.description }}</span></div>
773
773
  </button>
774
774
  }
775
775
  </div>
@@ -1260,7 +1260,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
1260
1260
  }]
1261
1261
  }], propDecorators: { d: [{ type: i0.Input, args: [{ isSignal: true, alias: "d", required: true }] }], projectKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "projectKey", required: true }] }], dumps: [{ type: i0.Input, args: [{ isSignal: true, alias: "dumps", required: false }] }], done: [{ type: i0.Output, args: ["done"] }], failed: [{ type: i0.Output, args: ["failed"] }] } });
1262
1262
 
1263
- const COLOUR = { ERROR: 'var(--o-bad-solid)', FATAL: 'var(--o-bad-solid)', PANIC: 'var(--o-bad-solid)', WARNING: 'var(--o-run)' };
1263
+ const COLOUR = { ERROR: 'var(--o-term-del)', FATAL: 'var(--o-term-del)', PANIC: 'var(--o-term-del)', WARNING: 'var(--o-run)' };
1264
1264
  // The instance page's Logs tab (prototype "svc · logs"): the engine's own log from its pods —
1265
1265
  // all, errors, the slow log, connections — newest first, refreshed every 10 s.
1266
1266
  class ServiceLogsTab {
@@ -1467,7 +1467,7 @@ class ServiceMetricsTab {
1467
1467
  }
1468
1468
  </div>
1469
1469
  <div class="o-card">
1470
- <div class="o-ch"><b>Slow queries</b><span class="o-faint o-sm">the latest from the slow log · over 250 ms</span><b class="o-ph-tag o-ga">GA</b><span class="o-r o-faint o-sm">normalised, top by total time at GA</span></div>
1470
+ <div class="o-ch"><b>Slow queries</b><span class="o-faint o-sm">the latest from the slow log · over 250 ms</span></div>
1471
1471
  <div class="o-tbl">
1472
1472
  <div class="o-thead"><div class="o-tr"><div class="o-th">Query</div><div class="o-th o-num">Duration</div><div class="o-th o-num">When</div></div></div>
1473
1473
  <div class="o-tbody">
@@ -1511,7 +1511,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
1511
1511
  }
1512
1512
  </div>
1513
1513
  <div class="o-card">
1514
- <div class="o-ch"><b>Slow queries</b><span class="o-faint o-sm">the latest from the slow log · over 250 ms</span><b class="o-ph-tag o-ga">GA</b><span class="o-r o-faint o-sm">normalised, top by total time at GA</span></div>
1514
+ <div class="o-ch"><b>Slow queries</b><span class="o-faint o-sm">the latest from the slow log · over 250 ms</span></div>
1515
1515
  <div class="o-tbl">
1516
1516
  <div class="o-thead"><div class="o-tr"><div class="o-th">Query</div><div class="o-th o-num">Duration</div><div class="o-th o-num">When</div></div></div>
1517
1517
  <div class="o-tbody">
@@ -2215,9 +2215,6 @@ class ServicePage {
2215
2215
  <div class="o-cf">Per-app users: attach with “Own user” and each app gets its own least-privilege login, removed when it is detached</div>
2216
2216
  </div>
2217
2217
  </div>
2218
- @if (d.engine === 'postgres') {
2219
- <div class="o-card o-cb o-flex o-wrap"><div class="o-col" style="gap:2px"><b>Extensions</b><span class="o-hint">From the allow-list: pg_stat_statements, pgcrypto, uuid-ossp, citext, pg_trgm, postgis</span></div><div class="o-flex o-r"><b class="o-ph-tag o-ga">GA</b><button type="button" class="o-btn o-sm" disabled>+ Enable</button></div></div>
2220
- }
2221
2218
  }
2222
2219
  @case ('backups') {
2223
2220
  <div class="o-split o-w340">
@@ -2231,7 +2228,7 @@ class ServicePage {
2231
2228
  @if (b.kind === 'on-demand' && d.canManage && b.phase !== 'running') {<button type="button" class="o-lnk o-faint" [class.o-r]="b.phase !== 'completed'" (click)="deleteBackup(d, b)" [attr.aria-label]="'Delete ' + b.name" [disabled]="busy()">×</button>}
2232
2229
  </div>
2233
2230
  } @empty {<div class="o-empty">No backups yet. The first is taken once {{ d.name }} is running.</div>}
2234
- <div class="o-cf">Stored encrypted in a separate failure domain. Cross-region copies<b class="o-ph-tag o-later">Later</b></div>
2231
+ <div class="o-cf">Stored encrypted in a separate failure domain.</div>
2235
2232
  </div>
2236
2233
  <div class="o-col" style="gap:14px">
2237
2234
  @if (d.pitr) {
@@ -2280,7 +2277,6 @@ class ServicePage {
2280
2277
  <label class="o-flex o-sm" style="gap:6px">Disk <input class="o-in o-sm o-mono" style="width:80px" type="number" [min]="d.diskGb" [max]="catalog()?.maxDiskGb ?? 2000" [disabled]="!d.canManage" [ngModel]="newDisk()" (ngModelChange)="newDisk.set(+$event)" data-testid="svc-disk" /> GB</label>
2281
2278
  <button type="button" class="o-btn o-dark" (click)="resize(d)" [disabled]="busy() || !d.canManage || (newPlan() === d.plan && newDisk() === d.diskGb)" data-testid="svc-resize">Resize</button>
2282
2279
  </div>
2283
- <div class="o-cf"><button type="button" class="o-tog" disabled aria-label="Grow storage automatically (GA)"></button>Grow storage automatically at 85% full, up to 500 GB<b class="o-ph-tag o-ga">GA</b></div>
2284
2280
  </div>
2285
2281
  <div class="o-card" data-testid="svc-ha">
2286
2282
  <div class="o-ch"><b>High availability</b><span class="o-r">{{ d.readyNodes }} of {{ d.nodes }} node{{ d.nodes === 1 ? '' : 's' }} ready</span></div>
@@ -2550,9 +2546,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
2550
2546
  <div class="o-cf">Per-app users: attach with “Own user” and each app gets its own least-privilege login, removed when it is detached</div>
2551
2547
  </div>
2552
2548
  </div>
2553
- @if (d.engine === 'postgres') {
2554
- <div class="o-card o-cb o-flex o-wrap"><div class="o-col" style="gap:2px"><b>Extensions</b><span class="o-hint">From the allow-list: pg_stat_statements, pgcrypto, uuid-ossp, citext, pg_trgm, postgis</span></div><div class="o-flex o-r"><b class="o-ph-tag o-ga">GA</b><button type="button" class="o-btn o-sm" disabled>+ Enable</button></div></div>
2555
- }
2556
2549
  }
2557
2550
  @case ('backups') {
2558
2551
  <div class="o-split o-w340">
@@ -2566,7 +2559,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
2566
2559
  @if (b.kind === 'on-demand' && d.canManage && b.phase !== 'running') {<button type="button" class="o-lnk o-faint" [class.o-r]="b.phase !== 'completed'" (click)="deleteBackup(d, b)" [attr.aria-label]="'Delete ' + b.name" [disabled]="busy()">×</button>}
2567
2560
  </div>
2568
2561
  } @empty {<div class="o-empty">No backups yet. The first is taken once {{ d.name }} is running.</div>}
2569
- <div class="o-cf">Stored encrypted in a separate failure domain. Cross-region copies<b class="o-ph-tag o-later">Later</b></div>
2562
+ <div class="o-cf">Stored encrypted in a separate failure domain.</div>
2570
2563
  </div>
2571
2564
  <div class="o-col" style="gap:14px">
2572
2565
  @if (d.pitr) {
@@ -2615,7 +2608,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
2615
2608
  <label class="o-flex o-sm" style="gap:6px">Disk <input class="o-in o-sm o-mono" style="width:80px" type="number" [min]="d.diskGb" [max]="catalog()?.maxDiskGb ?? 2000" [disabled]="!d.canManage" [ngModel]="newDisk()" (ngModelChange)="newDisk.set(+$event)" data-testid="svc-disk" /> GB</label>
2616
2609
  <button type="button" class="o-btn o-dark" (click)="resize(d)" [disabled]="busy() || !d.canManage || (newPlan() === d.plan && newDisk() === d.diskGb)" data-testid="svc-resize">Resize</button>
2617
2610
  </div>
2618
- <div class="o-cf"><button type="button" class="o-tog" disabled aria-label="Grow storage automatically (GA)"></button>Grow storage automatically at 85% full, up to 500 GB<b class="o-ph-tag o-ga">GA</b></div>
2619
2611
  </div>
2620
2612
  <div class="o-card" data-testid="svc-ha">
2621
2613
  <div class="o-ch"><b>High availability</b><span class="o-r">{{ d.readyNodes }} of {{ d.nodes }} node{{ d.nodes === 1 ? '' : 's' }} ready</span></div>