c2cciutils 1.7.0.dev174__py3-none-any.whl → 1.8.0.dev45__py3-none-any.whl

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.

Potentially problematic release.


This version of c2cciutils might be problematic. Click here for more details.

Files changed (35) hide show
  1. c2cciutils/__init__.py +15 -230
  2. c2cciutils/applications-versions.yaml +3 -3
  3. c2cciutils/applications_definition.py +20 -22
  4. c2cciutils/configuration.py +83 -554
  5. c2cciutils/env.py +8 -31
  6. c2cciutils/lib/docker.py +2 -8
  7. c2cciutils/lib/oidc.py +188 -0
  8. c2cciutils/package-lock.json +115 -127
  9. c2cciutils/package.json +1 -1
  10. c2cciutils/publish.py +26 -44
  11. c2cciutils/schema.json +3 -230
  12. c2cciutils/scripts/__init__.py +1 -3
  13. c2cciutils/scripts/clean.py +4 -11
  14. c2cciutils/scripts/docker_logs.py +4 -4
  15. c2cciutils/scripts/docker_versions_gen.py +0 -1
  16. c2cciutils/scripts/download_applications.py +0 -2
  17. c2cciutils/scripts/env.py +2 -6
  18. c2cciutils/scripts/k8s/__init__.py +1 -3
  19. c2cciutils/scripts/k8s/wait.py +2 -2
  20. c2cciutils/scripts/main.py +4 -16
  21. c2cciutils/scripts/publish.py +45 -31
  22. c2cciutils/scripts/trigger_image_update.py +3 -8
  23. c2cciutils/scripts/version.py +5 -4
  24. {c2cciutils-1.7.0.dev174.dist-info → c2cciutils-1.8.0.dev45.dist-info}/LICENSE +1 -1
  25. {c2cciutils-1.7.0.dev174.dist-info → c2cciutils-1.8.0.dev45.dist-info}/METADATA +29 -58
  26. c2cciutils-1.8.0.dev45.dist-info/RECORD +37 -0
  27. {c2cciutils-1.7.0.dev174.dist-info → c2cciutils-1.8.0.dev45.dist-info}/WHEEL +1 -1
  28. {c2cciutils-1.7.0.dev174.dist-info → c2cciutils-1.8.0.dev45.dist-info}/entry_points.txt +0 -3
  29. c2cciutils/audit.py +0 -229
  30. c2cciutils/pr_checks.py +0 -286
  31. c2cciutils/scripts/audit.py +0 -41
  32. c2cciutils/scripts/docker_versions_update.py +0 -85
  33. c2cciutils/scripts/pr_checks.py +0 -78
  34. c2cciutils/security.py +0 -59
  35. c2cciutils-1.7.0.dev174.dist-info/RECORD +0 -42
@@ -8,62 +8,83 @@
8
8
  "name": "c2ccicheck",
9
9
  "version": "1.0.0",
10
10
  "dependencies": {
11
- "snyk": "1.1283.0"
11
+ "snyk": "1.1294.3"
12
12
  }
13
13
  },
14
14
  "node_modules/@sentry-internal/tracing": {
15
- "version": "7.104.0",
16
- "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.104.0.tgz",
17
- "integrity": "sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==",
15
+ "version": "7.120.2",
16
+ "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.120.2.tgz",
17
+ "integrity": "sha512-eo2F8cP6X+vr54Mp6vu+NoQEDz0M5O24Tz8jPY0T1CpiWdwCmHb7Sln+oLXeQ3/LlWdVQihBfKDBZfBdUfsBTg==",
18
+ "license": "MIT",
18
19
  "dependencies": {
19
- "@sentry/core": "7.104.0",
20
- "@sentry/types": "7.104.0",
21
- "@sentry/utils": "7.104.0"
20
+ "@sentry/core": "7.120.2",
21
+ "@sentry/types": "7.120.2",
22
+ "@sentry/utils": "7.120.2"
22
23
  },
23
24
  "engines": {
24
25
  "node": ">=8"
25
26
  }
26
27
  },
