@leverege/build-tools 2.101.2 → 2.103.0

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.
Files changed (43) hide show
  1. package/.vscode/launch.json +10 -0
  2. package/README.md +22 -9
  3. package/package.json +10 -13
  4. package/src/Utils.mjs +2 -0
  5. package/src/chart-to-registry.mjs +12 -1
  6. package/src/circle-orb-it/{circle-orb.yml → circle-npm.yml} +6 -3
  7. package/src/circle-orb-it/circle-orb-it.mjs +16 -11
  8. package/src/circle-orb-it/circle-yarn.yml +25 -0
  9. package/src/dashboard/DashboardManager.mjs +192 -17
  10. package/src/dashboard/dashboard.mjs +29 -4
  11. package/src/dashboard/json/{standard/noc-rows-12.json → devops/devops-noc.json} +801 -61
  12. package/src/dashboard/json/{standard/pvc-all-usage.json → devops/pvc-usage.json} +2 -2
  13. package/src/dashboard/json/leverege/leverege-noc.json +2364 -0
  14. package/src/dashboard/json/{standard/redis.json → leverege/leverege-rule-engine.json} +695 -646
  15. package/src/dashboard/json/leverege/leverege-services.json +4757 -0
  16. package/src/dashboard/json/recovr/recovr-locators.json +1227 -0
  17. package/src/dashboard/json/recovr/recovr-noc.json +1949 -0
  18. package/src/dashboard/json/recovr/recovr-position-srvr.json +339 -0
  19. package/src/dashboard/json/recovr/recovr-server.json +1127 -0
  20. package/src/dashboard/json/siren/siren-services.json +2066 -0
  21. package/src/dashboard/json/{standard/cloudnative-pg-20417-rev4.json → system/cloudnative-pg.json} +241 -243
  22. package/src/dashboard/json/{standard → system}/elasticsearch8.json +123 -72
  23. package/src/dashboard/json/system/stackdriver.json +1189 -0
  24. package/src/dashboard/json/{standard/traefik-op.json → system/traefik.json} +44 -56
  25. package/src/dashboard/json/{standard → system}/valkey.json +91 -86
  26. package/src/dashboard/json/{standard → tpi}/gpu-autoscaling-dashboard-ui-import.json +1 -1
  27. package/src/dashboard/json/tpi/leverege-noc.json +3624 -0
  28. package/src/helm-charts/prom-operator/helmup.plugin +1 -1
  29. package/src/helm-charts/prom-operator/prometheus-stack.yaml.ovh +15 -0
  30. package/src/helm-charts/prom-operator/rules/gke-maintenance-rules.yaml +19 -0
  31. package/src/helm-charts/prom-operator/stackdriver-exporter.yaml.ovh +2 -1
  32. package/src/helm-charts/valkey/valkey-local.yaml +1 -0
  33. package/src/helmup.sh +24 -1
  34. package/src/init-my-chart/Chartwright.mjs +1 -1
  35. package/src/init-my-chart/leaf-chart-templates/templates/extraobjects.yaml +1 -0
  36. package/src/overwhelm.mjs +5 -5
  37. package/src/push-my-chart.mjs +13 -4
  38. package/src/repo-panopticon.mjs +415 -0
  39. package/src/service-man/config/secrets/npmrc.json +1 -0
  40. package/src/service-man/config/secrets/tsdb-dense-password.json +13 -0
  41. package/src/dashboard/json/standard/stackdriver.json +0 -624
  42. package/src/pkgck.sh +0 -158
  43. /package/src/dashboard/json/{standard → devops}/k8s-api-latency.json +0 -0
@@ -5,7 +5,7 @@ import path from 'node:path'
5
5
  import { program } from 'commander'
6
6
  import chalk from 'chalk'
7
7
 
8
- import { enableDebug, errorExit, log } from '../Utils.mjs'
8
+ import { enableDebug, errorExit, log, shellCmd } from '../Utils.mjs'
9
9
 
10
10
  import DashboardManager from './DashboardManager.mjs'
11
11
 
@@ -17,16 +17,41 @@ program
17
17
  .argument( '[dir]', 'Directory of dashboard subfolders', defaultJsonDir )
18
18
  .option( '--list', 'List available dashboards without applying' )
19
19
  .option( '--dry-run', 'Show what would be applied without making changes' )
20
+ .option( '--prune', 'Delete ConfigMaps for dashboards no longer on disk' )
21
+ .option( '--local-dir <path>', 'Additional local directory of dashboards to apply alongside official ones' )
22
+ .option( '--prune-local', 'Delete ConfigMaps for local dashboards no longer on disk' )
20
23
  .option( '--debug', 'Enable debug logging' )
21
24
  .option( '-n, --namespace <ns>', 'Target Kubernetes namespace', 'prometheus' )
22
25
  .parse()
23
26
 
24
- const { list, dryRun, debug, namespace } = program.opts()
25
- const [ dir = defaultJsonDir ] = program.args
27
+ const { list, dryRun, prune, localDir, pruneLocal, debug, namespace } = program.opts()
28
+ const [ rawDir ] = program.args
29
+ const dir = rawDir ?
30
+ path.isAbsolute( rawDir ) ? rawDir : path.join( defaultJsonDir, rawDir ) :
31
+ defaultJsonDir
26
32
 
27
33
  if ( debug ) enableDebug()
28
34
 
29
- const mgr = new DashboardManager( { namespace, dryRun } )
35
+ // Read DASHBOARDS from overwhelm.yaml for the current context (exits early, no interactive prompts).
36
+ // If the key is absent or overwhelm.yaml is not present, all folders are loaded.
37
+ let folders = []
38
+ try {
39
+ const raw = ( await shellCmd( 'overwhelm -k DASHBOARDS' ) ).trim()
40
+ if ( raw ) {
41
+ folders = raw.split( ',' ).map( f => f.trim() ).filter( Boolean )
42
+ log( chalk.dim( `Dashboard folders from overwhelm: ${folders.join( ', ' )}` ) )
43
+ }
44
+ } catch {
45
+ // DASHBOARDS not configured — load all folders
46
+ }
47
+
48
+ try {
49
+ await shellCmd( 'overwhelm', { stdio : 'inherit' } )
50
+ } catch ( err ) {
51
+ process.exit( err.exitCode )
52
+ }
53
+
54
+ const mgr = new DashboardManager( { namespace, dryRun, prune, folders, localDir, pruneLocal } )
30
55
 
31
56
  if ( list ) {
32
57
  await mgr.list( dir ).catch( e => errorExit( e ) )