From 64c05a906d70db87000b0bfb26f9d2500cd62e5b Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Mon, 1 Sep 2025 02:05:14 +0000 Subject: [PATCH 1/2] doc: cut v1.27.0 release --- README.md | 2 +- charts/index.yaml | 122 ++++--- charts/latest/blob-csi-driver-1.27.0.tgz | Bin 0 -> 6396 bytes charts/latest/blob-csi-driver/Chart.yaml | 4 +- charts/latest/blob-csi-driver/values.yaml | 4 +- charts/v1.27.0/blob-csi-driver-1.27.0.tgz | Bin 0 -> 6396 bytes charts/v1.27.0/blob-csi-driver/Chart.yaml | 5 + .../blob-csi-driver/templates/NOTES.txt | 5 + .../blob-csi-driver/templates/_helpers.tpl | 49 +++ .../templates/csi-blob-controller.yaml | 259 ++++++++++++++ .../templates/csi-blob-driver.yaml | 18 + .../templates/csi-blob-node.yaml | 337 ++++++++++++++++++ .../templates/rbac-csi-blob-controller.yaml | 115 ++++++ .../templates/rbac-csi-blob-node.yaml | 29 ++ .../serviceaccount-csi-blob-controller.yaml | 17 + .../serviceaccount-csi-blob-node.yaml | 17 + charts/v1.27.0/blob-csi-driver/values.yaml | 187 ++++++++++ deploy/blobfuse-proxy/README.md | 4 +- deploy/csi-blob-controller.yaml | 2 +- deploy/csi-blob-node.yaml | 6 +- deploy/v1.27.0/csi-blob-controller.yaml | 172 +++++++++ deploy/v1.27.0/csi-blob-driver.yaml | 16 + deploy/v1.27.0/csi-blob-node.yaml | 252 +++++++++++++ deploy/v1.27.0/kustomization.yaml | 10 + deploy/v1.27.0/rbac-csi-blob-controller.yaml | 108 ++++++ deploy/v1.27.0/rbac-csi-blob-node.yaml | 30 ++ docs/install-blob-csi-driver.md | 2 +- docs/install-csi-driver-v1.27.0.md | 47 +++ 28 files changed, 1755 insertions(+), 64 deletions(-) create mode 100644 charts/latest/blob-csi-driver-1.27.0.tgz create mode 100644 charts/v1.27.0/blob-csi-driver-1.27.0.tgz create mode 100644 charts/v1.27.0/blob-csi-driver/Chart.yaml create mode 100644 charts/v1.27.0/blob-csi-driver/templates/NOTES.txt create mode 100644 charts/v1.27.0/blob-csi-driver/templates/_helpers.tpl create mode 100644 charts/v1.27.0/blob-csi-driver/templates/csi-blob-controller.yaml create mode 100644 charts/v1.27.0/blob-csi-driver/templates/csi-blob-driver.yaml create mode 100644 charts/v1.27.0/blob-csi-driver/templates/csi-blob-node.yaml create mode 100644 charts/v1.27.0/blob-csi-driver/templates/rbac-csi-blob-controller.yaml create mode 100644 charts/v1.27.0/blob-csi-driver/templates/rbac-csi-blob-node.yaml create mode 100644 charts/v1.27.0/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml create mode 100644 charts/v1.27.0/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml create mode 100644 charts/v1.27.0/blob-csi-driver/values.yaml create mode 100644 deploy/v1.27.0/csi-blob-controller.yaml create mode 100644 deploy/v1.27.0/csi-blob-driver.yaml create mode 100644 deploy/v1.27.0/csi-blob-node.yaml create mode 100644 deploy/v1.27.0/kustomization.yaml create mode 100644 deploy/v1.27.0/rbac-csi-blob-controller.yaml create mode 100644 deploy/v1.27.0/rbac-csi-blob-node.yaml create mode 100644 docs/install-csi-driver-v1.27.0.md diff --git a/README.md b/README.md index 2eceee32e..21caab598 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,9 @@ Disclaimer: Deploying this driver manually is not an officially supported Micros |driver version |Image | supported k8s version | |----------------|------------------------------------------------------|-----------------------| |master branch |mcr.microsoft.com/k8s/csi/blob-csi:latest | 1.21+ | +|v1.27.0 |mcr.microsoft.com/oss/v2/kubernetes-csi/blob-csi:v1.27.0 | 1.21+ | |v1.26.3 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.3 | 1.21+ | |v1.25.6 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.6 | 1.21+ | -|v1.24.9 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.24.9 | 1.21+ | ### Driver parameters Please refer to `blob.csi.azure.com` [driver parameters](./docs/driver-parameters.md) diff --git a/charts/index.yaml b/charts/index.yaml index 912f919fa..925f21a79 100644 --- a/charts/index.yaml +++ b/charts/index.yaml @@ -1,9 +1,27 @@ apiVersion: v1 entries: blob-csi-driver: + - apiVersion: v1 + appVersion: 1.27.0 + created: "2025-09-01T02:03:18.363847353Z" + description: Azure Blob Storage CSI driver + digest: 44f731780f186f0c8e75e4673b26bd4336d25ceb6ce837964f0461716f3d5476 + name: blob-csi-driver + urls: + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.27.0/blob-csi-driver-1.27.0.tgz + version: 1.27.0 + - apiVersion: v1 + appVersion: 1.27.0 + created: "2025-09-01T02:03:18.312982102Z" + description: Azure Blob Storage CSI driver + digest: 44f731780f186f0c8e75e4673b26bd4336d25ceb6ce837964f0461716f3d5476 + name: blob-csi-driver + urls: + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-1.27.0.tgz + version: 1.27.0 - apiVersion: v1 appVersion: 1.26.3 - created: "2025-05-08T08:04:44.704181702Z" + created: "2025-09-01T02:03:18.363167525Z" description: Azure Blob Storage CSI driver digest: 630f8b4120d0accf97bdeadf3ee091fb4c3ba1928f5fe9c962083adc58bf362b name: blob-csi-driver @@ -12,7 +30,7 @@ entries: version: 1.26.3 - apiVersion: v1 appVersion: 1.26.1 - created: "2025-05-08T08:04:44.703505494Z" + created: "2025-09-01T02:03:18.36214798Z" description: Azure Blob Storage CSI driver digest: 9beab65ce119f3d41963f985ad8f3811c3e3042ecb783ace951172f93ea319d9 name: blob-csi-driver @@ -21,7 +39,7 @@ entries: version: 1.26.1 - apiVersion: v1 appVersion: 1.26.0 - created: "2025-05-08T08:04:44.702837528Z" + created: "2025-09-01T02:03:18.361340977Z" description: Azure Blob Storage CSI driver digest: fa8972b58e1b5b73c4751f5dbb5cca8d581d79ee60a06bbc869d82ec4923e600 name: blob-csi-driver @@ -30,7 +48,7 @@ entries: version: 1.26.0 - apiVersion: v1 appVersion: 1.25.6 - created: "2025-05-08T08:04:44.702153912Z" + created: "2025-09-01T02:03:18.360427778Z" description: Azure Blob Storage CSI driver digest: a72dce2f8950042da36039232efa8fe0fb87cdf7cc9c6523104fe25558f2135e name: blob-csi-driver @@ -39,7 +57,7 @@ entries: version: 1.25.6 - apiVersion: v1 appVersion: 1.25.4 - created: "2025-05-08T08:04:44.701372701Z" + created: "2025-09-01T02:03:18.359589957Z" description: Azure Blob Storage CSI driver digest: 391be65e1cf2c14a5c5fe32f5938e68d52fd15ce80f4d2365b7685593475c0cc name: blob-csi-driver @@ -48,7 +66,7 @@ entries: version: 1.25.4 - apiVersion: v1 appVersion: 1.25.3 - created: "2025-05-08T08:04:44.699620466Z" + created: "2025-09-01T02:03:18.358870668Z" description: Azure Blob Storage CSI driver digest: 68aa4fbb475a481ba4c68877a9d9caed9d75dc1b5d48db51a4787afd64fd9892 name: blob-csi-driver @@ -57,7 +75,7 @@ entries: version: 1.25.3 - apiVersion: v1 appVersion: 1.25.1 - created: "2025-05-08T08:04:44.698953752Z" + created: "2025-09-01T02:03:18.357981369Z" description: Azure Blob Storage CSI driver digest: 2d546ab7f2f365ddbc10667e2385773d5a3ac1465161fb7ca4fcc1c2baf1c0b8 name: blob-csi-driver @@ -66,7 +84,7 @@ entries: version: 1.25.1 - apiVersion: v1 appVersion: 1.25.0 - created: "2025-05-08T08:04:44.698288234Z" + created: "2025-09-01T02:03:18.35713351Z" description: Azure Blob Storage CSI driver digest: de80f1865c1d95134dfc35faaa2c143c09957e3de6e07196aac5a54529fde9a6 name: blob-csi-driver @@ -75,7 +93,7 @@ entries: version: 1.25.0 - apiVersion: v1 appVersion: v1.24.9 - created: "2025-05-08T08:04:44.697646573Z" + created: "2025-09-01T02:03:18.356176383Z" description: Azure Blob Storage CSI driver digest: 0851ae8238e8ecea9c567fff9210f68c4c17f49035ebbaafeab74039d4b1e346 name: blob-csi-driver @@ -84,7 +102,7 @@ entries: version: v1.24.9 - apiVersion: v1 appVersion: v1.24.8 - created: "2025-05-08T08:04:44.69700973Z" + created: "2025-09-01T02:03:18.35481786Z" description: Azure Blob Storage CSI driver digest: 59bbf267d6cce912683a3a80562ee54c852949dbfaa22d87c07a229555d0fb05 name: blob-csi-driver @@ -93,7 +111,7 @@ entries: version: v1.24.8 - apiVersion: v1 appVersion: v1.24.7 - created: "2025-05-08T08:04:44.696334915Z" + created: "2025-09-01T02:03:18.353596049Z" description: Azure Blob Storage CSI driver digest: 82afae20cec1614c109706926e45a683af2673c9dd5f70ac88e3b4146ae1cfb6 name: blob-csi-driver @@ -102,7 +120,7 @@ entries: version: v1.24.7 - apiVersion: v1 appVersion: v1.24.6 - created: "2025-05-08T08:04:44.69568223Z" + created: "2025-09-01T02:03:18.352727919Z" description: Azure Blob Storage CSI driver digest: 5325f237fabfc4a2bfaa8271fb6ffc638b4afc97ad12992c5cd7ccb055a9fa27 name: blob-csi-driver @@ -111,7 +129,7 @@ entries: version: v1.24.6 - apiVersion: v1 appVersion: v1.24.5 - created: "2025-05-08T08:04:44.694997519Z" + created: "2025-09-01T02:03:18.351695675Z" description: Azure Blob Storage CSI driver digest: d8271336dabc6957f287488f97bc7189f1134d94f8a720359762c1adb24bb8cf name: blob-csi-driver @@ -120,7 +138,7 @@ entries: version: v1.24.5 - apiVersion: v1 appVersion: v1.24.3 - created: "2025-05-08T08:04:44.693989512Z" + created: "2025-09-01T02:03:18.350902737Z" description: Azure Blob Storage CSI driver digest: d8fac26124eaa218c4e3aeb187b8204c5266b4e4a3fca0df39e76376e846c8d8 name: blob-csi-driver @@ -129,7 +147,7 @@ entries: version: v1.24.3 - apiVersion: v1 appVersion: v1.24.2 - created: "2025-05-08T08:04:44.692808151Z" + created: "2025-09-01T02:03:18.350120252Z" description: Azure Blob Storage CSI driver digest: 36567735f655d0c11a2b0247421a85577e5badd0a9413785075b29b58e2b049a name: blob-csi-driver @@ -138,7 +156,7 @@ entries: version: v1.24.2 - apiVersion: v1 appVersion: v1.24.1 - created: "2025-05-08T08:04:44.692181898Z" + created: "2025-09-01T02:03:18.349300555Z" description: Azure Blob Storage CSI driver digest: d4d98037428523005015a3f62441a7665b8a4126d39f7f0d563c474387edef0b name: blob-csi-driver @@ -147,7 +165,7 @@ entries: version: v1.24.1 - apiVersion: v1 appVersion: v1.24.0 - created: "2025-05-08T08:04:44.691529598Z" + created: "2025-09-01T02:03:18.348486308Z" description: Azure Blob Storage CSI driver digest: 183f724b7d67bf336de373b0e5ac22a50af63e42ff0e26ad73a7c11fd0ec6bfc name: blob-csi-driver @@ -156,7 +174,7 @@ entries: version: v1.24.0 - apiVersion: v1 appVersion: v1.23.10 - created: "2025-05-08T08:04:44.687031257Z" + created: "2025-09-01T02:03:18.341152766Z" description: Azure Blob Storage CSI driver digest: 945952507f26b8ea1e77ceb07fe1be8504a67a838708c282605491bdb7f8375d name: blob-csi-driver @@ -165,7 +183,7 @@ entries: version: v1.23.10 - apiVersion: v1 appVersion: v1.23.9 - created: "2025-05-08T08:04:44.690875184Z" + created: "2025-09-01T02:03:18.34745149Z" description: Azure Blob Storage CSI driver digest: cb3b402c2ea03f71a7d57ae8f2d92181664489d4dd8f6130314f6dbd791871ab name: blob-csi-driver @@ -174,7 +192,7 @@ entries: version: v1.23.9 - apiVersion: v1 appVersion: v1.23.7 - created: "2025-05-08T08:04:44.690253886Z" + created: "2025-09-01T02:03:18.346384874Z" description: Azure Blob Storage CSI driver digest: 95f9e01cec77cda71ba7f556cf00ba377270df264aa11caf3d99062d959c8e66 name: blob-csi-driver @@ -183,7 +201,7 @@ entries: version: v1.23.7 - apiVersion: v1 appVersion: v1.23.4 - created: "2025-05-08T08:04:44.689612185Z" + created: "2025-09-01T02:03:18.345190031Z" description: Azure Blob Storage CSI driver digest: 3ce2ee0c9255ebbd004fcdb9f3e5eb702b2203182eb7046754c9b2244c417b02 name: blob-csi-driver @@ -192,7 +210,7 @@ entries: version: v1.23.4 - apiVersion: v1 appVersion: v1.23.3 - created: "2025-05-08T08:04:44.688978176Z" + created: "2025-09-01T02:03:18.343497213Z" description: Azure Blob Storage CSI driver digest: 55b2f47774558d16dec5c93655e5625634e35424466c10244fabd471c9b2a5c6 name: blob-csi-driver @@ -201,7 +219,7 @@ entries: version: v1.23.3 - apiVersion: v1 appVersion: v1.23.2 - created: "2025-05-08T08:04:44.68831847Z" + created: "2025-09-01T02:03:18.342133236Z" description: Azure Blob Storage CSI driver digest: d85ba0c55d74c22b2b4cb964d70d8e38ede06f521cc5ca5502f57ed4b52d49f4 name: blob-csi-driver @@ -210,7 +228,7 @@ entries: version: v1.23.2 - apiVersion: v1 appVersion: v1.23.1 - created: "2025-05-08T08:04:44.686105387Z" + created: "2025-09-01T02:03:18.340155614Z" description: Azure Blob Storage CSI driver digest: 66215f12a4e3acdcf09416d817b737e14546058b081a2cfd8bf9ef507229ca07 name: blob-csi-driver @@ -219,7 +237,7 @@ entries: version: v1.23.1 - apiVersion: v1 appVersion: v1.23.0 - created: "2025-05-08T08:04:44.685490263Z" + created: "2025-09-01T02:03:18.339474895Z" description: Azure Blob Storage CSI driver digest: 57151e21e33660522f25694bd8ae985e5e17c7ffe09904ad2af4025e8bf1da72 name: blob-csi-driver @@ -228,7 +246,7 @@ entries: version: v1.23.0 - apiVersion: v1 appVersion: v1.22.9 - created: "2025-05-08T08:04:44.684878475Z" + created: "2025-09-01T02:03:18.338592377Z" description: Azure Blob Storage CSI driver digest: 2ba7025c4c9917e5550b702c205ffd329ccec0a85b6a4fb74a4dc7206fa9ca64 name: blob-csi-driver @@ -237,7 +255,7 @@ entries: version: v1.22.9 - apiVersion: v1 appVersion: v1.22.8 - created: "2025-05-08T08:04:44.684242786Z" + created: "2025-09-01T02:03:18.337611895Z" description: Azure Blob Storage CSI driver digest: a2ab602708e9c3b08d01baa66ffc7937b67119c060b4b90a41bedf15b709313c name: blob-csi-driver @@ -246,7 +264,7 @@ entries: version: v1.22.8 - apiVersion: v1 appVersion: v1.22.6 - created: "2025-05-08T08:04:44.683580856Z" + created: "2025-09-01T02:03:18.336702844Z" description: Azure Blob Storage CSI driver digest: ef7b5c287fca46351903cb819b3ccc8b8b2021addda87c59bea94d9ed61015a0 name: blob-csi-driver @@ -255,7 +273,7 @@ entries: version: v1.22.6 - apiVersion: v1 appVersion: v1.22.5 - created: "2025-05-08T08:04:44.682916034Z" + created: "2025-09-01T02:03:18.335844022Z" description: Azure Blob Storage CSI driver digest: ff3c2c2e05dd048dd0af3e5c7d002eae2928a5d17fb269a1e4d5cadd30e8ab51 name: blob-csi-driver @@ -264,7 +282,7 @@ entries: version: v1.22.5 - apiVersion: v1 appVersion: v1.22.4 - created: "2025-05-08T08:04:44.682279984Z" + created: "2025-09-01T02:03:18.334759413Z" description: Azure Blob Storage CSI driver digest: 6c38e79d2f50616daac0658cfa5b1a569e6ff8ce8f24ed40f563e87fb1d1340a name: blob-csi-driver @@ -273,7 +291,7 @@ entries: version: v1.22.4 - apiVersion: v1 appVersion: v1.22.3 - created: "2025-05-08T08:04:44.681480019Z" + created: "2025-09-01T02:03:18.333586934Z" description: Azure Blob Storage CSI driver digest: 6cdee296d22ecd330f477f2ca6da51b07320c546c04ae46c23eef48146b772c1 name: blob-csi-driver @@ -282,7 +300,7 @@ entries: version: v1.22.3 - apiVersion: v1 appVersion: v1.22.2 - created: "2025-05-08T08:04:44.67968225Z" + created: "2025-09-01T02:03:18.332132315Z" description: Azure Blob Storage CSI driver digest: 259e66dc12db7310fe1c51e49c964398e0a6b7d511133916dd7d25f748f0b791 name: blob-csi-driver @@ -291,7 +309,7 @@ entries: version: v1.22.2 - apiVersion: v1 appVersion: v1.22.1 - created: "2025-05-08T08:04:44.679030279Z" + created: "2025-09-01T02:03:18.330351834Z" description: Azure Blob Storage CSI driver digest: 8329d477d55c82f97bb09fb172c5f39a1677bedc13c7410bd93b306194516438 name: blob-csi-driver @@ -300,7 +318,7 @@ entries: version: v1.22.1 - apiVersion: v1 appVersion: v1.21.7 - created: "2025-05-08T08:04:44.67839872Z" + created: "2025-09-01T02:03:18.329415121Z" description: Azure Blob Storage CSI driver digest: 1095721182d611e2556c611dd330758d8130fe66493db4f9189586a9219896d3 name: blob-csi-driver @@ -309,7 +327,7 @@ entries: version: v1.21.7 - apiVersion: v1 appVersion: v1.21.6 - created: "2025-05-08T08:04:44.677803711Z" + created: "2025-09-01T02:03:18.328529865Z" description: Azure Blob Storage CSI driver digest: d5ba1f92795ec45970eb6e5fc54aa13a5684f9936216c064f8a3843bf722bf54 name: blob-csi-driver @@ -318,7 +336,7 @@ entries: version: v1.21.6 - apiVersion: v1 appVersion: v1.21.5 - created: "2025-05-08T08:04:44.677217056Z" + created: "2025-09-01T02:03:18.327686903Z" description: Azure Blob Storage CSI driver digest: b403e9d49abfe076ecd83d6dd50166347ee4305f33dc840019474b2876723b9b name: blob-csi-driver @@ -327,7 +345,7 @@ entries: version: v1.21.5 - apiVersion: v1 appVersion: v1.21.4 - created: "2025-05-08T08:04:44.676647243Z" + created: "2025-09-01T02:03:18.326808037Z" description: Azure Blob Storage CSI driver digest: e4fa13670caf6b0d3e9fefa55d100daa439cd7187dabd45318ab03c7d4b17710 name: blob-csi-driver @@ -336,7 +354,7 @@ entries: version: v1.21.4 - apiVersion: v1 appVersion: v1.20.3 - created: "2025-05-08T08:04:44.676072568Z" + created: "2025-09-01T02:03:18.325930303Z" description: Azure Blob Storage CSI driver digest: 8c2c20547b2e0e1b39d2f2efd04c1bd778f14af5feae2bda86d722dac3c02643 name: blob-csi-driver @@ -345,7 +363,7 @@ entries: version: v1.20.3 - apiVersion: v1 appVersion: v1.19.6 - created: "2025-05-08T08:04:44.675462108Z" + created: "2025-09-01T02:03:18.325114195Z" description: Azure Blob Storage CSI driver digest: 0007ef225b5658d3989aa6fdc3a91a4b33696a438eee46ad9a675af615cbdf21 name: blob-csi-driver @@ -354,7 +372,7 @@ entries: version: v1.19.6 - apiVersion: v1 appVersion: v1.19.5 - created: "2025-05-08T08:04:44.674766754Z" + created: "2025-09-01T02:03:18.324434535Z" description: Azure Blob Storage CSI driver digest: 183c3e5cd84b709f1455cc7c84ed5bd573e8a24149fd6442d38999835b0a1711 name: blob-csi-driver @@ -363,7 +381,7 @@ entries: version: v1.19.5 - apiVersion: v1 appVersion: v1.18.0 - created: "2025-05-08T08:04:44.674081566Z" + created: "2025-09-01T02:03:18.32359742Z" description: Azure Blob Storage CSI driver digest: 3eac15488da5be7d1e78431929f7cda35bceb1af3fe107ffbd84606e047c9204 name: blob-csi-driver @@ -372,7 +390,7 @@ entries: version: v1.18.0 - apiVersion: v1 appVersion: v1.17.0 - created: "2025-05-08T08:04:44.673286693Z" + created: "2025-09-01T02:03:18.322658286Z" description: Azure Blob Storage CSI driver digest: 22cfa17fc5e8d771ff8edd26729266a9a8ee55c0e150df85ef15698f7fe985e9 name: blob-csi-driver @@ -381,7 +399,7 @@ entries: version: v1.17.0 - apiVersion: v1 appVersion: v1.16.0 - created: "2025-05-08T08:04:44.671913403Z" + created: "2025-09-01T02:03:18.321338302Z" description: Azure Blob Storage CSI driver digest: bf6249c0e3e3d3d009d4c79ceb7fda9a56c0565b969de753628792ea3ea5ece8 name: blob-csi-driver @@ -390,7 +408,7 @@ entries: version: v1.16.0 - apiVersion: v1 appVersion: v1.15.0 - created: "2025-05-08T08:04:44.671314487Z" + created: "2025-09-01T02:03:18.319790977Z" description: Azure Blob Storage CSI driver digest: 8daa35cd4957695cb64b45da05a15b4020df5545a8ac44c4668dad4bba82c8a9 name: blob-csi-driver @@ -399,7 +417,7 @@ entries: version: v1.15.0 - apiVersion: v1 appVersion: v1.14.0 - created: "2025-05-08T08:04:44.670719601Z" + created: "2025-09-01T02:03:18.318888285Z" description: Azure Blob Storage CSI driver digest: 442bc579b231aab626b9e474e2c0ed3f101d47d61c99aa9a7f863af7ce268d9d name: blob-csi-driver @@ -408,7 +426,7 @@ entries: version: v1.14.0 - apiVersion: v1 appVersion: v1.13.0 - created: "2025-05-08T08:04:44.670129134Z" + created: "2025-09-01T02:03:18.317944066Z" description: Azure Blob Storage CSI driver digest: b577b0b771138109aa90eb09d56fc07273ca0b584a263ee8f789e35796279f31 name: blob-csi-driver @@ -417,7 +435,7 @@ entries: version: v1.13.0 - apiVersion: v1 appVersion: v1.12.0 - created: "2025-05-08T08:04:44.669506829Z" + created: "2025-09-01T02:03:18.317031678Z" description: Azure Blob Storage CSI driver digest: 124e87af2581b374b89a39940698620c23d3eae6dcee518d302461ffea93e9a8 name: blob-csi-driver @@ -426,7 +444,7 @@ entries: version: v1.12.0 - apiVersion: v1 appVersion: v1.11.0 - created: "2025-05-08T08:04:44.668858443Z" + created: "2025-09-01T02:03:18.316033359Z" description: Azure Blob Storage CSI driver digest: 07c4d76017491b3d0bdd70de90e814096938bf7916da0c149c3805294bd57560 name: blob-csi-driver @@ -435,7 +453,7 @@ entries: version: v1.11.0 - apiVersion: v1 appVersion: v1.10.0 - created: "2025-05-08T08:04:44.668235536Z" + created: "2025-09-01T02:03:18.315022451Z" description: Azure Blob Storage CSI driver digest: 79716efa958385adf57eb3570843e1b4512d8c801e8e070625e94264f3e917a9 name: blob-csi-driver @@ -444,11 +462,11 @@ entries: version: v1.10.0 - apiVersion: v1 appVersion: latest - created: "2025-05-08T08:04:44.667577073Z" + created: "2025-09-01T02:03:18.313793299Z" description: Azure Blob Storage CSI driver - digest: 47f512d694ac81e323ecf66e8d59c683f4ff8816506949e71ac556c5c417b3f4 + digest: eb52c23fbcc648793f13e225f16cd6c400c58f781253876a416e42039a4727e7 name: blob-csi-driver urls: - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v0.0.0.tgz version: v0.0.0 -generated: "2025-05-08T08:04:44.666725562Z" +generated: "2025-09-01T02:03:18.311971345Z" diff --git a/charts/latest/blob-csi-driver-1.27.0.tgz b/charts/latest/blob-csi-driver-1.27.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..072bd00e5aa79c8ea7b112426aa95320c916ac09 GIT binary patch literal 6396 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 Kwe2?mumAwdZ-EN{ literal 0 HcmV?d00001 diff --git a/charts/latest/blob-csi-driver/Chart.yaml b/charts/latest/blob-csi-driver/Chart.yaml index 70bc7226c..6029fa285 100644 --- a/charts/latest/blob-csi-driver/Chart.yaml +++ b/charts/latest/blob-csi-driver/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -appVersion: latest +appVersion: 1.27.0 description: Azure Blob Storage CSI driver name: blob-csi-driver -version: v0.0.0 +version: 1.27.0 diff --git a/charts/latest/blob-csi-driver/values.yaml b/charts/latest/blob-csi-driver/values.yaml index c776d9540..3f90c3b52 100644 --- a/charts/latest/blob-csi-driver/values.yaml +++ b/charts/latest/blob-csi-driver/values.yaml @@ -1,8 +1,8 @@ image: baseRepo: mcr.microsoft.com blob: - repository: /k8s/csi/blob-csi - tag: latest + repository: /oss/v2/kubernetes-csi/blob-csi + tag: v1.27.0 pullPolicy: IfNotPresent csiProvisioner: repository: /oss/v2/kubernetes-csi/csi-provisioner diff --git a/charts/v1.27.0/blob-csi-driver-1.27.0.tgz b/charts/v1.27.0/blob-csi-driver-1.27.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..072bd00e5aa79c8ea7b112426aa95320c916ac09 GIT binary patch literal 6396 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 Kwe2?mumAwdZ-EN{ literal 0 HcmV?d00001 diff --git a/charts/v1.27.0/blob-csi-driver/Chart.yaml b/charts/v1.27.0/blob-csi-driver/Chart.yaml new file mode 100644 index 000000000..6029fa285 --- /dev/null +++ b/charts/v1.27.0/blob-csi-driver/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: 1.27.0 +description: Azure Blob Storage CSI driver +name: blob-csi-driver +version: 1.27.0 diff --git a/charts/v1.27.0/blob-csi-driver/templates/NOTES.txt b/charts/v1.27.0/blob-csi-driver/templates/NOTES.txt new file mode 100644 index 000000000..c75dafbb5 --- /dev/null +++ b/charts/v1.27.0/blob-csi-driver/templates/NOTES.txt @@ -0,0 +1,5 @@ +The Azure Blob Storage CSI driver is getting deployed to your cluster. + +To check Azure Blob Storage CSI driver pods status, please run: + + kubectl --namespace={{ .Release.Namespace }} get pods --selector="app.kubernetes.io/name={{ .Release.Name }}" --watch diff --git a/charts/v1.27.0/blob-csi-driver/templates/_helpers.tpl b/charts/v1.27.0/blob-csi-driver/templates/_helpers.tpl new file mode 100644 index 000000000..d99392f32 --- /dev/null +++ b/charts/v1.27.0/blob-csi-driver/templates/_helpers.tpl @@ -0,0 +1,49 @@ +{{/* vim: set filetype=mustache: */}} + +{{/* Expand the name of the chart.*/}} +{{- define "blob.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "blob.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common selectors. +*/}} +{{- define "blob.selectorLabels" -}} +app.kubernetes.io/name: {{ template "blob.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{/* +Common labels. +*/}} +{{- define "blob.labels" -}} +{{- include "blob.selectorLabels" . }} +app.kubernetes.io/component: csi-driver +app.kubernetes.io/part-of: {{ template "blob.name" . }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +helm.sh/chart: {{ template "blob.chart" . }} +{{- if .Values.customLabels }} +{{ toYaml .Values.customLabels }} +{{- end }} +{{- end -}} + + +{{/* pull secrets for containers */}} +{{- define "blob.pullSecrets" -}} +{{- if .Values.imagePullSecrets }} +imagePullSecrets: +{{- range .Values.imagePullSecrets }} + - name: {{ . }} +{{- end }} +{{- end }} +{{- end -}} \ No newline at end of file diff --git a/charts/v1.27.0/blob-csi-driver/templates/csi-blob-controller.yaml b/charts/v1.27.0/blob-csi-driver/templates/csi-blob-controller.yaml new file mode 100644 index 000000000..9b443e7ee --- /dev/null +++ b/charts/v1.27.0/blob-csi-driver/templates/csi-blob-controller.yaml @@ -0,0 +1,259 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: {{ .Values.controller.name }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.controller.name }} + {{- include "blob.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.controller.replicas }} + selector: + matchLabels: + app: {{ .Values.controller.name }} + {{- include "blob.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + app: {{ .Values.controller.name }} + {{- include "blob.labels" . | nindent 8 }} + {{- if .Values.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + {{- end }} + {{- if .Values.podLabels }} +{{- toYaml .Values.podLabels | nindent 8 }} + {{- end }} +{{- if .Values.podAnnotations }} + annotations: +{{ toYaml .Values.podAnnotations | indent 8 }} +{{- end }} + spec: + {{- if .Values.imagePullSecrets }} + imagePullSecrets: +{{ toYaml .Values.imagePullSecrets | indent 8 }} + {{- end }} + hostNetwork: {{ .Values.controller.hostNetwork }} + serviceAccountName: {{ .Values.serviceAccount.controller }} + nodeSelector: + kubernetes.io/os: linux + # runOnControlPlane=true or runOnMaster=true only takes effect if affinity is not set + {{- if tpl "{{ .Values.controller.affinity }}" . | contains "nodeSelectorTerms" }} + {{- with .Values.controller.affinity }} + affinity: +{{ toYaml . | indent 8 }} + {{- end }} + {{- else if or .Values.controller.runOnControlPlane .Values.controller.runOnMaster}} + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + {{- if .Values.controller.runOnControlPlane}} + - key: node-role.kubernetes.io/control-plane + operator: Exists + {{- end}} + {{- if .Values.controller.runOnMaster}} + - key: node-role.kubernetes.io/master + operator: Exists + {{- end}} + {{- end }} +{{- with .Values.controller.nodeSelector }} +{{ toYaml . | indent 8 }} +{{- end }} + priorityClassName: {{ .Values.priorityClassName | quote }} + securityContext: + seccompProfile: + type: RuntimeDefault +{{- with .Values.controller.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} +{{- end }} + containers: + - name: csi-provisioner +{{- if hasPrefix "/" .Values.image.csiProvisioner.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}" +{{- else }} + image: "{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}" +{{- end }} + args: + - "-v=2" + - "--csi-address=$(ADDRESS)" + - "--leader-election" + - "--leader-election-namespace={{ .Release.Namespace }}" + - "--timeout=1200s" + - "--extra-create-metadata=true" + - "--kube-api-qps=50" + - "--kube-api-burst=100" + - "--feature-gates=HonorPVReclaimPolicy=true" + - "--retry-interval-max=30m" + env: + - name: ADDRESS + value: /csi/csi.sock + imagePullPolicy: {{ .Values.image.csiProvisioner.pullPolicy }} + volumeMounts: + - mountPath: /csi + name: socket-dir + resources: {{- toYaml .Values.controller.resources.csiProvisioner | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + - name: liveness-probe +{{- if hasPrefix "/" .Values.image.livenessProbe.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- else }} + image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- end }} + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s +{{- if eq .Values.controller.hostNetwork true }} + - --http-endpoint=localhost:{{ .Values.controller.livenessProbe.healthPort }} +{{- else }} + - --health-port={{ .Values.controller.livenessProbe.healthPort }} +{{- end }} + imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }} + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: {{- toYaml .Values.controller.resources.livenessProbe | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + - name: blob +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + args: + - "--v={{ .Values.controller.logLevel }}" + - "--endpoint=$(CSI_ENDPOINT)" + - "--metrics-address=0.0.0.0:{{ .Values.controller.metricsPort }}" + - "--drivername={{ .Values.driver.name }}" + - "--custom-user-agent={{ .Values.driver.customUserAgent }}" + - "--user-agent-suffix={{ .Values.driver.userAgentSuffix }}" + - "--cloud-config-secret-name={{ .Values.controller.cloudConfigSecretName }}" + - "--cloud-config-secret-namespace={{ .Values.controller.cloudConfigSecretNamespace }}" + - "--allow-empty-cloud-config={{ .Values.controller.allowEmptyCloudConfig }}" + ports: + - containerPort: {{ .Values.controller.metricsPort }} + name: metrics + protocol: TCP +{{- if ne .Values.controller.hostNetwork true }} + - containerPort: {{ .Values.controller.livenessProbe.healthPort }} + name: healthz + protocol: TCP +{{- end }} + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz +{{- if eq .Values.controller.hostNetwork true }} + host: localhost + port: {{ .Values.controller.livenessProbe.healthPort }} +{{- else }} + port: healthz +{{- end }} + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + {{- if ne .Values.driver.httpsProxy "" }} + - name: HTTPS_PROXY + value: {{ .Values.driver.httpsProxy }} + {{- end }} + {{- if ne .Values.driver.httpProxy "" }} + - name: HTTP_PROXY + value: {{ .Values.driver.httpProxy }} + {{- end }} + - name: AZURE_GO_SDK_LOG_LEVEL + value: {{ .Values.driver.azureGoSDKLogLevel }} + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: AZURE_ENVIRONMENT_FILEPATH + value: /etc/kubernetes/azurestackcloud.json + {{- end }} + - name: AZCOPY_CONCURRENCY_VALUE + value: "10" + - name: AZCOPY_CONCURRENT_FILES + value: "20" + - name: AZCOPY_BUFFER_GB + value: "1" + imagePullPolicy: {{ .Values.image.blob.pullPolicy }} + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /root/.azcopy + name: azcopy-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + {{- if or (eq .Values.cloud "AzureStackCloud") (eq .Values.linux.distro "fedora") }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl-pki + mountPath: /etc/pki/ca-trust/extracted + readOnly: true + {{- end }} + resources: {{- toYaml .Values.controller.resources.blob | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + - name: csi-resizer +{{- if hasPrefix "/" .Values.image.csiResizer.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}" +{{- else }} + image: "{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}" +{{- end }} + args: + - "-csi-address=$(ADDRESS)" + - "-v=2" + - "-leader-election" + - "--leader-election-namespace={{ .Release.Namespace }}" + - '-handle-volume-inuse-error=false' + env: + - name: ADDRESS + value: /csi/csi.sock + imagePullPolicy: {{ .Values.image.csiResizer.pullPolicy }} + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: {{- toYaml .Values.controller.resources.csiResizer | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + volumes: + - name: socket-dir + emptyDir: {} + - name: azcopy-dir + emptyDir: {} + - name: azure-cred + hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + {{- if or (eq .Values.cloud "AzureStackCloud") (eq .Values.linux.distro "fedora") }} + - name: ssl + hostPath: + path: /etc/ssl/certs + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl-pki + hostPath: + path: /etc/pki/ca-trust/extracted + {{- end }} + {{- if .Values.securityContext }} + securityContext: {{- toYaml .Values.securityContext | nindent 8 }} + {{- end }} diff --git a/charts/v1.27.0/blob-csi-driver/templates/csi-blob-driver.yaml b/charts/v1.27.0/blob-csi-driver/templates/csi-blob-driver.yaml new file mode 100644 index 000000000..edb89dc8f --- /dev/null +++ b/charts/v1.27.0/blob-csi-driver/templates/csi-blob-driver.yaml @@ -0,0 +1,18 @@ +--- +apiVersion: storage.k8s.io/v1 +kind: CSIDriver +metadata: + name: {{ .Values.driver.name }} + labels: + {{- include "blob.labels" . | nindent 4 }} +spec: + attachRequired: false + podInfoOnMount: true + fsGroupPolicy: {{ .Values.feature.fsGroupPolicy }} + volumeLifecycleModes: + - Persistent + - Ephemeral + requiresRepublish: {{ .Values.feature.requiresRepublish }} + tokenRequests: + - audience: api://AzureADTokenExchange + expirationSeconds: 3600 diff --git a/charts/v1.27.0/blob-csi-driver/templates/csi-blob-node.yaml b/charts/v1.27.0/blob-csi-driver/templates/csi-blob-node.yaml new file mode 100644 index 000000000..52759d28a --- /dev/null +++ b/charts/v1.27.0/blob-csi-driver/templates/csi-blob-node.yaml @@ -0,0 +1,337 @@ +kind: DaemonSet +apiVersion: apps/v1 +metadata: + name: {{ .Values.node.name }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.node.name }} + {{- include "blob.labels" . | nindent 4 }} +spec: + updateStrategy: + rollingUpdate: + maxUnavailable: {{ .Values.node.maxUnavailable }} + type: RollingUpdate + selector: + matchLabels: + app: {{ .Values.node.name }} + {{- include "blob.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + app: {{ .Values.node.name }} + {{- include "blob.labels" . | nindent 8 }} + {{- if .Values.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + {{- end }} + {{- if .Values.podLabels }} +{{- toYaml .Values.podLabels | nindent 8 }} + {{- end }} +{{- if .Values.podAnnotations }} + annotations: +{{ toYaml .Values.podAnnotations | indent 8 }} +{{- end }} + spec: + {{- if .Values.imagePullSecrets }} + imagePullSecrets: +{{ toYaml .Values.imagePullSecrets | indent 8 }} + {{- end }} + {{- if or .Values.node.enableBlobfuseProxy .Values.node.enableAznfsMount }} + hostPID: true + {{- end }} + hostNetwork: true + dnsPolicy: Default + serviceAccountName: {{ .Values.serviceAccount.node }} + nodeSelector: + kubernetes.io/os: linux +{{- with .Values.node.nodeSelector }} +{{ toYaml . | indent 8 }} +{{- end }} + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: type + operator: NotIn + values: + - virtual-kubelet + {{- if .Values.node.affinity }} +{{- toYaml .Values.node.affinity | nindent 8 }} + {{- end }} + priorityClassName: {{ .Values.priorityClassName | quote }} + securityContext: + seccompProfile: + type: RuntimeDefault +{{- with .Values.node.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} +{{- end }} + initContainers: + - name: install-blobfuse-proxy +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + imagePullPolicy: IfNotPresent + command: + - "/blobfuse-proxy/init.sh" + securityContext: + privileged: true + capabilities: + drop: + - ALL + env: + - name: DEBIAN_FRONTEND + value: "noninteractive" + - name: INSTALL_BLOBFUSE + value: "{{ .Values.node.blobfuseProxy.installBlobfuse }}" + - name: INSTALL_BLOBFUSE2 + value: "{{ .Values.node.blobfuseProxy.installBlobfuse2 }}" + - name: BLOBFUSE2_VERSION + value: "{{ .Values.node.blobfuseProxy.blobfuse2Version }}" + - name: INSTALL_BLOBFUSE_PROXY + value: "{{ .Values.node.enableBlobfuseProxy }}" + - name: SET_MAX_OPEN_FILE_NUM + value: "{{ .Values.node.blobfuseProxy.setMaxOpenFileNum }}" + - name: MAX_FILE_NUM + value: "{{ .Values.node.blobfuseProxy.maxOpenFileNum }}" + - name: DISABLE_UPDATEDB + value: "{{ .Values.node.blobfuseProxy.disableUpdateDB }}" + - name: KUBELET_PATH + value: "{{ .Values.linux.kubelet }}" + - name: MIGRATE_K8S_REPO + value: "{{ .Values.node.blobfuseProxy.migrateK8sRepo }}" + - name: SET_READ_AHEAD_SIZE + value: "{{ .Values.node.blobfuseProxy.setReadAheadSize }}" + - name: ALLOW_PACKAGE_INSTALL_DOWNGRADE + value: "{{ .Values.node.blobfuseProxy.allowPackageInstallDowngrade }}" + volumeMounts: + - name: host-usr + mountPath: /host/usr + - name: host-usr-local + mountPath: /host/usr/local + - name: host-etc + mountPath: /host/etc + containers: + - name: liveness-probe + imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }} + volumeMounts: + - mountPath: /csi + name: socket-dir +{{- if hasPrefix "/" .Values.image.livenessProbe.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- else }} + image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- end }} + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=10s + - --http-endpoint=localhost:{{ .Values.node.livenessProbe.healthPort }} + - --v=2 + resources: {{- toYaml .Values.node.resources.livenessProbe | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + - name: node-driver-registrar +{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}" +{{- else }} + image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}" +{{- end }} + args: + - --csi-address=$(ADDRESS) + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --v=2 + env: + - name: ADDRESS + value: /csi/csi.sock + - name: DRIVER_REG_SOCK_PATH + value: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + - name: registration-dir + mountPath: /registration + resources: {{- toYaml .Values.node.resources.nodeDriverRegistrar | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + - name: blob +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + args: + - "--v={{ .Values.node.logLevel }}" + - "--endpoint=$(CSI_ENDPOINT)" + - "--blobfuse-proxy-endpoint=$(BLOBFUSE_PROXY_ENDPOINT)" + - "--enable-blobfuse-proxy={{ .Values.node.enableBlobfuseProxy }}" + - "--nodeid=$(KUBE_NODE_NAME)" + - "--drivername={{ .Values.driver.name }}" + - "--cloud-config-secret-name={{ .Values.node.cloudConfigSecretName }}" + - "--cloud-config-secret-namespace={{ .Values.node.cloudConfigSecretNamespace }}" + - "--custom-user-agent={{ .Values.driver.customUserAgent }}" + - "--user-agent-suffix={{ .Values.driver.userAgentSuffix }}" + - "--allow-empty-cloud-config={{ .Values.node.allowEmptyCloudConfig }}" + - "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}" + - "--append-timestamp-cache-dir={{ .Values.node.appendTimeStampInCacheDir }}" + - "--mount-permissions={{ .Values.node.mountPermissions }}" + - "--allow-inline-volume-key-access-with-idenitity={{ .Values.node.allowInlineVolumeKeyAccessWithIdentity }}" + - "--enable-aznfs-mount={{ .Values.node.enableAznfsMount }}" + - "--metrics-address=0.0.0.0:{{ .Values.node.metricsPort }}" + ports: + - containerPort: {{ .Values.node.metricsPort }} + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + host: localhost + path: /healthz + port: {{ .Values.node.livenessProbe.healthPort }} + initialDelaySeconds: 30 + timeoutSeconds: 30 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - name: BLOBFUSE_PROXY_ENDPOINT + value: unix:///csi/blobfuse-proxy.sock + {{- if ne .Values.driver.httpsProxy "" }} + - name: HTTPS_PROXY + value: {{ .Values.driver.httpsProxy }} + {{- end }} + {{- if ne .Values.driver.httpProxy "" }} + - name: HTTP_PROXY + value: {{ .Values.driver.httpProxy }} + {{- end }} + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: AZURE_GO_SDK_LOG_LEVEL + value: {{ .Values.driver.azureGoSDKLogLevel }} + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: AZURE_ENVIRONMENT_FILEPATH + value: /etc/kubernetes/azurestackcloud.json + {{- end }} + imagePullPolicy: {{ .Values.image.blob.pullPolicy }} + securityContext: + privileged: true + capabilities: + drop: + - ALL + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: {{ .Values.linux.kubelet }}/ + mountPropagation: Bidirectional + name: mountpoint-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + - mountPath: /mnt + name: blob-cache + {{- if or (eq .Values.cloud "AzureStackCloud") (eq .Values.linux.distro "fedora") }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl-pki + mountPath: /etc/pki/ca-trust/extracted + readOnly: true + {{- end }} + {{- if .Values.node.enableAznfsMount }} + - mountPath: /opt/microsoft/aznfs/data + name: aznfs-data + - mountPath: /lib/modules + name: lib-modules + readOnly: true + {{- end }} + resources: {{- toYaml .Values.node.resources.blob | nindent 12 }} +{{- if .Values.node.enableAznfsMount }} + - name: aznfswatchdog +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + command: + - "aznfswatchdog" + imagePullPolicy: {{ .Values.image.blob.pullPolicy }} + securityContext: + privileged: true + capabilities: + drop: + - ALL + resources: {{- toYaml .Values.node.resources.aznfswatchdog | nindent 12 }} + volumeMounts: + - mountPath: /opt/microsoft/aznfs/data + name: aznfs-data + - mountPath: {{ .Values.linux.kubelet }}/ + mountPropagation: Bidirectional + name: mountpoint-dir +{{- end }} + volumes: + - name: host-usr + hostPath: + path: /usr + - name: host-usr-local + hostPath: + path: /usr/local + - name: host-etc + hostPath: + path: /etc + - hostPath: + path: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }} + type: DirectoryOrCreate + name: socket-dir + - hostPath: + path: {{ .Values.linux.kubelet }}/ + type: DirectoryOrCreate + name: mountpoint-dir + - hostPath: + path: {{ .Values.linux.kubelet }}/plugins_registry/ + type: DirectoryOrCreate + name: registration-dir + - hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + name: azure-cred + - hostPath: + path: {{ .Values.node.blobfuseCachePath }} + name: blob-cache + {{- if or (eq .Values.cloud "AzureStackCloud") (eq .Values.linux.distro "fedora") }} + - name: ssl + hostPath: + path: /etc/ssl/certs + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl-pki + hostPath: + path: /etc/pki/ca-trust/extracted + {{- end }} + {{- if .Values.node.enableAznfsMount }} + - hostPath: + path: /opt/microsoft/aznfs/data + type: DirectoryOrCreate + name: aznfs-data + - name: lib-modules + hostPath: + path: /lib/modules + type: DirectoryOrCreate + {{- end }} + {{- if .Values.securityContext }} + securityContext: {{- toYaml .Values.securityContext | nindent 8 }} + {{- end }} diff --git a/charts/v1.27.0/blob-csi-driver/templates/rbac-csi-blob-controller.yaml b/charts/v1.27.0/blob-csi-driver/templates/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..8c85e4eef --- /dev/null +++ b/charts/v1.27.0/blob-csi-driver/templates/rbac-csi-blob-controller.yaml @@ -0,0 +1,115 @@ +{{- if .Values.rbac.create -}} +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ .Values.rbac.name }}-external-provisioner-role + labels: + {{- include "blob.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "create", "patch", "delete"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["get", "list", "watch", "create", "update", "patch"] + - apiGroups: ["storage.k8s.io"] + resources: ["csinodes"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["nodes"] + verbs: ["get", "list", "watch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] + +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ .Values.rbac.name }}-csi-provisioner-binding + labels: + {{- include "blob.labels" . | nindent 4 }} +subjects: + - kind: ServiceAccount + name: {{ .Values.serviceAccount.controller }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: {{ .Values.rbac.name }}-external-provisioner-role + apiGroup: rbac.authorization.k8s.io + +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ .Values.rbac.name }}-external-resizer-role + labels: + {{- include "blob.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "update", "patch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims/status"] + verbs: ["update", "patch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["list", "watch", "create", "update", "patch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ .Values.rbac.name }}-csi-resizer-role + labels: + {{- include "blob.labels" . | nindent 4 }} +subjects: + - kind: ServiceAccount + name: {{ .Values.serviceAccount.controller }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: {{ .Values.rbac.name }}-external-resizer-role + apiGroup: rbac.authorization.k8s.io + +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-{{ .Values.rbac.name }}-controller-secret-role + labels: + {{- include "blob.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get", "create"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-{{ .Values.rbac.name }}-controller-secret-binding + labels: + {{- include "blob.labels" . | nindent 4 }} +subjects: + - kind: ServiceAccount + name: {{ .Values.serviceAccount.controller }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: csi-{{ .Values.rbac.name }}-controller-secret-role + apiGroup: rbac.authorization.k8s.io +{{ end }} diff --git a/charts/v1.27.0/blob-csi-driver/templates/rbac-csi-blob-node.yaml b/charts/v1.27.0/blob-csi-driver/templates/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..c041cf8db --- /dev/null +++ b/charts/v1.27.0/blob-csi-driver/templates/rbac-csi-blob-node.yaml @@ -0,0 +1,29 @@ +{{- if .Values.rbac.create -}} +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-{{ .Values.rbac.name }}-node-secret-role + labels: + {{- include "blob.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-{{ .Values.rbac.name }}-node-secret-binding + labels: + {{- include "blob.labels" . | nindent 4 }} +subjects: + - kind: ServiceAccount + name: {{ .Values.serviceAccount.node }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: csi-{{ .Values.rbac.name }}-node-secret-role + apiGroup: rbac.authorization.k8s.io +{{ end }} diff --git a/charts/v1.27.0/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml b/charts/v1.27.0/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml new file mode 100644 index 000000000..7433bccf1 --- /dev/null +++ b/charts/v1.27.0/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml @@ -0,0 +1,17 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Values.serviceAccount.controller }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "blob.labels" . | nindent 4 }} +{{- if .Values.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + annotations: + azure.workload.identity/client-id: {{ .Values.workloadIdentity.clientID }} +{{- if .Values.workloadIdentity.tenantID }} + azure.workload.identity/tenant-id: {{ .Values.workloadIdentity.tenantID }} +{{- end }} +{{- end }} +{{- end -}} diff --git a/charts/v1.27.0/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml b/charts/v1.27.0/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml new file mode 100644 index 000000000..a25090e30 --- /dev/null +++ b/charts/v1.27.0/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml @@ -0,0 +1,17 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Values.serviceAccount.node }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "blob.labels" . | nindent 4 }} +{{- if .Values.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + annotations: + azure.workload.identity/client-id: {{ .Values.workloadIdentity.clientID }} +{{- if .Values.workloadIdentity.tenantID }} + azure.workload.identity/tenant-id: {{ .Values.workloadIdentity.tenantID }} +{{- end }} +{{- end }} +{{- end -}} diff --git a/charts/v1.27.0/blob-csi-driver/values.yaml b/charts/v1.27.0/blob-csi-driver/values.yaml new file mode 100644 index 000000000..3f90c3b52 --- /dev/null +++ b/charts/v1.27.0/blob-csi-driver/values.yaml @@ -0,0 +1,187 @@ +image: + baseRepo: mcr.microsoft.com + blob: + repository: /oss/v2/kubernetes-csi/blob-csi + tag: v1.27.0 + pullPolicy: IfNotPresent + csiProvisioner: + repository: /oss/v2/kubernetes-csi/csi-provisioner + tag: v5.3.0 + pullPolicy: IfNotPresent + livenessProbe: + repository: /oss/v2/kubernetes-csi/livenessprobe + tag: v2.16.0 + pullPolicy: IfNotPresent + nodeDriverRegistrar: + repository: /oss/v2/kubernetes-csi/csi-node-driver-registrar + tag: v2.14.0 + pullPolicy: IfNotPresent + csiResizer: + repository: /oss/v2/kubernetes-csi/csi-resizer + tag: v1.14.0 + pullPolicy: IfNotPresent + +cloud: AzurePublicCloud + +## Reference to one or more secrets to be used when pulling images +## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ +imagePullSecrets: [] +# - name: myRegistryKeySecretName + +serviceAccount: + create: true # When true, service accounts will be created for you. Set to false if you want to use your own. + controller: csi-blob-controller-sa # Name of Service Account to be created or used + node: csi-blob-node-sa # Name of Service Account to be created or used + +rbac: + create: true + name: blob + +## Collection of annotations to add to all the pods +podAnnotations: {} +## Collection of labels to add to all the pods +podLabels: {} +# -- Custom labels to add into metadata +customLabels: {} + # k8s-app: blob-csi-driver + +## Leverage a PriorityClass to ensure your pods survive resource shortages +## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ +priorityClassName: system-cluster-critical +## Security context give the opportunity to run container as nonroot by setting a securityContext +## by example : +## securityContext: { runAsUser: 1001 } +securityContext: {} + +controller: + name: csi-blob-controller + cloudConfigSecretName: azure-cloud-provider + cloudConfigSecretNamespace: kube-system + allowEmptyCloudConfig: true + hostNetwork: true # this setting could be disabled if controller does not depend on MSI setting + metricsPort: 29634 + livenessProbe: + healthPort: 29632 + replicas: 2 + runOnMaster: false + runOnControlPlane: false + logLevel: 5 + resources: + csiProvisioner: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + livenessProbe: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + blob: + limits: + memory: 800Mi + requests: + cpu: 10m + memory: 20Mi + csiResizer: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + affinity: {} + nodeSelector: {} + tolerations: + - key: "node-role.kubernetes.io/master" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/controlplane" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/control-plane" + operator: "Exists" + effect: "NoSchedule" + - key: "CriticalAddonsOnly" + operator: "Exists" + effect: "NoSchedule" + +node: + name: csi-blob-node + cloudConfigSecretName: azure-cloud-provider + cloudConfigSecretNamespace: kube-system + allowEmptyCloudConfig: true + allowInlineVolumeKeyAccessWithIdentity: false + maxUnavailable: 1 + metricsPort: 29635 + livenessProbe: + healthPort: 29633 + logLevel: 5 + enableBlobfuseProxy: true + blobfuseProxy: + installBlobfuse: false + installBlobfuse2: true + blobfuse2Version: "2.5.0" + setMaxOpenFileNum: true + maxOpenFileNum: "9000000" + disableUpdateDB: true + migrateK8sRepo: false + setReadAheadSize: true + allowPackageInstallDowngrade: true + blobfuseCachePath: /mnt + appendTimeStampInCacheDir: false + mountPermissions: 0777 + resources: + livenessProbe: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + nodeDriverRegistrar: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + blob: + limits: + memory: 2100Mi + requests: + cpu: 10m + memory: 20Mi + aznfswatchdog: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + affinity: {} + nodeSelector: {} + tolerations: + - operator: "Exists" + enableAznfsMount: true + +feature: + fsGroupPolicy: ReadWriteOnceWithFSType + requiresRepublish: true + enableGetVolumeStats: false + +driver: + name: blob.csi.azure.com + customUserAgent: "" + userAgentSuffix: "OSS-helm" + azureGoSDKLogLevel: "" # available values: ""(no logs), DEBUG, INFO, WARNING, ERROR + httpsProxy: "" + httpProxy: "" + +linux: + kubelet: /var/lib/kubelet + distro: debian + +workloadIdentity: + clientID: "" + # [optional] If the AAD application or user-assigned managed identity is not in the same tenant as the cluster + # then set tenantID with the application or user-assigned managed identity tenant ID + tenantID: "" diff --git a/deploy/blobfuse-proxy/README.md b/deploy/blobfuse-proxy/README.md index 0edc22d60..ad1cdce8b 100644 --- a/deploy/blobfuse-proxy/README.md +++ b/deploy/blobfuse-proxy/README.md @@ -8,12 +8,12 @@ This guide shows how to install a blobfuse proxy on all agent nodes and the prox - helm install ```console helm repo add blob-csi-driver https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts -helm install blob-csi-driver blob-csi-driver/blob-csi-driver --namespace kube-system --version v1.26.6 --set node.enableBlobfuseProxy=true +helm install blob-csi-driver blob-csi-driver/blob-csi-driver --namespace kube-system --version v1.27.0 --set node.enableBlobfuseProxy=true ``` - kubectl install ```console -curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.26.6/deploy/install-driver.sh | bash -s v1.26.6 blobfuse-proxy -- +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.27.0/deploy/install-driver.sh | bash -s v1.27.0 blobfuse-proxy -- ``` ### Enable blobfuse proxy on existing Blob CSI driver diff --git a/deploy/csi-blob-controller.yaml b/deploy/csi-blob-controller.yaml index 773829c01..b08664d16 100644 --- a/deploy/csi-blob-controller.yaml +++ b/deploy/csi-blob-controller.yaml @@ -85,7 +85,7 @@ spec: drop: - ALL - name: blob - image: mcr.microsoft.com/k8s/csi/blob-csi:latest + image: mcr.microsoft.com/oss/v2/kubernetes-csi/blob-csi:v1.27.0 imagePullPolicy: IfNotPresent args: - "--v=5" diff --git a/deploy/csi-blob-node.yaml b/deploy/csi-blob-node.yaml index 5f3b09b4a..915af4583 100644 --- a/deploy/csi-blob-node.yaml +++ b/deploy/csi-blob-node.yaml @@ -40,7 +40,7 @@ spec: - operator: "Exists" initContainers: - name: install-blobfuse-proxy - image: mcr.microsoft.com/k8s/csi/blob-csi:latest + image: mcr.microsoft.com/oss/v2/kubernetes-csi/blob-csi:v1.27.0 imagePullPolicy: IfNotPresent command: - "/blobfuse-proxy/init.sh" @@ -123,7 +123,7 @@ spec: drop: - ALL - name: blob - image: mcr.microsoft.com/k8s/csi/blob-csi:latest + image: mcr.microsoft.com/oss/v2/kubernetes-csi/blob-csi:v1.27.0 imagePullPolicy: IfNotPresent args: - "--v=5" @@ -190,7 +190,7 @@ spec: cpu: 10m memory: 20Mi - name: aznfswatchdog - image: mcr.microsoft.com/k8s/csi/blob-csi:latest + image: mcr.microsoft.com/oss/v2/kubernetes-csi/blob-csi:v1.27.0 command: - "aznfswatchdog" imagePullPolicy: IfNotPresent diff --git a/deploy/v1.27.0/csi-blob-controller.yaml b/deploy/v1.27.0/csi-blob-controller.yaml new file mode 100644 index 000000000..b08664d16 --- /dev/null +++ b/deploy/v1.27.0/csi-blob-controller.yaml @@ -0,0 +1,172 @@ +--- +kind: Deployment +apiVersion: apps/v1 +metadata: + name: csi-blob-controller + namespace: kube-system +spec: + replicas: 2 + selector: + matchLabels: + app: csi-blob-controller + template: + metadata: + labels: + app: csi-blob-controller + spec: + hostNetwork: true + serviceAccountName: csi-blob-controller-sa + nodeSelector: + kubernetes.io/os: linux # add "kubernetes.io/role: master" to run controller on master node + priorityClassName: system-cluster-critical + securityContext: + seccompProfile: + type: RuntimeDefault + tolerations: + - key: "node-role.kubernetes.io/master" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/controlplane" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/control-plane" + operator: "Exists" + effect: "NoSchedule" + - key: "CriticalAddonsOnly" + operator: "Exists" + effect: "NoSchedule" + containers: + - name: csi-provisioner + image: mcr.microsoft.com/oss/v2/kubernetes-csi/csi-provisioner:v5.3.0 + args: + - "-v=2" + - "--csi-address=$(ADDRESS)" + - "--leader-election" + - "--leader-election-namespace=kube-system" + - "--timeout=1200s" + - "--extra-create-metadata=true" + - "--kube-api-qps=50" + - "--kube-api-burst=100" + - "--feature-gates=HonorPVReclaimPolicy=true" + - "--retry-interval-max=30m" + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - mountPath: /csi + name: socket-dir + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: liveness-probe + image: mcr.microsoft.com/oss/v2/kubernetes-csi/livenessprobe:v2.16.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --http-endpoint=localhost:29632 + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: blob + image: mcr.microsoft.com/oss/v2/kubernetes-csi/blob-csi:v1.27.0 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--metrics-address=0.0.0.0:29634" + - "--user-agent-suffix=OSS-kubectl" + ports: + - containerPort: 29634 + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + host: localhost + path: /healthz + port: 29632 + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - name: AZCOPY_CONCURRENCY_VALUE + value: "10" + - name: AZCOPY_CONCURRENT_FILES + value: "20" + - name: AZCOPY_BUFFER_GB + value: "1" + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /root/.azcopy + name: azcopy-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + resources: + limits: + memory: 800Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: csi-resizer + image: mcr.microsoft.com/oss/v2/kubernetes-csi/csi-resizer:v1.13.2 + args: + - "-csi-address=$(ADDRESS)" + - "-v=2" + - "-leader-election" + - "--leader-election-namespace=kube-system" + - '-handle-volume-inuse-error=false' + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + volumes: + - name: socket-dir + emptyDir: {} + - name: azcopy-dir + emptyDir: {} + - name: azure-cred + hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate diff --git a/deploy/v1.27.0/csi-blob-driver.yaml b/deploy/v1.27.0/csi-blob-driver.yaml new file mode 100644 index 000000000..f8aa0ec90 --- /dev/null +++ b/deploy/v1.27.0/csi-blob-driver.yaml @@ -0,0 +1,16 @@ +--- +apiVersion: storage.k8s.io/v1 +kind: CSIDriver +metadata: + name: blob.csi.azure.com +spec: + attachRequired: false + podInfoOnMount: true + fsGroupPolicy: ReadWriteOnceWithFSType + volumeLifecycleModes: + - Persistent + - Ephemeral + requiresRepublish: true + tokenRequests: + - audience: api://AzureADTokenExchange + expirationSeconds: 3600 diff --git a/deploy/v1.27.0/csi-blob-node.yaml b/deploy/v1.27.0/csi-blob-node.yaml new file mode 100644 index 000000000..915af4583 --- /dev/null +++ b/deploy/v1.27.0/csi-blob-node.yaml @@ -0,0 +1,252 @@ +--- +kind: DaemonSet +apiVersion: apps/v1 +metadata: + name: csi-blob-node + namespace: kube-system +spec: + updateStrategy: + rollingUpdate: + maxUnavailable: 1 + type: RollingUpdate + selector: + matchLabels: + app: csi-blob-node + template: + metadata: + labels: + app: csi-blob-node + spec: + hostNetwork: true + hostPID: true + dnsPolicy: Default + serviceAccountName: csi-blob-node-sa + nodeSelector: + kubernetes.io/os: linux + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: type + operator: NotIn + values: + - virtual-kubelet + priorityClassName: system-node-critical + securityContext: + seccompProfile: + type: RuntimeDefault + tolerations: + - operator: "Exists" + initContainers: + - name: install-blobfuse-proxy + image: mcr.microsoft.com/oss/v2/kubernetes-csi/blob-csi:v1.27.0 + imagePullPolicy: IfNotPresent + command: + - "/blobfuse-proxy/init.sh" + securityContext: + privileged: true + capabilities: + drop: + - ALL + env: + - name: DEBIAN_FRONTEND + value: "noninteractive" + - name: INSTALL_BLOBFUSE_PROXY + value: "true" + - name: INSTALL_BLOBFUSE + value: "false" + - name: INSTALL_BLOBFUSE2 + value: "true" + - name: BLOBFUSE2_VERSION + value: "2.5.0" + - name: SET_MAX_OPEN_FILE_NUM + value: "true" + - name: MAX_FILE_NUM + value: "9000000" + - name: DISABLE_UPDATEDB + value: "true" + - name: ALLOW_PACKAGE_INSTALL_DOWNGRADE + value: "true" + volumeMounts: + - name: host-usr + mountPath: /host/usr + - name: host-usr-local + mountPath: /host/usr/local + - name: host-etc + mountPath: /host/etc + containers: + - name: liveness-probe + volumeMounts: + - mountPath: /csi + name: socket-dir + image: mcr.microsoft.com/oss/v2/kubernetes-csi/livenessprobe:v2.16.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=10s + - --http-endpoint=localhost:29633 + - --v=2 + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: node-driver-registrar + image: mcr.microsoft.com/oss/v2/kubernetes-csi/csi-node-driver-registrar:v2.14.0 + args: + - --csi-address=$(ADDRESS) + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --v=2 + env: + - name: ADDRESS + value: /csi/csi.sock + - name: DRIVER_REG_SOCK_PATH + value: /var/lib/kubelet/plugins/blob.csi.azure.com/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + - name: registration-dir + mountPath: /registration + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: blob + image: mcr.microsoft.com/oss/v2/kubernetes-csi/blob-csi:v1.27.0 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--enable-blobfuse-proxy=true" + - "--blobfuse-proxy-endpoint=$(BLOBFUSE_PROXY_ENDPOINT)" + - "--nodeid=$(KUBE_NODE_NAME)" + - "--user-agent-suffix=OSS-kubectl" + - "--metrics-address=0.0.0.0:29635" + - "--enable-aznfs-mount=true" + ports: + - containerPort: 29635 + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + host: localhost + path: /healthz + port: 29633 + initialDelaySeconds: 30 + timeoutSeconds: 30 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - name: BLOBFUSE_PROXY_ENDPOINT + value: unix:///csi/blobfuse-proxy.sock + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + securityContext: + privileged: true + capabilities: + drop: + - ALL + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /var/lib/kubelet/ + mountPropagation: Bidirectional + name: mountpoint-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + - mountPath: /mnt + name: blob-cache + - mountPath: /opt/microsoft/aznfs/data + name: aznfs-data + - mountPath: /lib/modules + name: lib-modules + readOnly: true + resources: + limits: + memory: 2100Mi + requests: + cpu: 10m + memory: 20Mi + - name: aznfswatchdog + image: mcr.microsoft.com/oss/v2/kubernetes-csi/blob-csi:v1.27.0 + command: + - "aznfswatchdog" + imagePullPolicy: IfNotPresent + securityContext: + privileged: true + capabilities: + drop: + - ALL + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + volumeMounts: + - mountPath: /opt/microsoft/aznfs/data + name: aznfs-data + - mountPath: /var/lib/kubelet/ + mountPropagation: Bidirectional + name: mountpoint-dir + volumes: + - name: host-usr + hostPath: + path: /usr + - name: host-usr-local + hostPath: + path: /usr/local + - name: host-etc + hostPath: + path: /etc + - hostPath: + path: /var/lib/kubelet/plugins/blob.csi.azure.com + type: DirectoryOrCreate + name: socket-dir + - hostPath: + path: /var/lib/kubelet/ + type: DirectoryOrCreate + name: mountpoint-dir + - hostPath: + path: /var/lib/kubelet/plugins_registry/ + type: DirectoryOrCreate + name: registration-dir + - hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + name: azure-cred + - hostPath: + path: /mnt + type: DirectoryOrCreate + name: blob-cache + - hostPath: + path: /opt/microsoft/aznfs/data + type: DirectoryOrCreate + name: aznfs-data + - name: lib-modules + hostPath: + path: /lib/modules + type: DirectoryOrCreate +--- diff --git a/deploy/v1.27.0/kustomization.yaml b/deploy/v1.27.0/kustomization.yaml new file mode 100644 index 000000000..8b7f5fcac --- /dev/null +++ b/deploy/v1.27.0/kustomization.yaml @@ -0,0 +1,10 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - csi-blob-controller.yaml + - csi-blob-driver.yaml + - csi-blob-node.yaml + - rbac-csi-blob-controller.yaml + - rbac-csi-blob-node.yaml + - blobfuse-proxy.yaml diff --git a/deploy/v1.27.0/rbac-csi-blob-controller.yaml b/deploy/v1.27.0/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..bba964e5b --- /dev/null +++ b/deploy/v1.27.0/rbac-csi-blob-controller.yaml @@ -0,0 +1,108 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: csi-blob-controller-sa + namespace: kube-system +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-external-provisioner-role +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "create", "patch", "delete"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["get", "list", "watch", "create", "update", "patch"] + - apiGroups: ["storage.k8s.io"] + resources: ["csinodes"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["nodes"] + verbs: ["get", "list", "watch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-csi-provisioner-binding +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: blob-external-provisioner-role + apiGroup: rbac.authorization.k8s.io +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-external-resizer-role +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "update", "patch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims/status"] + verbs: ["update", "patch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["list", "watch", "create", "update", "patch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-csi-resizer-role +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: blob-external-resizer-role + apiGroup: rbac.authorization.k8s.io +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-controller-secret-role +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get", "create"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-controller-secret-binding +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: csi-blob-controller-secret-role + apiGroup: rbac.authorization.k8s.io diff --git a/deploy/v1.27.0/rbac-csi-blob-node.yaml b/deploy/v1.27.0/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..ce06d862c --- /dev/null +++ b/deploy/v1.27.0/rbac-csi-blob-node.yaml @@ -0,0 +1,30 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: csi-blob-node-sa + namespace: kube-system + +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-node-secret-role +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-node-secret-binding +subjects: + - kind: ServiceAccount + name: csi-blob-node-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: csi-blob-node-secret-role + apiGroup: rbac.authorization.k8s.io diff --git a/docs/install-blob-csi-driver.md b/docs/install-blob-csi-driver.md index 98b8e6618..575d4c12f 100644 --- a/docs/install-blob-csi-driver.md +++ b/docs/install-blob-csi-driver.md @@ -4,6 +4,6 @@ > - please use helm install method for more customization, e.g. Azure Stack, RedHat OpenShift support. > - [install CSI driver master version](./install-csi-driver-master.md) (only for testing purpose) + - [install v1.27.0 CSI driver](./install-csi-driver-v1.27.0.md) - [install v1.26.3 CSI driver](./install-csi-driver-v1.26.3.md) - [install v1.25.6 CSI driver](./install-csi-driver-v1.25.6.md) - - [install v1.24.9 CSI driver](./install-csi-driver-v1.24.9.md) diff --git a/docs/install-csi-driver-v1.27.0.md b/docs/install-csi-driver-v1.27.0.md new file mode 100644 index 000000000..3c30e7d67 --- /dev/null +++ b/docs/install-csi-driver-v1.27.0.md @@ -0,0 +1,47 @@ +# Install Azure Blob Storage CSI driver v1.27.0 version on a kubernetes cluster +> `blobfuse-proxy` is supported on CoreOS(OpenShift) from v1.23.2 +> +If you have already installed Helm, you can also use it to install this driver. Please check [Installation with Helm](../charts/README.md). + +## Install with kubectl + - Option#1. remote install +```console +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.27.0/deploy/install-driver.sh | bash -s v1.27.0 blobfuse-proxy -- +``` + + - Option#2. local install +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +./deploy/install-driver.sh v1.27.0 local,blobfuse-proxy +``` + +- check pods status: +```console +kubectl -n kube-system get pod -o wide -l app=csi-blob-controller +kubectl -n kube-system get pod -o wide -l app=csi-blob-node +``` + +example output: + +```console +NAME READY STATUS RESTARTS AGE IP NODE +csi-blob-controller-56bfddd689-dh5tk 4/4 Running 0 35s 10.240.0.19 k8s-agentpool-22533604-0 +csi-blob-controller-56bfddd689-8pgr4 4/4 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 +csi-blob-node-cvgbs 3/3 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 +csi-blob-node-dr4s4 3/3 Running 0 35s 10.240.0.4 k8s-agentpool-22533604-0 +``` + +### clean up Blob CSI driver +- Option#1. remote uninstall +```console +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.27.0/deploy/uninstall-driver.sh | bash -s v1.27.0 -- +``` + + - Option#2. local uninstall +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +git checkout v1.27.0 +./deploy/uninstall-driver.sh v1.27.0 local +``` From 438dfeaaf4c1844e7b10a6f0d0e15a4bb1cfea97 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Mon, 1 Sep 2025 02:08:16 +0000 Subject: [PATCH 2/2] doc: use latest version for master branch --- charts/index.yaml | 115 ++++++++++------------ charts/latest/blob-csi-driver-1.27.0.tgz | Bin 6396 -> 0 bytes charts/latest/blob-csi-driver-v0.0.0.tgz | Bin 6404 -> 6407 bytes charts/latest/blob-csi-driver/Chart.yaml | 4 +- charts/latest/blob-csi-driver/values.yaml | 4 +- deploy/csi-blob-controller.yaml | 2 +- deploy/csi-blob-node.yaml | 6 +- 7 files changed, 61 insertions(+), 70 deletions(-) delete mode 100644 charts/latest/blob-csi-driver-1.27.0.tgz diff --git a/charts/index.yaml b/charts/index.yaml index 925f21a79..6e568f481 100644 --- a/charts/index.yaml +++ b/charts/index.yaml @@ -3,25 +3,16 @@ entries: blob-csi-driver: - apiVersion: v1 appVersion: 1.27.0 - created: "2025-09-01T02:03:18.363847353Z" + created: "2025-09-01T02:08:04.754375462Z" description: Azure Blob Storage CSI driver digest: 44f731780f186f0c8e75e4673b26bd4336d25ceb6ce837964f0461716f3d5476 name: blob-csi-driver urls: - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.27.0/blob-csi-driver-1.27.0.tgz version: 1.27.0 - - apiVersion: v1 - appVersion: 1.27.0 - created: "2025-09-01T02:03:18.312982102Z" - description: Azure Blob Storage CSI driver - digest: 44f731780f186f0c8e75e4673b26bd4336d25ceb6ce837964f0461716f3d5476 - name: blob-csi-driver - urls: - - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-1.27.0.tgz - version: 1.27.0 - apiVersion: v1 appVersion: 1.26.3 - created: "2025-09-01T02:03:18.363167525Z" + created: "2025-09-01T02:08:04.753698799Z" description: Azure Blob Storage CSI driver digest: 630f8b4120d0accf97bdeadf3ee091fb4c3ba1928f5fe9c962083adc58bf362b name: blob-csi-driver @@ -30,7 +21,7 @@ entries: version: 1.26.3 - apiVersion: v1 appVersion: 1.26.1 - created: "2025-09-01T02:03:18.36214798Z" + created: "2025-09-01T02:08:04.753032242Z" description: Azure Blob Storage CSI driver digest: 9beab65ce119f3d41963f985ad8f3811c3e3042ecb783ace951172f93ea319d9 name: blob-csi-driver @@ -39,7 +30,7 @@ entries: version: 1.26.1 - apiVersion: v1 appVersion: 1.26.0 - created: "2025-09-01T02:03:18.361340977Z" + created: "2025-09-01T02:08:04.752377381Z" description: Azure Blob Storage CSI driver digest: fa8972b58e1b5b73c4751f5dbb5cca8d581d79ee60a06bbc869d82ec4923e600 name: blob-csi-driver @@ -48,7 +39,7 @@ entries: version: 1.26.0 - apiVersion: v1 appVersion: 1.25.6 - created: "2025-09-01T02:03:18.360427778Z" + created: "2025-09-01T02:08:04.751662357Z" description: Azure Blob Storage CSI driver digest: a72dce2f8950042da36039232efa8fe0fb87cdf7cc9c6523104fe25558f2135e name: blob-csi-driver @@ -57,7 +48,7 @@ entries: version: 1.25.6 - apiVersion: v1 appVersion: 1.25.4 - created: "2025-09-01T02:03:18.359589957Z" + created: "2025-09-01T02:08:04.750272719Z" description: Azure Blob Storage CSI driver digest: 391be65e1cf2c14a5c5fe32f5938e68d52fd15ce80f4d2365b7685593475c0cc name: blob-csi-driver @@ -66,7 +57,7 @@ entries: version: 1.25.4 - apiVersion: v1 appVersion: 1.25.3 - created: "2025-09-01T02:03:18.358870668Z" + created: "2025-09-01T02:08:04.749344353Z" description: Azure Blob Storage CSI driver digest: 68aa4fbb475a481ba4c68877a9d9caed9d75dc1b5d48db51a4787afd64fd9892 name: blob-csi-driver @@ -75,7 +66,7 @@ entries: version: 1.25.3 - apiVersion: v1 appVersion: 1.25.1 - created: "2025-09-01T02:03:18.357981369Z" + created: "2025-09-01T02:08:04.74868739Z" description: Azure Blob Storage CSI driver digest: 2d546ab7f2f365ddbc10667e2385773d5a3ac1465161fb7ca4fcc1c2baf1c0b8 name: blob-csi-driver @@ -84,7 +75,7 @@ entries: version: 1.25.1 - apiVersion: v1 appVersion: 1.25.0 - created: "2025-09-01T02:03:18.35713351Z" + created: "2025-09-01T02:08:04.747974815Z" description: Azure Blob Storage CSI driver digest: de80f1865c1d95134dfc35faaa2c143c09957e3de6e07196aac5a54529fde9a6 name: blob-csi-driver @@ -93,7 +84,7 @@ entries: version: 1.25.0 - apiVersion: v1 appVersion: v1.24.9 - created: "2025-09-01T02:03:18.356176383Z" + created: "2025-09-01T02:08:04.747340811Z" description: Azure Blob Storage CSI driver digest: 0851ae8238e8ecea9c567fff9210f68c4c17f49035ebbaafeab74039d4b1e346 name: blob-csi-driver @@ -102,7 +93,7 @@ entries: version: v1.24.9 - apiVersion: v1 appVersion: v1.24.8 - created: "2025-09-01T02:03:18.35481786Z" + created: "2025-09-01T02:08:04.746694134Z" description: Azure Blob Storage CSI driver digest: 59bbf267d6cce912683a3a80562ee54c852949dbfaa22d87c07a229555d0fb05 name: blob-csi-driver @@ -111,7 +102,7 @@ entries: version: v1.24.8 - apiVersion: v1 appVersion: v1.24.7 - created: "2025-09-01T02:03:18.353596049Z" + created: "2025-09-01T02:08:04.746028116Z" description: Azure Blob Storage CSI driver digest: 82afae20cec1614c109706926e45a683af2673c9dd5f70ac88e3b4146ae1cfb6 name: blob-csi-driver @@ -120,7 +111,7 @@ entries: version: v1.24.7 - apiVersion: v1 appVersion: v1.24.6 - created: "2025-09-01T02:03:18.352727919Z" + created: "2025-09-01T02:08:04.745367581Z" description: Azure Blob Storage CSI driver digest: 5325f237fabfc4a2bfaa8271fb6ffc638b4afc97ad12992c5cd7ccb055a9fa27 name: blob-csi-driver @@ -129,7 +120,7 @@ entries: version: v1.24.6 - apiVersion: v1 appVersion: v1.24.5 - created: "2025-09-01T02:03:18.351695675Z" + created: "2025-09-01T02:08:04.744690996Z" description: Azure Blob Storage CSI driver digest: d8271336dabc6957f287488f97bc7189f1134d94f8a720359762c1adb24bb8cf name: blob-csi-driver @@ -138,7 +129,7 @@ entries: version: v1.24.5 - apiVersion: v1 appVersion: v1.24.3 - created: "2025-09-01T02:03:18.350902737Z" + created: "2025-09-01T02:08:04.744026139Z" description: Azure Blob Storage CSI driver digest: d8fac26124eaa218c4e3aeb187b8204c5266b4e4a3fca0df39e76376e846c8d8 name: blob-csi-driver @@ -147,7 +138,7 @@ entries: version: v1.24.3 - apiVersion: v1 appVersion: v1.24.2 - created: "2025-09-01T02:03:18.350120252Z" + created: "2025-09-01T02:08:04.743332224Z" description: Azure Blob Storage CSI driver digest: 36567735f655d0c11a2b0247421a85577e5badd0a9413785075b29b58e2b049a name: blob-csi-driver @@ -156,7 +147,7 @@ entries: version: v1.24.2 - apiVersion: v1 appVersion: v1.24.1 - created: "2025-09-01T02:03:18.349300555Z" + created: "2025-09-01T02:08:04.74206475Z" description: Azure Blob Storage CSI driver digest: d4d98037428523005015a3f62441a7665b8a4126d39f7f0d563c474387edef0b name: blob-csi-driver @@ -165,7 +156,7 @@ entries: version: v1.24.1 - apiVersion: v1 appVersion: v1.24.0 - created: "2025-09-01T02:03:18.348486308Z" + created: "2025-09-01T02:08:04.741156664Z" description: Azure Blob Storage CSI driver digest: 183f724b7d67bf336de373b0e5ac22a50af63e42ff0e26ad73a7c11fd0ec6bfc name: blob-csi-driver @@ -174,7 +165,7 @@ entries: version: v1.24.0 - apiVersion: v1 appVersion: v1.23.10 - created: "2025-09-01T02:03:18.341152766Z" + created: "2025-09-01T02:08:04.737230507Z" description: Azure Blob Storage CSI driver digest: 945952507f26b8ea1e77ceb07fe1be8504a67a838708c282605491bdb7f8375d name: blob-csi-driver @@ -183,7 +174,7 @@ entries: version: v1.23.10 - apiVersion: v1 appVersion: v1.23.9 - created: "2025-09-01T02:03:18.34745149Z" + created: "2025-09-01T02:08:04.740492937Z" description: Azure Blob Storage CSI driver digest: cb3b402c2ea03f71a7d57ae8f2d92181664489d4dd8f6130314f6dbd791871ab name: blob-csi-driver @@ -192,7 +183,7 @@ entries: version: v1.23.9 - apiVersion: v1 appVersion: v1.23.7 - created: "2025-09-01T02:03:18.346384874Z" + created: "2025-09-01T02:08:04.739820252Z" description: Azure Blob Storage CSI driver digest: 95f9e01cec77cda71ba7f556cf00ba377270df264aa11caf3d99062d959c8e66 name: blob-csi-driver @@ -201,7 +192,7 @@ entries: version: v1.23.7 - apiVersion: v1 appVersion: v1.23.4 - created: "2025-09-01T02:03:18.345190031Z" + created: "2025-09-01T02:08:04.739182667Z" description: Azure Blob Storage CSI driver digest: 3ce2ee0c9255ebbd004fcdb9f3e5eb702b2203182eb7046754c9b2244c417b02 name: blob-csi-driver @@ -210,7 +201,7 @@ entries: version: v1.23.4 - apiVersion: v1 appVersion: v1.23.3 - created: "2025-09-01T02:03:18.343497213Z" + created: "2025-09-01T02:08:04.738533544Z" description: Azure Blob Storage CSI driver digest: 55b2f47774558d16dec5c93655e5625634e35424466c10244fabd471c9b2a5c6 name: blob-csi-driver @@ -219,7 +210,7 @@ entries: version: v1.23.3 - apiVersion: v1 appVersion: v1.23.2 - created: "2025-09-01T02:03:18.342133236Z" + created: "2025-09-01T02:08:04.737880506Z" description: Azure Blob Storage CSI driver digest: d85ba0c55d74c22b2b4cb964d70d8e38ede06f521cc5ca5502f57ed4b52d49f4 name: blob-csi-driver @@ -228,7 +219,7 @@ entries: version: v1.23.2 - apiVersion: v1 appVersion: v1.23.1 - created: "2025-09-01T02:03:18.340155614Z" + created: "2025-09-01T02:08:04.736571847Z" description: Azure Blob Storage CSI driver digest: 66215f12a4e3acdcf09416d817b737e14546058b081a2cfd8bf9ef507229ca07 name: blob-csi-driver @@ -237,7 +228,7 @@ entries: version: v1.23.1 - apiVersion: v1 appVersion: v1.23.0 - created: "2025-09-01T02:03:18.339474895Z" + created: "2025-09-01T02:08:04.735892849Z" description: Azure Blob Storage CSI driver digest: 57151e21e33660522f25694bd8ae985e5e17c7ffe09904ad2af4025e8bf1da72 name: blob-csi-driver @@ -246,7 +237,7 @@ entries: version: v1.23.0 - apiVersion: v1 appVersion: v1.22.9 - created: "2025-09-01T02:03:18.338592377Z" + created: "2025-09-01T02:08:04.735196916Z" description: Azure Blob Storage CSI driver digest: 2ba7025c4c9917e5550b702c205ffd329ccec0a85b6a4fb74a4dc7206fa9ca64 name: blob-csi-driver @@ -255,7 +246,7 @@ entries: version: v1.22.9 - apiVersion: v1 appVersion: v1.22.8 - created: "2025-09-01T02:03:18.337611895Z" + created: "2025-09-01T02:08:04.734161672Z" description: Azure Blob Storage CSI driver digest: a2ab602708e9c3b08d01baa66ffc7937b67119c060b4b90a41bedf15b709313c name: blob-csi-driver @@ -264,7 +255,7 @@ entries: version: v1.22.8 - apiVersion: v1 appVersion: v1.22.6 - created: "2025-09-01T02:03:18.336702844Z" + created: "2025-09-01T02:08:04.732932068Z" description: Azure Blob Storage CSI driver digest: ef7b5c287fca46351903cb819b3ccc8b8b2021addda87c59bea94d9ed61015a0 name: blob-csi-driver @@ -273,7 +264,7 @@ entries: version: v1.22.6 - apiVersion: v1 appVersion: v1.22.5 - created: "2025-09-01T02:03:18.335844022Z" + created: "2025-09-01T02:08:04.732232581Z" description: Azure Blob Storage CSI driver digest: ff3c2c2e05dd048dd0af3e5c7d002eae2928a5d17fb269a1e4d5cadd30e8ab51 name: blob-csi-driver @@ -282,7 +273,7 @@ entries: version: v1.22.5 - apiVersion: v1 appVersion: v1.22.4 - created: "2025-09-01T02:03:18.334759413Z" + created: "2025-09-01T02:08:04.731585625Z" description: Azure Blob Storage CSI driver digest: 6c38e79d2f50616daac0658cfa5b1a569e6ff8ce8f24ed40f563e87fb1d1340a name: blob-csi-driver @@ -291,7 +282,7 @@ entries: version: v1.22.4 - apiVersion: v1 appVersion: v1.22.3 - created: "2025-09-01T02:03:18.333586934Z" + created: "2025-09-01T02:08:04.730966976Z" description: Azure Blob Storage CSI driver digest: 6cdee296d22ecd330f477f2ca6da51b07320c546c04ae46c23eef48146b772c1 name: blob-csi-driver @@ -300,7 +291,7 @@ entries: version: v1.22.3 - apiVersion: v1 appVersion: v1.22.2 - created: "2025-09-01T02:03:18.332132315Z" + created: "2025-09-01T02:08:04.730326666Z" description: Azure Blob Storage CSI driver digest: 259e66dc12db7310fe1c51e49c964398e0a6b7d511133916dd7d25f748f0b791 name: blob-csi-driver @@ -309,7 +300,7 @@ entries: version: v1.22.2 - apiVersion: v1 appVersion: v1.22.1 - created: "2025-09-01T02:03:18.330351834Z" + created: "2025-09-01T02:08:04.729681269Z" description: Azure Blob Storage CSI driver digest: 8329d477d55c82f97bb09fb172c5f39a1677bedc13c7410bd93b306194516438 name: blob-csi-driver @@ -318,7 +309,7 @@ entries: version: v1.22.1 - apiVersion: v1 appVersion: v1.21.7 - created: "2025-09-01T02:03:18.329415121Z" + created: "2025-09-01T02:08:04.729061773Z" description: Azure Blob Storage CSI driver digest: 1095721182d611e2556c611dd330758d8130fe66493db4f9189586a9219896d3 name: blob-csi-driver @@ -327,7 +318,7 @@ entries: version: v1.21.7 - apiVersion: v1 appVersion: v1.21.6 - created: "2025-09-01T02:03:18.328529865Z" + created: "2025-09-01T02:08:04.728449908Z" description: Azure Blob Storage CSI driver digest: d5ba1f92795ec45970eb6e5fc54aa13a5684f9936216c064f8a3843bf722bf54 name: blob-csi-driver @@ -336,7 +327,7 @@ entries: version: v1.21.6 - apiVersion: v1 appVersion: v1.21.5 - created: "2025-09-01T02:03:18.327686903Z" + created: "2025-09-01T02:08:04.727681641Z" description: Azure Blob Storage CSI driver digest: b403e9d49abfe076ecd83d6dd50166347ee4305f33dc840019474b2876723b9b name: blob-csi-driver @@ -345,7 +336,7 @@ entries: version: v1.21.5 - apiVersion: v1 appVersion: v1.21.4 - created: "2025-09-01T02:03:18.326808037Z" + created: "2025-09-01T02:08:04.726882598Z" description: Azure Blob Storage CSI driver digest: e4fa13670caf6b0d3e9fefa55d100daa439cd7187dabd45318ab03c7d4b17710 name: blob-csi-driver @@ -354,7 +345,7 @@ entries: version: v1.21.4 - apiVersion: v1 appVersion: v1.20.3 - created: "2025-09-01T02:03:18.325930303Z" + created: "2025-09-01T02:08:04.725484748Z" description: Azure Blob Storage CSI driver digest: 8c2c20547b2e0e1b39d2f2efd04c1bd778f14af5feae2bda86d722dac3c02643 name: blob-csi-driver @@ -363,7 +354,7 @@ entries: version: v1.20.3 - apiVersion: v1 appVersion: v1.19.6 - created: "2025-09-01T02:03:18.325114195Z" + created: "2025-09-01T02:08:04.724486003Z" description: Azure Blob Storage CSI driver digest: 0007ef225b5658d3989aa6fdc3a91a4b33696a438eee46ad9a675af615cbdf21 name: blob-csi-driver @@ -372,7 +363,7 @@ entries: version: v1.19.6 - apiVersion: v1 appVersion: v1.19.5 - created: "2025-09-01T02:03:18.324434535Z" + created: "2025-09-01T02:08:04.723741009Z" description: Azure Blob Storage CSI driver digest: 183c3e5cd84b709f1455cc7c84ed5bd573e8a24149fd6442d38999835b0a1711 name: blob-csi-driver @@ -381,7 +372,7 @@ entries: version: v1.19.5 - apiVersion: v1 appVersion: v1.18.0 - created: "2025-09-01T02:03:18.32359742Z" + created: "2025-09-01T02:08:04.723026461Z" description: Azure Blob Storage CSI driver digest: 3eac15488da5be7d1e78431929f7cda35bceb1af3fe107ffbd84606e047c9204 name: blob-csi-driver @@ -390,7 +381,7 @@ entries: version: v1.18.0 - apiVersion: v1 appVersion: v1.17.0 - created: "2025-09-01T02:03:18.322658286Z" + created: "2025-09-01T02:08:04.722320024Z" description: Azure Blob Storage CSI driver digest: 22cfa17fc5e8d771ff8edd26729266a9a8ee55c0e150df85ef15698f7fe985e9 name: blob-csi-driver @@ -399,7 +390,7 @@ entries: version: v1.17.0 - apiVersion: v1 appVersion: v1.16.0 - created: "2025-09-01T02:03:18.321338302Z" + created: "2025-09-01T02:08:04.721606668Z" description: Azure Blob Storage CSI driver digest: bf6249c0e3e3d3d009d4c79ceb7fda9a56c0565b969de753628792ea3ea5ece8 name: blob-csi-driver @@ -408,7 +399,7 @@ entries: version: v1.16.0 - apiVersion: v1 appVersion: v1.15.0 - created: "2025-09-01T02:03:18.319790977Z" + created: "2025-09-01T02:08:04.720897296Z" description: Azure Blob Storage CSI driver digest: 8daa35cd4957695cb64b45da05a15b4020df5545a8ac44c4668dad4bba82c8a9 name: blob-csi-driver @@ -417,7 +408,7 @@ entries: version: v1.15.0 - apiVersion: v1 appVersion: v1.14.0 - created: "2025-09-01T02:03:18.318888285Z" + created: "2025-09-01T02:08:04.720187442Z" description: Azure Blob Storage CSI driver digest: 442bc579b231aab626b9e474e2c0ed3f101d47d61c99aa9a7f863af7ce268d9d name: blob-csi-driver @@ -426,7 +417,7 @@ entries: version: v1.14.0 - apiVersion: v1 appVersion: v1.13.0 - created: "2025-09-01T02:03:18.317944066Z" + created: "2025-09-01T02:08:04.719550891Z" description: Azure Blob Storage CSI driver digest: b577b0b771138109aa90eb09d56fc07273ca0b584a263ee8f789e35796279f31 name: blob-csi-driver @@ -435,7 +426,7 @@ entries: version: v1.13.0 - apiVersion: v1 appVersion: v1.12.0 - created: "2025-09-01T02:03:18.317031678Z" + created: "2025-09-01T02:08:04.718902832Z" description: Azure Blob Storage CSI driver digest: 124e87af2581b374b89a39940698620c23d3eae6dcee518d302461ffea93e9a8 name: blob-csi-driver @@ -444,7 +435,7 @@ entries: version: v1.12.0 - apiVersion: v1 appVersion: v1.11.0 - created: "2025-09-01T02:03:18.316033359Z" + created: "2025-09-01T02:08:04.718244146Z" description: Azure Blob Storage CSI driver digest: 07c4d76017491b3d0bdd70de90e814096938bf7916da0c149c3805294bd57560 name: blob-csi-driver @@ -453,7 +444,7 @@ entries: version: v1.11.0 - apiVersion: v1 appVersion: v1.10.0 - created: "2025-09-01T02:03:18.315022451Z" + created: "2025-09-01T02:08:04.717600115Z" description: Azure Blob Storage CSI driver digest: 79716efa958385adf57eb3570843e1b4512d8c801e8e070625e94264f3e917a9 name: blob-csi-driver @@ -462,11 +453,11 @@ entries: version: v1.10.0 - apiVersion: v1 appVersion: latest - created: "2025-09-01T02:03:18.313793299Z" + created: "2025-09-01T02:08:04.716944199Z" description: Azure Blob Storage CSI driver - digest: eb52c23fbcc648793f13e225f16cd6c400c58f781253876a416e42039a4727e7 + digest: d0d40497d2f98840443e6f2ffe4fc34ed2526fb94c63af602f78497a44d78719 name: blob-csi-driver urls: - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v0.0.0.tgz version: v0.0.0 -generated: "2025-09-01T02:03:18.311971345Z" +generated: "2025-09-01T02:08:04.716035542Z" diff --git a/charts/latest/blob-csi-driver-1.27.0.tgz b/charts/latest/blob-csi-driver-1.27.0.tgz deleted file mode 100644 index 072bd00e5aa79c8ea7b112426aa95320c916ac09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6396 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 Kwe2?mumAwdZ-EN{ diff --git a/charts/latest/blob-csi-driver-v0.0.0.tgz b/charts/latest/blob-csi-driver-v0.0.0.tgz index ff024707f579d562d62fba464ef7dd323d84c04d..fc64d419b7dbb1a85b7f2a230e58d93d1f7d230f 100644 GIT binary patch delta 6403 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 R{|^8F|Nl`8QG@`n007!sgz5kQ delta 6400 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