27
28
  "node_modules/@sentry/core": {
28
- "version": "7.104.0",
29
- "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.104.0.tgz",
30
- "integrity": "sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==",
29
+ "version": "7.120.2",
30
+ "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.120.2.tgz",
31
+ "integrity": "sha512-eurLBFQJC7WWWYoEna25Z9I/GJjqAmH339tv52XP8sqXV7B5hRcHDcfrsT/UGHpU316M24p3lWhj0eimtCZ0SQ==",
32
+ "license": "MIT",
31
33
  "dependencies": {
32
- "@sentry/types": "7.104.0",
33
- "@sentry/utils": "7.104.0"
34
+ "@sentry/types": "7.120.2",
35
+ "@sentry/utils": "7.120.2"
36
+ },
37
+ "engines": {
38
+ "node": ">=8"
39
+ }
40
+ },
41
+ "node_modules/@sentry/integrations": {
42
+ "version": "7.120.2",
43
+ "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.120.2.tgz",
44
+ "integrity": "sha512-bMvL2fD3TGLM5YAUoQ2Qz6bYeVU8f7YRFNSjKNxK4EbvFgAU9j1FD6EKg0V0RNOJYnJjGIZYMmcWTXBbVTJL6w==",
45
+ "license": "MIT",
46
+ "dependencies": {
47
+ "@sentry/core": "7.120.2",
48
+ "@sentry/types": "7.120.2",
49
+ "@sentry/utils": "7.120.2",
50
+ "localforage": "^1.8.1"
34
51
  },
35
52
  "engines": {
36
53
  "node": ">=8"
37
54
  }
38
55
  },
39
56
  "node_modules/@sentry/node": {
40
- "version": "7.104.0",
41
- "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.104.0.tgz",
42
- "integrity": "sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==",
57
+ "version": "7.120.2",
58
+ "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.120.2.tgz",
59
+ "integrity": "sha512-ZnW9gpIGaoU+vYZyVZca9dObfmWYiXEWIMUM/JXaFb8AhP1OXvYweNiU0Pe/gNrz4oGAogU8scJc70ar7Vj0ww==",
60
+ "license": "MIT",
43
61
  "dependencies": {
44
- "@sentry-internal/tracing": "7.104.0",
45
- "@sentry/core": "7.104.0",
46
- "@sentry/types": "7.104.0",
47
- "@sentry/utils": "7.104.0"
62
+ "@sentry-internal/tracing": "7.120.2",
63
+ "@sentry/core": "7.120.2",
64
+ "@sentry/integrations": "7.120.2",
65
+ "@sentry/types": "7.120.2",
66
+ "@sentry/utils": "7.120.2"
48
67
  },
49
68
  "engines": {
50
69
  "node": ">=8"
51
70
  }
52
71
  },
53
72
  "node_modules/@sentry/types": {
54
- "version": "7.104.0",
55
- "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.104.0.tgz",
56
- "integrity": "sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==",
73
+ "version": "7.120.2",
74
+ "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.120.2.tgz",
75
+ "integrity": "sha512-FWVoiblHQJ892GaOqdXx/5/n5XDLF28z81vJ0lCY49PMh8waz8LJ0b9RSmt9tasSDl0OQ7eUlPl1xu1jTrv1NA==",
76
+ "license": "MIT",
57
77
  "engines": {
58
78
  "node": ">=8"
59
79
  }
60
80
  },
