@datadog/datadog-ci 3.7.0 → 3.8.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/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/aas/cli.d.ts +1 -0
- package/dist/commands/aas/cli.js +5 -0
- package/dist/commands/aas/cli.js.map +1 -0
- package/dist/commands/aas/common.d.ts +24 -0
- package/dist/commands/aas/common.js +128 -0
- package/dist/commands/aas/common.js.map +1 -0
- package/dist/commands/aas/instrument.d.ts +11 -0
- package/dist/commands/aas/instrument.js +146 -0
- package/dist/commands/aas/instrument.js.map +1 -0
- package/dist/commands/aas/interfaces.d.ts +16 -0
- package/dist/commands/aas/interfaces.js +3 -0
- package/dist/commands/aas/interfaces.js.map +1 -0
- package/dist/commands/cloud-run/constants.js +12 -12
- package/dist/commands/cloud-run/constants.js.map +1 -1
- package/dist/commands/coverage/renderer.d.ts +2 -0
- package/dist/commands/coverage/renderer.js +9 -1
- package/dist/commands/coverage/renderer.js.map +1 -1
- package/dist/commands/coverage/upload.d.ts +6 -0
- package/dist/commands/coverage/upload.js +76 -16
- package/dist/commands/coverage/upload.js.map +1 -1
- package/dist/commands/gate/evaluate.js +1 -1
- package/dist/commands/gate/evaluate.js.map +1 -1
- package/dist/commands/git-metadata/git.d.ts +1 -0
- package/dist/commands/git-metadata/git.js +19 -5
- package/dist/commands/git-metadata/git.js.map +1 -1
- package/dist/commands/lambda/functions/instrument.js +1 -1
- package/dist/commands/lambda/functions/instrument.js.map +1 -1
- package/dist/commands/sbom/payload.js +9 -6
- package/dist/commands/sbom/payload.js.map +1 -1
- package/dist/commands/synthetics/deploy-tests-command.d.ts +1 -0
- package/dist/commands/synthetics/deploy-tests-command.js +7 -4
- package/dist/commands/synthetics/deploy-tests-command.js.map +1 -1
- package/dist/commands/synthetics/deploy-tests-lib.js +23 -3
- package/dist/commands/synthetics/deploy-tests-lib.js.map +1 -1
- package/dist/commands/synthetics/interfaces.d.ts +3 -2
- package/dist/commands/synthetics/multilocator.js +1 -1
- package/dist/commands/synthetics/multilocator.js.map +1 -1
- package/dist/commands/synthetics/tunnel/tunnel.js +3 -4
- package/dist/commands/synthetics/tunnel/tunnel.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +3 -1
- package/dist/constants.js.map +1 -1
- package/dist/helpers/ci.d.ts +0 -1
- package/dist/helpers/ci.js +85 -36
- package/dist/helpers/ci.js.map +1 -1
- package/dist/helpers/git/format-git-span-data.js +2 -2
- package/dist/helpers/git/format-git-span-data.js.map +1 -1
- package/dist/helpers/git/get-git-data.js +7 -1
- package/dist/helpers/git/get-git-data.js.map +1 -1
- package/dist/helpers/interfaces.d.ts +10 -2
- package/dist/helpers/tags.d.ts +0 -1
- package/dist/helpers/tags.js +1 -2
- package/dist/helpers/tags.js.map +1 -1
- package/dist/helpers/user-provided-git.js +5 -1
- package/dist/helpers/user-provided-git.js.map +1 -1
- package/dist/helpers/utils.d.ts +2 -1
- package/package.json +8 -1
package/dist/cli.js
CHANGED
|
@@ -8,7 +8,7 @@ exports.cli = exports.BETA_COMMANDS = void 0;
|
|
|
8
8
|
const fs_1 = __importDefault(require("fs"));
|
|
9
9
|
const clipanion_1 = require("clipanion");
|
|
10
10
|
const version_1 = require("./helpers/version");
|
|
11
|
-
exports.BETA_COMMANDS = ['dora', 'deployment', 'elf-symbols'];
|
|
11
|
+
exports.BETA_COMMANDS = ['dora', 'deployment', 'elf-symbols', 'aas'];
|
|
12
12
|
const onError = (err) => {
|
|
13
13
|
console.log(err);
|
|
14
14
|
process.exitCode = 1;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AAEnB,yCAAqD;AAErD,+CAAyC;AAE5B,QAAA,aAAa,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AAEnB,yCAAqD;AAErD,+CAAyC;AAE5B,QAAA,aAAa,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;AAEzE,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAE,EAAE;IAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAA;AACxC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;AAEzC,MAAM,GAAG,GAAG,IAAI,eAAG,CAAC;IAClB,WAAW,EAAE,YAAY;IACzB,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,iBAAO;CACvB,CAAC,CAAA;AA2BM,kBAAG;AAzBX,GAAG,CAAC,QAAQ,CAAC,oBAAQ,CAAC,WAAW,CAAC,CAAA;AAClC,GAAG,CAAC,QAAQ,CAAC,oBAAQ,CAAC,cAAc,CAAC,CAAA;AAErC,MAAM,YAAY,GAAG,GAAG,SAAS,WAAW,CAAA;AAC5C,KAAK,MAAM,aAAa,IAAI,YAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;IACxD,MAAM,mBAAmB,GACvB,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,MAAM,CAAA;IACjG,IAAI,qBAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE;QACjE,SAAQ;KACT;IACD,MAAM,WAAW,GAAG,GAAG,YAAY,IAAI,aAAa,EAAE,CAAA;IACtD,IAAI,YAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE;QAC1C,8DAA8D;QAC9D,CAAC;QAAC,OAAO,CAAC,GAAG,WAAW,MAAM,CAAoB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;KAC/F;CACF;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IAC3B,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAA;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/commands/aas/cli.ts"],"names":[],"mappings":";;AAAA,6CAA8C;AAE9C,MAAM,CAAC,OAAO,GAAG,CAAC,8BAAiB,CAAC,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { PagedAsyncIterableIterator } from '@azure/core-paging';
|
|
2
|
+
import { Command } from 'clipanion';
|
|
3
|
+
import { AasConfigOptions } from './interfaces';
|
|
4
|
+
export declare const SIDECAR_CONTAINER_NAME = "datadog-sidecar";
|
|
5
|
+
export declare const SIDECAR_IMAGE = "index.docker.io/datadog/serverless-init:latest";
|
|
6
|
+
export declare const SIDECAR_PORT = "8126";
|
|
7
|
+
export declare abstract class AasCommand extends Command {
|
|
8
|
+
dryRun: boolean;
|
|
9
|
+
private subscriptionId;
|
|
10
|
+
private resourceGroup;
|
|
11
|
+
private aasName;
|
|
12
|
+
private configPath;
|
|
13
|
+
private service;
|
|
14
|
+
private environment;
|
|
15
|
+
private isInstanceLoggingEnabled;
|
|
16
|
+
private logPath;
|
|
17
|
+
private fips;
|
|
18
|
+
private fipsIgnoreError;
|
|
19
|
+
private fipsConfig;
|
|
20
|
+
get dryRunPrefix(): string;
|
|
21
|
+
enableFips(): void;
|
|
22
|
+
ensureConfig(): Promise<[AasConfigOptions, string[]]>;
|
|
23
|
+
}
|
|
24
|
+
export declare const collectAsyncIterator: <T>(it: PagedAsyncIterableIterator<T, T[], import("@azure/core-paging").PageSettings>) => Promise<T[]>;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
12
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
13
|
+
var m = o[Symbol.asyncIterator], i;
|
|
14
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
15
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
16
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.collectAsyncIterator = exports.AasCommand = exports.SIDECAR_PORT = exports.SIDECAR_IMAGE = exports.SIDECAR_CONTAINER_NAME = void 0;
|
|
20
|
+
const clipanion_1 = require("clipanion");
|
|
21
|
+
const constants_1 = require("../../constants");
|
|
22
|
+
const env_1 = require("../../helpers/env");
|
|
23
|
+
const fips_1 = require("../../helpers/fips");
|
|
24
|
+
const renderer_1 = require("../../helpers/renderer");
|
|
25
|
+
const utils_1 = require("../../helpers/utils");
|
|
26
|
+
exports.SIDECAR_CONTAINER_NAME = 'datadog-sidecar';
|
|
27
|
+
exports.SIDECAR_IMAGE = 'index.docker.io/datadog/serverless-init:latest';
|
|
28
|
+
exports.SIDECAR_PORT = '8126';
|
|
29
|
+
class AasCommand extends clipanion_1.Command {
|
|
30
|
+
constructor() {
|
|
31
|
+
var _a, _b;
|
|
32
|
+
super(...arguments);
|
|
33
|
+
this.dryRun = clipanion_1.Option.Boolean('-d,--dry-run', false, {
|
|
34
|
+
description: 'Run the command in dry-run mode, without making any changes',
|
|
35
|
+
});
|
|
36
|
+
this.subscriptionId = clipanion_1.Option.String('-s,--subscription-id', {
|
|
37
|
+
description: 'Azure Subscription ID containing the App Service',
|
|
38
|
+
});
|
|
39
|
+
this.resourceGroup = clipanion_1.Option.String('-g,--resource-group', {
|
|
40
|
+
description: 'Name of the Azure Resource Group containing the App Service',
|
|
41
|
+
});
|
|
42
|
+
this.aasName = clipanion_1.Option.String('-n,--name', {
|
|
43
|
+
description: 'Name of the Azure App Service to instrument',
|
|
44
|
+
});
|
|
45
|
+
this.configPath = clipanion_1.Option.String('--config', {
|
|
46
|
+
description: 'Path to the configuration file',
|
|
47
|
+
});
|
|
48
|
+
this.service = clipanion_1.Option.String('--service', {
|
|
49
|
+
description: 'How you want to tag your service. For example, `my-service`',
|
|
50
|
+
});
|
|
51
|
+
this.environment = clipanion_1.Option.String('--env,--environment', {
|
|
52
|
+
description: 'How you want to tag your env. For example, `prod`',
|
|
53
|
+
});
|
|
54
|
+
this.isInstanceLoggingEnabled = clipanion_1.Option.Boolean('--instance-logging', false, {
|
|
55
|
+
description: 'When enabled, log collection is automatically configured for an additional file path: /home/LogFiles/*$COMPUTERNAME*.log',
|
|
56
|
+
});
|
|
57
|
+
this.logPath = clipanion_1.Option.String('--log-path', {
|
|
58
|
+
description: 'Where you write your logs. For example, /home/LogFiles/*.log or /home/LogFiles/myapp/*.log',
|
|
59
|
+
});
|
|
60
|
+
this.fips = clipanion_1.Option.Boolean('--fips', false);
|
|
61
|
+
this.fipsIgnoreError = clipanion_1.Option.Boolean('--fips-ignore-error', false);
|
|
62
|
+
this.fipsConfig = {
|
|
63
|
+
fips: (_a = (0, env_1.toBoolean)(process.env[constants_1.FIPS_ENV_VAR])) !== null && _a !== void 0 ? _a : false,
|
|
64
|
+
fipsIgnoreError: (_b = (0, env_1.toBoolean)(process.env[constants_1.FIPS_IGNORE_ERROR_ENV_VAR])) !== null && _b !== void 0 ? _b : false,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
get dryRunPrefix() {
|
|
68
|
+
return this.dryRun ? renderer_1.dryRunTag + ' ' : '';
|
|
69
|
+
}
|
|
70
|
+
enableFips() {
|
|
71
|
+
(0, fips_1.enableFips)(this.fips || this.fipsConfig.fips, this.fipsIgnoreError || this.fipsConfig.fipsIgnoreError);
|
|
72
|
+
}
|
|
73
|
+
ensureConfig() {
|
|
74
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
+
const config = (yield (0, utils_1.resolveConfigFromFile)({
|
|
76
|
+
aas: {
|
|
77
|
+
subscriptionId: this.subscriptionId,
|
|
78
|
+
resourceGroup: this.resourceGroup,
|
|
79
|
+
aasName: this.aasName,
|
|
80
|
+
service: this.service,
|
|
81
|
+
environment: this.environment,
|
|
82
|
+
isInstanceLoggingEnabled: this.isInstanceLoggingEnabled,
|
|
83
|
+
logPath: this.logPath,
|
|
84
|
+
},
|
|
85
|
+
}, {
|
|
86
|
+
configPath: this.configPath,
|
|
87
|
+
defaultConfigPaths: utils_1.DEFAULT_CONFIG_PATHS,
|
|
88
|
+
})).aas;
|
|
89
|
+
const errors = [];
|
|
90
|
+
if (process.env.DD_API_KEY === undefined) {
|
|
91
|
+
errors.push('DD_API_KEY environment variable is required');
|
|
92
|
+
}
|
|
93
|
+
if (!this.subscriptionId) {
|
|
94
|
+
errors.push('--subscription-id is required');
|
|
95
|
+
}
|
|
96
|
+
if (!this.resourceGroup) {
|
|
97
|
+
errors.push('--resource-group is required');
|
|
98
|
+
}
|
|
99
|
+
if (!this.aasName) {
|
|
100
|
+
errors.push('App Service (--name) is required');
|
|
101
|
+
}
|
|
102
|
+
return [config, errors];
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.AasCommand = AasCommand;
|
|
107
|
+
const collectAsyncIterator = (it) => { var _a, it_1, it_1_1; return __awaiter(void 0, void 0, void 0, function* () {
|
|
108
|
+
var _b, e_1, _c, _d;
|
|
109
|
+
const arr = [];
|
|
110
|
+
try {
|
|
111
|
+
for (_a = true, it_1 = __asyncValues(it); it_1_1 = yield it_1.next(), _b = it_1_1.done, !_b; _a = true) {
|
|
112
|
+
_d = it_1_1.value;
|
|
113
|
+
_a = false;
|
|
114
|
+
const x = _d;
|
|
115
|
+
arr.push(x);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
119
|
+
finally {
|
|
120
|
+
try {
|
|
121
|
+
if (!_a && !_b && (_c = it_1.return)) yield _c.call(it_1);
|
|
122
|
+
}
|
|
123
|
+
finally { if (e_1) throw e_1.error; }
|
|
124
|
+
}
|
|
125
|
+
return arr;
|
|
126
|
+
}); };
|
|
127
|
+
exports.collectAsyncIterator = collectAsyncIterator;
|
|
128
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/commands/aas/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { WebSiteManagementClient } from '@azure/arm-appservice';
|
|
2
|
+
import { AasCommand } from './common';
|
|
3
|
+
import { AasConfigOptions } from './interfaces';
|
|
4
|
+
export declare class InstrumentCommand extends AasCommand {
|
|
5
|
+
static paths: string[][];
|
|
6
|
+
static usage: import("clipanion").Usage;
|
|
7
|
+
private shouldNotRestart;
|
|
8
|
+
execute(): Promise<0 | 1>;
|
|
9
|
+
getEnvVars(config: AasConfigOptions): Record<string, string>;
|
|
10
|
+
instrumentSidecar(client: WebSiteManagementClient, config: AasConfigOptions, resourceGroup: string, aasName: string): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.InstrumentCommand = void 0;
|
|
16
|
+
const arm_appservice_1 = require("@azure/arm-appservice");
|
|
17
|
+
const identity_1 = require("@azure/identity");
|
|
18
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
19
|
+
const clipanion_1 = require("clipanion");
|
|
20
|
+
const es6_1 = __importDefault(require("fast-deep-equal/es6"));
|
|
21
|
+
const renderer_1 = require("../../helpers/renderer");
|
|
22
|
+
const common_1 = require("./common");
|
|
23
|
+
class InstrumentCommand extends common_1.AasCommand {
|
|
24
|
+
constructor() {
|
|
25
|
+
super(...arguments);
|
|
26
|
+
this.shouldNotRestart = clipanion_1.Option.Boolean('--no-restart', false, {
|
|
27
|
+
description: 'Do not restart the App Service after applying instrumentation.',
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
execute() {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
this.enableFips();
|
|
33
|
+
const [config, errors] = yield this.ensureConfig();
|
|
34
|
+
if (errors.length > 0) {
|
|
35
|
+
for (const error of errors) {
|
|
36
|
+
this.context.stdout.write((0, renderer_1.renderError)(error));
|
|
37
|
+
}
|
|
38
|
+
return 1;
|
|
39
|
+
}
|
|
40
|
+
const cred = new identity_1.DefaultAzureCredential();
|
|
41
|
+
try {
|
|
42
|
+
yield cred.getToken('https://management.azure.com/.default');
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
this.context.stdout.write((0, renderer_1.renderSoftWarning)(`Failed to authenticate with Azure: ${error.name}\n\nPlease ensure that you have the Azure CLI installed (https://aka.ms/azure-cli) and have run ${chalk_1.default.bold('az login')} to authenticate.\n`));
|
|
46
|
+
return 1;
|
|
47
|
+
}
|
|
48
|
+
this.context.stdout.write(`${this.dryRunPrefix}🐶 Instrumenting Azure App Service\n`);
|
|
49
|
+
const client = new arm_appservice_1.WebSiteManagementClient(cred, config.subscriptionId);
|
|
50
|
+
const siteConfig = yield client.webApps.getConfiguration(config.resourceGroup, config.aasName);
|
|
51
|
+
if (siteConfig.kind && !siteConfig.kind.toLowerCase().includes('linux')) {
|
|
52
|
+
this.context.stdout.write((0, renderer_1.renderSoftWarning)(`Only Linux-based Azure App Services are currently supported.
|
|
53
|
+
Please see the documentation for information on
|
|
54
|
+
how to instrument Windows-based App Services:
|
|
55
|
+
https://docs.datadoghq.com/serverless/azure_app_services/azure_app_services_windows`));
|
|
56
|
+
return 1;
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
yield this.instrumentSidecar(client, config, config.resourceGroup, config.aasName);
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
this.context.stdout.write((0, renderer_1.renderError)(`Failed to instrument sidecar: ${error}`));
|
|
63
|
+
return 1;
|
|
64
|
+
}
|
|
65
|
+
if (!this.shouldNotRestart) {
|
|
66
|
+
this.context.stdout.write(`${this.dryRunPrefix}Restarting Azure App Service\n`);
|
|
67
|
+
if (!this.dryRun) {
|
|
68
|
+
try {
|
|
69
|
+
yield client.webApps.restart(config.resourceGroup, config.aasName);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
this.context.stdout.write((0, renderer_1.renderError)(`Failed to restart Azure App Service: ${error}`));
|
|
73
|
+
return 1;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
this.context.stdout.write(`${this.dryRunPrefix}🐶 Instrumentation complete!\n`);
|
|
78
|
+
return 0;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
getEnvVars(config) {
|
|
82
|
+
var _a;
|
|
83
|
+
const envVars = {
|
|
84
|
+
DD_API_KEY: process.env.DD_API_KEY,
|
|
85
|
+
DD_SITE: (_a = process.env.DD_SITE) !== null && _a !== void 0 ? _a : 'datadoghq.com',
|
|
86
|
+
DD_AAS_INSTANCE_LOGGING_ENABLED: config.isInstanceLoggingEnabled.toString(),
|
|
87
|
+
};
|
|
88
|
+
if (config.service) {
|
|
89
|
+
envVars.DD_SERVICE = config.service;
|
|
90
|
+
}
|
|
91
|
+
if (config.environment) {
|
|
92
|
+
envVars.DD_ENV = config.environment;
|
|
93
|
+
}
|
|
94
|
+
if (config.logPath) {
|
|
95
|
+
envVars.DD_SERVERLESS_LOG_PATH = config.logPath;
|
|
96
|
+
}
|
|
97
|
+
return envVars;
|
|
98
|
+
}
|
|
99
|
+
instrumentSidecar(client, config, resourceGroup, aasName) {
|
|
100
|
+
var _a;
|
|
101
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
+
const siteContainers = yield (0, common_1.collectAsyncIterator)(client.webApps.listSiteContainers(resourceGroup, aasName));
|
|
103
|
+
const sidecarContainer = siteContainers.find((c) => c.name === common_1.SIDECAR_CONTAINER_NAME);
|
|
104
|
+
const envVars = this.getEnvVars(config);
|
|
105
|
+
// We need to ensure that the sidecar container is configured correctly, which means checking the image, target port,
|
|
106
|
+
// and environment variables. The sidecar environment variables must have matching names and values, as the sidecar
|
|
107
|
+
// env values point to env keys in the main App Settings. (essentially env var forwarding)
|
|
108
|
+
if (sidecarContainer === undefined ||
|
|
109
|
+
sidecarContainer.image !== common_1.SIDECAR_IMAGE ||
|
|
110
|
+
sidecarContainer.targetPort !== common_1.SIDECAR_PORT ||
|
|
111
|
+
!((_a = sidecarContainer.environmentVariables) === null || _a === void 0 ? void 0 : _a.every(({ name, value }) => name === value)) ||
|
|
112
|
+
!(0, es6_1.default)(new Set(sidecarContainer.environmentVariables.map(({ name }) => name)), new Set(Object.keys(envVars)))) {
|
|
113
|
+
this.context.stdout.write(`${this.dryRunPrefix}${sidecarContainer === undefined ? 'Creating' : 'Updating'} sidecar container ${chalk_1.default.bold(common_1.SIDECAR_CONTAINER_NAME)}\n`);
|
|
114
|
+
if (!this.dryRun) {
|
|
115
|
+
yield client.webApps.createOrUpdateSiteContainer(resourceGroup, aasName, common_1.SIDECAR_CONTAINER_NAME, {
|
|
116
|
+
image: common_1.SIDECAR_IMAGE,
|
|
117
|
+
targetPort: common_1.SIDECAR_PORT,
|
|
118
|
+
isMain: false,
|
|
119
|
+
environmentVariables: Object.keys(envVars).map((name) => ({ name, value: name })),
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
this.context.stdout.write(`${this.dryRunPrefix}Sidecar container ${chalk_1.default.bold(common_1.SIDECAR_CONTAINER_NAME)} already exists with correct configuration.\n`);
|
|
125
|
+
}
|
|
126
|
+
const existingEnvVars = yield client.webApps.listApplicationSettings(resourceGroup, aasName);
|
|
127
|
+
const updatedEnvVars = { properties: Object.assign(Object.assign({}, existingEnvVars.properties), envVars) };
|
|
128
|
+
if (!(0, es6_1.default)(existingEnvVars.properties, updatedEnvVars.properties)) {
|
|
129
|
+
this.context.stdout.write(`${this.dryRunPrefix}Updating Application Settings\n`);
|
|
130
|
+
if (!this.dryRun) {
|
|
131
|
+
yield client.webApps.updateApplicationSettings(resourceGroup, aasName, updatedEnvVars);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
this.context.stdout.write(`${this.dryRunPrefix}No Application Settings changes needed.\n`);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.InstrumentCommand = InstrumentCommand;
|
|
141
|
+
InstrumentCommand.paths = [['aas', 'instrument']];
|
|
142
|
+
InstrumentCommand.usage = clipanion_1.Command.Usage({
|
|
143
|
+
category: 'Serverless',
|
|
144
|
+
description: 'Apply Datadog instrumentation to an Azure App Service.',
|
|
145
|
+
});
|
|
146
|
+
//# sourceMappingURL=instrument.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrument.js","sourceRoot":"","sources":["../../../src/commands/aas/instrument.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration options provided by the user through
|
|
3
|
+
* the CLI in order to instrument properly.
|
|
4
|
+
*/
|
|
5
|
+
export interface AasConfigOptions {
|
|
6
|
+
subscriptionId: string;
|
|
7
|
+
resourceGroup: string;
|
|
8
|
+
aasName: string;
|
|
9
|
+
service: string | undefined;
|
|
10
|
+
environment: string | undefined;
|
|
11
|
+
isInstanceLoggingEnabled: boolean;
|
|
12
|
+
logPath: string | undefined;
|
|
13
|
+
}
|
|
14
|
+
export type ValueOptional<T> = {
|
|
15
|
+
[K in keyof T]: T[K] | undefined;
|
|
16
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/commands/aas/interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SKIP_MASKING_CLOUDRUN_ENV_VARS = void 0;
|
|
4
4
|
const constants_1 = require("../../constants");
|
|
5
|
-
const NODE_OPTIONS_ENV_VAR = 'NODE_OPTIONS';
|
|
6
|
-
const DD_TRACE_PROPAGATION_STYLE_ENV_VAR = 'DD_TRACE_PROPAGATION_STYLE';
|
|
7
|
-
const DD_SOURCE_ENV_VAR = 'DD_SOURCE';
|
|
8
|
-
const DD_TAGS_ENV_VAR = 'DD_TAGS';
|
|
9
|
-
const DD_OLTP_HTTPS_ENV_VAR = 'DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_HTTP_ENDPOINT';
|
|
10
|
-
const DD_OLTP_GRPC_ENV_VAR = 'DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_GRPC_ENDPOINT';
|
|
11
5
|
exports.SKIP_MASKING_CLOUDRUN_ENV_VARS = new Set([
|
|
12
6
|
constants_1.SITE_ENV_VAR,
|
|
13
7
|
constants_1.SERVICE_ENV_VAR,
|
|
14
8
|
constants_1.ENVIRONMENT_ENV_VAR,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
'NODE_OPTIONS',
|
|
10
|
+
'DD_TRACE_PROPAGATION_STYLE',
|
|
11
|
+
'DD_SOURCE',
|
|
12
|
+
'DD_TAGS',
|
|
13
|
+
'DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_HTTP_ENDPOINT',
|
|
14
|
+
'DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_GRPC_ENDPOINT',
|
|
15
|
+
'GCP_PROJECT_ID',
|
|
16
|
+
'DD_VERSION',
|
|
17
|
+
'DD_AGENT_HOST',
|
|
18
|
+
'DD_LOG_LEVEL',
|
|
19
|
+
'GCP_PUBSUB_PROJECT_ID',
|
|
20
|
+
'GCP_PUBSUB_SUBSCRIBER_ID',
|
|
21
21
|
]);
|
|
22
22
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/commands/cloud-run/constants.ts"],"names":[],"mappings":";;;AAAA,+CAAkF;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/commands/cloud-run/constants.ts"],"names":[],"mappings":";;;AAAA,+CAAkF;AAErE,QAAA,8BAA8B,GAAG,IAAI,GAAG,CAAC;IACpD,wBAAY;IACZ,2BAAe;IACf,+BAAmB;IACnB,cAAc;IACd,4BAA4B;IAC5B,WAAW;IACX,SAAS;IACT,iDAAiD;IACjD,iDAAiD;IACjD,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,cAAc;IACd,uBAAuB;IACvB,0BAA0B;CAC3B,CAAC,CAAA"}
|
|
@@ -8,3 +8,5 @@ export declare const renderSuccessfulUploadCommand: () => string;
|
|
|
8
8
|
export declare const renderDryRunUpload: (payload: Payload) => string;
|
|
9
9
|
export declare const renderUpload: (payload: Payload) => string;
|
|
10
10
|
export declare const renderCommandInfo: (basePaths: string[], dryRun: boolean) => string;
|
|
11
|
+
export declare const renderSuccessfulGitDBSync: (dryRun: boolean, elapsed: number) => string;
|
|
12
|
+
export declare const renderFailedGitDBSync: (err: any) => string;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.renderCommandInfo = exports.renderUpload = exports.renderDryRunUpload = exports.renderSuccessfulUploadCommand = exports.renderSuccessfulUpload = exports.renderRetriedUpload = exports.renderFailedUpload = exports.renderInvalidFile = exports.renderFileReadError = void 0;
|
|
6
|
+
exports.renderFailedGitDBSync = exports.renderSuccessfulGitDBSync = exports.renderCommandInfo = exports.renderUpload = exports.renderDryRunUpload = exports.renderSuccessfulUploadCommand = exports.renderSuccessfulUpload = exports.renderRetriedUpload = exports.renderFailedUpload = exports.renderInvalidFile = exports.renderFileReadError = void 0;
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
8
|
const upath_1 = __importDefault(require("upath"));
|
|
9
9
|
const ICONS = {
|
|
@@ -72,4 +72,12 @@ const renderCommandInfo = (basePaths, dryRun) => {
|
|
|
72
72
|
return fullStr;
|
|
73
73
|
};
|
|
74
74
|
exports.renderCommandInfo = renderCommandInfo;
|
|
75
|
+
const renderSuccessfulGitDBSync = (dryRun, elapsed) => {
|
|
76
|
+
return chalk_1.default.green(`${dryRun ? '[DRYRUN] ' : ''}${ICONS.SUCCESS} Synced git metadata in ${elapsed} seconds.`);
|
|
77
|
+
};
|
|
78
|
+
exports.renderSuccessfulGitDBSync = renderSuccessfulGitDBSync;
|
|
79
|
+
const renderFailedGitDBSync = (err) => {
|
|
80
|
+
return chalk_1.default.red.bold(`${ICONS.FAILED} Could not sync git metadata: ${err}\n`);
|
|
81
|
+
};
|
|
82
|
+
exports.renderFailedGitDBSync = renderFailedGitDBSync;
|
|
75
83
|
//# sourceMappingURL=renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/commands/coverage/renderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/commands/coverage/renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,17 +9,23 @@ export declare class UploadCodeCoverageReportCommand extends Command {
|
|
|
9
9
|
private tags;
|
|
10
10
|
private format;
|
|
11
11
|
private uploadGitDiff;
|
|
12
|
+
private skipGitMetadataUpload;
|
|
13
|
+
private gitRepositoryURL;
|
|
12
14
|
private automaticReportsDiscovery;
|
|
13
15
|
private ignoredPaths;
|
|
14
16
|
private fips;
|
|
15
17
|
private fipsIgnoreError;
|
|
16
18
|
private config;
|
|
17
19
|
private logger;
|
|
20
|
+
private git;
|
|
21
|
+
constructor();
|
|
18
22
|
execute(): Promise<1 | undefined>;
|
|
23
|
+
private uploadToGitDB;
|
|
19
24
|
private uploadCodeCoverageReports;
|
|
20
25
|
private getApiHelper;
|
|
21
26
|
private generatePayloads;
|
|
22
27
|
private getPrDiff;
|
|
28
|
+
private getHeadAndBase;
|
|
23
29
|
private getCommitDiff;
|
|
24
30
|
private getSpanTags;
|
|
25
31
|
private getCustomTags;
|