diff --git a/README.md b/README.md index 290f424..471a9a8 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ GitHub actions has recently started throwing warning messages regarding the depr + [Session tagging](#session-tagging) + [Sample IAM Role Permissions](#sample-iam-role-cloudformation-template) - [Self-Hosted Runners](#self-hosted-runners) + + [Proxy Configuration](#proxy-configuration) - [License Summary](#license-summary) - [Security Disclosures](#security-disclosures) @@ -92,12 +93,12 @@ The default audience is `sts.amazonaws.com` which you can replace by specifying The following table describes which identity is used based on which values are supplied to the Action: -| **Identity Used** | `aws-access-key-id` | `role-to-assume` | `web-identity-token-file` | -|------------------------------------------------------------------|---------------------|------------------|---------------------------| +| **Identity Used** | `aws-access-key-id` | `role-to-assume` | `web-identity-token-file` | +| --------------------------------------------------------------- | ------------------- | ---------------- | ------------------------- | | [✅ Recommended] Assume Role directly using GitHub OIDC provider | | ✔ | | -| IAM User | ✔ | | | -| Assume Role using IAM User credentials | ✔ | ✔ | | -| Assume Role using WebIdentity Token File credentials | | ✔ | ✔ | +| IAM User | ✔ | | | +| Assume Role using IAM User credentials | ✔ | ✔ | | +| Assume Role using WebIdentity Token File credentials | | ✔ | ✔ | ### Examples @@ -203,15 +204,15 @@ For further information on OIDC and GitHub Actions, please see: The session will have the name "GitHubActions" and be tagged with the following tags: (`GITHUB_` environment variable definitions can be [found here](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/using-environment-variables#default-environment-variables)) -| Key | Value| -| --- | --- | -| GitHub | "Actions" | +| Key | Value | +| ---------- | ----------------- | +| GitHub | "Actions" | | Repository | GITHUB_REPOSITORY | -| Workflow | GITHUB_WORKFLOW | -| Action | GITHUB_ACTION | -| Actor | GITHUB_ACTOR | -| Branch | GITHUB_REF | -| Commit | GITHUB_SHA | +| Workflow | GITHUB_WORKFLOW | +| Action | GITHUB_ACTION | +| Actor | GITHUB_ACTOR | +| Branch | GITHUB_REF | +| Commit | GITHUB_SHA | _Note: all tag values must conform to [the requirements](https://docs.aws.amazon.com/STS/latest/APIReference/API_Tag.html). Particularly, `GITHUB_WORKFLOW` will be truncated if it's too long. If `GITHUB_ACTOR` or `GITHUB_WORKFLOW` contain invalid characters, the characters will be replaced with an '*'._ @@ -261,6 +262,30 @@ with: web-identity-token-file: /var/run/secrets/eks.amazonaws.com/serviceaccount/token ``` +### Proxy Configuration + +If you run in self-hosted environments and in secured environment where you need use a specific proxy you can set it in the action manually. + +Additionally this action will always consider already configured proxy in the environment. + +Manually configured proxy: +```yaml +uses: aws-actions/configure-aws-credentials@v1 +with: + aws-region: us-east-2 + role-to-assume: my-github-actions-role + http-proxy: "http://companydomain.com:3128" +``` + +Proxy configured in the environment variable: + +```bash +# Your environment configuration +HTTP_PROXY="http://companydomain.com:3128" +``` + +The action will read the underlying proxy configuration from the environment and you don't need to configure it in the action. + ### Use with the AWS CLI This workflow does _not_ install the [AWS CLI](https://aws.amazon.com/cli/) into your environment. Self-hosted runners that intend to run this action prior to executing `aws` commands need to have the AWS CLI [installed](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) if it's not already present. diff --git a/action.yml b/action.yml index 53337d3..b99f07f 100644 --- a/action.yml +++ b/action.yml @@ -55,6 +55,9 @@ inputs: role-skip-session-tagging: description: 'Skip session tagging during role assumption' required: false + http-proxy: + description: 'Proxy to use for the AWS SDK agent' + required: false outputs: aws-account-id: description: 'The AWS account ID for the provided credentials' diff --git a/index.js b/index.js index e60eac5..06c546b 100644 --- a/index.js +++ b/index.js @@ -3,6 +3,7 @@ const aws = require('aws-sdk'); const assert = require('assert'); const fs = require('fs'); const path = require('path'); +const proxy = require('https-proxy-agent'); // Use 1hr as role duration when using session token or OIDC // Otherwise, use the max duration of GitHub action (6hr) @@ -260,6 +261,26 @@ const retryAndBackoff = async (fn, isRetryable, retries = 0, maxRetries = 12, ba } } +function configureProxy(proxyServer) { + const proxyFromEnv = process.env.HTTP_PROXY || process.env.http_proxy; + + if (proxyFromEnv || proxyServer) { + let proxyToSet = null; + + if (proxyServer){ + console.log(`Setting proxy from actions input: ${proxyServer}`); + proxyToSet = proxyServer; + } else { + console.log(`Setting proxy from environment: ${proxyFromEnv}`); + proxyToSet = proxyFromEnv; + } + + aws.config.update({ + httpOptions: { agent: proxy(proxyToSet) } + }); + } +} + async function run() { try { // Get inputs @@ -278,6 +299,7 @@ async function run() { const roleSkipSessionTaggingInput = core.getInput('role-skip-session-tagging', { required: false })|| 'false'; const roleSkipSessionTagging = roleSkipSessionTaggingInput.toLowerCase() === 'true'; const webIdentityTokenFile = core.getInput('web-identity-token-file', { required: false }); + const proxyServer = core.getInput('http-proxy', { required: false }); if (!region.match(REGION_REGEX)) { throw new Error(`Region is not valid: ${region}`); @@ -307,6 +329,9 @@ async function run() { exportCredentials({accessKeyId, secretAccessKey, sessionToken}); } + + // Configures proxy + configureProxy(proxyServer); // Attempt to load credentials from the GitHub OIDC provider. // If a user provides an IAM Role Arn and DOESN'T provide an Access Key Id diff --git a/index.test.js b/index.test.js index f1e1bc5..e6655ad 100644 --- a/index.test.js +++ b/index.test.js @@ -2,6 +2,7 @@ const core = require('@actions/core'); const assert = require('assert'); const aws = require('aws-sdk'); const { run, withSleep, reset } = require('./index.js'); +const proxy = require('https-proxy-agent'); jest.mock('@actions/core'); @@ -33,6 +34,7 @@ function mockGetInput(requestResponse) { return requestResponse[name] } } + const CREDS_INPUTS = { 'aws-access-key-id': FAKE_ACCESS_KEY_ID, 'aws-secret-access-key': FAKE_SECRET_ACCESS_KEY @@ -52,7 +54,8 @@ const mockStsAssumeRoleWithWebIdentity = jest.fn(); jest.mock('aws-sdk', () => { return { config: { - getCredentials: jest.fn() + getCredentials: jest.fn(), + update: jest.fn(), }, STS: jest.fn(() => ({ getCallerIdentity: mockStsCallerIdentity, @@ -127,6 +130,9 @@ describe('Configure AWS Credentials', () => { callback(null); }); + aws.config.update.mockReset(); + aws.config.update.mockImplementationOnce(); + mockStsAssumeRole.mockImplementation(() => { return { promise() { @@ -804,4 +810,68 @@ describe('Configure AWS Credentials', () => { await run(); }); + describe('proxy settings', () => { + + test('setting proxy with actions input', async () => { + const EXPECTED_PROXY = 'http://test.me' + core.getInput = jest + .fn() + .mockImplementation( + mockGetInput({ ...DEFAULT_INPUTS, 'http-proxy': EXPECTED_PROXY }) + ); + + await run(); + + expect(aws.config.update).toHaveBeenCalledTimes(1); + expect(aws.config.update).toHaveBeenCalledWith({ + httpOptions: { agent: proxy(EXPECTED_PROXY) } + }); + }); + test('setting proxy from environment vars', async () => { + const EXPECTED_PROXY = 'http://test.me' + process.env.HTTP_PROXY = EXPECTED_PROXY; + core.getInput = jest + .fn() + .mockImplementation( + mockGetInput({ ...DEFAULT_INPUTS }) + ); + + await run(); + + expect(aws.config.update).toHaveBeenCalledTimes(1); + expect(aws.config.update).toHaveBeenCalledWith({ + httpOptions: { agent: proxy(EXPECTED_PROXY) } + }); + }); + + test('setting proxy - prefer action input', async () => { + const EXPECTED_PROXY = 'http://test.me' + const FALSE_PROXY = 'http://env.me' + process.env.HTTP_PROXY = FALSE_PROXY; + core.getInput = jest + .fn() + .mockImplementation( + mockGetInput({ ...DEFAULT_INPUTS, 'http-proxy': EXPECTED_PROXY }) + ); + + await run(); + + expect(aws.config.update).toHaveBeenCalledTimes(1); + expect(aws.config.update).toHaveBeenCalledWith({ + httpOptions: { agent: proxy(EXPECTED_PROXY) } + }); + }); + + test('ignoring proxy - without anything set', async () => { + core.getInput = jest + .fn() + .mockImplementation( + mockGetInput({ ...DEFAULT_INPUTS}) + ); + + await run(); + + expect(aws.config.update).toHaveBeenCalledTimes(0); + }); + }); }); diff --git a/package-lock.json b/package-lock.json index 72773e0..8cefcd5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1027,6 +1027,14 @@ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -1090,7 +1098,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "available-typed-arrays": { "version": "1.0.5", @@ -1337,7 +1345,7 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, "collect-v8-coverage": { @@ -1372,7 +1380,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "convert-source-map": { @@ -1396,7 +1404,6 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -1404,7 +1411,7 @@ "dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", "dev": true }, "deep-is": { @@ -1422,7 +1429,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "detect-newline": { "version": "3.1.0", @@ -1614,7 +1621,7 @@ "events": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" }, "execa": { "version": "5.1.1", @@ -1636,7 +1643,7 @@ "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, "expect": { @@ -1667,7 +1674,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, "fastq": { @@ -1758,7 +1765,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "fsevents": { @@ -1892,6 +1899,15 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -1932,13 +1948,13 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", @@ -1982,7 +1998,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, "is-fullwidth-code-point": { @@ -2047,12 +2063,12 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "istanbul-lib-coverage": { @@ -2594,7 +2610,7 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, "json5": { @@ -2720,19 +2736,18 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", "dev": true }, "node-releases": { @@ -2759,7 +2774,7 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" @@ -2842,7 +2857,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { @@ -2972,7 +2987,7 @@ "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, "queue-microtask": { "version": "1.2.3", @@ -2995,7 +3010,7 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "resolve": { @@ -3065,7 +3080,7 @@ "sax": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" + "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" }, "semver": { "version": "6.3.0", @@ -3125,7 +3140,7 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "stack-utils": { @@ -3222,7 +3237,7 @@ "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "tmpl": { @@ -3234,7 +3249,7 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, "to-regex-range": { @@ -3294,7 +3309,7 @@ "url": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -3303,7 +3318,7 @@ "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" } } }, @@ -3394,7 +3409,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { @@ -3419,7 +3434,7 @@ "xmlbuilder": { "version": "9.0.7", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==" + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" }, "y18n": { "version": "5.0.8", diff --git a/package.json b/package.json index f03a71b..9cbae7a 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,8 @@ "dependencies": { "@actions/core": "^1.10.0", "aws-sdk": "^2.1254.0", - "axios": "^1.1.3" + "axios": "^1.1.3", + "https-proxy-agent": "^5.0.1" }, "devDependencies": { "@vercel/ncc": "^0.34.0",