61
81
  "node_modules/@sentry/utils": {
62
- "version": "7.104.0",
63
- "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.104.0.tgz",
64
- "integrity": "sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==",
82
+ "version": "7.120.2",
83
+ "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.120.2.tgz",
84
+ "integrity": "sha512-jgnQlw11mRfQrQRAXbq4zEd+tbYwHel5eqeS/oU6EImXRjmHNtS79nB8MHvJeQu1FMCpFs1Ymrrs5FICwS6VeQ==",
85
+ "license": "MIT",
65
86
  "dependencies": {
66
- "@sentry/types": "7.104.0"
87
+ "@sentry/types": "7.120.2"
67
88
  },
68
89
  "engines": {
69
90
  "node": ">=8"
@@ -72,12 +93,15 @@
72
93
  "node_modules/boolean": {
73
94
  "version": "3.2.0",
74
95
  "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
75
- "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw=="
96
+ "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
97
+ "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
98
+ "license": "MIT"
76
99
  },
77
100
  "node_modules/define-data-property": {
78
101
  "version": "1.1.4",
79
102
  "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
80
103
  "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
104
+ "license": "MIT",
81
105
  "dependencies": {
82
106
  "es-define-property": "^1.0.0",
83
107
  "es-errors": "^1.3.0",
@@ -94,6 +118,7 @@
94
118
  "version": "1.2.1",
95
119
  "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
96
120
  "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
121
+ "license": "MIT",
97
122
  "dependencies": {
98
123
  "define-data-property": "^1.0.1",
99
124
  "has-property-descriptors": "^1.0.0",
@@ -109,15 +134,14 @@
109
134
  "node_modules/detect-node": {
110
135
  "version": "2.1.0",
111
136
  "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
112
- "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
137
+ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
138
+ "license": "MIT"
113
139
  },
114
140
  "node_modules/es-define-property": {
115
- "version": "1.0.0",
116
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
117
- "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
118
- "dependencies": {
119
- "get-intrinsic": "^1.2.4"
120
- },
141
+ "version": "1.0.1",
142
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
143
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
144
+ "license": "MIT",
121
145
  "engines": {
122
146
  "node": ">= 0.4"
123
147
  }
@@ -126,6 +150,7 @@
126
150
  "version": "1.3.0",
127
151
  "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
128
152
  "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
153
+ "license": "MIT",
129
154
  "engines": {
130
155
  "node": ">= 0.4"
131
156
  }
@@ -133,12 +158,14 @@
133
158
  "node_modules/es6-error": {
134
159
  "version": "4.1.1",
135
160
  "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
136
- "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg=="
161
+ "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
162
+ "license": "MIT"
137
163
  },
138
164
  "node_modules/escape-string-regexp": {
139
165
  "version": "4.0.0",
140
166
  "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
141
167
  "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
168
+ "license": "MIT",
142
169
  "engines": {
143
170
  "node": ">=10"
144
171
  },
@@ -146,36 +173,11 @@
146
173
  "url": "https://github.com/sponsors/sindresorhus"
147
174
  }
148
175
  },
149
- "node_modules/function-bind": {
150
- "version": "1.1.2",
151
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
152
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
153
- "funding": {
154
- "url": "https://github.com/sponsors/ljharb"
155
- }
156
- },
157
- "node_modules/get-intrinsic": {
158
- "version": "1.2.4",
159
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
160
- "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
161
- "dependencies": {
162
- "es-errors": "^1.3.0",
163
- "function-bind": "^1.1.2",
164
- "has-proto": "^1.0.1",
165
- "has-symbols": "^1.0.3",
166
- "hasown": "^2.0.0"
167
- },
168
- "engines": {
169
- "node": ">= 0.4"
170
- },
171
- "funding": {
172
- "url": "https://github.com/sponsors/ljharb"
173
- }
174
- },
175
176
  "node_modules/global-agent": {
176
177
  "version": "3.0.0",
177
178
  "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz",
178
179
  "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==",
180
+ "license": "BSD-3-Clause",
179
181
  "dependencies": {
180
182
  "boolean": "^3.0.1",
181
183
  "es6-error": "^4.1.1",
@@ -189,11 +191,13 @@
189
191
  }
190
192
  },
191
193
  "node_modules/globalthis": {
192
- "version": "1.0.3",
193
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
194
- "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
194
+ "version": "1.0.4",
195
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
196
+ "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
197
+ "license": "MIT",
195
198
  "dependencies": {
196
- "define-properties": "^1.1.3"
199
+ "define-properties": "^1.2.1",
200
+ "gopd": "^1.0.1"
197
201
  },
198
202
  "engines": {
199
203
  "node": ">= 0.4"
@@ -203,11 +207,12 @@
203
207
  }
204
208
  },
205
209
  "node_modules/gopd": {
206
- "version": "1.0.1",
207
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
208
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
209
- "dependencies": {
210
- "get-intrinsic": "^1.1.3"
210
+ "version": "1.2.0",
211
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
212
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
213
+ "license": "MIT",
214
+ "engines": {
215
+ "node": ">= 0.4"
211
216
  },
212
217
  "funding": {
213
218
  "url": "https://github.com/sponsors/ljharb"
@@ -217,6 +222,7 @@
217
222
  "version": "1.0.2",
218
223
  "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
219
224
  "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
225
+ "license": "MIT",
220
226
  "dependencies": {
221
227
  "es-define-property": "^1.0.0"
222
228
  },
@@ -224,59 +230,41 @@
224
230
  "url": "https://github.com/sponsors/ljharb"
225
231
  }
226
232
  },
227
- "node_modules/has-proto": {
228
- "version": "1.0.3",
229
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
230
- "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
231
- "engines": {
232
- "node": ">= 0.4"
233
- },
234
- "funding": {
235
- "url": "https://github.com/sponsors/ljharb"
236
- }
237
- },
238
- "node_modules/has-symbols": {
239
- "version": "1.0.3",
240
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
241
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
242
- "engines": {
243
- "node": ">= 0.4"
244
- },
245
- "funding": {
246
- "url": "https://github.com/sponsors/ljharb"
247
- }
248
- },
249
- "node_modules/hasown": {
250
- "version": "2.0.1",
251
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz",
252
- "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==",
253
- "dependencies": {
254
- "function-bind": "^1.1.2"
255
- },
256
- "engines": {
257
- "node": ">= 0.4"
258
- }
233
+ "node_modules/immediate": {
234
+ "version": "3.0.6",
235
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
236
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
237
+ "license": "MIT"
259
238
  },
260
239
  "node_modules/json-stringify-safe": {
261
240
  "version": "5.0.1",
262
241
  "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
263
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
242
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
243
+ "license": "ISC"
244
+ },
245
+ "node_modules/lie": {
246
+ "version": "3.1.1",
247
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
248
+ "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==",
249
+ "license": "MIT",
250
+ "dependencies": {
251
+ "immediate": "~3.0.5"
252
+ }
264
253
  },
265
- "node_modules/lru-cache": {
266
- "version": "6.0.0",
267
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
268
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
254
+ "node_modules/localforage": {
255
+ "version": "1.10.0",
256
+ "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz",
257
+ "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==",
258
+ "license": "Apache-2.0",
269
259
  "dependencies": {
270
- "yallist": "^4.0.0"
271
- },
272
- "engines": {
273
- "node": ">=10"
260
+ "lie": "3.1.1"
274
261
  }
275
262
  },
276
263
  "node_modules/matcher": {
277
264
  "version": "3.0.0",
278
265
  "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
279
266
  "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
267
+ "license": "MIT",
280
268
  "dependencies": {
281
269
  "escape-string-regexp": "^4.0.0"
282
270
  },
@@ -288,6 +276,7 @@
288
276
  "version": "1.1.1",
289
277
  "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
290
278
  "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
279
+ "license": "MIT",
291
280
  "engines": {
292
281
  "node": ">= 0.4"
293
282
  }
@@ -296,6 +285,7 @@
296
285
  "version": "2.15.4",
297
286
  "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
298
287
  "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
288
+ "license": "BSD-3-Clause",
299
289
  "dependencies": {
300
290
  "boolean": "^3.0.1",
301
291
  "detect-node": "^2.0.4",
@@ -309,12 +299,10 @@
309
299
  }
310
300
  },
311
301
  "node_modules/semver": {
312
- "version": "7.6.0",
313
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
314
- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
315
- "dependencies": {
316
- "lru-cache": "^6.0.0"
317
- },
302
+ "version": "7.6.3",
303
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
304
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
305
+ "license": "ISC",
318
306
  "bin": {
319
307
  "semver": "bin/semver.js"
320
308
  },
@@ -325,12 +313,14 @@
325
313
  "node_modules/semver-compare": {
326
314
  "version": "1.0.0",
327
315
  "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
328
- "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow=="
316
+ "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
317
+ "license": "MIT"
329
318
  },
330
319
  "node_modules/serialize-error": {
331
320
  "version": "7.0.1",
332
321
  "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
333
322
  "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
323
+ "license": "MIT",
334
324
  "dependencies": {
335
325
  "type-fest": "^0.13.1"
336
326
  },
@@ -342,10 +332,11 @@
342
332
  }
343
333
  },
344
334
  "node_modules/snyk": {
345
- "version": "1.1283.0",
346
- "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.1283.0.tgz",
347
- "integrity": "sha512-uxdxDDK0hz52H6oqrMj0sfKuB4x1k4ErrlGlrqXB/CADxN4nMg7RvDJqs7st+425YoM+bkKaM04UlD2rHsUqBQ==",
335
+ "version": "1.1294.3",
336
+ "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.1294.3.tgz",
337
+ "integrity": "sha512-ZF+F2bv293HmpFxZCV0x8hT3rQGOl6rPDoJq/TqBT1i5/nZypfn8v4A1Q4m6zUSUs1g6WJsS8QR5wTlR/eSvMQ==",
348
338
  "hasInstallScript": true,
339
+ "license": "Apache-2.0",
349
340
  "dependencies": {
350
341
  "@sentry/node": "^7.36.0",
351
342
  "global-agent": "^3.0.0"
@@ -360,23 +351,20 @@
360
351
  "node_modules/sprintf-js": {
361
352
  "version": "1.1.3",
362
353
  "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
363
- "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA=="
354
+ "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
355
+ "license": "BSD-3-Clause"
364
356
  },
365
357
  "node_modules/type-fest": {
366
358
  "version": "0.13.1",
367
359
  "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
368
360
  "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
361
+ "license": "(MIT OR CC0-1.0)",
369
362
  "engines": {
370
363
  "node": ">=10"
371
364
  },
372
365
  "funding": {
373
366
  "url": "https://github.com/sponsors/sindresorhus"
374
367
  }
375
- },
376
- "node_modules/yallist": {
377
- "version": "4.0.0",
378
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
379
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
380
368
  }
381
369
  }
382
370
  }
c2cciutils/package.json CHANGED
@@ -4,6 +4,6 @@
4
4
  "description": "",
5
5
  "author": "",
6
6
  "dependencies": {
7
- "snyk": "1.1283.0"
7
+ "snyk": "1.1294.3"
8
8
  }
9
9
  }
c2cciutils/publish.py CHANGED
@@ -1,6 +1,4 @@
1
- """
2
- The publishing functions.
3
- """
1
+ """The publishing functions."""
4
2
 
5
3
  import argparse
6
4
  import datetime
@@ -14,7 +12,7 @@ import uuid
14
12
  from typing import Optional
15
13
 
16
14
  import ruamel.yaml
17
- import tomlkit
15
+ import tomllib
18
16
  from google.auth.transport.requests import Request
19
17
  from google.oauth2.credentials import Credentials
20
18
  from google_auth_oauthlib.flow import InstalledAppFlow
@@ -24,17 +22,13 @@ import c2cciutils.configuration
24
22
 
25
23
 
26
24
  class GoogleCalendar:
27
- """
28
- Interact with the Google Calendar API.
29
- """
25
+ """Interact with the Google Calendar API."""
30
26
 
31
27
  # pylint: disable=too-many-instance-attributes
32
28
  def __init__(self) -> None:
33
- """
34
- Initialize.
35
- """
29
+ """Initialize."""
36
30
  self.scopes = ["https://www.googleapis.com/auth/calendar"] # in fact it is better to hard-code this
37
- self.credentials_pickle_file = os.environ.get("TMP_CREDS_FILE", f"/tmp/{uuid.uuid4()}.pickle")
31
+ self.credentials_pickle_file = os.environ.get("TMP_CREDS_FILE", f"/tmp/{uuid.uuid4()}.pickle") # noqa: S108
38
32
  self.credentials_json_file = os.environ.get(
39
33
  "GOOGLE_CREDS_JSON_FILE", "~/google-credentials-c2cibot.json"
40
34
  ) # used to refresh the refresh_token or to initialize the credentials the first time
@@ -61,23 +55,21 @@ class GoogleCalendar:
61
55
  self._update_creds()
62
56
  self.service = build("calendar", "v3", credentials=self.creds)
63
57
 
64
- def init_calendar_service(self) -> Credentials:
65
- """
66
- Initialize the calendar service.
67
- """
58
+ def init_calendar_service(self) -> Credentials: # type: ignore
59
+ """Initialize the calendar service."""
68
60
  # The file token pickle stores the user's access and refresh tokens, and is
69
61
  # created automatically when the authorization flow completes for the first
70
62
  # time.
71
63
  if os.path.exists(self.credentials_pickle_file):
72
64
  with open(self.credentials_pickle_file, "rb") as token:
73
- creds = pickle.load(token) # nosec
65
+ creds = pickle.load(token) # noqa: S301
74
66
  # If there are no (valid) credentials available, let the user log in.
75
- if not creds or not creds.valid:
67
+ if not creds or not creds.valid: # pylint: disable=possibly-used-before-assignment
76
68
  if creds and creds.expired and creds.refresh_token:
77
- creds.refresh(Request())
69
+ creds.refresh(Request()) # type: ignore
78
70
  else:
79
71
  if self.token:
80
- creds = Credentials(
72
+ creds = Credentials( # type: ignore
81
73
  self.token,
82
74
  refresh_token=self.refresh_token,
83
75
  token_uri=self.token_uri,
@@ -95,9 +87,7 @@ class GoogleCalendar:
95
87
  pickle.dump(creds, token)
96
88
 
97
89
  def _update_creds(self) -> None:
98
- """
99
- Update the credentials.
100
- """
90
+ """Update the credentials."""
101
91
  self.client_id = self.creds.client_id
102
92
  self.client_secret = self.creds.client_secret
103
93
  self.token = self.creds.token
@@ -105,9 +95,7 @@ class GoogleCalendar:
105
95
  self.refresh_token = self.creds.refresh_token
106
96
 
107
97
  def print_all_calendars(self) -> None:
108
- """
109
- Print all calendar events.
110
- """
98
+ """Print all calendar events."""
111
99
  # list all the calendars that the user has access to.
112
100
  # used to debug credentials
113
101
  print("Getting list of calendars")
@@ -129,6 +117,7 @@ class GoogleCalendar:
129
117
 
130
118
  Arguments:
131
119
  time_min: The time to be considered.
120
+
132
121
  """
133
122
  now = datetime.datetime.utcnow()
134
123
  if not time_min:
@@ -163,6 +152,7 @@ class GoogleCalendar:
163
152
  Arguments:
164
153
  summary: The event summary
165
154
  description: The event description
155
+
166
156
  """
167
157
  now = datetime.datetime.now()
168
158
  start = now.isoformat()
@@ -177,17 +167,8 @@ class GoogleCalendar:
177
167
  event_result = self.service.events().insert(calendarId=self.calendar_id, body=body).execute()
178
168
  print(f"Created event with id: {event_result['id']}")
179
169
 
180
- def _print_credentials(self) -> None:
181
- """
182
- Print the credentials.
183
- """
184
- # UNSAFE: DO NEVER PRINT CREDENTIALS IN CI ENVIRONMENT, DEBUG ONLY!!!!
185
- print(self.creds.to_json())
186
-
187
170
  def save_credentials_to_gopass(self) -> None:
188
- """
189
- Save the calendar credentials to gopass.
190
- """
171
+ """Save the calendar credentials to gopass."""
191
172
  objects_to_save = {
192
173
  "gs/ci/google_calendar/calendarId": self.calendar_id,
193
174
  "gs/ci/google_calendar/token": self.token,
@@ -201,14 +182,13 @@ class GoogleCalendar:
201
182
  c2cciutils.gopass_put(secret, key)
202
183
 
203
184
  def __del__(self) -> None:
185
+ """Delete the credentials file."""
204
186
  if os.path.exists(self.credentials_pickle_file):
205
187
  os.remove(self.credentials_pickle_file)
206
188
 
207
189
 
208
190
  def main_calendar() -> None:
209
- """
210
- Run the calendar main function.
211
- """
191
+ """Run the calendar main function."""
212
192
  parser = argparse.ArgumentParser(
213
193
  description="Interact with google API for the Docker publishing calendar"
214
194
  )
@@ -235,7 +215,9 @@ def main_calendar() -> None:
235
215
  parser.print_help()
236
216
 
237
217
  if args.show_events_since:
238
- google_calendar.print_latest_events(args.show_events_since)
218
+ google_calendar.print_latest_events( # pylint: disable=possibly-used-before-assignment
219
+ args.show_events_since
220
+ )
239
221
 
240
222
  if args.refresh_gopass_credentials:
241
223
  google_calendar.save_credentials_to_gopass()
@@ -256,8 +238,8 @@ def pip(
256
238
  version_branch, feature_branch, feature_tag (for pull request)
257
239
  publish: If False only check the package
258
240
  package: The package configuration
259
- """
260
241
 
242
+ """
261
243
  print(f"::group::{'Publishing' if publish else 'Checking'} '{package.get('path')}' to pypi")
262
244
  sys.stdout.flush()
263
245
  sys.stderr.flush()
@@ -292,8 +274,8 @@ def pip(
292
274
  if os.path.exists(os.path.join(cwd, "pyproject.toml")):
293
275
  use_poetry = False
294
276
  if "build_command" not in package:
295
- with open(os.path.join(cwd, "pyproject.toml"), encoding="utf-8") as project_file:
296
- pyproject = tomlkit.load(project_file)
277
+ with open(os.path.join(cwd, "pyproject.toml"), "rb") as project_file:
278
+ pyproject = tomllib.load(project_file)
297
279
  re_splitter = re.compile(r"[<>=]+")
298
280
  for requirement in pyproject.get("build-system", {}).get("requires", []):
299
281
  requirement_split = re_splitter.split(requirement)
@@ -355,8 +337,8 @@ def docker(
355
337
  tag_src: The source tag (usually latest)
356
338
  dst_tags: Publish using the provided tags
357
339
  images_full: The list of published images (with tag), used to build the dispatch event
358
- """
359
340
 
341
+ """
360
342
  print(
361
343
  f"::group::Publishing {image_config['name']} to the server {name} using the tags {', '.join(dst_tags)}"
362
344
  )
@@ -415,8 +397,8 @@ def helm(folder: str, version: str, owner: str, repo: str, commit_sha: str, toke
415
397
  repo: The GitHub repository name
416
398
  commit_sha: The sha of the current commit
417
399
  token: The GitHub token
418
- """
419
400
 
401
+ """
420
402
  print(f"::group::Publishing Helm chart from '{folder}' to GitHub release")
421
403
  sys.stdout.flush()
422
404
  sys.stderr.flush()