Skip to content

Commit 3923cf0

Browse files
Shareableviz Docs for Azure and GCP (#1748)
Provides documentation for updated shareableviz support to Azure and GCP
1 parent 1d2496d commit 3923cf0

12 files changed

+421
-128
lines changed
366 KB
Loading
540 KB
Loading
641 KB
Loading
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Platform-agnostic sharing with Kedro-Viz
2+
3+
Introduced in Kedro-Viz version 7.1.0, the `kedro viz build` command allows seamless publishing and sharing of Kedro-Viz on any static website hosting platform. Running this command from the CLI generates a `build` folder within your Kedro project, containing a static Kedro-Viz app package.
4+
5+
This page describes how to publish Kedro-Viz on a static website hosting platform using `kedro viz build`. It uses the spaceflights tutorial as an example.
6+
7+
## Setup your kedro project
8+
9+
If you haven't installed Kedro {doc}`follow the documentation to get set up<kedro:get_started/install>`.
10+
11+
```{important}
12+
We recommend that you use the same version of Kedro that was most recently used to test this tutorial (0.19.1). To check the version installed, type `kedro -V` in your terminal window.
13+
```
14+
15+
1. In your terminal window, navigate to the folder you want to store the project. Generate the spaceflights tutorial project with all the code in place by using the [Kedro starter for the spaceflights tutorial](https://github.com/kedro-org/kedro-starters/tree/main/spaceflights-pandas):
16+
17+
18+
```bash
19+
kedro new --starter=spaceflights-pandas
20+
```
21+
22+
When prompted for a project name, you can enter anything, but we will assume `Spaceflights` throughout.
23+
24+
2. When your project is ready, navigate to the root directory of the project. Install the dependencies from the project root directory by typing the following in your terminal:
25+
26+
```bash
27+
pip install -r requirements.txt
28+
```
29+
30+
3. Kedro-Viz requires specific minimum versions of `fsspec`, and `kedro` to publish your project. Ensure you have these correct versions by updating the `requirements.txt` file of the Kedro project to add the following:
31+
32+
```text
33+
fsspec>=2023.9.0
34+
kedro>=0.18.2
35+
```
36+
37+
4. Execute the following command from your project's root directory:
38+
39+
```bash
40+
kedro viz build
41+
```
42+
43+
This creates a `build` folder containing your Kedro-Viz app package in your project directory.
44+
45+
## Static website hosting platforms such as GitHub Pages
46+
47+
Follow the steps [listed in the GitHub pages documentation](https://docs.github.com/en/pages/quickstart) to create a Git repository that supports GitHub Pages. On completion, push the contents of the previously created `build` folder to this new repository. Your site will be available at the following URL: `http://<username>.github.io`
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# Publish and share on AWS
2+
3+
This page describes how to publish Kedro-Viz on AWS to share it with others. It uses the spaceflights tutorial as an example.
4+
5+
## Setup your kedro project
6+
7+
If you haven't installed Kedro {doc}`follow the documentation to get set up<kedro:get_started/install>`.
8+
9+
```{important}
10+
We recommend that you use the same version of Kedro that was most recently used to test this tutorial (0.19.1). To check the version installed, type `kedro -V` in your terminal window.
11+
```
12+
13+
In your terminal window, navigate to the folder you want to store the project. Generate the spaceflights tutorial project with all the code in place by using the [Kedro starter for the spaceflights tutorial](https://github.com/kedro-org/kedro-starters/tree/main/spaceflights-pandas):
14+
15+
16+
```bash
17+
kedro new --starter=spaceflights-pandas
18+
```
19+
20+
When prompted for a project name, you can enter anything, but we will assume `Spaceflights` throughout.
21+
22+
When your project is ready, navigate to the root directory of the project. Install the dependencies from the project root directory by typing the following in your terminal:
23+
24+
```bash
25+
pip install -r requirements.txt
26+
```
27+
28+
Kedro-Viz requires specific minimum versions of `fsspec`, and `kedro` to publish your project. Ensure you have these correct versions by updating the `requirements.txt` file of the Kedro project to add the following:
29+
30+
```text
31+
fsspec>=2023.9.0
32+
kedro>=0.18.2
33+
```
34+
35+
## Install cloud dependencies
36+
37+
```bash
38+
pip install 'kedro-viz[aws]'
39+
```
40+
41+
## Configure your AWS S3 bucket
42+
43+
1. Create S3 bucket: Follow the [AWS tutorial](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html) to create an S3 bucket and enable static website hosting.
44+
45+
```{note}
46+
The process of uploading your site's files will be done through Kedro-Viz.
47+
```
48+
49+
2. Set IAM user: Sign in to the [AWS Management Console](https://console.aws.amazon.com/s3/) and create an IAM user account. Refer to the official AWS documentation about [IAM Identities](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html).
50+
51+
3. Generate access keys: Create an [IAM user groups](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html?icmpid=docs_iam_help_panel) with full access to the AWS S3 policy. Add the IAM user to the group and generate access keys. Refer to AWS documentation for detailed instructions on [creating and managing access keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html).
52+
53+
## Set credentials
54+
55+
Once that's completed, you'll need to set your AWS credentials as environment variables in your terminal window, as shown below:
56+
57+
```bash
58+
export AWS_ACCESS_KEY_ID="your_access_key_id"
59+
export AWS_SECRET_ACCESS_KEY="your_secret_access_key"
60+
```
61+
62+
For more information, see the official AWS documentation about [how to work with credentials](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html).
63+
64+
65+
## Publish and share the project
66+
67+
Once your cloud storage is configured and the credentials are set, you are now ready to publish and share your Kedro-Viz project.
68+
69+
### Publish and share via Kedro-Viz UI
70+
71+
Start Kedro-Viz by running the following command in your terminal:
72+
73+
```bash
74+
kedro viz run
75+
```
76+
77+
Navigate to the **Publish and share** icon located in the lower-left corner of the application interface. A modal dialog will appear, prompting you to select your hosting platform and provide your bucket name and endpoint link.
78+
79+
Set up endpoint
80+
---------------
81+
82+
```{important}
83+
The endpoint link can be found under **S3 bucket -> Properties -> Static website hosting -> Bucket website endpoint**.
84+
```
85+
86+
Once those details are complete, click **Publish**. A hosted, shareable URL will be returned to you after the process completes.
87+
88+
![](./images/kedro-publish-aws.gif)
89+
90+
```{note}
91+
On Kedro-Viz version 7.0.0, you will see a modal dialog to select your region and bucket name.
92+
```
93+
94+
### Publish and share via CLI
95+
96+
Use the `kedro viz deploy` command to publish Kedro-Viz on AWS. You can execute the following command from your project's root folder:
97+
98+
```bash
99+
kedro viz deploy --platform=aws --endpoint=[s3-endpoint] --bucket-name=[s3-bucket-name]
100+
```
101+
102+
If you are on Kedro-Viz 7.0.0 you can still publish and share Kedro-Viz project using the existing command
103+
104+
```bash
105+
kedro viz deploy --region=[aws-bucket-region] --bucket-name=[aws-bucket-name]
106+
```
107+
108+
## Permissions and access control
109+
110+
Kedro-Viz does not manage permissions or access control. AWS manages all permissions and access control. As a user, you have the choice to allow anyone to view your project or restrict access to specific IP addresses, users, or groups.
111+
112+
Control who can access your visualization using [bucket and user policies](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-iam-policies.html) or [access control lists](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acls.html). Refer to the official AWS documentation for further details.
113+
114+
## Billing
115+
116+
Kedro-Viz does not handle billing. You pay for storing objects in your S3 buckets. The amount you pay depends on your objects’ size, how long you stored the object during the month, and the storage class.
117+
118+
See the official [AWS documentation](https://aws.amazon.com/s3/pricing/?nc=sn&loc=4) for more information.
119+
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# Publish and share on Azure
2+
3+
This page describes how to publish Kedro-Viz on Azure to share it with others. It uses the spaceflights tutorial as an example.
4+
5+
## Setup your kedro project
6+
7+
If you haven't installed Kedro {doc}`follow the documentation to get set up<kedro:get_started/install>`.
8+
9+
```{important}
10+
We recommend that you use the same version of Kedro that was most recently used to test this tutorial (0.19.1). To check the version installed, type `kedro -V` in your terminal window.
11+
```
12+
13+
In your terminal window, navigate to the folder you want to store the project. Generate the spaceflights tutorial project with all the code in place by using the [Kedro starter for the spaceflights tutorial](https://github.com/kedro-org/kedro-starters/tree/main/spaceflights-pandas):
14+
15+
16+
```bash
17+
kedro new --starter=spaceflights-pandas
18+
```
19+
20+
When prompted for a project name, you can enter anything, but we will assume `Spaceflights` throughout.
21+
22+
When your project is ready, navigate to the root directory of the project. Install the dependencies from the project root directory by typing the following in your terminal:
23+
24+
```bash
25+
pip install -r requirements.txt
26+
```
27+
28+
Kedro-Viz requires specific minimum versions of `fsspec`, and `kedro` to publish your project. Ensure you have these correct versions by updating the `requirements.txt` file of the Kedro project to add the following:
29+
30+
```text
31+
fsspec>=2023.9.0
32+
kedro>=0.18.2
33+
```
34+
35+
## Install cloud dependencies
36+
37+
Step 1:
38+
39+
```bash
40+
pip install 'kedro-viz[azure]'
41+
```
42+
43+
## Configure your Azure Blob Storage
44+
45+
You can host your Kedro-Viz project on Azure Blob Storage.
46+
47+
1. Enable static website hosting - Follow the [Azure tutorial](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website-how-to?tabs=azure-portal) to configure static website hosting on Azure Blob Storage.
48+
49+
```{note}
50+
The process of uploading your site's files will be done through Kedro-Viz.
51+
```
52+
53+
2. Register an app: Sign in to the Azure Portal and create an [App Registration](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app).
54+
55+
3. Obtain parameters: In the app registration's overview pane, note down the Application (Client) ID and Directory (Tenant) ID.
56+
57+
4. Add client secret: Create a [client secret](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app#add-a-client-secret)
58+
for the app registration.
59+
60+
5. Assign IAM role: Assign an [Access Control (IAM) role](https://learn.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal?tabs=delegate-condition) to the storage account.
61+
62+
63+
```{note}
64+
Kedro-Viz uses Gen2 filesystem protocol `abfs` to write files on AzureBlobStorage.
65+
```
66+
67+
```{important}
68+
Having a `$web` container in your AzureBlobStorage is mandatory to use Kedro-Viz publish and share feature on Azure. For more information, see the official Azure documentation about
69+
[Setting up a static website](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website#setting-up-a-static-website).
70+
```
71+
72+
## Set credentials
73+
74+
Once that's completed, you'll need to set your Azure credentials as environment variables in your terminal window, as shown below:
75+
76+
```bash
77+
export AZURE_STORAGE_TENANT_ID="your-app-tenant-id"
78+
export AZURE_STORAGE_CLIENT_ID="your-app-client-id"
79+
export AZURE_STORAGE_CLIENT_SECRET="your-app-client-secret-value"
80+
```
81+
82+
For more information, see the official Azure documentation about [how to work with environmental credentials](https://learn.microsoft.com/en-us/dotnet/api/azure.identity.environmentcredential?view=azure-dotnet).
83+
84+
85+
## Publish and share the project
86+
87+
Once your cloud storage is configured and the credentials are set, you are now ready to publish and share your Kedro-Viz project.
88+
89+
### Publish and share via Kedro-Viz UI
90+
91+
Start Kedro-Viz by running the following command in your terminal:
92+
93+
```bash
94+
kedro viz run
95+
```
96+
97+
Navigate to the **Publish and share** icon located in the lower-left corner of the application interface. A modal dialog will appear, prompting you to select your hosting platform and provide your bucket name and endpoint link.
98+
99+
Set up endpoint
100+
---------------
101+
102+
```{important}
103+
The endpoint link can be found under **Storage account -> Capabilities -> Static website -> Primary endpoint**.
104+
```
105+
106+
Once those details are complete, click **Publish**. A hosted, shareable URL will be returned to you after the process completes.
107+
108+
![](./images/kedro-publish-azure.gif)
109+
110+
### Publish and share via CLI
111+
112+
Use the `kedro viz deploy` command to publish Kedro-Viz on Azure. You can execute the following command from your project's root folder:
113+
114+
```bash
115+
kedro viz deploy --platform=azure --endpoint=[azure-endpoint] --bucket-name=[azure-bucket-name]
116+
```
117+
118+
## Permissions and access control
119+
120+
Kedro-Viz does not manage permissions or access control. Azure manages all permissions and access control. As a user, you have the choice to allow anyone to view your project or restrict access to specific IP addresses, users, or groups.
121+
122+
You can control who can view your visualisation using [attribute-based access control](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-auth-abac). See the official Azure documentation for more information.
123+
124+
## Billing
125+
126+
Kedro-Viz does not handle billing. You pay for storing objects on your AzureBlobStorage. The amount you pay depends on the volume of data stored per month, quantity and types of operations performed, along with any data transfer costs, data redundancy option selected.
127+
128+
See the official [Azure documentation](https://azure.microsoft.com/en-us/pricing/details/storage/blobs/) for more information.

0 commit comments

Comments
 (0)