Unable to perform ps or undeploy with locally unstaged changes #628

Closed
opened 2024-07-23 08:23:48 +00:00 by simon · 3 comments
Member

Unlike before the latest changes, I'm no more able to execute the abra app ps or abra app undeploy commands with unstaged changes as they fail now and no chaos flag exists.

Previously, my usual dev workflow was like

  1. Edit the recipe
  2. (sometimes) Undeploy dev instance
  3. Redeploy dev instance with --chaos flag
  4. Run abra app ps <domain>
  5. See if everything works
  6. Make a commit

With the changes, steps 2 and 4 aren't working anymore as I have to (at least locally) commit my changes before.

I'm currently working on this branch: https://git.coopcloud.tech/coop-cloud/vikunja/src/branch/merge-frontend-and-api

Undeploy:

abra app un -d todo.dev.local-it.cloud
 DEBUG  <app/app.go:284> collecting metadata from 15 servers: ....
[...]
 DEBUG  <internal/validate.go:98> validated todo.dev.local-it.cloud as app argument
 DEBUG  <git/read.go:123> no /home/sth/.gitignore exists, skipping reading gitignore paths
 DEBUG  <git/read.go:43> discovered git status in /home/sth/.abra/recipes/vikunja:  M compose.yml

 FATAL  <app/undeploy.go:86> vikunja (/home/sth/.abra/recipes/vikunja) has locally unstaged changes? please commit/remove your changes before proceeding
Unlike before the latest changes, I'm no more able to execute the `abra app ps` or `abra app undeploy` commands with unstaged changes as they fail now and no chaos flag exists. Previously, my usual dev workflow was like 1. Edit the recipe 2. (sometimes) Undeploy dev instance 3. Redeploy dev instance with --chaos flag 4. Run `abra app ps <domain>` 5. See if everything works 6. Make a commit With the changes, steps 2 and 4 aren't working anymore as I have to (at least locally) commit my changes before. I'm currently working on this branch: https://git.coopcloud.tech/coop-cloud/vikunja/src/branch/merge-frontend-and-api ### Undeploy: ``` abra app un -d todo.dev.local-it.cloud DEBUG <app/app.go:284> collecting metadata from 15 servers: .... [...] DEBUG <internal/validate.go:98> validated todo.dev.local-it.cloud as app argument DEBUG <git/read.go:123> no /home/sth/.gitignore exists, skipping reading gitignore paths DEBUG <git/read.go:43> discovered git status in /home/sth/.abra/recipes/vikunja: M compose.yml FATAL <app/undeploy.go:86> vikunja (/home/sth/.abra/recipes/vikunja) has locally unstaged changes? please commit/remove your changes before proceeding ```
simon added the
bug
label 2024-07-23 08:23:48 +00:00
decentral1se added the
abra
label 2024-07-23 08:38:41 +00:00
Owner

OK returning from the rabbit hole of design, workflows, philosophical questions and the meaning of chaos with @simon, we have a plan 🎉

  • undeploy: it sends a request to the runtime with only the stack name of the app, so we don't need to touch the checkout at all. so that's simple, we return this behaviour to what it was before

  • ps: it does actually require the recipe compose configurations to list the services and then from there, query each service status. this would mean adding a --chaos/-C flag to ps to be consistent. however, we decided that maybe this isn't the ideal implementation because we want to "get as close to the actual runtime information as possible". so, we agreed that it would be nice if ps would first query the actual live deployment to get the services and from there, query their status.

annnd integration tests coming then to avoid regressions on these

OK returning from the rabbit hole of design, workflows, philosophical questions and the meaning of chaos with @simon, we have a plan 🎉 * `undeploy`: it sends a request to the runtime with only the stack name of the app, so we don't need to touch the checkout at all. so that's simple, we return this behaviour to what it was before * `ps`: it does actually require the recipe compose configurations to list the services and then from there, query each service status. this would mean adding a `--chaos/-C` flag to `ps` to be consistent. however, we decided that maybe this isn't the ideal implementation because we want to "get as close to the actual runtime information as possible". so, we agreed that it would be nice if `ps` would first query the actual live deployment to get the services and from there, query their status. annnd integration tests coming then to avoid regressions on these ✅
Author
Member

For the sake of completeness, @moritz pointed out that we want to be able to verify whether all containers supposed to be deployed were successfully deployed. So it needs more or less a complete diff of what is actually running vs what should be running and we do need the repo status.

So we agreed upon readding the -C flag to abra app ps

For the sake of completeness, @moritz pointed out that we want to be able to verify whether all containers supposed to be deployed were successfully deployed. So it needs more or less a complete diff of what is actually running vs what should be running and we *do* need the repo status. So we agreed upon readding the `-C` flag to `abra app ps`
Owner

Confirmed fixed.

Confirmed fixed.
Sign in to join this conversation.
No description provided.