Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shareable Viz with Azure #1674

Closed
NeroOkwa opened this issue Dec 7, 2023 · 3 comments · Fixed by #1708
Closed

Shareable Viz with Azure #1674

NeroOkwa opened this issue Dec 7, 2023 · 3 comments · Fixed by #1708
Assignees
Labels
Design: Visual Design Issue: Feature Request Javascript Pull requests that update Javascript code Python Pull requests that update Python code

Comments

@NeroOkwa
Copy link
Contributor

NeroOkwa commented Dec 7, 2023

Description

This ticket is related to parent ticket #1116.
This will enable users to host, publish and share their Kedro-Viz pipeline visualisation with a URL on Azure Blob storage.

Context

We previously enabled users to publish and share versions of their Kedro-Viz pipeline visualisation with a URL on AWS S3 in #1116.

Enabling this feature will increase interoperability with the major cloud providers, providing Kedro-Viz access to non-technical stakeholders, and ultimately increasing adoption of Kedro-Viz.

Acceptance Criteria

A user is able to easily host and share a version of their Kedro-Viz pipeline visualisation with a URL via Azure Blob storage by:

  • Configuring their storage account and region.
  • Creating an access key.
  • In the CLI, adding their environment variable with the access key.
  • Running the kedro viz deploy command.
@NeroOkwa NeroOkwa added this to the Shareable URLs milestone Dec 7, 2023
@NeroOkwa NeroOkwa changed the title Shareable Viz with Axure [wip] Shareable Viz with Azure Dec 8, 2023
@rashidakanchwala
Copy link
Contributor

We focus on cli first and then UI.

@rashidakanchwala rashidakanchwala moved this to Backlog in Kedro-Viz Jan 8, 2024
@rashidakanchwala rashidakanchwala moved this from Backlog to Todo in Kedro-Viz Jan 8, 2024
@rashidakanchwala rashidakanchwala moved this from Todo to In Progress in Kedro-Viz Jan 9, 2024
@ravi-kumar-pilla ravi-kumar-pilla self-assigned this Jan 9, 2024
@ravi-kumar-pilla
Copy link
Contributor

Hi Team,

I documented few findings on how we can approach hosting viz on Azure Blob storage.

Connecting fsspec to Azure Blob Storage

Route 1 - Authorizing via Azure ServicePrincipal



What users need to do - Create Storage Account + App Registration + Role permissions

On Azure portal

  1. Create an App registration
  2. Copy App registration parameters (Application (Client) ID, Directory (Tenant) ID)
  3. Create and copy Client secret (Client Secret Value)
  4. Create a Storage Account and configure it for static website hosting -
  5. Create a storage container
  6. Assign app and role to the storage account (assign a role of Storage Blob Data Contributor to the app registered)

On command line before running kedro viz deploy

  1. Add environment variables - AZURE_STORAGE_CLIENT_ID (which is the application id in step2), AZURE_STORAGE_TENANT_ID (which is Directory ID in step2), AZURE_STORAGE_CLIENT_SECRET (which is the client secret value in step3)

Route 2 - Using Account Key

What users need to do - Create Storage Account

On Azure portal

  1. Create a Storage Account and configure it for static website hosting - https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website-host
  2. Copy the Account key from Security + Networking tab under storage account created in step 1

On command line before running kedro viz deploy

  1. Add environment variable - AZURE_STORAGE_ACCOUNT_KEY (which is the account key value in step2)

Run deploy command (still needs discussion)
kedro viz deploy --platform=az --region=eastus --bucket-name=shareableviz

Note:

  • Bucket name is the storage account name
  • Region (Location) can be found in the Essentials section under overview tab of the storage account
  • For static website hosting $web is the default container that is created under the storage account. We will upload all the kedro viz files to this container (This container is mandatory for shareableviz)

Outstanding Design questions

  1. How to identify cloud provider when executed via command line ? Can we do kedro viz deploy --platform=az --region=eastus --bucket-name=shareableviz ?
  2. Platform option can take values like az, aws, gcp, github

Outstanding Development issues

  1. Copied files are not retaining MIME types ( All file types are defaulted to application/octet-stream ).

Useful Links

Thank you

@stephkaiser
Copy link

@rashidakanchwala rashidakanchwala added Python Pull requests that update Python code Javascript Pull requests that update Javascript code labels Jan 16, 2024
@ravi-kumar-pilla ravi-kumar-pilla moved this from In Progress to In Review in Kedro-Viz Jan 23, 2024
@ravi-kumar-pilla ravi-kumar-pilla moved this from In Review to Done in Kedro-Viz Feb 15, 2024
@rashidakanchwala rashidakanchwala moved this from Done to In Progress in Kedro-Viz Feb 19, 2024
@rashidakanchwala rashidakanchwala moved this from In Progress to In Review in Kedro-Viz Feb 19, 2024
@ravi-kumar-pilla ravi-kumar-pilla moved this from In Review to Done in Kedro-Viz Feb 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Design: Visual Design Issue: Feature Request Javascript Pull requests that update Javascript code Python Pull requests that update Python code
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants