lighthouse-ci icon indicating copy to clipboard operation
lighthouse-ci copied to clipboard

Add project management UI

Open patrickhulce opened this issue 5 years ago • 8 comments

  • [ ] Create project page
  • [x] Edit project settings
  • [x] Delete project

The second two would require authentication to be added to the server (blocked on #85)

patrickhulce avatar Nov 15 '19 05:11 patrickhulce

Hey @patrickhulce,

Do you have any exiting plans on what you'd like to do for the create project page and are you open to PRs for adding this functionality? If so would you be able to give guidance/a few pointers on how you think the implementation should work?

Background: We've setup LHCI and managed to handle the authentication with GCP's Identity-Aware Proxy functionality. We've got this working with the report uploading already, but need to work on being able to call lhci wizard to create new projects when the server is behind IAP. We can probably work around this in the same way as we do for the upload by passing the extraHeaders arg to the wizard command e.g. npx lhci wizard --extraHeaders.Authorization="Bearer $TOKEN" however it feels like it might be better to solve this issue on the UI side to make it easier for users to create projects without needing to use the CLI.

Many thanks

WillsB3 avatar Apr 23 '20 08:04 WillsB3

Do you have any exiting plans on what you'd like to do for the create project page

It's currently gated on the 0.4.0 functionality require a "root token" to create new projects. We figured that a UI inviting strangers to create a project on other peoples servers is a little too easy while the predominant deployment method is unauthenticated.

are you open to PRs for adding this functionality? If so would you be able to give guidance/a few pointers on how you think the implementation should work?

After 0.4.0 that'd be great :) I imagine it would follow closely the example set by the project settings page, minimal UI flair just something that gets the job done.

We can probably work around this in the same way as we do for the upload by passing the extraHeaders arg to the wizard command e.g. npx lhci wizard --extraHeaders.Authorization="Bearer $TOKEN"

Ah gotcha, if you need this soon, you might need to proceed with the wizard workaround for now since 0.4.0 is probably a few weeks away.

We've setup LHCI and managed to handle the authentication with GCP's Identity-Aware Proxy functionality.

Very cool! Would you be willing to share pieces of your configuration and add it to our server documentation? I'm sure others would appreciate examples of more advanced auth mechanisms like that :)

patrickhulce avatar Apr 23 '20 14:04 patrickhulce

It's currently gated on the 0.4.0 functionality require a "root token" to create new projects. We figured that a UI inviting strangers to create a project on other peoples servers is a little too easy while the predominant deployment method is unauthenticated.

Yep - this makes perfect sense. I'll keep an eye out for 0.4.0 and hopefully have a crack at implementing the UI once it lands.

Very cool! Would you be willing to share pieces of your configuration and add it to our server documentation? I'm sure others would appreciate examples of more advanced auth mechanisms like that :)

Yes certainly. I've been integrating LHCI with GitLab and will be looking to share some notes on how we've done all of this in the future once we have road tested the implementation 👍

WillsB3 avatar Apr 23 '20 15:04 WillsB3

@patrickhulce seems that #158 would be a good feature to be added to this ticket.

WebCloud avatar Apr 27 '20 10:04 WebCloud

Unfortunately the machinery necessary for #158 is far more complicated and requires many changes beyond configuration UI. I'm afraid it's beyond the scope of this one.

patrickhulce avatar Apr 27 '20 14:04 patrickhulce

I see! Yeah, I do see #158 being a larger ticket, maybe something for a future major release due to its scope size.

WebCloud avatar Apr 27 '20 14:04 WebCloud

@patrickhulce Is there anything outstanding that needs to happen before a "Create project page" page can be worked on? Happy to have a go at implementing that if you think all the underlying requirements are now available.

WillsB3 avatar Jan 08 '21 15:01 WillsB3

@WillsB3 https://github.com/GoogleChrome/lighthouse-ci/issues/323 is still the blocking item here which doesn't really have settled ergonomics yet. We need a separate auth mechanism for creating projects before we should invite the world to create them :)

patrickhulce avatar Jan 08 '21 15:01 patrickhulce