mirror of
https://github.com/Azure/k8s-deploy.git
synced 2026-06-21 10:39:26 +08:00
Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c7ebd0d5f3 | |||
| 37ab655aa8 | |||
| 4ce14be7f2 | |||
| d1db10bbe0 | |||
| 9b1aca534a | |||
| 566b1027eb | |||
| 4bab0cb90d | |||
| 2c9e6e7762 | |||
| 104a7063f6 | |||
| e7aa4f9d0c | |||
| 30dbc03366 | |||
| f4bacf1216 | |||
| 49d0f2a6fd |
@@ -24,7 +24,7 @@ jobs:
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@c793b717bc78562f491db7b0e93a3a178b099162 #v3.29.5
|
||||
uses: github/codeql-action/init@c10b8064de6f491fea524254123dbe5e09572f13 #v3.29.5
|
||||
# Override language selection by uncommenting this and choosing your languages
|
||||
# with:
|
||||
# languages: go, javascript, csharp, python, cpp, java
|
||||
@@ -32,7 +32,7 @@ jobs:
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@c793b717bc78562f491db7b0e93a3a178b099162 #v3.29.5
|
||||
uses: github/codeql-action/autobuild@c10b8064de6f491fea524254123dbe5e09572f13 #v3.29.5
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
@@ -46,4 +46,4 @@ jobs:
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@c793b717bc78562f491db7b0e93a3a178b099162 #v3.29.5
|
||||
uses: github/codeql-action/analyze@c10b8064de6f491fea524254123dbe5e09572f13 #v3.29.5
|
||||
|
||||
@@ -30,13 +30,13 @@ jobs:
|
||||
run: npm run build
|
||||
|
||||
- name: Azure login
|
||||
uses: azure/login@v2.3.0
|
||||
uses: azure/login@v3.0.0
|
||||
with:
|
||||
client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
||||
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
||||
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
||||
|
||||
- uses: Azure/setup-kubectl@776406bce94f63e41d621b960d78ee25c8b76ede # v4.0.1
|
||||
- uses: Azure/setup-kubectl@15650b3ad78fff148532a140b8a4c821796b2d7b # v5.0.0
|
||||
name: Install Kubectl
|
||||
|
||||
- name: Create private AKS cluster and set context
|
||||
|
||||
@@ -1,5 +1,22 @@
|
||||
# Changelog
|
||||
|
||||
## [6.0.0] - 2026-04-17
|
||||
|
||||
### Changed
|
||||
|
||||
- #504 [Update Node.js runtime from node20 to node24](https://github.com/Azure/k8s-deploy/pull/504)
|
||||
- #500 [Update action version references in README to latest majors](https://github.com/Azure/k8s-deploy/pull/500)
|
||||
|
||||
### Security
|
||||
|
||||
- #506 [Bump undici from 6.23.0 to 6.24.1](https://github.com/Azure/k8s-deploy/pull/506)
|
||||
- #513 [Bump vite from 8.0.3 to 8.0.5](https://github.com/Azure/k8s-deploy/pull/513)
|
||||
- #509 [Bump the actions group across 1 directory with 4 updates](https://github.com/Azure/k8s-deploy/pull/509)
|
||||
- #510 [Bump the actions group across 1 directory with 2 updates](https://github.com/Azure/k8s-deploy/pull/510)
|
||||
- #511 [Bump vitest from 4.1.1 to 4.1.2](https://github.com/Azure/k8s-deploy/pull/511)
|
||||
- #514 [Bump the actions group with 2 updates](https://github.com/Azure/k8s-deploy/pull/514)
|
||||
- #501 [Bump @types/node from 25.3.3 to 25.4.0](https://github.com/Azure/k8s-deploy/pull/501)
|
||||
|
||||
## [5.1.0] - 2026-03-03
|
||||
|
||||
### Added
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Deploy manifests action for Kubernetes
|
||||
|
||||
This action is used to deploy manifests to Kubernetes clusters. It requires that the cluster context be set earlier in the workflow by using either the [Azure/aks-set-context](https://github.com/Azure/aks-set-context/tree/releases/v1) action or the [Azure/k8s-set-context](https://github.com/Azure/k8s-set-context/tree/releases/v1) action. It also requires Kubectl to be installed (you can use the [Azure/setup-kubectl](https://github.com/Azure/setup-kubectl) action).
|
||||
This action is used to deploy manifests to Kubernetes clusters. It requires that the cluster context be set earlier in the workflow by using either the [Azure/aks-set-context](https://github.com/Azure/aks-set-context/tree/releases/v4) action or the [Azure/k8s-set-context](https://github.com/Azure/k8s-set-context/tree/releases/v4) action. It also requires Kubectl to be installed (you can use the [Azure/setup-kubectl](https://github.com/Azure/setup-kubectl) action).
|
||||
|
||||
If you are looking to automate your workflows to deploy to [Azure Web Apps](https://azure.microsoft.com/en-us/services/app-service/web/) and [Azure Web App for Containers](https://azure.microsoft.com/en-us/services/app-service/containers/), consider using [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action.
|
||||
|
||||
@@ -310,9 +310,9 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- uses: Azure/docker-login@v1
|
||||
- uses: Azure/docker-login@v2
|
||||
with:
|
||||
login-server: contoso.azurecr.io
|
||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
@@ -331,7 +331,7 @@ jobs:
|
||||
cluster-name: contoso
|
||||
resource-group: contoso-rg
|
||||
|
||||
- uses: Azure/k8s-create-secret@v4
|
||||
- uses: Azure/k8s-create-secret@v5
|
||||
with:
|
||||
container-registry-url: contoso.azurecr.io
|
||||
container-registry-username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
@@ -359,9 +359,9 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- uses: Azure/docker-login@v1
|
||||
- uses: Azure/docker-login@v2
|
||||
with:
|
||||
login-server: contoso.azurecr.io
|
||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
@@ -377,14 +377,14 @@ jobs:
|
||||
with:
|
||||
kubeconfig: ${{ secrets.KUBE_CONFIG }}
|
||||
|
||||
- uses: Azure/k8s-create-secret@v4
|
||||
- uses: Azure/k8s-create-secret@v5
|
||||
with:
|
||||
container-registry-url: contoso.azurecr.io
|
||||
container-registry-username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
container-registry-password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||
secret-name: demo-k8s-secret
|
||||
|
||||
- uses: Azure/k8s-deploy@v4
|
||||
- uses: Azure/k8s-deploy@v5
|
||||
with:
|
||||
action: deploy
|
||||
manifests: |
|
||||
@@ -409,9 +409,9 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- uses: Azure/docker-login@v1
|
||||
- uses: Azure/docker-login@v2
|
||||
with:
|
||||
login-server: contoso.azurecr.io
|
||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
@@ -433,9 +433,9 @@ jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- uses: Azure/docker-login@v1
|
||||
- uses: Azure/docker-login@v2
|
||||
with:
|
||||
login-server: contoso.azurecr.io
|
||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
@@ -450,7 +450,7 @@ jobs:
|
||||
cluster-name: contoso
|
||||
resource-group: contoso-rg
|
||||
|
||||
- uses: Azure/k8s-create-secret@v4
|
||||
- uses: Azure/k8s-create-secret@v5
|
||||
with:
|
||||
namespace: ${{ env.NAMESPACE }}
|
||||
container-registry-url: contoso.azurecr.io
|
||||
|
||||
+1
-1
@@ -96,5 +96,5 @@ inputs:
|
||||
branding:
|
||||
color: 'green'
|
||||
runs:
|
||||
using: 'node20'
|
||||
using: 'node24'
|
||||
main: 'lib/index.js'
|
||||
|
||||
+262
-43
@@ -655,6 +655,21 @@ var require_errors = __commonJS({
|
||||
}
|
||||
[kSecureProxyConnectionError] = true;
|
||||
};
|
||||
var kMessageSizeExceededError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");
|
||||
var MessageSizeExceededError = class extends UndiciError {
|
||||
constructor(message) {
|
||||
super(message);
|
||||
this.name = "MessageSizeExceededError";
|
||||
this.message = message || "Max decompressed message size exceeded";
|
||||
this.code = "UND_ERR_WS_MESSAGE_SIZE_EXCEEDED";
|
||||
}
|
||||
static [Symbol.hasInstance](instance) {
|
||||
return instance && instance[kMessageSizeExceededError] === true;
|
||||
}
|
||||
get [kMessageSizeExceededError]() {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
module.exports = {
|
||||
AbortError,
|
||||
HTTPParserError,
|
||||
@@ -678,7 +693,8 @@ var require_errors = __commonJS({
|
||||
ResponseExceededMaxSizeError,
|
||||
RequestRetryError,
|
||||
ResponseError,
|
||||
SecureProxyConnectionError
|
||||
SecureProxyConnectionError,
|
||||
MessageSizeExceededError
|
||||
};
|
||||
}
|
||||
});
|
||||
@@ -1688,6 +1704,9 @@ var require_request = __commonJS({
|
||||
if (upgrade && typeof upgrade !== "string") {
|
||||
throw new InvalidArgumentError("upgrade must be a string");
|
||||
}
|
||||
if (upgrade && !isValidHeaderValue(upgrade)) {
|
||||
throw new InvalidArgumentError("invalid upgrade header");
|
||||
}
|
||||
if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
|
||||
throw new InvalidArgumentError("invalid headersTimeout");
|
||||
}
|
||||
@@ -1920,12 +1939,18 @@ var require_request = __commonJS({
|
||||
} else {
|
||||
val = `${val}`;
|
||||
}
|
||||
if (request2.host === null && headerName === "host") {
|
||||
if (headerName === "host") {
|
||||
if (request2.host !== null) {
|
||||
throw new InvalidArgumentError("duplicate host header");
|
||||
}
|
||||
if (typeof val !== "string") {
|
||||
throw new InvalidArgumentError("invalid host header");
|
||||
}
|
||||
request2.host = val;
|
||||
} else if (request2.contentLength === null && headerName === "content-length") {
|
||||
} else if (headerName === "content-length") {
|
||||
if (request2.contentLength !== null) {
|
||||
throw new InvalidArgumentError("duplicate content-length header");
|
||||
}
|
||||
request2.contentLength = parseInt(val, 10);
|
||||
if (!Number.isFinite(request2.contentLength)) {
|
||||
throw new InvalidArgumentError("invalid content-length header");
|
||||
@@ -2022,13 +2047,20 @@ var require_dispatcher_base = __commonJS({
|
||||
var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
|
||||
var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
|
||||
var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
|
||||
var kWebSocketOptions = /* @__PURE__ */ Symbol("webSocketOptions");
|
||||
var DispatcherBase = class extends Dispatcher {
|
||||
constructor() {
|
||||
constructor(opts) {
|
||||
super();
|
||||
this[kDestroyed] = false;
|
||||
this[kOnDestroyed] = null;
|
||||
this[kClosed] = false;
|
||||
this[kOnClosed] = [];
|
||||
this[kWebSocketOptions] = opts?.webSocket ?? {};
|
||||
}
|
||||
get webSocketOptions() {
|
||||
return {
|
||||
maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ?? 128 * 1024 * 1024
|
||||
};
|
||||
}
|
||||
get destroyed() {
|
||||
return this[kDestroyed];
|
||||
@@ -7467,9 +7499,10 @@ var require_client = __commonJS({
|
||||
autoSelectFamilyAttemptTimeout,
|
||||
// h2
|
||||
maxConcurrentStreams,
|
||||
allowH2
|
||||
allowH2,
|
||||
webSocket
|
||||
} = {}) {
|
||||
super();
|
||||
super({ webSocket });
|
||||
if (keepAlive !== void 0) {
|
||||
throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
|
||||
}
|
||||
@@ -7975,8 +8008,8 @@ var require_pool_base = __commonJS({
|
||||
var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
|
||||
var kStats = /* @__PURE__ */ Symbol("stats");
|
||||
var PoolBase = class extends DispatcherBase {
|
||||
constructor() {
|
||||
super();
|
||||
constructor(opts) {
|
||||
super(opts);
|
||||
this[kQueue] = new FixedQueue();
|
||||
this[kClients] = [];
|
||||
this[kQueued] = 0;
|
||||
@@ -8147,7 +8180,6 @@ var require_pool = __commonJS({
|
||||
allowH2,
|
||||
...options
|
||||
} = {}) {
|
||||
super();
|
||||
if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
|
||||
throw new InvalidArgumentError("invalid connections");
|
||||
}
|
||||
@@ -8168,6 +8200,7 @@ var require_pool = __commonJS({
|
||||
...connect
|
||||
});
|
||||
}
|
||||
super(options);
|
||||
this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
|
||||
this[kConnections] = connections || null;
|
||||
this[kUrl] = util.parseOrigin(origin);
|
||||
@@ -8367,7 +8400,6 @@ var require_agent = __commonJS({
|
||||
}
|
||||
var Agent = class extends DispatcherBase {
|
||||
constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
|
||||
super();
|
||||
if (typeof factory !== "function") {
|
||||
throw new InvalidArgumentError("factory must be a function.");
|
||||
}
|
||||
@@ -8377,6 +8409,7 @@ var require_agent = __commonJS({
|
||||
if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
|
||||
throw new InvalidArgumentError("maxRedirections must be a positive number");
|
||||
}
|
||||
super(options);
|
||||
if (connect && typeof connect !== "function") {
|
||||
connect = { ...connect };
|
||||
}
|
||||
@@ -16697,13 +16730,17 @@ var require_util7 = __commonJS({
|
||||
return extensionList;
|
||||
}
|
||||
function isValidClientWindowBits(value) {
|
||||
if (value.length === 0) {
|
||||
return false;
|
||||
}
|
||||
for (let i = 0; i < value.length; i++) {
|
||||
const byte = value.charCodeAt(i);
|
||||
if (byte < 48 || byte > 57) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
const num = Number.parseInt(value, 10);
|
||||
return num >= 8 && num <= 15;
|
||||
}
|
||||
var hasIntl = typeof process.versions.icu === "string";
|
||||
var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0;
|
||||
@@ -17002,6 +17039,7 @@ var require_permessage_deflate = __commonJS({
|
||||
"use strict";
|
||||
var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = __require("node:zlib");
|
||||
var { isValidClientWindowBits } = require_util7();
|
||||
var { MessageSizeExceededError } = require_errors();
|
||||
var tail = Buffer.from([0, 0, 255, 255]);
|
||||
var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
|
||||
var kLength = /* @__PURE__ */ Symbol("kLength");
|
||||
@@ -17009,10 +17047,21 @@ var require_permessage_deflate = __commonJS({
|
||||
/** @type {import('node:zlib').InflateRaw} */
|
||||
#inflate;
|
||||
#options = {};
|
||||
constructor(extensions) {
|
||||
#maxPayloadSize = 0;
|
||||
/**
|
||||
* @param {Map<string, string>} extensions
|
||||
*/
|
||||
constructor(extensions, options) {
|
||||
this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
|
||||
this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
|
||||
this.#maxPayloadSize = options.maxPayloadSize;
|
||||
}
|
||||
/**
|
||||
* Decompress a compressed payload.
|
||||
* @param {Buffer} chunk Compressed data
|
||||
* @param {boolean} fin Final fragment flag
|
||||
* @param {Function} callback Callback function
|
||||
*/
|
||||
decompress(chunk, fin, callback) {
|
||||
if (!this.#inflate) {
|
||||
let windowBits = Z_DEFAULT_WINDOWBITS;
|
||||
@@ -17023,12 +17072,23 @@ var require_permessage_deflate = __commonJS({
|
||||
}
|
||||
windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
|
||||
}
|
||||
this.#inflate = createInflateRaw({ windowBits });
|
||||
try {
|
||||
this.#inflate = createInflateRaw({ windowBits });
|
||||
} catch (err) {
|
||||
callback(err);
|
||||
return;
|
||||
}
|
||||
this.#inflate[kBuffer] = [];
|
||||
this.#inflate[kLength] = 0;
|
||||
this.#inflate.on("data", (data) => {
|
||||
this.#inflate[kBuffer].push(data);
|
||||
this.#inflate[kLength] += data.length;
|
||||
if (this.#maxPayloadSize > 0 && this.#inflate[kLength] > this.#maxPayloadSize) {
|
||||
callback(new MessageSizeExceededError());
|
||||
this.#inflate.removeAllListeners();
|
||||
this.#inflate = null;
|
||||
return;
|
||||
}
|
||||
this.#inflate[kBuffer].push(data);
|
||||
});
|
||||
this.#inflate.on("error", (err) => {
|
||||
this.#inflate = null;
|
||||
@@ -17040,6 +17100,9 @@ var require_permessage_deflate = __commonJS({
|
||||
this.#inflate.write(tail);
|
||||
}
|
||||
this.#inflate.flush(() => {
|
||||
if (!this.#inflate) {
|
||||
return;
|
||||
}
|
||||
const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
|
||||
this.#inflate[kBuffer].length = 0;
|
||||
this.#inflate[kLength] = 0;
|
||||
@@ -17073,8 +17136,10 @@ var require_receiver = __commonJS({
|
||||
var { WebsocketFrameSend } = require_frame();
|
||||
var { closeWebSocketConnection } = require_connection();
|
||||
var { PerMessageDeflate } = require_permessage_deflate();
|
||||
var { MessageSizeExceededError } = require_errors();
|
||||
var ByteParser = class extends Writable {
|
||||
#buffers = [];
|
||||
#fragmentsBytes = 0;
|
||||
#byteOffset = 0;
|
||||
#loop = false;
|
||||
#state = parserStates.INFO;
|
||||
@@ -17082,12 +17147,20 @@ var require_receiver = __commonJS({
|
||||
#fragments = [];
|
||||
/** @type {Map<string, PerMessageDeflate>} */
|
||||
#extensions;
|
||||
constructor(ws, extensions) {
|
||||
/** @type {number} */
|
||||
#maxPayloadSize;
|
||||
/**
|
||||
* @param {import('./websocket').WebSocket} ws
|
||||
* @param {Map<string, string>|null} extensions
|
||||
* @param {{ maxPayloadSize?: number }} [options]
|
||||
*/
|
||||
constructor(ws, extensions, options = {}) {
|
||||
super();
|
||||
this.ws = ws;
|
||||
this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
|
||||
this.#maxPayloadSize = options.maxPayloadSize ?? 0;
|
||||
if (this.#extensions.has("permessage-deflate")) {
|
||||
this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
|
||||
this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions, options));
|
||||
}
|
||||
}
|
||||
/**
|
||||
@@ -17100,6 +17173,13 @@ var require_receiver = __commonJS({
|
||||
this.#loop = true;
|
||||
this.run(callback);
|
||||
}
|
||||
#validatePayloadLength() {
|
||||
if (this.#maxPayloadSize > 0 && !isControlFrame(this.#info.opcode) && this.#info.payloadLength > this.#maxPayloadSize) {
|
||||
failWebsocketConnection(this.ws, "Payload size exceeds maximum allowed size");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Runs whenever a new chunk is received.
|
||||
* Callback is called whenever there are no more chunks buffering,
|
||||
@@ -17159,6 +17239,9 @@ var require_receiver = __commonJS({
|
||||
if (payloadLength <= 125) {
|
||||
this.#info.payloadLength = payloadLength;
|
||||
this.#state = parserStates.READ_DATA;
|
||||
if (!this.#validatePayloadLength()) {
|
||||
return;
|
||||
}
|
||||
} else if (payloadLength === 126) {
|
||||
this.#state = parserStates.PAYLOADLENGTH_16;
|
||||
} else if (payloadLength === 127) {
|
||||
@@ -17179,19 +17262,25 @@ var require_receiver = __commonJS({
|
||||
const buffer = this.consume(2);
|
||||
this.#info.payloadLength = buffer.readUInt16BE(0);
|
||||
this.#state = parserStates.READ_DATA;
|
||||
if (!this.#validatePayloadLength()) {
|
||||
return;
|
||||
}
|
||||
} else if (this.#state === parserStates.PAYLOADLENGTH_64) {
|
||||
if (this.#byteOffset < 8) {
|
||||
return callback();
|
||||
}
|
||||
const buffer = this.consume(8);
|
||||
const upper = buffer.readUInt32BE(0);
|
||||
if (upper > 2 ** 31 - 1) {
|
||||
const lower = buffer.readUInt32BE(4);
|
||||
if (upper !== 0 || lower > 2 ** 31 - 1) {
|
||||
failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
|
||||
return;
|
||||
}
|
||||
const lower = buffer.readUInt32BE(4);
|
||||
this.#info.payloadLength = (upper << 8) + lower;
|
||||
this.#info.payloadLength = lower;
|
||||
this.#state = parserStates.READ_DATA;
|
||||
if (!this.#validatePayloadLength()) {
|
||||
return;
|
||||
}
|
||||
} else if (this.#state === parserStates.READ_DATA) {
|
||||
if (this.#byteOffset < this.#info.payloadLength) {
|
||||
return callback();
|
||||
@@ -17202,32 +17291,41 @@ var require_receiver = __commonJS({
|
||||
this.#state = parserStates.INFO;
|
||||
} else {
|
||||
if (!this.#info.compressed) {
|
||||
this.#fragments.push(body);
|
||||
this.writeFragments(body);
|
||||
if (this.#maxPayloadSize > 0 && this.#fragmentsBytes > this.#maxPayloadSize) {
|
||||
failWebsocketConnection(this.ws, new MessageSizeExceededError().message);
|
||||
return;
|
||||
}
|
||||
if (!this.#info.fragmented && this.#info.fin) {
|
||||
const fullMessage = Buffer.concat(this.#fragments);
|
||||
websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
|
||||
this.#fragments.length = 0;
|
||||
websocketMessageReceived(this.ws, this.#info.binaryType, this.consumeFragments());
|
||||
}
|
||||
this.#state = parserStates.INFO;
|
||||
} else {
|
||||
this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error2, data) => {
|
||||
if (error2) {
|
||||
closeWebSocketConnection(this.ws, 1007, error2.message, error2.message.length);
|
||||
return;
|
||||
}
|
||||
this.#fragments.push(data);
|
||||
if (!this.#info.fin) {
|
||||
this.#state = parserStates.INFO;
|
||||
this.#extensions.get("permessage-deflate").decompress(
|
||||
body,
|
||||
this.#info.fin,
|
||||
(error2, data) => {
|
||||
if (error2) {
|
||||
failWebsocketConnection(this.ws, error2.message);
|
||||
return;
|
||||
}
|
||||
this.writeFragments(data);
|
||||
if (this.#maxPayloadSize > 0 && this.#fragmentsBytes > this.#maxPayloadSize) {
|
||||
failWebsocketConnection(this.ws, new MessageSizeExceededError().message);
|
||||
return;
|
||||
}
|
||||
if (!this.#info.fin) {
|
||||
this.#state = parserStates.INFO;
|
||||
this.#loop = true;
|
||||
this.run(callback);
|
||||
return;
|
||||
}
|
||||
websocketMessageReceived(this.ws, this.#info.binaryType, this.consumeFragments());
|
||||
this.#loop = true;
|
||||
this.#state = parserStates.INFO;
|
||||
this.run(callback);
|
||||
return;
|
||||
}
|
||||
websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments));
|
||||
this.#loop = true;
|
||||
this.#state = parserStates.INFO;
|
||||
this.#fragments.length = 0;
|
||||
this.run(callback);
|
||||
});
|
||||
);
|
||||
this.#loop = false;
|
||||
break;
|
||||
}
|
||||
@@ -17270,6 +17368,21 @@ var require_receiver = __commonJS({
|
||||
this.#byteOffset -= n;
|
||||
return buffer;
|
||||
}
|
||||
writeFragments(fragment) {
|
||||
this.#fragmentsBytes += fragment.length;
|
||||
this.#fragments.push(fragment);
|
||||
}
|
||||
consumeFragments() {
|
||||
const fragments = this.#fragments;
|
||||
if (fragments.length === 1) {
|
||||
this.#fragmentsBytes = 0;
|
||||
return fragments.shift();
|
||||
}
|
||||
const output = Buffer.concat(fragments, this.#fragmentsBytes);
|
||||
this.#fragments = [];
|
||||
this.#fragmentsBytes = 0;
|
||||
return output;
|
||||
}
|
||||
parseCloseBody(data) {
|
||||
assert(data.length !== 1);
|
||||
let code;
|
||||
@@ -17707,7 +17820,10 @@ var require_websocket = __commonJS({
|
||||
*/
|
||||
#onConnectionEstablished(response, parsedExtensions) {
|
||||
this[kResponse] = response;
|
||||
const parser = new ByteParser(this, parsedExtensions);
|
||||
const maxPayloadSize = this[kController]?.dispatcher?.webSocketOptions?.maxPayloadSize;
|
||||
const parser = new ByteParser(this, parsedExtensions, {
|
||||
maxPayloadSize
|
||||
});
|
||||
parser.on("drain", onParserDrain);
|
||||
parser.on("error", onParserError.bind(this));
|
||||
response.socket.ws = this;
|
||||
@@ -26550,7 +26666,7 @@ function isKeyOperator(operator) {
|
||||
function getValues(context, operator, key, modifier) {
|
||||
var value = context[key], result = [];
|
||||
if (isDefined(value) && value !== "") {
|
||||
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
|
||||
if (typeof value === "string" || typeof value === "number" || typeof value === "bigint" || typeof value === "boolean") {
|
||||
value = value.toString();
|
||||
if (modifier && modifier !== "*") {
|
||||
value = value.substring(0, parseInt(modifier, 10));
|
||||
@@ -26731,6 +26847,109 @@ var endpoint = withDefaults(null, DEFAULTS);
|
||||
// node_modules/@octokit/request/dist-bundle/index.js
|
||||
var import_fast_content_type_parse = __toESM(require_fast_content_type_parse(), 1);
|
||||
|
||||
// node_modules/json-with-bigint/json-with-bigint.js
|
||||
var intRegex = /^-?\d+$/;
|
||||
var noiseValue = /^-?\d+n+$/;
|
||||
var originalStringify = JSON.stringify;
|
||||
var originalParse = JSON.parse;
|
||||
var customFormat = /^-?\d+n$/;
|
||||
var bigIntsStringify = /([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;
|
||||
var noiseStringify = /([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;
|
||||
var JSONStringify = (value, replacer, space) => {
|
||||
if ("rawJSON" in JSON) {
|
||||
return originalStringify(
|
||||
value,
|
||||
(key, value2) => {
|
||||
if (typeof value2 === "bigint") return JSON.rawJSON(value2.toString());
|
||||
if (typeof replacer === "function") return replacer(key, value2);
|
||||
if (Array.isArray(replacer) && replacer.includes(key)) return value2;
|
||||
return value2;
|
||||
},
|
||||
space
|
||||
);
|
||||
}
|
||||
if (!value) return originalStringify(value, replacer, space);
|
||||
const convertedToCustomJSON = originalStringify(
|
||||
value,
|
||||
(key, value2) => {
|
||||
const isNoise = typeof value2 === "string" && noiseValue.test(value2);
|
||||
if (isNoise) return value2.toString() + "n";
|
||||
if (typeof value2 === "bigint") return value2.toString() + "n";
|
||||
if (typeof replacer === "function") return replacer(key, value2);
|
||||
if (Array.isArray(replacer) && replacer.includes(key)) return value2;
|
||||
return value2;
|
||||
},
|
||||
space
|
||||
);
|
||||
const processedJSON = convertedToCustomJSON.replace(
|
||||
bigIntsStringify,
|
||||
"$1$2$3"
|
||||
);
|
||||
const denoisedJSON = processedJSON.replace(noiseStringify, "$1$2$3");
|
||||
return denoisedJSON;
|
||||
};
|
||||
var featureCache = /* @__PURE__ */ new Map();
|
||||
var isContextSourceSupported = () => {
|
||||
const parseFingerprint = JSON.parse.toString();
|
||||
if (featureCache.has(parseFingerprint)) {
|
||||
return featureCache.get(parseFingerprint);
|
||||
}
|
||||
try {
|
||||
const result = JSON.parse(
|
||||
"1",
|
||||
(_, __, context) => !!context?.source && context.source === "1"
|
||||
);
|
||||
featureCache.set(parseFingerprint, result);
|
||||
return result;
|
||||
} catch {
|
||||
featureCache.set(parseFingerprint, false);
|
||||
return false;
|
||||
}
|
||||
};
|
||||
var convertMarkedBigIntsReviver = (key, value, context, userReviver) => {
|
||||
const isCustomFormatBigInt = typeof value === "string" && customFormat.test(value);
|
||||
if (isCustomFormatBigInt) return BigInt(value.slice(0, -1));
|
||||
const isNoiseValue = typeof value === "string" && noiseValue.test(value);
|
||||
if (isNoiseValue) return value.slice(0, -1);
|
||||
if (typeof userReviver !== "function") return value;
|
||||
return userReviver(key, value, context);
|
||||
};
|
||||
var JSONParseV2 = (text, reviver) => {
|
||||
return JSON.parse(text, (key, value, context) => {
|
||||
const isBigNumber = typeof value === "number" && (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER);
|
||||
const isInt = context && intRegex.test(context.source);
|
||||
const isBigInt = isBigNumber && isInt;
|
||||
if (isBigInt) return BigInt(context.source);
|
||||
if (typeof reviver !== "function") return value;
|
||||
return reviver(key, value, context);
|
||||
});
|
||||
};
|
||||
var MAX_INT = Number.MAX_SAFE_INTEGER.toString();
|
||||
var MAX_DIGITS = MAX_INT.length;
|
||||
var stringsOrLargeNumbers = /"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g;
|
||||
var noiseValueWithQuotes = /^"-?\d+n+"$/;
|
||||
var JSONParse = (text, reviver) => {
|
||||
if (!text) return originalParse(text, reviver);
|
||||
if (isContextSourceSupported()) return JSONParseV2(text, reviver);
|
||||
const serializedData = text.replace(
|
||||
stringsOrLargeNumbers,
|
||||
(text2, digits, fractional, exponential) => {
|
||||
const isString = text2[0] === '"';
|
||||
const isNoise = isString && noiseValueWithQuotes.test(text2);
|
||||
if (isNoise) return text2.substring(0, text2.length - 1) + 'n"';
|
||||
const isFractionalOrExponential = fractional || exponential;
|
||||
const isLessThanMaxSafeInt = digits && (digits.length < MAX_DIGITS || digits.length === MAX_DIGITS && digits <= MAX_INT);
|
||||
if (isString || isFractionalOrExponential || isLessThanMaxSafeInt)
|
||||
return text2;
|
||||
return '"' + text2 + 'n"';
|
||||
}
|
||||
);
|
||||
return originalParse(
|
||||
serializedData,
|
||||
(key, value, context) => convertMarkedBigIntsReviver(key, value, context, reviver)
|
||||
);
|
||||
};
|
||||
|
||||
// node_modules/@octokit/request-error/dist-src/index.js
|
||||
var RequestError = class extends Error {
|
||||
name;
|
||||
@@ -26771,7 +26990,7 @@ var RequestError = class extends Error {
|
||||
};
|
||||
|
||||
// node_modules/@octokit/request/dist-bundle/index.js
|
||||
var VERSION2 = "10.0.7";
|
||||
var VERSION2 = "10.0.8";
|
||||
var defaults_default = {
|
||||
headers: {
|
||||
"user-agent": `octokit-request.js/${VERSION2} ${getUserAgent()}`
|
||||
@@ -26795,7 +27014,7 @@ async function fetchWrapper(requestOptions) {
|
||||
}
|
||||
const log = requestOptions.request?.log || console;
|
||||
const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;
|
||||
const body = isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body) ? JSON.stringify(requestOptions.body) : requestOptions.body;
|
||||
const body = isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body) ? JSONStringify(requestOptions.body) : requestOptions.body;
|
||||
const requestHeaders = Object.fromEntries(
|
||||
Object.entries(requestOptions.headers).map(([name, value]) => [
|
||||
name,
|
||||
@@ -26894,7 +27113,7 @@ async function getResponseData(response) {
|
||||
let text = "";
|
||||
try {
|
||||
text = await response.text();
|
||||
return JSON.parse(text);
|
||||
return JSONParse(text);
|
||||
} catch (err) {
|
||||
return text;
|
||||
}
|
||||
|
||||
Generated
+756
-469
File diff suppressed because it is too large
Load Diff
+4
-4
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "k8s-deploy-action",
|
||||
"version": "5.1.0",
|
||||
"version": "6.0.0",
|
||||
"author": "Deepak Sattiraju",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
@@ -26,11 +26,11 @@
|
||||
"devDependencies": {
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
"@types/minimist": "^1.2.5",
|
||||
"@types/node": "^25.3.3",
|
||||
"esbuild": "^0.27",
|
||||
"@types/node": "^25.5.2",
|
||||
"esbuild": "^0.28",
|
||||
"husky": "^9.1.7",
|
||||
"prettier": "^3.8.1",
|
||||
"typescript": "5.9.3",
|
||||
"typescript": "6.0.2",
|
||||
"vitest": "^4"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user