Skip to content

CLI: Cloud Provider Auth (ON-HOLD) #94

@ianphil

Description

@ianphil

A good user story should be (I-N-V-E-S-T principle)

  • Independent (from other user stories, allowing to realize them in any order);
  • Negotiable (omit details that would freeze the story);
  • Valuable (implementation delivers an increment of functionality, observable by and useful to users);
  • Estimable (developers should be able to estimate its size relative to other stories);
  • Sizable (implementation fits in one iteration – if it needs many to complete, it is an EPIC);
  • Testable (user must be able to check the conditions of satisfaction).

Description

As a developer, I should be able to authenticate a cloud provider, so that I can run deployments.

Acceptance Criteria

Reference: [Done-Done Checklist] (https://github.com/Microsoft/code-with-engineering-playbook/blob/master/Engineering/BestPractices/DoneDone.md)

  • The CLI allows me to select the service principal used for terraform deployments
  • My .env is pre-filled by the CLI after selecting my service principal and storage account.
  • Azure login similar pattern as azcli
  • Extensible for other cloud providers

Also, here are a few points that need to be addressed:

  1. Interface for provider login
  2. Azure will be the only implementation

Resources

Technical Design Document
Mockups

Tasks

Stories are intended to be completed in a single sprint; if task breakdown creates addition work then team should discuss promoting the Story to an Epic.
Reference: [Minimal Valuable Slices] (https://github.com/Microsoft/code-with-engineering-playbook/blob/master/Engineering/BestPractices/MinimalSlices.md)

Reference: [How to Write Better Tasks] (http://agilebutpragmatic.blogspot.com/2012/04/splitting-story-into-tasks-how-to-write.html)

Assignee should break down work into tasks here

  • Create a library for auth
  • Create auth interface
  • Implement Azure auth by interface
  • Create tests

Metadata

Metadata

Assignees

No one assigned

    Labels

    on holdThis issue should not be worked on

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions