catalog: the lifecycle implementation itself (fixes the previous commit)
The previous commit landed only the new test/badge files: a 'git stash' used to compare REUSE.md ref-check output silently dropped the staged index, so every modification to an existing file was left behind and that commit does not build. This adds the metadata field, the predicates, the fail-closed deploy gate, the catalog filter, the funcmap entries, the template edits and the docs that those tests exercise.
This commit is contained in:
@@ -412,6 +412,14 @@ func (s *Server) templateFuncMap() template.FuncMap {
|
||||
}
|
||||
return s.cfg.AppPageURL(slug)
|
||||
},
|
||||
// lifecycleBadge returns the catalog-metadata pill for an app's lifecycle, or nil when
|
||||
// there is nothing to say. Pair it with the `meta_badge` partial, which no-ops on nil.
|
||||
// R-56's difficulty badge is meant to be a sibling entry returning the same *MetaBadge.
|
||||
"lifecycleBadge": lifecycleBadge,
|
||||
// canInstall reports whether a catalog template may be OFFERED for a new install. The
|
||||
// server-side deploy gate uses the same stacks.Metadata.CanInstall, so the button and the
|
||||
// endpoint can never disagree.
|
||||
"canInstall": func(m stacks.Metadata) bool { return m.CanInstall() },
|
||||
// infraMeta resolves a protected infra stack's curated Hungarian identity
|
||||
// (inframeta.go); nil for regular apps — templates branch on it.
|
||||
"infraMeta": infraMetaFor,
|
||||
|
||||
Reference in New Issue
Block a user