bedrock icon indicating copy to clipboard operation
bedrock copied to clipboard

Ring management in Bedrock CLI (adding or removing rings)

Open mtarng opened this issue 5 years ago • 2 comments

As a: spk user I want: to be able to add or remove rings to my project via an spk cli command So that: I can manage my rings Describe the solution you'd like:

Documentation - https://github.com/microsoft/bedrock/issues/975

  • [x] Define what a ring is
  • [x] Describe when to use rings
  • [x] Define how to add a ring
  • [x] Define how to remove a ring
  • [x] Define how to determine what services have what rings
  • [x] Describe how to validate a service's ringed deployment

Implementation

  • [x] Add stub methods https://github.com/microsoft/bedrock/issues/1067

  • [x] create a command to add a ring to a bedrock project: spk ring create <ring-name> or spk ring add <ring-name>. This command should:

    • Add the ring to the bedrock.yaml file.
    • For all existing services in this project, linked via the bedrock.yaml file, add the new ring to the build pipeline's branch trigger.
    • https://github.com/microsoft/bedrock/issues/969
  • [x] create a command to remove a ring from a bedrock project: spk ring remove <ring-name> or spk ring delete <ring-name>. This command should:

    • Remove the ring from the bedrock.yaml file.
    • For all existing services in this project, linked via the bedrock.yaml file, remove the ring from the build pipeline's branch trigger.
    • This command will not allow the deletion of the default ring. Users must first change the default ring before deleting the current default ring.
    • https://github.com/microsoft/bedrock/issues/971
    • Note - The actual work for removing rings from the hld is captured in this epic: https://github.com/microsoft/bedrock/issues/858
  • [ ] Optional depending on if we want this feature: include a --git-push flag that will add all changes and open a PR against master.

  • [x] create a command to set the default ring: spk ring set-default <ring-name>. This command should set the default ring in the bedrock.yaml file.

    • https://github.com/microsoft/bedrock/issues/972
  • [x] Have a walkthrough guide that shows how and when a user would call spk ring create <ring-name>,spk ring set-default <ring-name>, and finally spk ring delete <ring-name>

    • https://github.com/microsoft/bedrock/issues/1112
  • [x] Extend smoke tests to add and remove rings.

    • https://github.com/microsoft/bedrock/issues/974 and https://github.com/microsoft/bedrock/issues/1205
  • [ ] Smoke test to set default ring?

  • [x] Validate IngressRoutes #1119

mtarng avatar Feb 05 '20 22:02 mtarng

@mtarng first thing should be to create a task for documentation.

Do you have any other tasks to link to this epic?

andrebriggs avatar Feb 07 '20 21:02 andrebriggs

Have a walkthrough guide that shows how and when a user would call spk ring create ,spk ring set-default , and finally spk ring delete

@mtarng I added this to the task list

andrebriggs avatar Mar 05 '20 07:03 andrebriggs