@leverege/build-tools 2.58.0 → 2.58.2
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.
- package/package.json +4 -4
- package/src/Docker.mjs +14 -5
- package/src/Utils.mjs +4 -1
- package/src/docker-to-registry.mjs +4 -1
- package/src/generate-docs-conf.json +40 -0
- package/src/generate-docs.mjs +61 -0
- package/src/helm-charts/geotile-server/values-local.yaml +1 -1
- package/src/helm-charts/prom-operator/rules/cnpg-rules.yaml +12 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leverege/build-tools",
|
|
3
|
-
"version": "2.58.
|
|
3
|
+
"version": "2.58.2",
|
|
4
4
|
"description": "A collection of build / support tools for Leverege developers",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": {
|
|
@@ -65,10 +65,10 @@
|
|
|
65
65
|
"command-line-usage": "^7.0.3",
|
|
66
66
|
"deepmerge": "^4.3.1",
|
|
67
67
|
"enquirer": "^2.4.1",
|
|
68
|
-
"execa": "^9.5.
|
|
68
|
+
"execa": "^9.5.2",
|
|
69
69
|
"glob": "^11.0.0",
|
|
70
70
|
"handlebars": "^4.7.8",
|
|
71
|
-
"inquirer": "^12.
|
|
71
|
+
"inquirer": "^12.2.0",
|
|
72
72
|
"js-yaml": "^4.1.0",
|
|
73
73
|
"ms": "^2.1.3",
|
|
74
74
|
"npm-registry-fetch": "^18.0.2",
|
|
@@ -82,6 +82,6 @@
|
|
|
82
82
|
},
|
|
83
83
|
"devDependencies": {
|
|
84
84
|
"@leverege/eslint-config-leverege": "^5.0.1",
|
|
85
|
-
"npm": "^10.9.
|
|
85
|
+
"npm": "^10.9.2"
|
|
86
86
|
}
|
|
87
87
|
}
|
package/src/Docker.mjs
CHANGED
|
@@ -13,6 +13,9 @@ import {
|
|
|
13
13
|
warning
|
|
14
14
|
} from './Utils.mjs'
|
|
15
15
|
|
|
16
|
+
// TODO: change default to node 22 (jod) after 01/01/25
|
|
17
|
+
const dockerfileNodeVersion = process.env.USE_NODEJS_22 ? 'jod-alpine' : 'iron-alpine'
|
|
18
|
+
|
|
16
19
|
// The contents of these variables were initially located in files that live in
|
|
17
20
|
// the build-tools repository, but it just became simpler to pull the contents
|
|
18
21
|
// directly into these variables and forego the file loading.
|
|
@@ -183,9 +186,15 @@ const setPreviousBuild = ( version ) => {
|
|
|
183
186
|
fs.writeFileSync( previousFile, version )
|
|
184
187
|
}
|
|
185
188
|
|
|
186
|
-
const generateDockerfile = (
|
|
189
|
+
const generateDockerfile = ( options ) => {
|
|
190
|
+
|
|
191
|
+
const settings = { ...defaultSettings, ...options }
|
|
187
192
|
|
|
188
|
-
|
|
193
|
+
// defaults to the current "official" version of node unless it gets
|
|
194
|
+
// overridden in the leverege.nodeimg package.json stanza
|
|
195
|
+
if ( !settings.nodeimage ) {
|
|
196
|
+
settings.nodeimage = dockerfileNodeVersion
|
|
197
|
+
}
|
|
189
198
|
|
|
190
199
|
// Ensure the presence of the docker dir with plugin and bashrc - this code
|
|
191
200
|
// could probably be tightened up a little.
|
|
@@ -225,14 +234,14 @@ const generateDockerfile = ( settings = defaultSettings ) => {
|
|
|
225
234
|
|
|
226
235
|
// At this point the plugin template better exist.
|
|
227
236
|
if ( fs.existsSync( dockerfilePlugin ) ) {
|
|
228
|
-
|
|
237
|
+
settings.pluginfile = fs.readFileSync( dockerfilePlugin )
|
|
229
238
|
} else {
|
|
230
239
|
errorExit( `***ERROR: something went wrong with ${dockerfilePlugin} plugin creation` )
|
|
231
240
|
}
|
|
232
241
|
|
|
233
242
|
const dockerfilePrePlugin = './docker/DockerfilePreInstall.plugin'
|
|
234
243
|
if ( fs.existsSync( dockerfilePrePlugin ) ) {
|
|
235
|
-
|
|
244
|
+
settings.preInstallPluginfile = fs.readFileSync( dockerfilePrePlugin )
|
|
236
245
|
}
|
|
237
246
|
|
|
238
247
|
const compiled = handlebars.compile( dockerfileTemplate, { noEscape : true } )
|
|
@@ -247,7 +256,7 @@ const generateDockerfile = ( settings = defaultSettings ) => {
|
|
|
247
256
|
}
|
|
248
257
|
|
|
249
258
|
const previousBuild = getPreviousBuild()
|
|
250
|
-
const dockerInfo = { dockerfile, previousBuild, ...
|
|
259
|
+
const dockerInfo = { dockerfile, previousBuild, ...settings }
|
|
251
260
|
delete dockerInfo.pluginfile
|
|
252
261
|
return dockerInfo
|
|
253
262
|
}
|
package/src/Utils.mjs
CHANGED
|
@@ -237,7 +237,10 @@ https://console.cloud.google.com/artifacts/browse/leverege-registry?project=leve
|
|
|
237
237
|
}
|
|
238
238
|
|
|
239
239
|
// DEPRECATED: leverege.nodeimg
|
|
240
|
-
|
|
240
|
+
//
|
|
241
|
+
// NOTE: added nodeimg support back in but leaving this here and disabled
|
|
242
|
+
// by checking for xnodeimg vice nodeimg - still not sure we're keeping
|
|
243
|
+
if ( packageJson?.leverege?.xnodeimg ) {
|
|
241
244
|
const removeLine = `"nodeimg": "${packageJson.leverege.nodeimg}",`
|
|
242
245
|
|
|
243
246
|
const deprecationError = 'leverege.nodeimg is no longer supported'
|
|
@@ -94,7 +94,10 @@ if ( semver.lt( semver.coerce( repoDescr.buildToolsVersion ), minimumBuildToolsV
|
|
|
94
94
|
errorExit( `Error: package.json @leverege/build-tools minimum version is ^${minimumBuildToolsVersion}` )
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
const dockerInfo = await docker.generateDockerfile(
|
|
97
|
+
const dockerInfo = await docker.generateDockerfile( {
|
|
98
|
+
regvers : repoDescr.packageVersion,
|
|
99
|
+
nodeimage : repoDescr.closestPackageJson.leverege?.nodeimg, // left as nodeimg in package.json for backwards compat
|
|
100
|
+
} )
|
|
98
101
|
debug( { dockerInfo }, '<==The Docker Info' )
|
|
99
102
|
|
|
100
103
|
const {
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tags": {
|
|
3
|
+
"allowUnknownTags": false
|
|
4
|
+
},
|
|
5
|
+
"source": {
|
|
6
|
+
"includePattern": "\\.(js|mjs|jsx)$",
|
|
7
|
+
"excludePattern": "(node_modules/|docs)"
|
|
8
|
+
},
|
|
9
|
+
"plugins": [],
|
|
10
|
+
"templates": {
|
|
11
|
+
"cleverLinks": true,
|
|
12
|
+
"monospaceLinks": false,
|
|
13
|
+
"default": {
|
|
14
|
+
"useLongnameInNav": true,
|
|
15
|
+
"outputSourceFiles": false
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"opts": {
|
|
19
|
+
"template": "node_modules/@leverege/jsdoc-template",
|
|
20
|
+
"encoding": "utf8",
|
|
21
|
+
"lenient": false
|
|
22
|
+
},
|
|
23
|
+
"docdash": {
|
|
24
|
+
"static": true,
|
|
25
|
+
"sort": false,
|
|
26
|
+
"search": true,
|
|
27
|
+
"collapse": true,
|
|
28
|
+
"typedefs": true,
|
|
29
|
+
"removeQuotes": "none",
|
|
30
|
+
"scripts": [],
|
|
31
|
+
"menu":{
|
|
32
|
+
"Bitbucket": {
|
|
33
|
+
"href":"https://bitbucket.org/leverege/IF_THIS_MAKES_SENSE",
|
|
34
|
+
"target":"_blank",
|
|
35
|
+
"class":"menu-item",
|
|
36
|
+
"id":"repository"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/*
|
|
3
|
+
* Encapsulates the rather lengthy jsdoc / md docs npm script:
|
|
4
|
+
*
|
|
5
|
+
* npx jsdoc -c ./jsdoc.json -R README.md -d docs src && \
|
|
6
|
+
* mkdir -p docs/md && \
|
|
7
|
+
* npx --package=jsdoc-to-markdown jsdoc2md --files src/*.js --configure ./jsdoc.json > docs/md/API.md
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
import {
|
|
11
|
+
condir,
|
|
12
|
+
debug,
|
|
13
|
+
getRepositoryDescr,
|
|
14
|
+
log,
|
|
15
|
+
shellCmd,
|
|
16
|
+
} from './Utils.mjs'
|
|
17
|
+
|
|
18
|
+
const jsdocConfig = `{
|
|
19
|
+
"tags": {
|
|
20
|
+
"allowUnknownTags": false
|
|
21
|
+
},
|
|
22
|
+
"source": {
|
|
23
|
+
"includePattern": "\\.(js|mjs|jsx)$",
|
|
24
|
+
"excludePattern": "(node_modules/|docs)"
|
|
25
|
+
},
|
|
26
|
+
"plugins": [],
|
|
27
|
+
"templates": {
|
|
28
|
+
"cleverLinks": true,
|
|
29
|
+
"monospaceLinks": false,
|
|
30
|
+
"default": {
|
|
31
|
+
"useLongnameInNav": true,
|
|
32
|
+
"outputSourceFiles": false
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"opts": {
|
|
36
|
+
"template": "node_modules/@leverege/jsdoc-template",
|
|
37
|
+
"encoding": "utf8",
|
|
38
|
+
"lenient": false
|
|
39
|
+
},
|
|
40
|
+
"docdash": {
|
|
41
|
+
"static": true,
|
|
42
|
+
"sort": false,
|
|
43
|
+
"search": true,
|
|
44
|
+
"collapse": true,
|
|
45
|
+
"typedefs": true,
|
|
46
|
+
"removeQuotes": "none",
|
|
47
|
+
"scripts": [],
|
|
48
|
+
"menu":{
|
|
49
|
+
"Bitbucket": {
|
|
50
|
+
"href":"https://bitbucket.org/leverege/IF_THIS_MAKES_SENSE",
|
|
51
|
+
"target":"_blank",
|
|
52
|
+
"class":"menu-item",
|
|
53
|
+
"id":"repository"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}`
|
|
58
|
+
|
|
59
|
+
const repoDescr = await getRepositoryDescr()
|
|
60
|
+
|
|
61
|
+
condir( { jsdocConfig, repoDescr }, '<==The Repo' )
|
|
@@ -51,12 +51,21 @@ spec:
|
|
|
51
51
|
for: 1m
|
|
52
52
|
labels:
|
|
53
53
|
severity: warning
|
|
54
|
-
|
|
54
|
+
# - alert: DatabaseDeadlockConflicts (original)
|
|
55
|
+
# annotations:
|
|
56
|
+
# description: There are over 10 deadlock conflicts in {{ $labels.pod }}
|
|
57
|
+
# summary: Checks the number of database conflicts
|
|
58
|
+
# expr: |-
|
|
59
|
+
# cnpg_pg_stat_database_deadlocks > 10
|
|
60
|
+
# for: 1m
|
|
61
|
+
# labels:
|
|
62
|
+
# severity: warning
|
|
63
|
+
- alert: DatabaseDeadlockConflicts
|
|
55
64
|
annotations:
|
|
56
|
-
description:
|
|
65
|
+
description: deadlocks are occurring {{ $labels.pod }}
|
|
57
66
|
summary: Checks the number of database conflicts
|
|
58
67
|
expr: |-
|
|
59
|
-
cnpg_pg_stat_database_deadlocks >
|
|
68
|
+
rate(cnpg_pg_stat_database_deadlocks[5m]) > 0
|
|
60
69
|
for: 1m
|
|
61
70
|
labels:
|
|
62
71
|
severity: warning
|