datawire / forge

Define and run multi-container apps in Kubernetes
http://forge.sh
Apache License 2.0
416 stars 44 forks source link

Feature Request: Forge delete should allow branch specific deletes #206

Open pkim-auro opened 6 years ago

pkim-auro commented 6 years ago

forge delete only allows service + profile and will remove all instances of that profile which if was set to default would also remove branches that other developers are working on. Please allow for a mechanism to delete based on the branch provided to the cli tool

alexbakerdev commented 6 years ago

Perhaps its just a documentation issue, but the guide: https://www.datawire.io/faster/shared-dev/ does not seem very plausible if it becomes impossible to clear up the dev testing resources without removing all of them.

➜ forge delete --help
Usage: forge delete [OPTIONS] [SERVICE] [PROFILE]

  Delete (undeploy) k8s resources associated with a given profile or
  service.

  The delete command removes all forge deployed kubernetes resources for the
  specified service. If the profile is supplied then only the resources for
  that profile are removed. If the `--all` option is supplied then all forge
  deployed resources are removed from the entire cluster.

Options:
  --all   Delete all services.
  --help  Show this message and exit.

Looks like the CLI is unable to specify this, but perhaps there is another way?

Also a reworking of the forge list command so that its easier to distinguish branch resources than this:

hello-world[feature]: git@github.com:datawire/hello-world-python.git | service.yaml | 74ad6654d6d7f1f8e12838a215c78ad6eb392936.sha
  deployment default.hello-world-hello-world-another-version:
    Deployment has minimum availability.
  deployment default.hello-world-hello-world-new-version:
    Deployment has minimum availability.
  service default.hello-world-hello-world-another-version:
    READY(172.17.0.8:8080)
  service default.hello-world-hello-world-new-version:
    READY(172.17.0.9:8080)

(this is a slightly modified version of the example repo)