@kapeta/local-cluster-service 0.14.2 → 0.14.4
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/CHANGELOG.md +14 -0
- package/dist/cjs/src/api.js +5 -1
- package/dist/cjs/src/attachments/routes.js +7 -0
- package/dist/cjs/src/containerManager.js +2 -2
- package/dist/cjs/src/identities/routes.js +12 -2
- package/dist/esm/src/api.js +5 -1
- package/dist/esm/src/attachments/routes.js +7 -0
- package/dist/esm/src/containerManager.js +2 -2
- package/dist/esm/src/identities/routes.js +12 -2
- package/package.json +1 -1
- package/src/api.ts +5 -1
- package/src/attachments/routes.ts +8 -0
- package/src/containerManager.ts +2 -2
- package/src/identities/routes.ts +10 -2
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
## [0.14.4](https://github.com/kapetacom/local-cluster-service/compare/v0.14.3...v0.14.4) (2023-08-09)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* Handle missing authentication gracefully ([329d091](https://github.com/kapetacom/local-cluster-service/commit/329d09148261da3c624defcc252f2f700b3b4dc2))
|
7
|
+
|
8
|
+
## [0.14.3](https://github.com/kapetacom/local-cluster-service/compare/v0.14.2...v0.14.3) (2023-08-08)
|
9
|
+
|
10
|
+
|
11
|
+
### Bug Fixes
|
12
|
+
|
13
|
+
* Improve cross platform handling of child processes ([c2483f7](https://github.com/kapetacom/local-cluster-service/commit/c2483f78378fe5d6c379eb49ac12d1bf487181ad))
|
14
|
+
|
1
15
|
## [0.14.2](https://github.com/kapetacom/local-cluster-service/compare/v0.14.1...v0.14.2) (2023-08-08)
|
2
16
|
|
3
17
|
|
package/dist/cjs/src/api.js
CHANGED
@@ -16,7 +16,11 @@ router.use('/registry', createAPIRoute(remoteServices.registry ?? 'https://regis
|
|
16
16
|
nonce: false,
|
17
17
|
userAgent: `KapetaDesktopCluster/${packageJson.version}`,
|
18
18
|
tokenFetcher: () => {
|
19
|
-
|
19
|
+
const api = new nodejs_api_client_1.KapetaAPI();
|
20
|
+
if (api.hasToken()) {
|
21
|
+
return api.getAccessToken();
|
22
|
+
}
|
23
|
+
return null;
|
20
24
|
}
|
21
25
|
}));
|
22
26
|
exports.default = router;
|
@@ -16,6 +16,13 @@ function getBaseUrl() {
|
|
16
16
|
}
|
17
17
|
router.use('/', cors_1.corsHandler);
|
18
18
|
router.put('/:handle/:name', async (req, res) => {
|
19
|
+
if (!api.hasToken()) {
|
20
|
+
res.status(401).send({
|
21
|
+
status: 401,
|
22
|
+
error: 'Unauthorized',
|
23
|
+
});
|
24
|
+
return;
|
25
|
+
}
|
19
26
|
const endpoint = getBaseUrl();
|
20
27
|
if (!req.headers['content-type']) {
|
21
28
|
res.status(400).send({
|
@@ -172,8 +172,8 @@ class ContainerManager {
|
|
172
172
|
const processor = async (task) => {
|
173
173
|
const timeStarted = Date.now();
|
174
174
|
const api = new nodejs_api_client_1.KapetaAPI();
|
175
|
-
const accessToken = await api.getAccessToken();
|
176
|
-
const auth = image.startsWith('docker.kapeta.com/')
|
175
|
+
const accessToken = api.hasToken() ? await api.getAccessToken() : null;
|
176
|
+
const auth = accessToken && image.startsWith('docker.kapeta.com/')
|
177
177
|
? {
|
178
178
|
username: 'kapeta',
|
179
179
|
password: accessToken,
|
@@ -11,7 +11,12 @@ const api = new nodejs_api_client_1.KapetaAPI();
|
|
11
11
|
router.use('/', cors_1.corsHandler);
|
12
12
|
router.get('/current', async (req, res) => {
|
13
13
|
try {
|
14
|
-
|
14
|
+
if (api.hasToken()) {
|
15
|
+
res.send(await api.getCurrentIdentity());
|
16
|
+
}
|
17
|
+
else {
|
18
|
+
res.status(404).send();
|
19
|
+
}
|
15
20
|
}
|
16
21
|
catch (e) {
|
17
22
|
res.status(e.status ?? 500).send(e);
|
@@ -19,7 +24,12 @@ router.get('/current', async (req, res) => {
|
|
19
24
|
});
|
20
25
|
router.get('/:identityId/memberships', async (req, res) => {
|
21
26
|
try {
|
22
|
-
|
27
|
+
if (api.hasToken()) {
|
28
|
+
res.send(await api.getMemberships(req.params.identityId));
|
29
|
+
}
|
30
|
+
else {
|
31
|
+
res.send([]);
|
32
|
+
}
|
23
33
|
}
|
24
34
|
catch (e) {
|
25
35
|
res.status(e.status ?? 500).send(e);
|
package/dist/esm/src/api.js
CHANGED
@@ -11,7 +11,11 @@ router.use('/registry', createAPIRoute(remoteServices.registry ?? 'https://regis
|
|
11
11
|
nonce: false,
|
12
12
|
userAgent: `KapetaDesktopCluster/${packageJson.version}`,
|
13
13
|
tokenFetcher: () => {
|
14
|
-
|
14
|
+
const api = new KapetaAPI();
|
15
|
+
if (api.hasToken()) {
|
16
|
+
return api.getAccessToken();
|
17
|
+
}
|
18
|
+
return null;
|
15
19
|
}
|
16
20
|
}));
|
17
21
|
export default router;
|
@@ -11,6 +11,13 @@ function getBaseUrl() {
|
|
11
11
|
}
|
12
12
|
router.use('/', corsHandler);
|
13
13
|
router.put('/:handle/:name', async (req, res) => {
|
14
|
+
if (!api.hasToken()) {
|
15
|
+
res.status(401).send({
|
16
|
+
status: 401,
|
17
|
+
error: 'Unauthorized',
|
18
|
+
});
|
19
|
+
return;
|
20
|
+
}
|
14
21
|
const endpoint = getBaseUrl();
|
15
22
|
if (!req.headers['content-type']) {
|
16
23
|
res.status(400).send({
|
@@ -166,8 +166,8 @@ class ContainerManager {
|
|
166
166
|
const processor = async (task) => {
|
167
167
|
const timeStarted = Date.now();
|
168
168
|
const api = new KapetaAPI();
|
169
|
-
const accessToken = await api.getAccessToken();
|
170
|
-
const auth = image.startsWith('docker.kapeta.com/')
|
169
|
+
const accessToken = api.hasToken() ? await api.getAccessToken() : null;
|
170
|
+
const auth = accessToken && image.startsWith('docker.kapeta.com/')
|
171
171
|
? {
|
172
172
|
username: 'kapeta',
|
173
173
|
password: accessToken,
|
@@ -6,7 +6,12 @@ const api = new KapetaAPI();
|
|
6
6
|
router.use('/', corsHandler);
|
7
7
|
router.get('/current', async (req, res) => {
|
8
8
|
try {
|
9
|
-
|
9
|
+
if (api.hasToken()) {
|
10
|
+
res.send(await api.getCurrentIdentity());
|
11
|
+
}
|
12
|
+
else {
|
13
|
+
res.status(404).send();
|
14
|
+
}
|
10
15
|
}
|
11
16
|
catch (e) {
|
12
17
|
res.status(e.status ?? 500).send(e);
|
@@ -14,7 +19,12 @@ router.get('/current', async (req, res) => {
|
|
14
19
|
});
|
15
20
|
router.get('/:identityId/memberships', async (req, res) => {
|
16
21
|
try {
|
17
|
-
|
22
|
+
if (api.hasToken()) {
|
23
|
+
res.send(await api.getMemberships(req.params.identityId));
|
24
|
+
}
|
25
|
+
else {
|
26
|
+
res.send([]);
|
27
|
+
}
|
18
28
|
}
|
19
29
|
catch (e) {
|
20
30
|
res.status(e.status ?? 500).send(e);
|
package/package.json
CHANGED
package/src/api.ts
CHANGED
@@ -14,7 +14,11 @@ router.use('/registry', createAPIRoute(remoteServices.registry ?? 'https://regis
|
|
14
14
|
nonce: false,
|
15
15
|
userAgent: `KapetaDesktopCluster/${packageJson.version}`,
|
16
16
|
tokenFetcher: () => {
|
17
|
-
|
17
|
+
const api = new KapetaAPI();
|
18
|
+
if (api.hasToken()) {
|
19
|
+
return api.getAccessToken();
|
20
|
+
}
|
21
|
+
return null;
|
18
22
|
}
|
19
23
|
}));
|
20
24
|
|
@@ -18,6 +18,14 @@ function getBaseUrl() {
|
|
18
18
|
router.use('/', corsHandler);
|
19
19
|
|
20
20
|
router.put('/:handle/:name', async (req: Request, res: Response) => {
|
21
|
+
if (!api.hasToken()) {
|
22
|
+
res.status(401).send({
|
23
|
+
status: 401,
|
24
|
+
error: 'Unauthorized',
|
25
|
+
});
|
26
|
+
return;
|
27
|
+
}
|
28
|
+
|
21
29
|
const endpoint = getBaseUrl();
|
22
30
|
if (!req.headers['content-type']) {
|
23
31
|
res.status(400).send({
|
package/src/containerManager.ts
CHANGED
@@ -250,9 +250,9 @@ class ContainerManager {
|
|
250
250
|
const processor = async (task: Task) => {
|
251
251
|
const timeStarted = Date.now();
|
252
252
|
const api = new KapetaAPI();
|
253
|
-
const accessToken = await api.getAccessToken();
|
253
|
+
const accessToken = api.hasToken() ? await api.getAccessToken() : null;
|
254
254
|
|
255
|
-
const auth = image.startsWith('docker.kapeta.com/')
|
255
|
+
const auth = accessToken && image.startsWith('docker.kapeta.com/')
|
256
256
|
? {
|
257
257
|
username: 'kapeta',
|
258
258
|
password: accessToken,
|
package/src/identities/routes.ts
CHANGED
@@ -11,7 +11,11 @@ router.use('/', corsHandler);
|
|
11
11
|
|
12
12
|
router.get('/current', async (req: Request, res: Response) => {
|
13
13
|
try {
|
14
|
-
|
14
|
+
if (api.hasToken()) {
|
15
|
+
res.send(await api.getCurrentIdentity());
|
16
|
+
} else {
|
17
|
+
res.status(404).send();
|
18
|
+
}
|
15
19
|
} catch (e: any) {
|
16
20
|
res.status(e.status ?? 500).send(e);
|
17
21
|
}
|
@@ -19,7 +23,11 @@ router.get('/current', async (req: Request, res: Response) => {
|
|
19
23
|
|
20
24
|
router.get('/:identityId/memberships', async (req: Request, res: Response) => {
|
21
25
|
try {
|
22
|
-
|
26
|
+
if (api.hasToken()) {
|
27
|
+
res.send(await api.getMemberships(req.params.identityId));
|
28
|
+
} else {
|
29
|
+
res.send([]);
|
30
|
+
}
|
23
31
|
} catch (e: any) {
|
24
32
|
res.status(e.status ?? 500).send(e);
|
25
33
|
}
|