-
Notifications
You must be signed in to change notification settings - Fork 114
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 CLI #1541
Comments
Todo: @amandakys to spec out all the different steps in a prototype. |
Relates to #1574 |
I have some more opinion about it, when this is picked up do ping me! Essentially when I try to build the GH Page support separately in #1574, I found that I also need a CLI so I hacked one already. To make it more maintainable, I think the CLI should be share among different backend (i.e. S3, github page and more). |
An AWS focused CLI that maps to our existing UI flow
This interactive flow would be supported by two flags
Example
If the user hasn't set up credentials
Supporting Generic DeploymentAllow users to generate a static folder that they can deploy however/wherever they like
This command is the convention for static site deployment. This command can be run as part of a CI/CD flow to build and re-build an updated Kedro Viz and deploy to the user's chosen platform. If we provide this command, it will be an important step to supporting generic deployment, as without any further work on our part, people will be able to deploy wherever they want if they put in some legwork themselves. We can then choose to simplify the process for them if we want by proving pre-written github actions or other convenience code snippets, but we wont be a blocker. @noklam has hacked together a working prototype of this command based on the s3 deployer <3 and showed how this can then be used with github actions to deploy to github pages. Allow users to specify which platform
Typically, build and deploy are 2 separate steps that we combine in our UI flow. If we have a In addition, if we do start with the AWS focused CLI workflow, this could be somewhere to move the feature, when we become more generic. It would very much be an extension on For example
Managing CredentialsAs per discussion with @tynandebold, we decided that we would not ask users to input their credentials as part of the CLI flow, as this was not common practice. Instead the command will read credentials from where users have defined it, similar to how the UI assumes credentials are set up properly. Currently for Viz features, we ask users to set up their credentials as environment variables. In some user interviews for the Shareable Viz feature, we heard that some users were actively using multiple credentials for different projects, or regularly needed to update their credentials due to short session times. For this Tynan suggested that we delegate to how AWS handles this problem using shared config and credentials files but we were worried this would further tie us unnecessarily to AWS, where one of our goals for the feature was to extend it to support other deployment platforms. @noklam provided further context on how credentials are managed on the framework side.
Next StepsFurther discussion is needed to decide on how we can standardise credential management across Viz and Framework side, and what method will more easily enable Shareable Viz to be an AWS agnostic feature down the line. I would also advocate for us taking the time to consider including the |
Nicely considered and written @amandakys and thank you @noklam!! I don't have any feedback here - the flow looks good to me, and I love the forward thinking on a generic deployment approach (platform flag is cool) as well as considering about credentials management and standardisation across kedro. For next steps - do you think this is something for us to bring to tech design, or should we organise a separate discussion? |
I will summarise the learnings I have and put together some diagrams. For meeting/tech design I will let @amandakys decide how we should go about it. |
At our meeting 30/10/23 we decided the following action items with attendance: @tynandebold @merelcht @stephkaiser @MehdiNV @noklam @NeroOkwa
Details
We decided that we would proceed with a CLI that aligned with the current state of our UI deployment flow. CredentialsCredentials will continue to be managed using environment variables as is the convention. If we later decide that we would like to use a more general credential management system we will revisit the options presented here using the Generic Deployment
In the future, we may decide to build more integrated support for different deployment services in the same way that we support AWS, but we will re-evaluate this based on feature uptake. In this case we may introduce the Proposed Implementation Order
|
Sharing a static kedro viz is a really appreciated feature for our team, as it can streamlines the collaboration between different personae of the data science project (including the stakeholders). Currently we can't use the aws s3 shareable link, because we have a custom s3 endpoint in our private cloud. Moreover, we want to deploy the static kedro viz through the CI, to either Gitlab pages, github pages or private s3 (we don't decide yet). We're looking forward to have the |
Thanks @takikadiri for the feedback, it would be great to speak to you (and your team) to get more context on this and any other pain points you have with Kedro-Viz. Would you be open to that ? |
@takikadiri that should be possible. I had an old demo that deploying static site with github action. I haven't updated it with the new kedro viz build command, but it's fairly easy to do so once the command is released. |
Along with providing users the ability to host and share Viz via Kedro-Viz, users should also be able to host and share Viz via the CLI. This ticket is created to track the work needed for that implementation.
Shareable Viz flows here - https://miro.com/app/board/uXjVM8oNLys=/?share_link_id=39391792422
Related - #1116
The text was updated successfully, but these errors were encountered: