Skip to content

Redesign workspace creation page to support adding user secrets at workspace creation time #851

@evgeniy-scherbina

Description

@evgeniy-scherbina

Note

The scope of this work is subject to change. Probably not significantly, but there are still a few unknowns as far as what we should expose through the UI

Context

We need to update the Workspace Creation page to support a new section for Secrets. The initial work will not cover Organization secrets (which will be handled in the beta period via #873), but we should future-proof the design so that it's easy to add support for org secrets down the line.

We can definitely look at the design work for Dynamic Parameters as an inspiration, but there are some key differences:

  • Secrets will function closer to the creation form's GitHub authentication button. That is, if a template requires secrets, and the user already has those secrets specified when making a workspace from the template, the UI should not prompt the user for anything else.
  • The user should be able to add user-scoped secrets from this page as a convenience. We should not require that the user navigate to the Account Settings page, so that we can keep the user focused
  • We should also have some UI content to indicate that adding a new a secret during workspace creation WILL cause the secret to exist for the entire user account, not just the one workspace

Requirements

  • Workspace creation page is updated to include a new section in the form. The form only appears if a workspace uses secrets.
  • Each secret that has a value already defined will be listed as a simple item in a list with no interactions. For security reasons, we should NOT list these as pre-populated input fields. We want to minimize the ways that a secret can be leaked.
  • Each secret that is missing a value will render a form for filling in the value
  • Hitting the Submit button before all secrets have been filled out will trigger a validation error

Relevant screenshots (?)

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions