k2hr3-api 1.0.42 → 2.0.1

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 (149) hide show
  1. package/config/k2hr3-init.sh.templ +4 -4
  2. package/dist/.gitkeep +0 -0
  3. package/dist/src/app.js +262 -0
  4. package/{bin → dist/src/bin}/run.sh +1 -1
  5. package/dist/src/bin/watcher.js +113 -0
  6. package/dist/src/bin/www.js +217 -0
  7. package/dist/src/lib/basicipcheck.js +392 -0
  8. package/dist/src/lib/cacerts.js +106 -0
  9. package/dist/src/lib/dbglogging.js +190 -0
  10. package/dist/src/lib/dummyuserapi.js +719 -0
  11. package/dist/src/lib/ipwatch.js +354 -0
  12. package/dist/src/lib/k2hr3acrutil.js +532 -0
  13. package/dist/src/lib/k2hr3apiutil.js +1444 -0
  14. package/dist/src/lib/k2hr3cliutil.js +183 -0
  15. package/dist/src/lib/k2hr3config.js +832 -0
  16. package/dist/src/lib/k2hr3cryptutil.js +258 -0
  17. package/dist/src/lib/k2hr3dkc.js +12121 -0
  18. package/dist/src/lib/k2hr3extdata.js +198 -0
  19. package/dist/src/lib/k2hr3keys.js +207 -0
  20. package/dist/src/lib/k2hr3resutil.js +111 -0
  21. package/dist/src/lib/k2hr3template.js +6546 -0
  22. package/dist/src/lib/k2hr3tokens.js +2643 -0
  23. package/dist/src/lib/k2hr3userdata.js +296 -0
  24. package/dist/src/lib/k8soidc.js +1000 -0
  25. package/dist/src/lib/openstackapiv2.js +695 -0
  26. package/dist/src/lib/openstackapiv3.js +932 -0
  27. package/dist/src/lib/openstackep.js +667 -0
  28. package/{tests/auto_common.js → dist/src/lib/types.js} +4 -38
  29. package/dist/src/routes/acr.js +704 -0
  30. package/dist/src/routes/debugVerify.js +294 -0
  31. package/dist/src/routes/extdata.js +219 -0
  32. package/dist/src/routes/list.js +264 -0
  33. package/dist/src/routes/policy.js +840 -0
  34. package/dist/src/routes/resource.js +1489 -0
  35. package/dist/src/routes/role.js +2627 -0
  36. package/dist/src/routes/service.js +908 -0
  37. package/dist/src/routes/tenant.js +1141 -0
  38. package/dist/src/routes/userTokens.js +482 -0
  39. package/dist/src/routes/userdata.js +212 -0
  40. package/dist/src/routes/version.js +103 -0
  41. package/package.json +152 -121
  42. package/ChangeLog +0 -378
  43. package/app.js +0 -292
  44. package/bin/watcher +0 -122
  45. package/bin/www +0 -180
  46. package/eslint.config.mjs +0 -68
  47. package/lib/basicipcheck.js +0 -376
  48. package/lib/cacerts.js +0 -71
  49. package/lib/dbglogging.js +0 -151
  50. package/lib/dummyuserapi.js +0 -766
  51. package/lib/ipwatch.js +0 -379
  52. package/lib/k2hr3acrutil.js +0 -516
  53. package/lib/k2hr3apiutil.js +0 -1494
  54. package/lib/k2hr3cliutil.js +0 -191
  55. package/lib/k2hr3config.js +0 -826
  56. package/lib/k2hr3cryptutil.js +0 -254
  57. package/lib/k2hr3dkc.js +0 -12632
  58. package/lib/k2hr3extdata.js +0 -198
  59. package/lib/k2hr3keys.js +0 -234
  60. package/lib/k2hr3resutil.js +0 -100
  61. package/lib/k2hr3template.js +0 -6925
  62. package/lib/k2hr3tokens.js +0 -2799
  63. package/lib/k2hr3userdata.js +0 -312
  64. package/lib/k8soidc.js +0 -1012
  65. package/lib/openstackapiv2.js +0 -764
  66. package/lib/openstackapiv3.js +0 -1032
  67. package/lib/openstackep.js +0 -553
  68. package/routes/acr.js +0 -738
  69. package/routes/debugVerify.js +0 -263
  70. package/routes/extdata.js +0 -232
  71. package/routes/list.js +0 -270
  72. package/routes/policy.js +0 -869
  73. package/routes/resource.js +0 -1441
  74. package/routes/role.js +0 -2664
  75. package/routes/service.js +0 -894
  76. package/routes/tenant.js +0 -1095
  77. package/routes/userTokens.js +0 -511
  78. package/routes/userdata.js +0 -218
  79. package/routes/version.js +0 -108
  80. package/templ/Dockerfile.templ +0 -71
  81. package/tests/auto_acr.js +0 -1101
  82. package/tests/auto_acr_spec.js +0 -79
  83. package/tests/auto_all_spec.js +0 -142
  84. package/tests/auto_control_subprocess.sh +0 -243
  85. package/tests/auto_extdata.js +0 -220
  86. package/tests/auto_extdata_spec.js +0 -79
  87. package/tests/auto_init_config_json.sh +0 -275
  88. package/tests/auto_k2hdkc_server.ini +0 -109
  89. package/tests/auto_k2hdkc_slave.ini +0 -83
  90. package/tests/auto_list.js +0 -439
  91. package/tests/auto_list_spec.js +0 -79
  92. package/tests/auto_policy.js +0 -1579
  93. package/tests/auto_policy_spec.js +0 -79
  94. package/tests/auto_resource.js +0 -10956
  95. package/tests/auto_resource_spec.js +0 -79
  96. package/tests/auto_role.js +0 -6150
  97. package/tests/auto_role_spec.js +0 -79
  98. package/tests/auto_service.js +0 -770
  99. package/tests/auto_service_spec.js +0 -79
  100. package/tests/auto_subprocesses.js +0 -114
  101. package/tests/auto_template.sh +0 -126
  102. package/tests/auto_tenant.js +0 -1100
  103. package/tests/auto_tenant_spec.js +0 -79
  104. package/tests/auto_token_util.js +0 -219
  105. package/tests/auto_userdata.js +0 -292
  106. package/tests/auto_userdata_spec.js +0 -79
  107. package/tests/auto_usertokens.js +0 -565
  108. package/tests/auto_usertokens_spec.js +0 -79
  109. package/tests/auto_version.js +0 -127
  110. package/tests/auto_version_spec.js +0 -79
  111. package/tests/auto_watcher.js +0 -157
  112. package/tests/auto_watcher_spec.js +0 -79
  113. package/tests/k2hdkc_test.data +0 -986
  114. package/tests/k2hdkc_test_load.sh +0 -255
  115. package/tests/k2hr3template_test.js +0 -187
  116. package/tests/k2hr3template_test.sh +0 -339
  117. package/tests/k2hr3template_test_async.js +0 -216
  118. package/tests/k2hr3template_test_template.result +0 -7117
  119. package/tests/k2hr3template_test_template.txt +0 -3608
  120. package/tests/k2hr3template_test_vars.js +0 -194
  121. package/tests/manual_acr_delete.js +0 -143
  122. package/tests/manual_acr_get.js +0 -297
  123. package/tests/manual_acr_postput.js +0 -215
  124. package/tests/manual_allusertenant_get.js +0 -113
  125. package/tests/manual_extdata_get.js +0 -191
  126. package/tests/manual_k2hr3keys_get.js +0 -84
  127. package/tests/manual_list_gethead.js +0 -230
  128. package/tests/manual_policy_delete.js +0 -132
  129. package/tests/manual_policy_gethead.js +0 -275
  130. package/tests/manual_policy_postput.js +0 -297
  131. package/tests/manual_resource_delete.js +0 -433
  132. package/tests/manual_resource_gethead.js +0 -423
  133. package/tests/manual_resource_postput.js +0 -487
  134. package/tests/manual_role_delete.js +0 -404
  135. package/tests/manual_role_gethead.js +0 -547
  136. package/tests/manual_role_postput.js +0 -544
  137. package/tests/manual_service_delete.js +0 -153
  138. package/tests/manual_service_gethead.js +0 -178
  139. package/tests/manual_service_postput.js +0 -348
  140. package/tests/manual_tenant_delete.js +0 -186
  141. package/tests/manual_tenant_gethead.js +0 -268
  142. package/tests/manual_tenant_postput.js +0 -293
  143. package/tests/manual_test.sh +0 -352
  144. package/tests/manual_userdata_get.js +0 -173
  145. package/tests/manual_usertoken_gethead.js +0 -136
  146. package/tests/manual_usertoken_postput.js +0 -310
  147. package/tests/manual_version_get.js +0 -127
  148. package/tests/run_local_test_k2hdkc.sh +0 -174
  149. package/tests/test.sh +0 -333
