charts icon indicating copy to clipboard operation
charts copied to clipboard

Azure Blob Storage - Error: Unable to extract accountName with provided information.

Open dawogid opened this issue 11 months ago • 2 comments

Summary

Hi, I'm not able to configure Azure Blob Storage while using sorry-cypress helm chart. In director I get error:

Unable to extract accountName with provided information.\n at getAccountNameFromUrl (/app/node_modules/@azure/storage-blob/src/utils/utils.common.ts:590:11)\n at extractConnectionStringParts (/app/node_modules/@azure/storage-blob/src/utils/utils.common.ts:232:25)\n at Function.fromConnectionString (/app/node_modules/@azure/storage-blob/src/BlobServiceClient.ts:386:28)\n at Object.<anonymous> (/app/packages/director/src/screenshots/azure-blob-storage/azure-blob-storage.ts:9:45)\n at Module._compile (node:internal/modules/cjs/loader:1191:14)\n at Object.Module._extensions..js (node:internal/modules/cjs/loader:1245:10)\n at Module.load (node:internal/modules/cjs/loader:1069:32)\n at Function.Module._load (node:internal/modules/cjs/loader:904:12)\n at Module.require (node:internal/modules/cjs/loader:1093:19)\n at Module.Hook._require.Module.require (/app/node_modules/require-in-the-middle/index.js:80:39)","type":"Error","msg":"Unable to extract accountName with provided information.

Am I missing something?

How to reproduce

In values.yaml set:

director.environmentVariables.screenshotsDriver: "../screenshots/azure-blob-storage.driver"

azureBlobStorage.containerName: "sorry-cypress"
azureBlobStorage.uploadUrlExpiryInHours: 24
azureBlobStorage.existingSecret: "azurestorageaccount"
azureBlobStorage.fullnameOverride: ""

Under Kubernetes namespace create secret azurestorageaccount containing key connexionstring with base64 encoded value of Azure Storage Account connection string i.e. DefaultEndpointsProtocol=https;AccountName=examplesa ;AccountKey=kHl4QfPnJaaoAXp6sfylg7fr4MuHI3oXp4I5//kYAwmwJhVRrDZJ1CG4KuwSlD8KpVF7vVcvsx7z+AStp7zQvw==;EndpointSuffix=core.windows.net

Make sure that Storage Account from used connection string contains container sorry-cypress.

Install sorry-cypress chart in same namespace as created secret azurestorageaccount - director will log above error.

Environment

  • cypress version: 12.17.1
  • helm chart version: 2.5.3

dawogid avatar Jul 24 '23 09:07 dawogid

Can you try without the base64

fbritoferreira avatar Jul 25 '23 15:07 fbritoferreira

Thank you for your answer.

As I'm aware it has to be base64 encoded, otherwise I'm not able to create Kubernetes secret: Secret in version "v1" cannot be handled as a Secret: illegal base64 data at input byte 24

I can try to define secret in plain text with stringData, but then it will be converted to base64 anyway by Kubernetes.

I'm attaching files used as values.yaml and secret.yaml for creating Kubernetes secret.

values.txt secret.txt

dawogid avatar Jul 25 '23 20:07 dawogid