diff --git a/packages/opentelemetry-resource-detector-gcp/README.md b/packages/opentelemetry-resource-detector-gcp/README.md index ccb2af7b091..8f493387b0a 100644 --- a/packages/opentelemetry-resource-detector-gcp/README.md +++ b/packages/opentelemetry-resource-detector-gcp/README.md @@ -12,6 +12,8 @@ The OpenTelemetry Resource is an immutable representation of the entity producin ## Installation +The GCP resource detector requires Node.JS 10+ due to a dependency on [`gcp-metadata`](https://www.npmjs.com/package/gcp-metadata) which uses features only available in Node.JS 10+. + ```bash npm install --save @opentelemetry/resource-detector-gcp ``` diff --git a/packages/opentelemetry-resource-detector-gcp/package.json b/packages/opentelemetry-resource-detector-gcp/package.json index c13900f11b6..a6ee3702ac2 100644 --- a/packages/opentelemetry-resource-detector-gcp/package.json +++ b/packages/opentelemetry-resource-detector-gcp/package.json @@ -27,7 +27,7 @@ "author": "OpenTelemetry Authors", "license": "Apache-2.0", "engines": { - "node": ">=8.0.0" + "node": ">=10.0.0" }, "files": [ "build/src/**/*.js", @@ -41,23 +41,22 @@ "access": "public" }, "devDependencies": { + "@opentelemetry/core": "^0.10.2", "@types/mocha": "8.0.1", "@types/node": "14.0.27", - "@types/sinon": "9.0.4", + "@types/semver": "7.3.3", "codecov": "3.7.2", "gts": "2.0.2", "mocha": "7.2.0", "nock": "12.0.3", "nyc": "15.1.0", "rimraf": "3.0.2", - "sinon": "9.0.2", + "semver": "7.3.2", "ts-mocha": "7.0.0", "ts-node": "8.10.2", "typescript": "3.9.7" }, "dependencies": { - "@opentelemetry/api": "^0.10.2", - "@opentelemetry/core": "^0.10.2", "@opentelemetry/resources": "^0.10.2", "gcp-metadata": "^4.1.4" } diff --git a/packages/opentelemetry-resource-detector-gcp/test/detectors/GcpDetector.test.ts b/packages/opentelemetry-resource-detector-gcp/test/detectors/GcpDetector.test.ts index 4ecc6bf7353..ce1292bf537 100644 --- a/packages/opentelemetry-resource-detector-gcp/test/detectors/GcpDetector.test.ts +++ b/packages/opentelemetry-resource-detector-gcp/test/detectors/GcpDetector.test.ts @@ -23,6 +23,7 @@ import { resetIsAvailableCache, } from 'gcp-metadata'; import * as nock from 'nock'; +import * as semver from 'semver'; import { gcpDetector } from '../../src'; import { assertCloudResource, @@ -43,8 +44,8 @@ const PROJECT_ID_PATH = BASE_PATH + '/project/project-id'; const ZONE_PATH = BASE_PATH + '/instance/zone'; const CLUSTER_NAME_PATH = BASE_PATH + '/instance/attributes/cluster-name'; -describe('gcpDetector', () => { - describe('.detect', () => { +(semver.satisfies(process.version, ">=10") ? describe : describe.skip)('gcpDetector', () => { + describe('.detect', function() { before(() => { nock.disableNetConnect(); }); @@ -55,16 +56,6 @@ describe('gcpDetector', () => { delete process.env.NAMESPACE; delete process.env.CONTAINER_NAME; delete process.env.HOSTNAME; - delete process.env.ENTRY_POINT; - delete process.env.GCP_PROJECT; - delete process.env.GCLOUD_PROJECT; - delete process.env.GOOGLE_CLOUD_PROJECT; - delete process.env.FUNCTION_TRIGGER_TYPE; - delete process.env.FUNCTION_NAME; - delete process.env.FUNCTION_MEMORY_MB; - delete process.env.FUNCTION_TIMEOUT_SEC; - delete process.env.FUNCTION_IDENTITY; - delete process.env.FUNCTION_REGION; }); beforeEach(() => { @@ -74,16 +65,6 @@ describe('gcpDetector', () => { delete process.env.NAMESPACE; delete process.env.CONTAINER_NAME; delete process.env.HOSTNAME; - delete process.env.ENTRY_POINT; - delete process.env.GCP_PROJECT; - delete process.env.GCLOUD_PROJECT; - delete process.env.GOOGLE_CLOUD_PROJECT; - delete process.env.FUNCTION_TRIGGER_TYPE; - delete process.env.FUNCTION_NAME; - delete process.env.FUNCTION_MEMORY_MB; - delete process.env.FUNCTION_TIMEOUT_SEC; - delete process.env.FUNCTION_IDENTITY; - delete process.env.FUNCTION_REGION; }); it('should return resource with GCP metadata', async () => {