package/ChangeLog DELETED
@@ -1,378 +0,0 @@
1
- k2hr3-api (1.0.42) unstable; urgency=low
2
-
3
- * Updated the version of the dependent packages - #135
4
-
5
- -- Takeshi Nakatani <ggtakec@gmail.com> Thu, 27 Mar 2025 10:34:44 +0900
6
-
7
- k2hr3-api (1.0.41) unstable; urgency=low
8
-
9
- * Changed the PID file name to avoid collisions - #133
10
-
11
- -- Takeshi Nakatani <ggtakec@gmail.com> Fri, 28 Feb 2025 19:44:20 +0900
12
-
13
- k2hr3-api (1.0.40) unstable; urgency=low
14
-
15
- * Fixed the options as the npm audit issue was fixed - #131
16
-
17
- -- Takeshi Nakatani <ggtakec@gmail.com> Thu, 20 Feb 2025 09:28:41 +0900
18
-
19
- k2hr3-api (1.0.39) unstable; urgency=low
20
-
21
- * Changed publish NodeJS versions to v22 and Fixed scripts, etc - #129
22
-
23
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 17 Feb 2025 17:12:05 +0900
24
-
25
- k2hr3-api (1.0.38) unstable; urgency=low
26
-
27
- * Updated nodejs_helper for forked repositories - #127
28
-
29
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 20 Jan 2025 11:11:35 +0900
30
-
31
- k2hr3-api (1.0.37) unstable; urgency=low
32
-
33
- * Changed timeout value for checking openstack keystone - #125
34
-
35
- -- Takeshi Nakatani <ggtakec@gmail.com> Tue, 10 Dec 2024 10:22:08 +0900
36
-
37
- k2hr3-api (1.0.36) unstable; urgency=low
38
-
39
- * Updated k2hr3-init.sh.templ - #123
40
-
41
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 09 Dec 2024 12:52:55 +0900
42
-
43
- k2hr3-api (1.0.35) unstable; urgency=low
44
-
45
- * Fixed bugs about defunct processes and mis-coding - #121
46
- * Changed supported NodeJS/OS version and fixed code - #120
47
-
48
- -- Takeshi Nakatani <ggtakec@gmail.com> Fri, 06 Dec 2024 16:16:54 +0900
49
-
50
- k2hr3-api (1.0.34) unstable; urgency=low
51
-
52
- * Updated github actions tools and dependencies - #118
53
-
54
- -- Takeshi Nakatani <ggtakec@gmail.com> Wed, 13 Mar 2024 20:17:16 +0900
55
-
56
- k2hr3-api (1.0.33) unstable; urgency=low
57
-
58
- * Updated versions of dependent packages - #116
59
-
60
- -- Takeshi Nakatani <ggtakec@gmail.com> Tue, 21 Nov 2023 17:56:38 +0900
61
-
62
- k2hr3-api (1.0.32) unstable; urgency=low
63
-
64
- * Changed CI Runner OS and updated dependencies - #114
65
-
66
- -- Takeshi Nakatani <ggtakec@gmail.com> Wed, 01 Nov 2023 12:58:03 +0900
67
-
68
- k2hr3-api (1.0.31) unstable; urgency=low
69
-
70
- * Added procps for docker image and Updated dependencies - #112
71
-
72
- -- Takeshi Nakatani <ggtakec@gmail.com> Wed, 11 Oct 2023 10:01:23 +0900
73
-
74
- k2hr3-api (1.0.30) unstable; urgency=low
75
-
76
- * Updated versions of dependent packages - #110
77
-
78
- -- Takeshi Nakatani <ggtakec@gmail.com> Tue, 03 Oct 2023 14:42:07 +0900
79
-
80
- k2hr3-api (1.0.29) unstable; urgency=low
81
-
82
- * Fixed bugs about publishing packages and images - #108
83
-
84
- -- Takeshi Nakatani <ggtakec@gmail.com> Wed, 06 Sep 2023 16:58:40 +0900
85
-
86
- k2hr3-api (1.0.28) unstable; urgency=low
87
-
88
- * Updated support NodeJS version - #106
89
-
90
- -- Takeshi Nakatani <ggtakec@gmail.com> Wed, 06 Sep 2023 15:25:25 +0900
91
-
92
- k2hr3-api (1.0.27) unstable; urgency=low
93
-
94
- * Updated TENANT API and fixed bugs in TENANT API - #104
95
-
96
- -- Takeshi Nakatani <ggtakec@gmail.com> Tue, 25 Jul 2023 16:16:10 +0900
97
-
98
- k2hr3-api (1.0.26) unstable; urgency=low
99
-
100
- * Added response object members in userToken GET API - #102
101
-
102
- -- Takeshi Nakatani <ggtakec@gmail.com> Thu, 13 Jul 2023 09:11:09 +0900
103
-
104
- k2hr3-api (1.0.25) unstable; urgency=low
105
-
106
- * Added TENANT API for Local Tenant and updated etc - #100
107
-
108
- -- Takeshi Nakatani <ggtakec@gmail.com> Fri, 07 Jul 2023 17:33:33 +0900
109
-
110
- k2hr3-api (1.0.24) unstable; urgency=low
111
-
112
- * Updated dependencies and test code for new chai version - #98
113
-
114
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 19 Jun 2023 21:09:01 +0900
115
-
116
- k2hr3-api (1.0.23) unstable; urgency=low
117
-
118
- * Re-fixed a bug about stopping processes in run.sh - #96
119
-
120
- -- Takeshi Nakatani <ggtakec@gmail.com> Thu, 01 Jun 2023 19:58:08 +0900
121
-
122
- k2hr3-api (1.0.22) unstable; urgency=low
123
-
124
- * Fixed a bug about stopping processes in run.sh - #94
125
-
126
- -- Takeshi Nakatani <ggtakec@gmail.com> Thu, 01 Jun 2023 15:37:41 +0900
127
-
128
- k2hr3-api (1.0.21) unstable; urgency=low
129
-
130
- * Changed partially scripts(command) in package.json - #92
131
-
132
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 29 May 2023 10:36:24 +0900
133
-
134
- k2hr3-api (1.0.20) unstable; urgency=low
135
-
136
- * Fixed a bug in OS determination processing - #90
137
-
138
- -- Takeshi Nakatani <ggtakec@gmail.com> Fri, 19 May 2023 19:17:33 +0900
139
-
140
- k2hr3-api (1.0.19) unstable; urgency=low
141
-
142
- * Bumped up the version number to update the Docker image
143
-
144
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 15 May 2023 13:49:31 +0900
145
-
146
- k2hr3-api (1.0.18) unstable; urgency=low
147
-
148
- * Fixed require line about jose package, and updated dependencies - #87
149
-
150
- -- Takeshi Nakatani <ggtakec@gmail.com> Tue, 09 May 2023 19:06:12 +0900
151
-
152
- k2hr3-api (1.0.17) unstable; urgency=low
153
-
154
- * Fixed a bug in imagetypevars.sh script - #85
155
-
156
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 08 May 2023 14:46:57 +0900
157
-
158
- k2hr3-api (1.0.16) unstable; urgency=low
159
-
160
- * Updated imagetypevars.sh for specifying npm pkg version - #83
161
-
162
- -- Takeshi Nakatani <ggtakec@gmail.com> Wed, 26 Apr 2023 20:55:14 +0900
163
-
164
- k2hr3-api (1.0.15) unstable; urgency=low
165
-
166
- * Fixed about launching node process in run.sh - #81
167
-
168
- -- Takeshi Nakatani <ggtakec@gmail.com> Tue, 25 Apr 2023 14:35:06 +0900
169
-
170
- k2hr3-api (1.0.14) unstable; urgency=low
171
-
172
- * Updated dependency and Temporary audit avoidance - #79
173
-
174
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 24 Apr 2023 16:36:49 +0900
175
-
176
- k2hr3-api (1.0.13) unstable; urgency=low
177
-
178
- * Updated building/packaging scripts - #76
179
-
180
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 06 Mar 2023 22:04:36 +0900
181
-
182
- k2hr3-api (1.0.12) unstable; urgency=low
183
-
184
- * Changed flows for packaging and bulding docker image - #74
185
- * Updated header and footer in comment lines - #73
186
- * Updated issue/pullrequest templates - #72
187
- * Reviewed ShellCheck processing again - #71
188
- * Reviewed ShellCheck processing and fixed bugs - #70
189
- * Eliminated unnecessary copies in nodejs_helper.sh - #69
190
- * Fixed a bug in docker_helper.sh - #68
191
- * Fixed docker_helper.sh and imagetypevars.sh - #67
192
- * Shared Docker image build logic with other products - #66
193
- * Updated github actions and nodejs version, and fixed bugs - #65
194
- * Unified OS judgment to /etc/os-release - #64
195
- * Renamed the test directory to tests and auto_test.sh to test.sh - #63
196
- * Cleaned up package.json and updated related package versions - #62
197
-
198
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 20 Feb 2023 20:21:38 +0900
199
-
200
- k2hr3-api (1.0.11) unstable; urgency=low
201
-
202
- * Added config value as unscopedtoken expire for oidc - #60
203
-
204
- -- Takeshi Nakatani <ggtakec@gmail.com> Tue, 05 Jul 2022 16:54:16 +0900
205
-
206
- k2hr3-api (1.0.10) unstable; urgency=low
207
-
208
- * Bumpup version number for npm package
209
-
210
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 13 Jun 2022 15:36:23 +0900
211
-
212
- k2hr3-api (1.0.9) unstable; urgency=low
213
-
214
- * Bumpup version number for npm package
215
-
216
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 13 Jun 2022 13:58:05 +0900
217
-
218
- k2hr3-api (1.0.8) unstable; urgency=low
219
-
220
- * Added some host information for adding to Role member - #56
221
-
222
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 13 Jun 2022 09:52:47 +0900
223
-
224
- k2hr3-api (1.0.7) unstable; urgency=low
225
-
226
- * Bumpup version number for npm package
227
-
228
- -- Takeshi Nakatani <ggtakec@gmail.com> Fri, 29 Oct 2021 14:32:17 +0900
229
-
230
- k2hr3-api (1.0.6) unstable; urgency=low
231
-
232
- * Uses OpenID Connect Discovery to set jwks_uri - #53
233
- * Changed the workaround for the publish-please audit error - #52
234
-
235
- -- Takeshi Nakatani <ggtakec@gmail.com> Fri, 29 Oct 2021 13:33:54 +0900
236
-
237
- k2hr3-api (1.0.5) unstable; urgency=low
238
-
239
- * Updated dependencies - #49
240
-
241
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 27 Sep 2021 15:42:39 +0900
242
-
243
- k2hr3-api (1.0.4) unstable; urgency=low
244
-
245
- * Enhanced the automatic registration for containers on Kubernetes - #47
246
-
247
- -- Takeshi Nakatani <ggtakec@gmail.com> Tue, 07 Sep 2021 11:59:42 +0900
248
-
249
- k2hr3-api (1.0.3) unstable; urgency=low
250
-
251
- * Fixed a bug in k2hr3tokens.js - #45
252
-
253
- -- Takeshi Nakatani <ggtakec@gmail.com> Thu, 02 Sep 2021 16:01:08 +0900
254
-
255
- k2hr3-api (1.0.2) unstable; urgency=low
256
-
257
- * Updated README.md for docker image - #43
258
-
259
- -- Takeshi Nakatani <ggtakec@gmail.com> Fri, 27 Aug 2021 23:44:32 +0900
260
-
261
- k2hr3-api (1.0.1) unstable; urgency=low
262
-
263
- * Added docker build and push in Github Actions - #41
264
- * Updated to accept authentication token by Open id connect - #40
265
- * Updated packages and fixed bugs - #39
266
-
267
- -- Takeshi Nakatani <ggtakec@gmail.com> Fri, 27 Aug 2021 23:00:23 +0900
268
-
269
- k2hr3-api (1.0.0) unstable; urgency=low
270
-
271
- * Updated README.md for adding k2hr3 cli - #36
272
-
273
- -- Takeshi Nakatani <ggtakec@gmail.com> Fri, 26 Mar 2021 12:41:56 +0900
274
-
275
- k2hr3-api (0.9.16) unstable; urgency=low
276
-
277
- * Implemented proper use of sudo command - #34
278
-
279
- -- Takeshi Nakatani <ggtakec@gmail.com> Wed, 03 Feb 2021 22:06:53 +0900
280
-
281
- k2hr3-api (0.9.15) unstable; urgency=low
282
-
283
- * Fixed a bug in k2hr3-init.sh.templ(2) - #32
284
-
285
- -- Takeshi Nakatani <ggtakec@gmail.com> Wed, 03 Feb 2021 14:23:44 +0900
286
-
287
- k2hr3-api (0.9.14) unstable; urgency=low
288
-
289
- * Fixed a bug in k2hr3-init.sh.templ - #30
290
-
291
- -- Takeshi Nakatani <ggtakec@gmail.com> Wed, 03 Feb 2021 08:12:04 +0900
292
-
293
- k2hr3-api (0.9.13) unstable; urgency=low
294
-
295
- * Fixed bugs in k2hr3-init.sh.templ - #28
296
- * Updated README.md for K2HR3 Get Resource - #27
297
-
298
- -- Takeshi Nakatani <ggtakec@gmail.com> Tue, 02 Feb 2021 19:57:24 +0900
299
-
300
- k2hr3-api (0.9.12) unstable; urgency=low
301
-
302
- * Updated k2hr3-init.sh template for installing packages - #25
303
-
304
- -- Takeshi Nakatani <ggtakec@gmail.com> Wed, 27 Jan 2021 13:34:33 +0900
305
-
306
- k2hr3-api (0.9.11) unstable; urgency=low
307
-
308
- * Switched Travis CI to Github actions - #23
309
- * Supported Node.js 12 and 14 - #22
310
-
311
- -- Takeshi Nakatani <ggtakec@gmail.com> Tue, 24 Nov 2020 15:33:45 +0900
312
-
313
- k2hr3-api (0.9.10) unstable; urgency=low
314
-
315
- * Added authorization using Token from external authentication system - #20
316
-
317
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 31 Aug 2020 15:15:26 +0900
318
-
319
- k2hr3-api (0.9.9) unstable; urgency=low
320
-
321
- * Added tag key for each role member host - #18
322
-
323
- -- Takeshi Nakatani <ggtakec@gmail.com> Wed, 29 Jul 2020 18:23:31 +0900
324
-
325
- k2hr3-api (0.9.8) unstable; urgency=low
326
-
327
- * Added template keyword for role tenant yrn path - #16
328
-
329
- -- Takeshi Nakatani <ggtakec@gmail.com> Tue, 26 May 2020 14:24:32 +0900
330
-
331
- k2hr3-api (0.9.7) unstable; urgency=low
332
-
333
- * Added extdata rest api - #14
334
-
335
- -- Takeshi Nakatani <ggtakec@gmail.com> Tue, 19 May 2020 13:26:59 +0900
336
-
337
- k2hr3-api (0.9.6) unstable; urgency=low
338
-
339
- * Updated dependency and codes for k2hdkc nodejs update - #12
340
-
341
- -- Takeshi Nakatani <ggtakec@gmail.com> Thu, 26 Dec 2019 17:07:56 +0900
342
-
343
- k2hr3-api (0.9.5) unstable; urgency=low
344
-
345
- * Improved template engine about mainly role member host information - #10
346
-
347
- -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 11 Nov 2019 13:13:19 +0900
348
-
349
- k2hr3-api (0.9.4) unstable; urgency=low
350
-
351
- * Updated template engine, deprecated functions, and dependencies - #8
352
-
353
- -- Takeshi Nakatani <ggtakec@gmail.com> Thu, 31 Oct 2019 14:18:55 +0900
354
-
355
- k2hr3-api (0.9.3) unstable; urgency=low
356
-
357
- * Updated package dependency and support nodejs version - #6
358
- * Fixed a bug about service resource expire key in k2hdkc - #5
359
-
360
- -- Takeshi Nakatani <ggtakec@gmail.com> Fri, 11 Oct 2019 09:40:23 +0900
361
-
362
- k2hr3-api (0.9.2) unstable; urgency=low
363
-
364
- * Supports kubernetes pod and container for role member - #3
365
-
366
- -- Takeshi Nakatani <ggtakec@gmail.com> Thu, 26 Sep 2019 14:45:43 +0900
367
-
368
- k2hr3-api (0.9.1) unstable; urgency=low
369
-
370
- * Moved publish-please package from dependencies to devDependencies - #1
371
-
372
- -- Takeshi Nakatani <ggtakec@gmail.com> Tue, 12 Mar 2019 09:09:09 +0900
373
-
374
- k2hr3-api (0.9.0) unstable; urgency=low
375
-
376
- * Beta version.
377
-
378
- -- Takeshi Nakatani <ggtakec@gmail.com> Wed, 06 Mar 2019 12:00:00 +0900
package/app.js DELETED
@@ -1,292 +0,0 @@
1
- /*
2
- * K2HR3 REST API
3
- *
4
- * Copyright 2017 Yahoo Japan Corporation.
5
- *
6
- * K2HR3 is K2hdkc based Resource and Roles and policy Rules, gathers
7
- * common management information for the cloud.
8
- * K2HR3 can dynamically manage information as "who", "what", "operate".
9
- * These are stored as roles, resources, policies in K2hdkc, and the
10
- * client system can dynamically read and modify these information.
11
- *
12
- * For the full copyright and license information, please view
13
- * the license file that was distributed with this source code.
14
- *
15
- * AUTHOR: Takeshi Nakatani
16
- * CREATE: Wed Jun 8 2017
17
- * REVISION:
18
- *
19
- */
20
-
21
- 'use strict';
22
-
23
- var express = require('express');
24
- var path = require('path');
25
- var logger = require('morgan');
26
- var cookieParser= require('cookie-parser');
27
- var bodyParser = require('body-parser');
28
-
29
- //---------------------------------------------------------
30
- // Utilities
31
- //---------------------------------------------------------
32
- var apiutil = require('./lib/k2hr3apiutil');
33
- var resutil = require('./lib/k2hr3resutil');
34
-
35
- //---------------------------------------------------------
36
- // Load Configuration
37
- //---------------------------------------------------------
38
- var r3Conf = require('./lib/k2hr3config').r3ApiConfig;
39
- var apiConf = new r3Conf();
40
-
41
- //
42
- // Load variables
43
- //
44
- // - Local Tenants
45
- // - Load CORS(Cross-Origin Resource Sharing) Setting
46
- //
47
- // [NOTE][TODO]
48
- // It specifies a web development machine for temporary debugging.
49
- // In future we plan to specify with K2HR3 role.
50
- //
51
- var is_localtenants = true;
52
- var cors_ips = [];
53
-
54
- (function()
55
- {
56
- var k2hr3config = require('config');
57
-
58
- is_localtenants = apiConf.isLocalTenants();
59
-
60
- if(apiutil.isSafeEntity(k2hr3config) && !apiutil.isEmptyArray(k2hr3config.corsips)){
61
- apiutil.mergeArray(cors_ips, k2hr3config.corsips);
62
- }
63
- }());
64
-
65
- //---------------------------------------------------------
66
- // Debug logging objects
67
- //---------------------------------------------------------
68
- var r3logger = require('./lib/dbglogging'); // eslint-disable-line no-unused-vars
69
-
70
- //---------------------------------------------------------
71
- // Environments
72
- //---------------------------------------------------------
73
- // NODE_ENV(development or production)
74
- // NODE_LOGGER(if 'no', not logging by morgan)
75
- //
76
- var is_product = apiutil.compareCaseString(apiutil.getSafeString(process.env.NODE_ENV), 'production');
77
- var is_logging = !apiutil.compareCaseString(apiutil.getSafeString(process.env.NODE_LOGGER), 'no');
78
-
79
- //---------------------------------------------------------
80
- // Routes
81
- //---------------------------------------------------------
82
- var version = require('./routes/version');
83
- var userTokens = require('./routes/userTokens');
84
- var policy = require('./routes/policy');
85
- var resource = require('./routes/resource');
86
- var role = require('./routes/role');
87
- var service = require('./routes/service');
88
- var acr = require('./routes/acr');
89
- var list = require('./routes/list');
90
- var userdata = require('./routes/userdata');
91
- var extdata = require('./routes/extdata');
92
- var tenant = null;
93
- if(is_localtenants){
94
- tenant = require('./routes/tenant');
95
- }
96
- var verify = null;
97
- if(!is_product){
98
- verify = require('./routes/debugVerify');
99
- }
100
-
101
- //
102
- // Express objects
103
- //
104
- var app = express();
105
- var userExp = express();
106
- var policyExp = express();
107
- var resourceExp = express();
108
- var roleExp = express();
109
- var serviceExp = express();
110
- var acrExp = express();
111
- var listExp = express();
112
- var userdataExp = express();
113
- var extdataExp = express();
114
- var tenantExp = null;
115
- if(is_localtenants){
116
- tenantExp = express();
117
- }
118
- var verifyExp = null;
119
- if(!is_product){
120
- verifyExp = express();
121
- }
122
-
123
- //---------------------------------------------------------
124
- // Trusted proxy
125
- //---------------------------------------------------------
126
- // [NOTE][TODO]
127
- // We set trusted proxy as only loopback now.
128
- // Here, we need to add CDN/Proxy for our NW, but pending now.
129
- //
130
- app.set('trust proxy', 'loopback');
131
- userExp.set('trust proxy', 'loopback');
132
- policyExp.set('trust proxy', 'loopback');
133
- resourceExp.set('trust proxy', 'loopback');
134
- roleExp.set('trust proxy', 'loopback');
135
- serviceExp.set('trust proxy', 'loopback');
136
- acrExp.set('trust proxy', 'loopback');
137
- listExp.set('trust proxy', 'loopback');
138
- userdataExp.set('trust proxy', 'loopback');
139
- extdataExp.set('trust proxy', 'loopback');
140
- if(is_localtenants){
141
- tenantExp.set('trust proxy','loopback');
142
- }
143
- if(!is_product){
144
- verifyExp.set('trust proxy','loopback');
145
- }
146
-
147
- //
148
- // CORS(Cross-Origin Resource Sharing) Controller
149
- //
150
- app.use(function(req, res, next)
151
- {
152
- //
153
- // Do not allow CORS for userToken without tenant name(=put/post unscoped token)
154
- //
155
- var userTokenUrlExp = new RegExp('^/v1/user/tokens(.*)');
156
- if(req.client.localAddress !== req.client.remoteAddress && !apiutil.isEmptyArray(apiutil.getSafeString(req.url).match(userTokenUrlExp))){
157
- //
158
- // case of POST/PUT userToken
159
- //
160
- if(!apiutil.findStringInArray(apiConf.getCORSIPs(), req.client.remoteAddress) && !apiutil.findStringInArray(apiConf.getCORSIPs(), '*')){
161
- // [NOTE]
162
- // If allowcredauth is true in configuration and password is specified on PUT method,
163
- // it allows authorization by credential(username/password).
164
- // This case is used for accessing keystone directly.
165
- // (The password is empty is allowed.)
166
- //
167
- if( (apiutil.compareCaseString(req.method, 'PUT') && apiutil.isSafeEntity(req.query) && apiutil.isSafeString(req.query.username) && !(apiConf.isAllowedCredentialAccess() && apiutil.isSafeEntity(req.query.password))) ||
168
- (apiutil.compareCaseString(req.method, 'POST') && apiutil.isSafeEntity(req.body) && apiutil.isSafeEntity(req.body.auth) && apiutil.isSafeEntity(req.body.auth.passwordCredentials)) )
169
- {
170
- //
171
- // case of specified user credentials(except specified unscoped token)
172
- //
173
- var result = {
174
- result: false,
175
- message: 'not allow CORS(cross-origin resource sharing) to /v1/user/tokens'
176
- };
177
-
178
- resutil.errResponse(req, res, 405, result, 'application/json; charset=utf-8');
179
- return;
180
- }
181
- }
182
- }
183
- //
184
- // Origin is specified, allow it.
185
- //
186
- if(apiutil.isSafeString(req.headers.origin)){
187
- res.header('Access-Control-Allow-Origin', req.headers.origin);
188
- res.header('Access-Control-Allow-Headers', 'Origin,X-Requested-With,X-HTTP-Method-Override,Content-Type,Accept,X-Auth-Token,x-k2hr3-debug');
189
- res.header('Access-Control-Allow-Methods', 'HEAD,POST,GET,PUT,DELETE,OPTIONS');
190
- res.header('Access-Control-Expose-Headers', 'X-Auth-Token,x-k2hr3-error');
191
- res.header('Access-Control-Allow-Credentials', true);
192
- res.header('Access-Control-Max-Age', '86400');
193
- }
194
- next();
195
- });
196
-
197
- //---------------------------------------------------------
198
- // Express
199
- //---------------------------------------------------------
200
- //
201
- // Setting for express
202
- //
203
- if(is_logging){
204
- //
205
- // Setup Log
206
- //
207
- app.use(logger(apiConf.getAccessLogFormat(), apiConf.getMorganLoggerOption(__dirname)));
208
- }
209
- app.use(bodyParser.json());
210
- app.use(bodyParser.urlencoded({ extended: false }));
211
- app.use(cookieParser());
212
- app.use(express.static(path.join(__dirname, 'public')));
213
- app.use('/status.html', express.static(__dirname + '/public/status.html'));
214
-
215
- //
216
- // Route mapping
217
- //
218
- app.use('/', version); // '/'
219
- app.use('/v1', version); // '/v1'
220
- userExp.use('/', userTokens); // '/v1/user/tokens'
221
- policyExp.use('/*', policy); // '/v1/policy'
222
- resourceExp.use('/*', resource); // '/v1/resource'
223
- roleExp.use('/*', role); // '/v1/role'
224
- serviceExp.use('/*', service); // '/v1/service'
225
- acrExp.use('/*', acr); // '/v1/acr'
226
- listExp.use('/*', list); // '/v1/list'
227
- userdataExp.use('/*', userdata); // '/v1/userdata'
228
- extdataExp.use('/*', extdata); // '/v1/extdata'
229
- if(is_localtenants){
230
- tenantExp.use('/*', tenant); // '/v1/tenant'
231
- }
232
- if(!is_product){
233
- verifyExp.use('/*', verify); // '/v1/debug/verify*'
234
- }
235
-
236
- app.use('/v1/user/tokens', userExp); // mountpath: '/v1/user/tokens*'
237
- app.use('/v1/policy', policyExp); // mountpath: '/v1/policy*'
238
- app.use('/v1/resource', resourceExp); // mountpath: '/v1/resource*'
239
- app.use('/v1/role', roleExp); // mountpath: '/v1/role*'
240
- app.use('/v1/service', serviceExp); // mountpath: '/v1/service*'
241
- app.use('/v1/acr', acrExp); // mountpath: '/v1/acr*'
242
- app.use('/v1/list', listExp); // mountpath: '/v1/list*'
243
- app.use('/v1/userdata', userdataExp); // mountpath: '/v1/userdata*'
244
- app.use('/v1/extdata', extdataExp); // mountpath: '/v1/extdata*'
245
- if(is_localtenants){
246
- app.use('/v1/tenant', tenantExp); // mountpath: '/v1/tenant*'
247
- }
248
- if(!is_product){
249
- app.use('/v1/debug/verify', verifyExp); // mountpath: '/v1/debug/verify*'
250
- }
251
-
252
- //---------------------------------------------------------
253
- // Error handler
254
- //---------------------------------------------------------
255
- //
256
- // catch 404 and forward to error handler
257
- //
258
- app.use(function(req, res, next)
259
- {
260
- var err = new Error('Not Found');
261
-
262
- err.status = 404;
263
- next(err);
264
- });
265
-
266
- //
267
- // error handler
268
- //
269
- app.use(function(err, req, res, next) // eslint-disable-line no-unused-vars
270
- {
271
- // set locals, only providing error in development
272
- res.locals.message = err.message;
273
- res.locals.error = req.app.get('env') === 'development' ? err : {};
274
-
275
- var result = {
276
- result: false,
277
- message: 'Internal server error'
278
- };
279
-
280
- resutil.errResponse(req, res, (err.status || 500), result, 'application/json; charset=utf-8');
281
- });
282
-
283
- module.exports = app;
284
-
285
- /*
286
- * Local variables:
287
- * tab-width: 4
288
- * c-basic-offset: 4
289
- * End:
290
- * vim600: noexpandtab sw=4 ts=4 fdm=marker
291
- * vim<600: noexpandtab sw=4 ts=4
292
- */