@secustor/backstage-plugin-renovate-backend 0.11.1 → 0.13.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 (34) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +19 -0
  3. package/config.d.ts +3 -3
  4. package/dist/config/index.cjs.js +43 -0
  5. package/dist/config/index.cjs.js.map +1 -0
  6. package/dist/index.cjs.js +4 -1398
  7. package/dist/index.cjs.js.map +1 -1
  8. package/dist/plugin.cjs.js +68 -0
  9. package/dist/plugin.cjs.js.map +1 -0
  10. package/dist/queue/factory.cjs.js +15 -0
  11. package/dist/queue/factory.cjs.js.map +1 -0
  12. package/dist/schema/openapi.generated.cjs.js +636 -0
  13. package/dist/schema/openapi.generated.cjs.js.map +1 -0
  14. package/dist/service/cleanupTask.cjs.js +39 -0
  15. package/dist/service/cleanupTask.cjs.js.map +1 -0
  16. package/dist/service/databaseHandler.cjs.js +255 -0
  17. package/dist/service/databaseHandler.cjs.js.map +1 -0
  18. package/dist/service/jobSync.cjs.js +45 -0
  19. package/dist/service/jobSync.cjs.js.map +1 -0
  20. package/dist/service/router.cjs.js +127 -0
  21. package/dist/service/router.cjs.js.map +1 -0
  22. package/dist/service/schema.cjs.js +13 -0
  23. package/dist/service/schema.cjs.js.map +1 -0
  24. package/dist/service/types.cjs.js +14 -0
  25. package/dist/service/types.cjs.js.map +1 -0
  26. package/dist/wrapper/platforms/github.cjs.js +13 -0
  27. package/dist/wrapper/platforms/github.cjs.js.map +1 -0
  28. package/dist/wrapper/platforms/index.cjs.js +80 -0
  29. package/dist/wrapper/platforms/index.cjs.js.map +1 -0
  30. package/dist/wrapper/renovateRunner.cjs.js +119 -0
  31. package/dist/wrapper/renovateRunner.cjs.js.map +1 -0
  32. package/dist/wrapper/utils.cjs.js +62 -0
  33. package/dist/wrapper/utils.cjs.js.map +1 -0
  34. package/package.json +12 -12
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @secustor/backstage-plugin-renovate-backend
2
2
 
