controller v0.268.0: the undo finds volumes by definition; a held app names only a whole copy; one press = one tested step (R-658, R-659, R-660, R-651; 09 §6.4 part 5)
gates / gates (push) Successful in 27s
gates / gates (push) Successful in 27s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -328,12 +328,17 @@ func (m *Manager) CatalogTemplatePath(appName, filename string) string {
|
||||
// the syncer has already copied the catalog verbatim into its stack dir, so `pull` + `up -d` do
|
||||
// today's job with no help from here.
|
||||
func (m *Manager) advancePinToCatalog(name, stackDir string) error {
|
||||
return m.advancePinTo(name, stackDir, m.CatalogTemplatePath(name, "docker-compose.yml"))
|
||||
}
|
||||
|
||||
// advancePinTo is advancePinToCatalog with the definition named: the catalog's current compose file,
|
||||
// or — on a ladder (v0.268.0, `09` §3 decision 14) — one step's own definition from `steps/`.
|
||||
func (m *Manager) advancePinTo(name, stackDir, src string) error {
|
||||
cfg := LoadAppConfig(stackDir)
|
||||
if cfg == nil || len(cfg.PinnedImages) == 0 {
|
||||
return nil // unpinned — today's behaviour, unchanged
|
||||
}
|
||||
|
||||
src := m.CatalogTemplatePath(name, "docker-compose.yml")
|
||||
pin, data, err := PinFromCompose(src)
|
||||
if err != nil {
|
||||
// REFUSE rather than silently update to the frozen definition (which would be a no-op
|
||||
|
||||
Reference in New Issue
Block a user