@abgov/nx-oc 12.2.0 → 12.3.0-beta.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abgov/nx-oc",
3
- "version": "12.2.0",
3
+ "version": "12.3.0-beta.1",
4
4
  "license": "Apache-2.0",
5
5
  "main": "src/index.js",
6
6
  "description": "Government of Alberta - Nx plugin for OpenShift.",
@@ -11,5 +11,7 @@ export declare function selectTenant(tenantServiceUrl: string, token: string): P
11
11
  export declare function getAdspConfiguration(_host: Tree, options: {
12
12
  env: EnvironmentName;
13
13
  accessToken?: string;
14
+ tenant?: string;
15
+ tenantRealm?: string;
14
16
  }): Promise<AdspConfiguration>;
15
17
  export declare function isAdspOptions(options: unknown): options is AdspOptions;
@@ -89,16 +89,37 @@ function selectTenant(tenantServiceUrl, token) {
89
89
  }
90
90
  function getAdspConfiguration(_host, options) {
91
91
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
92
+ var _a;
92
93
  const { env, accessToken } = options;
93
94
  const environment = environments_1.environments[env || 'prod'];
94
95
  if (isAdspOptions(options)) {
95
- // If Adsp configuration is already been resolved, then no need to retrieve gain.
96
+ // Adsp configuration already resolved return it directly.
96
97
  return options.adsp;
97
98
  }
99
+ const urls = yield getServiceUrls(environment.directoryServiceUrl);
100
+ const tenantServiceUrl = urls['urn:ads:platform:tenant-service:v2'];
101
+ if (options.tenant) {
102
+ // --tenant <name>: look up the realm anonymously, then do a single login
103
+ // to that realm. The resulting token works for both ADSP configuration
104
+ // access and the agent-service (which requires a tenant-realm token).
105
+ const { data } = yield axios_1.default.get(new URL('v2/tenants', tenantServiceUrl).href, { params: { name: options.tenant } });
106
+ const found = data.results[0];
107
+ if (!found) {
108
+ throw new Error(`Tenant '${options.tenant}' not found.`);
109
+ }
110
+ const realm = (_a = options.tenantRealm) !== null && _a !== void 0 ? _a : found.realm;
111
+ const token = accessToken || (yield realmLogin(environment.accessServiceUrl, realm));
112
+ return {
113
+ tenant: (0, devkit_1.names)(found.name).fileName,
114
+ tenantRealm: realm,
115
+ accessServiceUrl: environment.accessServiceUrl,
116
+ directoryServiceUrl: environment.directoryServiceUrl,
117
+ accessToken: token,
118
+ };
119
+ }
98
120
  else {
99
- const urls = yield getServiceUrls(environment.directoryServiceUrl);
121
+ // Interactive flow: login to core realm, then let the user pick a tenant.
100
122
  const token = accessToken || (yield realmLogin(environment.accessServiceUrl, 'core'));
101
- const tenantServiceUrl = urls['urn:ads:platform:tenant-service:v2'];
102
123
  const tenant = yield selectTenant(tenantServiceUrl, token);
103
124
  return {
104
125
  tenant: (0, devkit_1.names)(tenant.name).fileName,
@@ -1 +1 @@
1
- {"version":3,"file":"adsp-utils.js","sourceRoot":"","sources":["../../../../../packages/nx-oc/src/adsp/adsp-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adsp-utils.js","sourceRoot":"","sources":["../../../../../packages/nx-oc/src/adsp/adsp-utils.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ export interface AdspConfiguration {
3
3
  tenantRealm: string;
4
4
  accessServiceUrl: string;
5
5
  directoryServiceUrl: string;
6
+ /** Access token from the login performed during configuration retrieval (set by --tenant flow). */
7
+ accessToken?: string;
6
8
  }
7
9
 
8
10
  export type AdspOptions = {
@@ -6,7 +6,7 @@ const pipeline_envs_1 = require("../../pipeline-envs");
6
6
  const oc_utils_1 = require("../../utils/oc-utils");
7
7
  function mapOcProject(project, i) {
8
8
  if (typeof project === 'string') {
9
- return { project: 'string', tag: pipeline_envs_1.pipelineEnvs[i].toLowerCase() };
9
+ return { project, tag: pipeline_envs_1.pipelineEnvs[i].toLowerCase() };
10
10
  }
11
11
  else {
12
12
  return project;
@@ -25,9 +25,9 @@ function runExecutor(options_1, _a) {
25
25
  const failed = ocProjects
26
26
  .map(({ project, tag }) => {
27
27
  const processResult = (0, oc_utils_1.runOcCommand)('process', [
28
- `-f .openshift/${projectName}/${projectName}.yml`,
29
- `-p PROJECT=${project}`,
30
- `-p DEPLOY_TAG=${tag}`,
28
+ '-f', `.openshift/${projectName}/${projectName}.yml`,
29
+ '-p', `PROJECT=${project}`,
30
+ '-p', `DEPLOY_TAG=${tag}`,
31
31
  ]);
32
32
  if (!processResult.success) {
33
33
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../../../../packages/nx-oc/src/executors/apply/apply.ts"],"names":[],"mappings":";;AAwBA,8BAkCC;;AAzDD,uDAA2D;AAC3D,mDAAoD;AAGpD,SAAS,YAAY,CACnB,OAAqC,EACrC,CAAS;IAET,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,4BAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QACjD,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;QACrC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzC,OAAO,EAAE,UAAU,EAAE,CAAC;AACxB,CAAC;AAED,SAA8B,WAAW;iEACvC,OAAe,EACf,EAAE,WAAW,EAAmB;QAEhC,OAAO,CAAC,GAAG,CAAC,wBAAwB,WAAW,KAAK,CAAC,CAAC;QAEtD,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,UAAU;aACtB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE;YACxB,MAAM,aAAa,GAAG,IAAA,uBAAY,EAAC,SAAS,EAAE;gBAC5C,iBAAiB,WAAW,IAAI,WAAW,MAAM;gBACjD,cAAc,OAAO,EAAE;gBACvB,iBAAiB,GAAG,EAAE;aACvB,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC3B,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,uBAAY,EACtC,OAAO,EACP,EAAE,EACF,aAAa,CAAC,MAAM,CACrB,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE,CAAC,CAAC;gBAEhC,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAEjC,OAAO;YACL,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM;SACxB,CAAC;IACJ,CAAC;CAAA"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../../../../packages/nx-oc/src/executors/apply/apply.ts"],"names":[],"mappings":";;AAwBA,8BAkCC;;AAzDD,uDAA2D;AAC3D,mDAAoD;AAGpD,SAAS,YAAY,CACnB,OAAqC,EACrC,CAAS;IAET,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,4BAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QACjD,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;QACrC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzC,OAAO,EAAE,UAAU,EAAE,CAAC;AACxB,CAAC;AAED,SAA8B,WAAW;iEACvC,OAAe,EACf,EAAE,WAAW,EAAmB;QAEhC,OAAO,CAAC,GAAG,CAAC,wBAAwB,WAAW,KAAK,CAAC,CAAC;QAEtD,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,UAAU;aACtB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE;YACxB,MAAM,aAAa,GAAG,IAAA,uBAAY,EAAC,SAAS,EAAE;gBAC5C,IAAI,EAAE,cAAc,WAAW,IAAI,WAAW,MAAM;gBACpD,IAAI,EAAE,WAAW,OAAO,EAAE;gBAC1B,IAAI,EAAE,cAAc,GAAG,EAAE;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC3B,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,uBAAY,EACtC,OAAO,EACP,EAAE,EACF,aAAa,CAAC,MAAM,CACrB,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE,CAAC,CAAC;gBAEhC,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAEjC,OAAO;YACL,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM;SACxB,CAAC;IACJ,CAAC;CAAA"}
@@ -1 +1 @@
1
- export declare function getGitRemoteUrl(): string;
1
+ export declare function getGitRemoteUrl(): string | undefined;
@@ -3,16 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runOcCommand = runOcCommand;
4
4
  const child_process_1 = require("child_process");
5
5
  function runOcCommand(command, params, input) {
6
- const execute = !input ?
7
- `oc ${command} ${params.join(' ')}` :
8
- `cat | oc ${command} ${['-f -', ...params].join(' ')}`;
6
+ const args = input
7
+ ? [command, '-f', '-', ...params]
8
+ : [command, ...params];
9
9
  try {
10
- console.log(`Executing command: ${execute}`);
11
- const stdout = (0, child_process_1.execSync)(execute, { stdio: 'pipe', input });
10
+ console.log(`Executing command: oc ${args.join(' ')}`);
11
+ const stdout = (0, child_process_1.execFileSync)('oc', args, { stdio: 'pipe', input });
12
12
  return { success: true, stdout };
13
13
  }
14
14
  catch (e) {
15
- console.log(`Failed to execute command: ${execute}`, e);
15
+ console.log(`Failed to execute command: oc ${args.join(' ')}`, e);
16
16
  return { success: false };
17
17
  }
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oc-utils.js","sourceRoot":"","sources":["../../../../../packages/nx-oc/src/utils/oc-utils.ts"],"names":[],"mappings":";;AAEA,oCAiBC;AAnBD,iDAAyC;AAEzC,SAAgB,YAAY,CAC1B,OAAwD,EACxD,MAAgB,EAChB,KAAc;IAEd,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,YAAY,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAEzD,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"oc-utils.js","sourceRoot":"","sources":["../../../../../packages/nx-oc/src/utils/oc-utils.ts"],"names":[],"mappings":";;AAEA,oCAiBC;AAnBD,iDAA6C;AAE7C,SAAgB,YAAY,CAC1B,OAAwD,EACxD,MAAgB,EAChB,KAAc;IAEd,MAAM,IAAI,GAAG,KAAK;QAChB,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QACjC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;IAEzB,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAA,4BAAY,EAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -1,55 +1,58 @@
1
- import { execSync } from 'child_process';
1
+ import { execFileSync } from 'child_process';
2
2
  import { mocked } from 'jest-mock';
3
3
  import { runOcCommand } from './oc-utils';
4
4
 
5
5
  jest.mock('child_process');
6
- const mockedExecSync = mocked(execSync);
6
+ const mockedExecFileSync = mocked(execFileSync);
7
7
 
8
8
  describe('runOcCommand', () => {
9
9
  beforeEach(() => {
10
- mockedExecSync.mockReset();
10
+ mockedExecFileSync.mockReset();
11
11
  });
12
12
 
13
13
  it('returns success with stdout on successful command', () => {
14
14
  const output = Buffer.from('project set to test-dev');
15
- mockedExecSync.mockReturnValue(output);
15
+ mockedExecFileSync.mockReturnValue(output);
16
16
 
17
17
  const result = runOcCommand('project', ['test-dev']);
18
18
  expect(result.success).toBe(true);
19
19
  expect(result.stdout).toBe(output);
20
20
  });
21
21
 
22
- it('builds the correct command string without input', () => {
23
- mockedExecSync.mockReturnValue(Buffer.from(''));
22
+ it('builds the correct args array without input', () => {
23
+ mockedExecFileSync.mockReturnValue(Buffer.from(''));
24
24
 
25
- runOcCommand('process', ['-f .openshift/app.yml', '-p ENV=dev']);
26
- expect(mockedExecSync).toHaveBeenCalledWith(
27
- 'oc process -f .openshift/app.yml -p ENV=dev',
25
+ runOcCommand('process', ['-f', '.openshift/app.yml', '-p', 'ENV=dev']);
26
+ expect(mockedExecFileSync).toHaveBeenCalledWith(
27
+ 'oc',
28
+ ['process', '-f', '.openshift/app.yml', '-p', 'ENV=dev'],
28
29
  expect.objectContaining({ stdio: 'pipe' })
29
30
  );
30
31
  });
31
32
 
32
- it('uses cat pipe form when input buffer is provided', () => {
33
- mockedExecSync.mockReturnValue(Buffer.from(''));
33
+ it('prepends -f - when input buffer is provided', () => {
34
+ mockedExecFileSync.mockReturnValue(Buffer.from(''));
34
35
  const input = Buffer.from('{"kind":"List"}');
35
36
 
36
37
  runOcCommand('apply', [], input);
37
- const [cmd] = mockedExecSync.mock.calls[0];
38
- expect(cmd).toContain('cat |');
39
- expect(cmd).toContain('oc apply -f -');
38
+ expect(mockedExecFileSync).toHaveBeenCalledWith(
39
+ 'oc',
40
+ ['apply', '-f', '-'],
41
+ expect.objectContaining({ stdio: 'pipe' })
42
+ );
40
43
  });
41
44
 
42
- it('passes input buffer to execSync', () => {
43
- mockedExecSync.mockReturnValue(Buffer.from(''));
45
+ it('passes input buffer to execFileSync', () => {
46
+ mockedExecFileSync.mockReturnValue(Buffer.from(''));
44
47
  const input = Buffer.from('yaml-content');
45
48
 
46
49
  runOcCommand('apply', [], input);
47
- const [, options] = mockedExecSync.mock.calls[0];
50
+ const [, , options] = mockedExecFileSync.mock.calls[0];
48
51
  expect((options as { input: Buffer }).input).toBe(input);
49
52
  });
50
53
 
51
54
  it('returns failure when command throws', () => {
52
- mockedExecSync.mockImplementation(() => {
55
+ mockedExecFileSync.mockImplementation(() => {
53
56
  throw new Error('oc: command not found');
54
57
  });
55
58