diff --git a/pkg/lint/recipe.go b/pkg/lint/recipe.go index 51ee392ff..32dd268c7 100644 --- a/pkg/lint/recipe.go +++ b/pkg/lint/recipe.go @@ -137,6 +137,13 @@ var LintRules = map[string][]LintRule{ HowToResolve: "name a servce 'app'", Function: LintAppService, }, + { + Ref: "R015", + Level: "error", + Description: "deploy labels stanza present", + HowToResolve: "include \"deploy: labels: ...\" stanza", + Function: LintDeployLabelsPresent, + }, { Ref: "R010", Level: "error", @@ -269,6 +276,21 @@ func LintTraefikEnabled(recipe recipe.Recipe) (bool, error) { return false, nil } +func LintDeployLabelsPresent(recipe recipe.Recipe) (bool, error) { + config, err := recipe.GetComposeConfig(nil) + if err != nil { + return false, err + } + + for _, service := range config.Services { + if service.Name == "app" && service.Deploy.Labels != nil { + return true, nil + } + } + + return false, nil +} + func LintHealthchecks(recipe recipe.Recipe) (bool, error) { config, err := recipe.GetComposeConfig(nil) if err != nil {