microsoft / Windows-Containers

Welcome to our Windows Containers GitHub community! Ask questions, report bugs, and suggest features -- let's work together.
MIT License
393 stars 60 forks source link

Uninstall Scripts for Container Runtimes #480

Open ntrappe-msft opened 4 months ago

ntrappe-msft commented 4 months ago

Feature Request

Provide PowerShell scripts for users to uninstall container runtimes and other requirements to support containers. Since we provide ways to install these services, users deserve a way to remove them safely from their machines.

Likely, we'll need a script that can do the following:

Considerations

Design Questions

Flags vs Prompts

The current installation scripts have users use flags to determine what they want to do. For example, to install containerd with transparent networking, they use the -useDHCP flag. However, if users don't actually know what's already installed on their system, we may want to use prompts. This way, we could notify them of the existing container runtime(s) and ask if they'd like to remove each. Additionally, for turning off features, we'd have to decide if we want them to use a flag to indicate that or prompt them. If people want to run a script w/o user interaction, it would be better to use a flag. However, we may need to have user interaction in general to confirm the removal of software.

All or One Runtime

Do we want one uninstall script to remove containerd or docker (whatever is present)? Or one uninstall script for each as we have for installation?

ntrappe-msft commented 4 months ago

ADR 1: Flags vs Prompts

Outcome Date Assignees
Undecided 04/03/24 TBD

Option 1: Flags

Script would be run with or without flags. Flags may determine which items to remove like the runtime (e.g., containerd, docker, or all) and if they'd like to turn off features. Examples may include:

(Idk we can discuss)

Option 2: Prompts

Users would just run the script and it would inform them of what's present on their machine and what they'd like to do. For example:

$> .\uninstall-container-runtimes.ps1
$> You have docker installed on your system, would you like to uninstall it? [Yes/No]: Yes
$> You have hyper-v turned on, would you like to turn it off? [Yes/No]: No
.
.
.
microsoft-github-policy-service[bot] commented 1 month ago

This issue has been open for 90 days with no updates. @ritikaguptams, @ntrappe-msft, please provide an update or close this issue.