3
+ ## 0.13.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#413](https://github.com/secustor/backstage-plugins/pull/413) [`6590670`](https://github.com/secustor/backstage-plugins/commit/6590670257a3cac792a8d423f58877925302729b) Thanks [@secustor](https://github.com/secustor)! - Update Backstage to 1.32.1
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [[`6590670`](https://github.com/secustor/backstage-plugins/commit/6590670257a3cac792a8d423f58877925302729b)]:
12
+ - @secustor/backstage-plugin-renovate-common@0.7.0
13
+ - @secustor/backstage-plugin-renovate-node@0.4.0
14
+
15
+ ## 0.12.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [#406](https://github.com/secustor/backstage-plugins/pull/406) [`51225fb`](https://github.com/secustor/backstage-plugins/commit/51225fbfcceb88c22a9882842e4f6adc2430382a) Thanks [@secustor](https://github.com/secustor)! - Allow disabling schedules
20
+
3
21
  ## 0.11.1
4
22
 
5
23
  ### Patch Changes
package/README.md CHANGED
@@ -24,6 +24,15 @@ Add the plugin to your Backstage instance:
24
24
  backend.add(import('@secustor/backstage-plugin-renovate-backend'));
25
25
  ```
26
26
 
27
+ Further, you need to add a queue and a runtime implementation.
28
+
29
+ See the respective plugins for more information:
30
+
31
+ - [@secustor/backstage-plugin-renovate-backend-module-queue-local](https://www.npmjs.com/package/@secustor/backstage-plugin-renovate-backend-module-queue-local)
32
+ - [@secustor/backstage-plugin-renovate-backend-module-queue-redis](https://www.npmjs.com/package/@secustor/backstage-plugin-renovate-backend-module-queue-redis)
33
+ - [@secustor/backstage-plugin-renovate-backend-module-runtime-direct](https://www.npmjs.com/package/@secustor/backstage-plugin-renovate-backend-module-runtime-direct)
34
+ - [@secustor/backstage-plugin-renovate-backend-module-runtime-docker](https://www.npmjs.com/package/@secustor/backstage-plugin-renovate-backend-module-runtime-docker)
35
+
27
36
  If you wish to install the frontend plugin, you can do so by following the instructions in the frontend plugin's [README](../renovate).
28
37
 
29
38
  ## Configuration
@@ -42,6 +51,14 @@ backend:
42
51
  store: redis
43
52
  connection: redis://user:pass@cache.example.com:6379
44
53
 
54
+ cors:
55
+ # expose paginagtion headers to the frontend
56
+ exposedHeaders:
57
+ - x-total-count
58
+ - x-current-page
59
+ - x-page-count
60
+ - x-page-size
61
+
45
62
  renovate:
46
63
  cache:
47
64
  # Allows turning off cache injection. You can still manually supply caches using the Renovate config
@@ -58,9 +75,11 @@ renovate:
58
75
 
59
76
  schedules:
60
77
  cleanup:
78
+ # enabled: true # default value
61
79
  frequency: { minutes: 60 }
62
80
  timeout: { minutes: 60 }
63
81
  renovation:
82
+ enabled: false # disable schedule. This is useful e.g. for local development
64
83
  frequency: { minutes: 60 }
65
84
  timeout: { minutes: 60 }
66
85
 
package/config.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { SchedulerServiceTaskScheduleDefinition } from '@backstage/backend-plugin-api';
2
1
  import { JsonObject } from '@backstage/types';
2
+ import { EnabledScheduleDefinition } from './src/config/types';
3
3
 
4
4
  export interface Config {
5
5
  renovate: {
@@ -30,12 +30,12 @@ export interface Config {
30
30
  /**
31
31
  * Schedule for the cleanup task
32
32
  */
33
- cleanup: SchedulerServiceTaskScheduleDefinition;
33
+ cleanup?: EnabledScheduleDefinition;
34
34
 
35
35
  /**
36
36
  * Schedule when a renovation of all repositories should be triggered
37
37
  */
38
- renovation: SchedulerServiceTaskScheduleDefinition;
38
+ renovation?: EnabledScheduleDefinition;
39
39
  };
40
40
 
41
41
  /**
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ var backendPluginApi = require('@backstage/backend-plugin-api');
4
+
5
+ const RENOVATE_ANNOTATION_KEEP_UPDATED = "renovate.secustor.dev/keep-updated";
6
+ function getPluginConfig(rootConfig) {
7
+ return rootConfig.getConfig("renovate");
8
+ }
9
+ function getRenovateConfig(rootConfig) {
10
+ const value = getPluginConfig(rootConfig).getOptional("config");
11
+ return value ?? null;
12
+ }
13
+ function getRuntimeConfigs(rootConfig) {
14
+ const runtimeConfig = getPluginConfig(rootConfig).getConfig("runtime");
15
+ const runtime = runtimeConfig.getString("type");
16
+ return {
17
+ runtime,
18
+ config: runtimeConfig.getConfig(runtime)
19
+ };
20
+ }
21
+ function getScheduleDefinition(pluginConfig, variant) {
22
+ try {
23
+ const scheduleConfig = pluginConfig.getConfig(`schedules.${variant}`);
24
+ return {
25
+ enabled: scheduleConfig.getOptionalBoolean("enabled") ?? true,
26
+ ...backendPluginApi.readSchedulerServiceTaskScheduleDefinitionFromConfig(scheduleConfig)
27
+ };
28
+ } catch (e) {
29
+ return {
30
+ enabled: true,
31
+ scope: "global",
32
+ timeout: { minutes: 60 },
33
+ frequency: { minutes: 60 }
34
+ };
35
+ }
36
+ }
37
+
38
+ exports.RENOVATE_ANNOTATION_KEEP_UPDATED = RENOVATE_ANNOTATION_KEEP_UPDATED;
39
+ exports.getPluginConfig = getPluginConfig;
40
+ exports.getRenovateConfig = getRenovateConfig;
41
+ exports.getRuntimeConfigs = getRuntimeConfigs;
42
+ exports.getScheduleDefinition = getScheduleDefinition;
43
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/config/index.ts"],"sourcesContent":["import { Config } from '@backstage/config';\nimport { readSchedulerServiceTaskScheduleDefinitionFromConfig } from '@backstage/backend-plugin-api';\nimport { JsonValue } from '@backstage/types';\n\nimport { EnabledScheduleDefinition } from './types';\n\nexport const RENOVATE_ANNOTATION_KEEP_UPDATED =\n 'renovate.secustor.dev/keep-updated';\n\nexport function getPluginConfig(rootConfig: Config): Config {\n return rootConfig.getConfig('renovate');\n}\n\nexport function getRenovateConfig(rootConfig: Config): JsonValue {\n const value = getPluginConfig(rootConfig).getOptional('config');\n return value ?? null;\n}\n\nexport function getRuntimeConfigs(rootConfig: Config): {\n runtime: string;\n config: Config | null;\n} {\n const runtimeConfig = getPluginConfig(rootConfig).getConfig('runtime');\n const runtime = runtimeConfig.getString('type');\n return {\n runtime,\n config: runtimeConfig.getConfig(runtime),\n };\n}\n\nexport function getScheduleDefinition(\n pluginConfig: Config,\n variant: 'renovation' | 'cleanup',\n): EnabledScheduleDefinition {\n try {\n const scheduleConfig = pluginConfig.getConfig(`schedules.${variant}`);\n return {\n enabled: scheduleConfig.getOptionalBoolean('enabled') ?? true,\n ...readSchedulerServiceTaskScheduleDefinitionFromConfig(scheduleConfig),\n };\n } catch (e) {\n return {\n enabled: true,\n scope: 'global',\n timeout: { minutes: 60 },\n frequency: { minutes: 60 },\n };\n }\n}\n"],"names":["readSchedulerServiceTaskScheduleDefinitionFromConfig"],"mappings":";;;;AAMO,MAAM,gCACX,GAAA,qCAAA;AAEK,SAAS,gBAAgB,UAA4B,EAAA;AAC1D,EAAO,OAAA,UAAA,CAAW,UAAU,UAAU,CAAA,CAAA;AACxC,CAAA;AAEO,SAAS,kBAAkB,UAA+B,EAAA;AAC/D,EAAA,MAAM,KAAQ,GAAA,eAAA,CAAgB,UAAU,CAAA,CAAE,YAAY,QAAQ,CAAA,CAAA;AAC9D,EAAA,OAAO,KAAS,IAAA,IAAA,CAAA;AAClB,CAAA;AAEO,SAAS,kBAAkB,UAGhC,EAAA;AACA,EAAA,MAAM,aAAgB,GAAA,eAAA,CAAgB,UAAU,CAAA,CAAE,UAAU,SAAS,CAAA,CAAA;AACrE,EAAM,MAAA,OAAA,GAAU,aAAc,CAAA,SAAA,CAAU,MAAM,CAAA,CAAA;AAC9C,EAAO,OAAA;AAAA,IACL,OAAA;AAAA,IACA,MAAA,EAAQ,aAAc,CAAA,SAAA,CAAU,OAAO,CAAA;AAAA,GACzC,CAAA;AACF,CAAA;AAEgB,SAAA,qBAAA,CACd,cACA,OAC2B,EAAA;AAC3B,EAAI,IAAA;AACF,IAAA,MAAM,cAAiB,GAAA,YAAA,CAAa,SAAU,CAAA,CAAA,UAAA,EAAa,OAAO,CAAE,CAAA,CAAA,CAAA;AACpE,IAAO,OAAA;AAAA,MACL,OAAS,EAAA,cAAA,CAAe,kBAAmB,CAAA,SAAS,CAAK,IAAA,IAAA;AAAA,MACzD,GAAGA,sEAAqD,cAAc,CAAA;AAAA,KACxE,CAAA;AAAA,WACO,CAAG,EAAA;AACV,IAAO,OAAA;AAAA,MACL,OAAS,EAAA,IAAA;AAAA,MACT,KAAO,EAAA,QAAA;AAAA,MACP,OAAA,EAAS,EAAE,OAAA,EAAS,EAAG,EAAA;AAAA,MACvB,SAAA,EAAW,EAAE,OAAA,EAAS,EAAG,EAAA;AAAA,KAC3B,CAAA;AAAA,GACF;AACF;;;;;;;;"}