@generacy-ai/control-plane 0.5.0 → 0.7.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.
- package/README.md +5 -0
- package/dist/bin/control-plane.js +38 -0
- package/dist/bin/control-plane.js.map +1 -1
- package/dist/bin/git-credential-generacy.d.ts +3 -0
- package/dist/bin/git-credential-generacy.d.ts.map +1 -0
- package/dist/bin/git-credential-generacy.js +114 -0
- package/dist/bin/git-credential-generacy.js.map +1 -0
- package/dist/bin/git-token-proxy.d.ts +3 -0
- package/dist/bin/git-token-proxy.d.ts.map +1 -0
- package/dist/bin/git-token-proxy.js +70 -0
- package/dist/bin/git-token-proxy.js.map +1 -0
- package/dist/src/git-token-proxy/allowlists.d.ts +17 -0
- package/dist/src/git-token-proxy/allowlists.d.ts.map +1 -0
- package/dist/src/git-token-proxy/allowlists.js +38 -0
- package/dist/src/git-token-proxy/allowlists.js.map +1 -0
- package/dist/src/git-token-proxy/handler.d.ts +10 -0
- package/dist/src/git-token-proxy/handler.d.ts.map +1 -0
- package/dist/src/git-token-proxy/handler.js +86 -0
- package/dist/src/git-token-proxy/handler.js.map +1 -0
- package/dist/src/git-token-proxy/index.d.ts +5 -0
- package/dist/src/git-token-proxy/index.d.ts.map +1 -0
- package/dist/src/git-token-proxy/index.js +5 -0
- package/dist/src/git-token-proxy/index.js.map +1 -0
- package/dist/src/git-token-proxy/logging.d.ts +9 -0
- package/dist/src/git-token-proxy/logging.d.ts.map +1 -0
- package/dist/src/git-token-proxy/logging.js +14 -0
- package/dist/src/git-token-proxy/logging.js.map +1 -0
- package/dist/src/git-token-proxy/upstream-errors.d.ts +14 -0
- package/dist/src/git-token-proxy/upstream-errors.d.ts.map +1 -0
- package/dist/src/git-token-proxy/upstream-errors.js +10 -0
- package/dist/src/git-token-proxy/upstream-errors.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/router.d.ts.map +1 -1
- package/dist/src/router.js +7 -0
- package/dist/src/router.js.map +1 -1
- package/dist/src/routes/git-token.d.ts +15 -0
- package/dist/src/routes/git-token.d.ts.map +1 -0
- package/dist/src/routes/git-token.js +85 -0
- package/dist/src/routes/git-token.js.map +1 -0
- package/dist/src/schemas.d.ts +30 -0
- package/dist/src/schemas.d.ts.map +1 -1
- package/dist/src/schemas.js +12 -0
- package/dist/src/schemas.js.map +1 -1
- package/dist/src/services/cloud-pull-client.d.ts +19 -0
- package/dist/src/services/cloud-pull-client.d.ts.map +1 -0
- package/dist/src/services/cloud-pull-client.js +149 -0
- package/dist/src/services/cloud-pull-client.js.map +1 -0
- package/dist/src/services/cluster-api-key.d.ts +8 -0
- package/dist/src/services/cluster-api-key.d.ts.map +1 -0
- package/dist/src/services/cluster-api-key.js +39 -0
- package/dist/src/services/cluster-api-key.js.map +1 -0
- package/dist/src/services/git-token-manager.d.ts +17 -0
- package/dist/src/services/git-token-manager.d.ts.map +1 -0
- package/dist/src/services/git-token-manager.js +73 -0
- package/dist/src/services/git-token-manager.js.map +1 -0
- package/dist/src/services/jit-git-token-client.d.ts +21 -0
- package/dist/src/services/jit-git-token-client.d.ts.map +1 -0
- package/dist/src/services/jit-git-token-client.js +105 -0
- package/dist/src/services/jit-git-token-client.js.map +1 -0
- package/dist/src/types/git-token.d.ts +24 -0
- package/dist/src/types/git-token.d.ts.map +1 -0
- package/dist/src/types/git-token.js +13 -0
- package/dist/src/types/git-token.js.map +1 -0
- package/package.json +4 -2
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,UAAU;AACV,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,GAexB,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,WAAW;AACX,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,GAKxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,aAAa,GAEd,MAAM,8BAA8B,CAAC;AAEtC,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,SAAS,GAGV,MAAM,aAAa,CAAC;AAErB,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,4CAA4C;AAC5C,OAAO,EACL,kBAAkB,GAKnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAEL,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAEL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,UAAU;AACV,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,GAexB,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,WAAW;AACX,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,GAKxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,aAAa,GAEd,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,uBAAuB,EACvB,aAAa,GAKd,MAAM,oCAAoC,CAAC;AAE5C,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,SAAS,GAGV,MAAM,aAAa,CAAC;AAErB,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,4CAA4C;AAC5C,OAAO,EACL,kBAAkB,GAKnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAEL,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAEL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC"}
|
package/dist/src/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAyGjD,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
|
package/dist/src/router.js
CHANGED
|
@@ -4,6 +4,7 @@ import { handleGetCredential, handleGetCredentialValue, handlePutCredential } fr
|
|
|
4
4
|
import { handlePostLifecycle } from './routes/lifecycle.js';
|
|
5
5
|
import { handlePostAuditBatch } from './routes/audit.js';
|
|
6
6
|
import { handlePostStatus } from './routes/status.js';
|
|
7
|
+
import { handlePostGitToken } from './routes/git-token.js';
|
|
7
8
|
import { handleGetManifest, handleGetValues, handlePutEnv, handleDeleteEnv, handlePostFile, } from './routes/app-config.js';
|
|
8
9
|
const routes = [
|
|
9
10
|
{
|
|
@@ -48,6 +49,12 @@ const routes = [
|
|
|
48
49
|
paramNames: [],
|
|
49
50
|
handler: handlePostStatus,
|
|
50
51
|
},
|
|
52
|
+
{
|
|
53
|
+
method: 'POST',
|
|
54
|
+
pattern: /^\/git-token$/,
|
|
55
|
+
paramNames: [],
|
|
56
|
+
handler: handlePostGitToken,
|
|
57
|
+
},
|
|
51
58
|
{
|
|
52
59
|
method: 'GET',
|
|
53
60
|
pattern: /^\/app-config\/manifest$/,
|
package/dist/src/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC7G,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,cAAc,GACf,MAAM,wBAAwB,CAAC;AAShC,MAAM,MAAM,GAAY;IACtB;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,cAAc;KACxB;IACD;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,iCAAiC;QAC1C,UAAU,EAAE,CAAC,IAAI,CAAC;QAClB,OAAO,EAAE,wBAAwB;KAClC;IACD;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,0BAA0B;QACnC,UAAU,EAAE,CAAC,IAAI,CAAC;QAClB,OAAO,EAAE,mBAAmB;KAC7B;IACD;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,0BAA0B;QACnC,UAAU,EAAE,CAAC,IAAI,CAAC;QAClB,OAAO,EAAE,mBAAmB;KAC7B;IACD;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,wBAAwB;QACjC,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,OAAO,EAAE,mBAAmB;KAC7B;IACD;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,2BAA2B;QACpC,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,oBAAoB;KAC9B;IACD;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,sBAAsB;QAC/B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,gBAAgB;KAC1B;IACD;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,kBAAkB;KAC5B;IACD;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,0BAA0B;QACnC,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,iBAAiB;KAC3B;IACD;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,wBAAwB;QACjC,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,eAAe;KACzB;IACD;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,qBAAqB;QAC9B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,YAAY;KACtB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,8BAA8B;QACvC,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,eAAe;KACzB;IACD;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,gCAAgC;QACzC,UAAU,EAAE,CAAC,IAAI,CAAC;QAClB,OAAO,EAAE,cAAc;KACxB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,GAAyB,EACzB,GAAwB,EACxB,KAAmB;IAEnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;IAE3B,0EAA0E;IAC1E,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,UAAU,GAAG,IAAI,CAAC;YAClB,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAA2B,EAAE,CAAC;gBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACjD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;gBAC/B,CAAC;gBACD,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,uBAAuB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,IAAI,iBAAiB,CAAC,WAAW,EAAE,cAAc,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type http from 'node:http';
|
|
2
|
+
import type { ActorContext } from '../context.js';
|
|
3
|
+
import type { GitTokenCacheEntry } from '../types/git-token.js';
|
|
4
|
+
export interface GitTokenManagerLike {
|
|
5
|
+
getToken(credentialId: string): Promise<GitTokenCacheEntry>;
|
|
6
|
+
}
|
|
7
|
+
export interface CreateGitTokenHandlerOptions {
|
|
8
|
+
gitTokenManager: GitTokenManagerLike;
|
|
9
|
+
defaultCredentialId: string;
|
|
10
|
+
}
|
|
11
|
+
export type GitTokenRouteHandler = (req: http.IncomingMessage, res: http.ServerResponse, actor: ActorContext, params: Record<string, string>) => Promise<void>;
|
|
12
|
+
export declare function setGitTokenManager(manager: GitTokenManagerLike, defaultCredentialId: string): void;
|
|
13
|
+
export declare function createGitTokenHandler(options: CreateGitTokenHandlerOptions): GitTokenRouteHandler;
|
|
14
|
+
export declare function handlePostGitToken(req: http.IncomingMessage, res: http.ServerResponse, actor: ActorContext, params: Record<string, string>): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=git-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-token.d.ts","sourceRoot":"","sources":["../../../src/routes/git-token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAIlD,OAAO,KAAK,EAAsB,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,4BAA4B;IAC3C,eAAe,EAAE,mBAAmB,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,oBAAoB,GAAG,CACjC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;AAInB,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAElG;AAoBD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,oBAAoB,CAgDjG;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAUf"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { readBody } from '../util/read-body.js';
|
|
2
|
+
import { GitTokenRequestSchema } from '../schemas.js';
|
|
3
|
+
import { GitHelperError } from '../types/git-token.js';
|
|
4
|
+
let bound;
|
|
5
|
+
export function setGitTokenManager(manager, defaultCredentialId) {
|
|
6
|
+
bound = { manager, defaultCredentialId };
|
|
7
|
+
}
|
|
8
|
+
const HTTP_STATUS_BY_CODE = {
|
|
9
|
+
CLUSTER_API_KEY_MISSING: 503,
|
|
10
|
+
CREDENTIAL_NOT_CONFIGURED: 400,
|
|
11
|
+
CLOUD_UNREACHABLE: 502,
|
|
12
|
+
CLOUD_AUTH_REJECTED: 502,
|
|
13
|
+
CLOUD_REQUEST_INVALID: 502,
|
|
14
|
+
CLOUD_UPSTREAM_ERROR: 502,
|
|
15
|
+
CLOUD_RESPONSE_INVALID: 502,
|
|
16
|
+
};
|
|
17
|
+
function sendError(res, status, code, message, details) {
|
|
18
|
+
const body = { error: message, code };
|
|
19
|
+
if (details !== undefined)
|
|
20
|
+
body.details = details;
|
|
21
|
+
res.setHeader('Content-Type', 'application/json');
|
|
22
|
+
res.writeHead(status);
|
|
23
|
+
res.end(JSON.stringify(body));
|
|
24
|
+
}
|
|
25
|
+
export function createGitTokenHandler(options) {
|
|
26
|
+
return async function handlePostGitToken(req, res) {
|
|
27
|
+
let raw = '';
|
|
28
|
+
try {
|
|
29
|
+
raw = await readBody(req);
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
// Treat read failure as empty body — fall through to default credential.
|
|
33
|
+
}
|
|
34
|
+
let credentialId = options.defaultCredentialId;
|
|
35
|
+
if (raw.trim().length > 0) {
|
|
36
|
+
let parsed;
|
|
37
|
+
try {
|
|
38
|
+
parsed = JSON.parse(raw);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
// Malformed JSON → fall back to default credential (FR: missing/invalid body still produces a token).
|
|
42
|
+
parsed = {};
|
|
43
|
+
}
|
|
44
|
+
const validated = GitTokenRequestSchema.safeParse(parsed);
|
|
45
|
+
if (!validated.success) {
|
|
46
|
+
sendError(res, 400, 'INVALID_REQUEST', 'Invalid request body', { issues: validated.error.issues });
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (validated.data.credentialId !== undefined) {
|
|
50
|
+
credentialId = validated.data.credentialId;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
let entry;
|
|
54
|
+
try {
|
|
55
|
+
entry = await options.gitTokenManager.getToken(credentialId);
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
if (err instanceof GitHelperError) {
|
|
59
|
+
const status = HTTP_STATUS_BY_CODE[err.code] ?? 500;
|
|
60
|
+
sendError(res, status, err.code, err.message, err.details);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
sendError(res, 500, 'INTERNAL_ERROR', 'git-token request failed');
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
res.setHeader('Content-Type', 'application/json');
|
|
67
|
+
res.writeHead(200);
|
|
68
|
+
res.end(JSON.stringify({
|
|
69
|
+
token: entry.token,
|
|
70
|
+
expiresAt: entry.expiresAt.toISOString(),
|
|
71
|
+
}));
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export async function handlePostGitToken(req, res, actor, params) {
|
|
75
|
+
if (!bound) {
|
|
76
|
+
sendError(res, 503, 'SERVICE_UNAVAILABLE', 'git-token manager not initialized');
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const handler = createGitTokenHandler({
|
|
80
|
+
gitTokenManager: bound.manager,
|
|
81
|
+
defaultCredentialId: bound.defaultCredentialId,
|
|
82
|
+
});
|
|
83
|
+
await handler(req, res, actor, params);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=git-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-token.js","sourceRoot":"","sources":["../../../src/routes/git-token.ts"],"names":[],"mappings":"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"}
|
package/dist/src/schemas.d.ts
CHANGED
|
@@ -372,6 +372,36 @@ export declare const ErrorResponseSchema: z.ZodObject<{
|
|
|
372
372
|
details?: unknown;
|
|
373
373
|
}>;
|
|
374
374
|
export type ErrorResponse = z.infer<typeof ErrorResponseSchema>;
|
|
375
|
+
export declare const GitTokenRequestSchema: z.ZodObject<{
|
|
376
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
377
|
+
}, "strip", z.ZodTypeAny, {
|
|
378
|
+
credentialId?: string | undefined;
|
|
379
|
+
}, {
|
|
380
|
+
credentialId?: string | undefined;
|
|
381
|
+
}>;
|
|
382
|
+
export type GitTokenRequest = z.infer<typeof GitTokenRequestSchema>;
|
|
383
|
+
export declare const GitTokenResponseSchema: z.ZodObject<{
|
|
384
|
+
token: z.ZodString;
|
|
385
|
+
expiresAt: z.ZodString;
|
|
386
|
+
}, "strip", z.ZodTypeAny, {
|
|
387
|
+
token: string;
|
|
388
|
+
expiresAt: string;
|
|
389
|
+
}, {
|
|
390
|
+
token: string;
|
|
391
|
+
expiresAt: string;
|
|
392
|
+
}>;
|
|
393
|
+
export type GitTokenResponseShape = z.infer<typeof GitTokenResponseSchema>;
|
|
394
|
+
export declare const CloudPullResponseSchema: z.ZodObject<{
|
|
395
|
+
token: z.ZodString;
|
|
396
|
+
expiresAt: z.ZodString;
|
|
397
|
+
}, "strip", z.ZodTypeAny, {
|
|
398
|
+
token: string;
|
|
399
|
+
expiresAt: string;
|
|
400
|
+
}, {
|
|
401
|
+
token: string;
|
|
402
|
+
expiresAt: string;
|
|
403
|
+
}>;
|
|
404
|
+
export type CloudPullResponseShape = z.infer<typeof CloudPullResponseSchema>;
|
|
375
405
|
export declare const AppConfigEnvEntrySchema: z.ZodObject<{
|
|
376
406
|
name: z.ZodString;
|
|
377
407
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,UAAU,EACf,uBAAuB,EACvB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AAGjC,eAAO,MAAM,mBAAmB,4DAA0D,CAAC;AAC3F,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB,+BAA6B,CAAC;AAC/D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB,sDAAoD,CAAC;AACtF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;EAM7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,kBAAkB;;;;;;;;;EAG7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG9D,eAAO,MAAM,qBAAqB,sNAWhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,wBAAwB;;;;;;;;;EAGnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,qBAAqB;;;;;;EAEhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;EAM3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,uBAAuB;;;;;;;;;EAGlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAIxE,eAAO,MAAM,6BAA6B;;;;;;;;;EAGxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAGpF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;EAOvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAGlF,eAAO,MAAM,iBAAiB,kKAS5B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAI9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAGhE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;EAMlC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAKnC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,2BAA2B;;;;;;EAEtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/src/schemas.js
CHANGED
|
@@ -115,6 +115,18 @@ export const ErrorResponseSchema = z.object({
|
|
|
115
115
|
code: z.string(),
|
|
116
116
|
details: z.unknown().optional(),
|
|
117
117
|
});
|
|
118
|
+
// Git token (JIT git credential helper — #766)
|
|
119
|
+
export const GitTokenRequestSchema = z.object({
|
|
120
|
+
credentialId: z.string().min(1).optional(),
|
|
121
|
+
});
|
|
122
|
+
export const GitTokenResponseSchema = z.object({
|
|
123
|
+
token: z.string().min(1),
|
|
124
|
+
expiresAt: z.string().datetime({ offset: false }),
|
|
125
|
+
});
|
|
126
|
+
export const CloudPullResponseSchema = z.object({
|
|
127
|
+
token: z.string().min(1),
|
|
128
|
+
expiresAt: z.string().datetime({ offset: false }),
|
|
129
|
+
});
|
|
118
130
|
// App Config schemas
|
|
119
131
|
export const AppConfigEnvEntrySchema = z.object({
|
|
120
132
|
name: z.string().min(1),
|
package/dist/src/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { CloudPullResponse } from '../types/git-token.js';
|
|
2
|
+
import type { ClusterApiKeyReader } from './cluster-api-key.js';
|
|
3
|
+
export interface CloudPullClient {
|
|
4
|
+
pull(credentialId: string): Promise<CloudPullResponse>;
|
|
5
|
+
}
|
|
6
|
+
export interface CreateCloudPullClientOptions {
|
|
7
|
+
apiKeyReader: ClusterApiKeyReader;
|
|
8
|
+
/** Override the API URL env var name (default `GENERACY_API_URL`). Test-only knob. */
|
|
9
|
+
apiUrlEnv?: string;
|
|
10
|
+
/** Override the cloud endpoint path. Defaults to `/api/clusters/git-installation-token`. */
|
|
11
|
+
cloudPath?: string;
|
|
12
|
+
/** Log sink. Defaults to `console`. */
|
|
13
|
+
logger?: {
|
|
14
|
+
info: (obj: Record<string, unknown>) => void;
|
|
15
|
+
warn: (obj: Record<string, unknown>) => void;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export declare function createCloudPullClient(options: CreateCloudPullClientOptions): CloudPullClient;
|
|
19
|
+
//# sourceMappingURL=cloud-pull-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-pull-client.d.ts","sourceRoot":"","sources":["../../../src/services/cloud-pull-client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAIhE,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,4BAA4B;IAC3C,YAAY,EAAE,mBAAmB,CAAC;IAClC,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;KAAE,CAAC;CACzG;AAmCD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,eAAe,CA4J5F"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import http from 'node:http';
|
|
2
|
+
import https from 'node:https';
|
|
3
|
+
import { URL } from 'node:url';
|
|
4
|
+
import { CloudPullResponseSchema } from '../schemas.js';
|
|
5
|
+
import { GitHelperError } from '../types/git-token.js';
|
|
6
|
+
const DEFAULT_CLOUD_PATH = '/api/clusters/git-installation-token';
|
|
7
|
+
function postJson(url, body, headers) {
|
|
8
|
+
const isHttps = url.protocol === 'https:';
|
|
9
|
+
const transport = isHttps ? https : http;
|
|
10
|
+
return new Promise((resolve, reject) => {
|
|
11
|
+
const req = transport.request({
|
|
12
|
+
protocol: url.protocol,
|
|
13
|
+
hostname: url.hostname,
|
|
14
|
+
port: url.port || (isHttps ? 443 : 80),
|
|
15
|
+
path: `${url.pathname}${url.search}`,
|
|
16
|
+
method: 'POST',
|
|
17
|
+
headers: { ...headers, 'content-length': Buffer.byteLength(body).toString() },
|
|
18
|
+
}, (res) => {
|
|
19
|
+
const chunks = [];
|
|
20
|
+
res.on('data', (c) => chunks.push(c));
|
|
21
|
+
res.on('end', () => {
|
|
22
|
+
resolve({ status: res.statusCode ?? 0, body: Buffer.concat(chunks).toString('utf8') });
|
|
23
|
+
});
|
|
24
|
+
res.on('error', reject);
|
|
25
|
+
});
|
|
26
|
+
req.on('error', reject);
|
|
27
|
+
req.write(body);
|
|
28
|
+
req.end();
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export function createCloudPullClient(options) {
|
|
32
|
+
const envName = options.apiUrlEnv ?? 'GENERACY_API_URL';
|
|
33
|
+
const cloudPath = options.cloudPath ?? DEFAULT_CLOUD_PATH;
|
|
34
|
+
const logger = options.logger ?? {
|
|
35
|
+
info: (obj) => console.log(JSON.stringify(obj)),
|
|
36
|
+
warn: (obj) => console.warn(JSON.stringify(obj)),
|
|
37
|
+
};
|
|
38
|
+
return {
|
|
39
|
+
async pull(credentialId) {
|
|
40
|
+
const start = Date.now();
|
|
41
|
+
const apiUrlRaw = process.env[envName];
|
|
42
|
+
if (!apiUrlRaw) {
|
|
43
|
+
throw new GitHelperError('CLOUD_UNREACHABLE', `${envName} is not set — cannot reach cloud on-demand pull endpoint`);
|
|
44
|
+
}
|
|
45
|
+
// Resolve API key first so a missing key short-circuits with the right code.
|
|
46
|
+
const apiKey = await options.apiKeyReader.read();
|
|
47
|
+
let url;
|
|
48
|
+
try {
|
|
49
|
+
url = new URL(cloudPath, apiUrlRaw);
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
throw new GitHelperError('CLOUD_UNREACHABLE', `Invalid ${envName}: ${err.message}`);
|
|
53
|
+
}
|
|
54
|
+
const headers = {
|
|
55
|
+
authorization: `Bearer ${apiKey}`,
|
|
56
|
+
'content-type': 'application/json',
|
|
57
|
+
accept: 'application/json',
|
|
58
|
+
};
|
|
59
|
+
let outcome;
|
|
60
|
+
try {
|
|
61
|
+
outcome = await postJson(url, JSON.stringify({ credentialId }), headers);
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
const cause = err.code ?? err.message;
|
|
65
|
+
logger.warn({
|
|
66
|
+
event: 'git-token-cloud-pull',
|
|
67
|
+
result: 'error',
|
|
68
|
+
errorCode: 'CLOUD_UNREACHABLE',
|
|
69
|
+
durationMs: Date.now() - start,
|
|
70
|
+
});
|
|
71
|
+
throw new GitHelperError('CLOUD_UNREACHABLE', `Cloud on-demand pull endpoint unreachable (${cause})`, { cause });
|
|
72
|
+
}
|
|
73
|
+
if (outcome.status === 401 || outcome.status === 403) {
|
|
74
|
+
logger.warn({
|
|
75
|
+
event: 'git-token-cloud-pull',
|
|
76
|
+
result: 'error',
|
|
77
|
+
errorCode: 'CLOUD_AUTH_REJECTED',
|
|
78
|
+
httpStatus: outcome.status,
|
|
79
|
+
durationMs: Date.now() - start,
|
|
80
|
+
});
|
|
81
|
+
throw new GitHelperError('CLOUD_AUTH_REJECTED', `Cloud rejected cluster API key (HTTP ${outcome.status})`, { httpStatus: outcome.status });
|
|
82
|
+
}
|
|
83
|
+
if (outcome.status >= 400 && outcome.status < 500) {
|
|
84
|
+
logger.warn({
|
|
85
|
+
event: 'git-token-cloud-pull',
|
|
86
|
+
result: 'error',
|
|
87
|
+
errorCode: 'CLOUD_REQUEST_INVALID',
|
|
88
|
+
httpStatus: outcome.status,
|
|
89
|
+
durationMs: Date.now() - start,
|
|
90
|
+
});
|
|
91
|
+
throw new GitHelperError('CLOUD_REQUEST_INVALID', `Cloud returned ${outcome.status} for git-token request`, { httpStatus: outcome.status });
|
|
92
|
+
}
|
|
93
|
+
if (outcome.status >= 500) {
|
|
94
|
+
logger.warn({
|
|
95
|
+
event: 'git-token-cloud-pull',
|
|
96
|
+
result: 'error',
|
|
97
|
+
errorCode: 'CLOUD_UPSTREAM_ERROR',
|
|
98
|
+
httpStatus: outcome.status,
|
|
99
|
+
durationMs: Date.now() - start,
|
|
100
|
+
});
|
|
101
|
+
throw new GitHelperError('CLOUD_UPSTREAM_ERROR', `Cloud upstream error (HTTP ${outcome.status})`, { httpStatus: outcome.status });
|
|
102
|
+
}
|
|
103
|
+
let parsed;
|
|
104
|
+
try {
|
|
105
|
+
parsed = JSON.parse(outcome.body);
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
logger.warn({
|
|
109
|
+
event: 'git-token-cloud-pull',
|
|
110
|
+
result: 'error',
|
|
111
|
+
errorCode: 'CLOUD_RESPONSE_INVALID',
|
|
112
|
+
httpStatus: outcome.status,
|
|
113
|
+
durationMs: Date.now() - start,
|
|
114
|
+
});
|
|
115
|
+
throw new GitHelperError('CLOUD_RESPONSE_INVALID', 'Cloud returned a non-JSON body');
|
|
116
|
+
}
|
|
117
|
+
const result = CloudPullResponseSchema.safeParse(parsed);
|
|
118
|
+
if (!result.success) {
|
|
119
|
+
logger.warn({
|
|
120
|
+
event: 'git-token-cloud-pull',
|
|
121
|
+
result: 'error',
|
|
122
|
+
errorCode: 'CLOUD_RESPONSE_INVALID',
|
|
123
|
+
httpStatus: outcome.status,
|
|
124
|
+
durationMs: Date.now() - start,
|
|
125
|
+
});
|
|
126
|
+
throw new GitHelperError('CLOUD_RESPONSE_INVALID', 'Cloud response did not match expected schema', { issues: result.error.issues });
|
|
127
|
+
}
|
|
128
|
+
const expiresAtMs = Date.parse(result.data.expiresAt);
|
|
129
|
+
if (!Number.isFinite(expiresAtMs) || expiresAtMs <= Date.now()) {
|
|
130
|
+
logger.warn({
|
|
131
|
+
event: 'git-token-cloud-pull',
|
|
132
|
+
result: 'error',
|
|
133
|
+
errorCode: 'CLOUD_RESPONSE_INVALID',
|
|
134
|
+
httpStatus: outcome.status,
|
|
135
|
+
durationMs: Date.now() - start,
|
|
136
|
+
});
|
|
137
|
+
throw new GitHelperError('CLOUD_RESPONSE_INVALID', 'Cloud returned an already-past expiresAt');
|
|
138
|
+
}
|
|
139
|
+
logger.info({
|
|
140
|
+
event: 'git-token-cloud-pull',
|
|
141
|
+
result: 'ok',
|
|
142
|
+
httpStatus: outcome.status,
|
|
143
|
+
durationMs: Date.now() - start,
|
|
144
|
+
});
|
|
145
|
+
return { token: result.data.token, expiresAt: result.data.expiresAt };
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=cloud-pull-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-pull-client.js","sourceRoot":"","sources":["../../../src/services/cloud-pull-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface ClusterApiKeyReader {
|
|
2
|
+
read(): Promise<string>;
|
|
3
|
+
}
|
|
4
|
+
export interface CreateClusterApiKeyReaderOptions {
|
|
5
|
+
keyPath?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function createClusterApiKeyReader(options?: CreateClusterApiKeyReaderOptions): ClusterApiKeyReader;
|
|
8
|
+
//# sourceMappingURL=cluster-api-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cluster-api-key.d.ts","sourceRoot":"","sources":["../../../src/services/cluster-api-key.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,gCAAgC;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,gCAAqC,GAC7C,mBAAmB,CAwCrB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { stat, readFile } from 'node:fs/promises';
|
|
2
|
+
import { GitHelperError } from '../types/git-token.js';
|
|
3
|
+
const DEFAULT_KEY_PATH = '/var/lib/generacy/cluster-api-key';
|
|
4
|
+
export function createClusterApiKeyReader(options = {}) {
|
|
5
|
+
const keyPath = options.keyPath ?? DEFAULT_KEY_PATH;
|
|
6
|
+
let cachedValue;
|
|
7
|
+
let lastMtimeMs = -1;
|
|
8
|
+
return {
|
|
9
|
+
async read() {
|
|
10
|
+
try {
|
|
11
|
+
const st = await stat(keyPath);
|
|
12
|
+
// `mtime.getTime()` is integer-ms (truncated from the kernel's
|
|
13
|
+
// nanosecond mtime). `mtimeMs` may carry fractional nanoseconds that
|
|
14
|
+
// round-trip differently through utimes() — using getTime() keeps the
|
|
15
|
+
// cache invariant stable across FS-precision quirks.
|
|
16
|
+
const mtimeMs = st.mtime.getTime();
|
|
17
|
+
if (mtimeMs !== lastMtimeMs || cachedValue === undefined) {
|
|
18
|
+
const raw = await readFile(keyPath, 'utf8');
|
|
19
|
+
cachedValue = raw.replace(/\r?\n+$/, '');
|
|
20
|
+
lastMtimeMs = mtimeMs;
|
|
21
|
+
}
|
|
22
|
+
if (!cachedValue) {
|
|
23
|
+
throw new GitHelperError('CLUSTER_API_KEY_MISSING', `Cluster API key file at ${keyPath} is empty`);
|
|
24
|
+
}
|
|
25
|
+
return cachedValue;
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
if (err instanceof GitHelperError)
|
|
29
|
+
throw err;
|
|
30
|
+
const code = err.code;
|
|
31
|
+
if (code === 'ENOENT' || code === 'EACCES' || code === 'EPERM') {
|
|
32
|
+
throw new GitHelperError('CLUSTER_API_KEY_MISSING', `Cluster API key file at ${keyPath} is missing or unreadable`, { cause: code });
|
|
33
|
+
}
|
|
34
|
+
throw err;
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=cluster-api-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cluster-api-key.js","sourceRoot":"","sources":["../../../src/services/cluster-api-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,gBAAgB,GAAG,mCAAmC,CAAC;AAU7D,MAAM,UAAU,yBAAyB,CACvC,UAA4C,EAAE;IAE9C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC;IACpD,IAAI,WAA+B,CAAC;IACpC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;IAErB,OAAO;QACL,KAAK,CAAC,IAAI;YACR,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/B,+DAA+D;gBAC/D,qEAAqE;gBACrE,sEAAsE;gBACtE,qDAAqD;gBACrD,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,OAAO,KAAK,WAAW,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBACzD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAC5C,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBACzC,WAAW,GAAG,OAAO,CAAC;gBACxB,CAAC;gBACD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,IAAI,cAAc,CACtB,yBAAyB,EACzB,2BAA2B,OAAO,WAAW,CAC9C,CAAC;gBACJ,CAAC;gBACD,OAAO,WAAW,CAAC;YACrB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,cAAc;oBAAE,MAAM,GAAG,CAAC;gBAC7C,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;gBACjD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC/D,MAAM,IAAI,cAAc,CACtB,yBAAyB,EACzB,2BAA2B,OAAO,2BAA2B,EAC7D,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { GitTokenCacheEntry } from '../types/git-token.js';
|
|
2
|
+
import type { CloudPullClient } from './cloud-pull-client.js';
|
|
3
|
+
export declare const REFRESH_WINDOW_MS: number;
|
|
4
|
+
export interface GitTokenManager {
|
|
5
|
+
getToken(credentialId: string): Promise<GitTokenCacheEntry>;
|
|
6
|
+
}
|
|
7
|
+
export interface CreateGitTokenManagerOptions {
|
|
8
|
+
cloudPullClient: CloudPullClient;
|
|
9
|
+
/** Override the clock. Defaults to `Date.now`. */
|
|
10
|
+
now?: () => number;
|
|
11
|
+
logger?: {
|
|
12
|
+
info: (obj: Record<string, unknown>) => void;
|
|
13
|
+
warn: (obj: Record<string, unknown>) => void;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export declare function createGitTokenManager(options: CreateGitTokenManagerOptions): GitTokenManager;
|
|
17
|
+
//# sourceMappingURL=git-token-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-token-manager.d.ts","sourceRoot":"","sources":["../../../src/services/git-token-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,eAAO,MAAM,iBAAiB,QAAa,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,4BAA4B;IAC3C,eAAe,EAAE,eAAe,CAAC;IACjC,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;KAAE,CAAC;CACzG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,eAAe,CA+E5F"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { GitHelperError } from '../types/git-token.js';
|
|
2
|
+
export const REFRESH_WINDOW_MS = 5 * 60_000;
|
|
3
|
+
export function createGitTokenManager(options) {
|
|
4
|
+
const now = options.now ?? Date.now;
|
|
5
|
+
const logger = options.logger ?? {
|
|
6
|
+
info: (obj) => console.log(JSON.stringify(obj)),
|
|
7
|
+
warn: (obj) => console.warn(JSON.stringify(obj)),
|
|
8
|
+
};
|
|
9
|
+
let cache = null;
|
|
10
|
+
let inFlight = null;
|
|
11
|
+
async function refresh(credentialId) {
|
|
12
|
+
const start = now();
|
|
13
|
+
try {
|
|
14
|
+
const response = await options.cloudPullClient.pull(credentialId);
|
|
15
|
+
const expiresAtMs = Date.parse(response.expiresAt);
|
|
16
|
+
const fetchedAtMs = now();
|
|
17
|
+
if (!Number.isFinite(expiresAtMs) || expiresAtMs <= fetchedAtMs) {
|
|
18
|
+
throw new GitHelperError('CLOUD_RESPONSE_INVALID', 'Cloud returned an expiresAt at or before now');
|
|
19
|
+
}
|
|
20
|
+
const entry = {
|
|
21
|
+
token: response.token,
|
|
22
|
+
expiresAt: new Date(expiresAtMs),
|
|
23
|
+
credentialId,
|
|
24
|
+
fetchedAt: new Date(fetchedAtMs),
|
|
25
|
+
};
|
|
26
|
+
cache = entry;
|
|
27
|
+
logger.info({
|
|
28
|
+
event: 'git-token-get',
|
|
29
|
+
result: 'refresh-success',
|
|
30
|
+
credentialId,
|
|
31
|
+
expiresAt: response.expiresAt,
|
|
32
|
+
durationMs: now() - start,
|
|
33
|
+
});
|
|
34
|
+
return entry;
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
const errorCode = err instanceof GitHelperError ? err.code : 'UNKNOWN';
|
|
38
|
+
logger.warn({
|
|
39
|
+
event: 'git-token-get',
|
|
40
|
+
result: 'refresh-error',
|
|
41
|
+
credentialId,
|
|
42
|
+
errorCode,
|
|
43
|
+
durationMs: now() - start,
|
|
44
|
+
});
|
|
45
|
+
throw err;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
async getToken(credentialId) {
|
|
50
|
+
const start = now();
|
|
51
|
+
if (cache &&
|
|
52
|
+
cache.credentialId === credentialId &&
|
|
53
|
+
cache.expiresAt.getTime() - now() > REFRESH_WINDOW_MS) {
|
|
54
|
+
logger.info({
|
|
55
|
+
event: 'git-token-get',
|
|
56
|
+
result: 'cache-hit',
|
|
57
|
+
credentialId,
|
|
58
|
+
expiresAt: cache.expiresAt.toISOString(),
|
|
59
|
+
durationMs: now() - start,
|
|
60
|
+
});
|
|
61
|
+
return cache;
|
|
62
|
+
}
|
|
63
|
+
if (inFlight) {
|
|
64
|
+
return inFlight;
|
|
65
|
+
}
|
|
66
|
+
inFlight = refresh(credentialId).finally(() => {
|
|
67
|
+
inFlight = null;
|
|
68
|
+
});
|
|
69
|
+
return inFlight;
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=git-token-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-token-manager.js","sourceRoot":"","sources":["../../../src/services/git-token-manager.ts"],"names":[],"mappings":"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"}
|