Compare commits
15 Commits
main
...
feature/3w
Author | SHA1 | Date | |
---|---|---|---|
24970360fa | |||
b3bd253684 | |||
32c2ea5b53 | |||
12b01ace71 | |||
58d15c35d8 | |||
a02be5705e | |||
371b70b537 | |||
7558550d96 | |||
d94335941f | |||
88ea705a33 | |||
faa8cd12d9 | |||
65ed2f6113 | |||
746485cfb0 | |||
2b1bece9b6 | |||
c05d0fef24 |
@ -14,6 +14,7 @@ import (
|
||||
|
||||
appPkg "coopcloud.tech/abra/pkg/app"
|
||||
"coopcloud.tech/abra/pkg/client"
|
||||
"coopcloud.tech/abra/pkg/deploy"
|
||||
"coopcloud.tech/abra/pkg/dns"
|
||||
"coopcloud.tech/abra/pkg/formatter"
|
||||
"coopcloud.tech/abra/pkg/i18n"
|
||||
@ -187,12 +188,35 @@ checkout as-is. Recipe commit hashes are also supported as values for
|
||||
deployedVersion = deployMeta.Version
|
||||
}
|
||||
|
||||
// Gather secrets
|
||||
secretInfo, err := deploy.GatherSecretsForDeploy(cl, app)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Gather configs
|
||||
configInfo, err := deploy.GatherConfigsForDeploy(cl, app, compose, abraShEnv)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Gather images
|
||||
imageInfo, err := deploy.GatherImagesForDeploy(cl, app, compose)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Show deploy overview
|
||||
|
||||
if err := internal.DeployOverview(
|
||||
app,
|
||||
deployedVersion,
|
||||
toDeployVersion,
|
||||
"",
|
||||
deployWarnMessages,
|
||||
strings.Join(secretInfo, "\n"),
|
||||
strings.Join(configInfo, "\n"),
|
||||
strings.Join(imageInfo, "\n"),
|
||||
); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
@ -2,11 +2,13 @@ package app
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"strings"
|
||||
|
||||
"coopcloud.tech/abra/pkg/app"
|
||||
appPkg "coopcloud.tech/abra/pkg/app"
|
||||
"coopcloud.tech/abra/pkg/autocomplete"
|
||||
"coopcloud.tech/abra/pkg/config"
|
||||
"coopcloud.tech/abra/pkg/deploy"
|
||||
"coopcloud.tech/abra/pkg/envfile"
|
||||
"coopcloud.tech/abra/pkg/formatter"
|
||||
"coopcloud.tech/abra/pkg/i18n"
|
||||
@ -185,6 +187,24 @@ beforehand. See "abra app backup" for more.`),
|
||||
}
|
||||
appPkg.SetUpdateLabel(compose, stackName, app.Env)
|
||||
|
||||
// Gather secrets
|
||||
secretInfo, err := deploy.GatherSecretsForDeploy(cl, app)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Gather configs
|
||||
configInfo, err := deploy.GatherConfigsForDeploy(cl, app, compose, abraShEnv)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Gather images
|
||||
imageInfo, err := deploy.GatherImagesForDeploy(cl, app, compose)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// NOTE(d1): no release notes implemeneted for rolling back
|
||||
if err := internal.DeployOverview(
|
||||
app,
|
||||
@ -192,6 +212,9 @@ beforehand. See "abra app backup" for more.`),
|
||||
chosenDowngrade,
|
||||
"",
|
||||
downgradeWarnMessages,
|
||||
strings.Join(secretInfo, "\n"),
|
||||
strings.Join(configInfo, "\n"),
|
||||
strings.Join(imageInfo, "\n"),
|
||||
); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
@ -67,6 +67,9 @@ Passing "--prune/-p" does not remove those volumes.`),
|
||||
config.NO_DOMAIN_DEFAULT,
|
||||
"",
|
||||
nil,
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
@ -7,11 +7,11 @@ import (
|
||||
"strings"
|
||||
|
||||
"coopcloud.tech/abra/cli/internal"
|
||||
"coopcloud.tech/abra/pkg/app"
|
||||
appPkg "coopcloud.tech/abra/pkg/app"
|
||||
"coopcloud.tech/abra/pkg/autocomplete"
|
||||
"coopcloud.tech/abra/pkg/client"
|
||||
"coopcloud.tech/abra/pkg/config"
|
||||
"coopcloud.tech/abra/pkg/deploy"
|
||||
"coopcloud.tech/abra/pkg/envfile"
|
||||
"coopcloud.tech/abra/pkg/formatter"
|
||||
"coopcloud.tech/abra/pkg/i18n"
|
||||
@ -212,6 +212,24 @@ beforehand. See "abra app backup" for more.`),
|
||||
}
|
||||
}
|
||||
|
||||
// Gather secrets
|
||||
secretInfo, err := deploy.GatherSecretsForDeploy(cl, app)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Gather configs
|
||||
configInfo, err := deploy.GatherConfigsForDeploy(cl, app, compose, abraShEnv)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Gather images
|
||||
imageInfo, err := deploy.GatherImagesForDeploy(cl, app, compose)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
if showReleaseNotes {
|
||||
fmt.Print(upgradeReleaseNotes)
|
||||
return
|
||||
@ -230,6 +248,9 @@ beforehand. See "abra app backup" for more.`),
|
||||
chosenUpgrade,
|
||||
upgradeReleaseNotes,
|
||||
upgradeWarnMessages,
|
||||
strings.Join(secretInfo, "\n"),
|
||||
strings.Join(configInfo, "\n"),
|
||||
strings.Join(imageInfo, "\n"),
|
||||
); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@ -307,7 +328,7 @@ func chooseUpgrade(
|
||||
}
|
||||
|
||||
func getReleaseNotes(
|
||||
app app.App,
|
||||
app appPkg.App,
|
||||
versions []string,
|
||||
chosenUpgrade string,
|
||||
deployMeta stack.DeployMeta,
|
||||
@ -352,7 +373,7 @@ func getReleaseNotes(
|
||||
|
||||
// ensureUpgradesAvailable ensures that there are available upgrades.
|
||||
func ensureUpgradesAvailable(
|
||||
app app.App,
|
||||
app appPkg.App,
|
||||
versions []string,
|
||||
availableUpgrades *[]string,
|
||||
deployMeta stack.DeployMeta,
|
||||
@ -384,7 +405,7 @@ func ensureUpgradesAvailable(
|
||||
// validateUpgradeVersionArg validates the specific version.
|
||||
func validateUpgradeVersionArg(
|
||||
specificVersion string,
|
||||
app app.App,
|
||||
app appPkg.App,
|
||||
deployMeta stack.DeployMeta,
|
||||
) error {
|
||||
parsedSpecificVersion, err := tagcmp.Parse(specificVersion)
|
||||
@ -411,7 +432,7 @@ func validateUpgradeVersionArg(
|
||||
|
||||
// ensureDeployed ensures the app is deployed and if so, returns deployment
|
||||
// meta info.
|
||||
func ensureDeployed(cl *dockerClient.Client, app app.App) (stack.DeployMeta, error) {
|
||||
func ensureDeployed(cl *dockerClient.Client, app appPkg.App) (stack.DeployMeta, error) {
|
||||
log.Debug(i18n.G("checking whether %s is already deployed", app.StackName()))
|
||||
|
||||
deployMeta, err := stack.IsDeployed(context.Background(), cl, app.StackName())
|
||||
|
@ -50,6 +50,9 @@ func DeployOverview(
|
||||
toDeployVersion string,
|
||||
releaseNotes string,
|
||||
warnMessages []string,
|
||||
secrets string,
|
||||
configs string,
|
||||
images string,
|
||||
) error {
|
||||
deployConfig := "compose.yml"
|
||||
if composeFiles, ok := app.Env["COMPOSE_FILE"]; ok {
|
||||
@ -80,6 +83,24 @@ func DeployOverview(
|
||||
{i18n.G("CURRENT DEPLOYMENT"), formatter.BoldDirtyDefault(deployedVersion)},
|
||||
{i18n.G("ENV VERSION"), formatter.BoldDirtyDefault(envVersion)},
|
||||
{i18n.G("NEW DEPLOYMENT"), formatter.BoldDirtyDefault(toDeployVersion)},
|
||||
{"", ""},
|
||||
{i18n.G("IMAGES"), images},
|
||||
}
|
||||
|
||||
if len(secrets) > 0 {
|
||||
secretsRows := [][]string{
|
||||
{"", ""},
|
||||
{i18n.G("SECRETS"), secrets},
|
||||
}
|
||||
rows = append(rows, secretsRows...)
|
||||
}
|
||||
|
||||
if len(configs) > 0 {
|
||||
configsRows := [][]string{
|
||||
{"", ""},
|
||||
{i18n.G("CONFIGS"), configs},
|
||||
}
|
||||
rows = append(rows, configsRows...)
|
||||
}
|
||||
|
||||
deployType := getDeployType(deployedVersion, toDeployVersion)
|
||||
|
@ -3,6 +3,7 @@ package client
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"strings"
|
||||
|
||||
"coopcloud.tech/abra/pkg/i18n"
|
||||
"github.com/docker/docker/api/types/filters"
|
||||
@ -37,3 +38,12 @@ func RemoveConfigs(cl *client.Client, ctx context.Context, configNames []string,
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetConfigNameAndVersion(fullName string, stackName string) (string, string, error) {
|
||||
name := strings.TrimPrefix(fullName, stackName+"_")
|
||||
if lastUnderscore := strings.LastIndex(name, "_"); lastUnderscore != -1 {
|
||||
return name[0:lastUnderscore], name[lastUnderscore+1:], nil
|
||||
} else {
|
||||
return "", "", errors.New(i18n.G("can't parse version from config '%s'", fullName))
|
||||
}
|
||||
}
|
||||
|
@ -17,3 +17,11 @@ func StoreSecret(cl *client.Client, secretName, secretValue, server string) erro
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetSecretNames(secrets []swarm.Secret) []string {
|
||||
var secretNames []string
|
||||
for _, secret := range secrets {
|
||||
secretNames = append(secretNames, secret.Spec.Name)
|
||||
}
|
||||
return secretNames
|
||||
}
|
||||
|
226
pkg/deploy/utils.go
Normal file
226
pkg/deploy/utils.go
Normal file
@ -0,0 +1,226 @@
|
||||
package deploy
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"regexp"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
appPkg "coopcloud.tech/abra/pkg/app"
|
||||
"coopcloud.tech/abra/pkg/client"
|
||||
"coopcloud.tech/abra/pkg/log"
|
||||
"coopcloud.tech/abra/pkg/secret"
|
||||
|
||||
composetypes "github.com/docker/cli/cli/compose/types"
|
||||
"github.com/docker/docker/api/types/swarm"
|
||||
dockerClient "github.com/docker/docker/client"
|
||||
)
|
||||
|
||||
// GetConfigsForStack retrieves all Docker configs attached to services in a given stack.
|
||||
func GetConfigsForStack(cl *dockerClient.Client, app appPkg.App) (map[string]string, error) {
|
||||
filters, err := app.Filters(false, false)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// List all services in the stack
|
||||
services, err := cl.ServiceList(context.Background(), swarm.ServiceListOptions{
|
||||
Filters: filters,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Collect unique config names with versions
|
||||
configs := make(map[string]string)
|
||||
for _, service := range services {
|
||||
if service.Spec.TaskTemplate.ContainerSpec != nil {
|
||||
for _, configRef := range service.Spec.TaskTemplate.ContainerSpec.Configs {
|
||||
configName := configRef.ConfigName
|
||||
if configName == "" {
|
||||
continue
|
||||
}
|
||||
configBaseName, configVersion, err := client.GetConfigNameAndVersion(configName, app.StackName())
|
||||
if err != nil {
|
||||
log.Warn(err)
|
||||
continue
|
||||
}
|
||||
|
||||
existingConfigVersion, ok := configs[configBaseName]
|
||||
if !ok {
|
||||
// First time seeing this, add to map
|
||||
configs[configBaseName] = configVersion
|
||||
} else {
|
||||
// Just make sure the versions are the same..
|
||||
if existingConfigVersion != configVersion {
|
||||
log.Warnf("different versions for config '%s', '%s' and %s'", configBaseName, existingConfigVersion, configVersion)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return configs, nil
|
||||
}
|
||||
|
||||
func GetImageNameAndTag(imageName string) (string, string, error) {
|
||||
imageParts := regexp.MustCompile("^([^:]*):([^@]*)@?").FindSubmatch([]byte(imageName))
|
||||
|
||||
if len(imageParts) == 0 {
|
||||
return "", "", errors.New("can't determine image version for image '%s'")
|
||||
}
|
||||
|
||||
imageBaseName := string(imageParts[1])
|
||||
imageTag := string(imageParts[2])
|
||||
|
||||
return imageBaseName, imageTag, nil
|
||||
}
|
||||
|
||||
// GetImagesForStack retrieves all Docker images for services in a given stack.
|
||||
func GetImagesForStack(cl *dockerClient.Client, app appPkg.App) (map[string]string, error) {
|
||||
filters, err := app.Filters(false, false)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// List all services in the stack
|
||||
services, err := cl.ServiceList(context.Background(), swarm.ServiceListOptions{
|
||||
Filters: filters,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Collect unique image names with versions
|
||||
images := make(map[string]string)
|
||||
for _, service := range services {
|
||||
if service.Spec.TaskTemplate.ContainerSpec != nil {
|
||||
imageName := service.Spec.TaskTemplate.ContainerSpec.Image
|
||||
|
||||
imageBaseName, imageTag, err := GetImageNameAndTag(imageName)
|
||||
if err != nil {
|
||||
log.Warn(err)
|
||||
continue
|
||||
}
|
||||
|
||||
existingImageVersion, ok := images[imageBaseName]
|
||||
if !ok {
|
||||
// First time seeing this, add to map
|
||||
images[imageBaseName] = imageTag
|
||||
} else {
|
||||
// Just make sure the versions are the same..
|
||||
if existingImageVersion != imageTag {
|
||||
log.Warnf("different versions for image '%s', '%s' and %s'", imageBaseName, existingImageVersion, imageTag)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return images, nil
|
||||
}
|
||||
|
||||
func GatherSecretsForDeploy(cl *dockerClient.Client, app appPkg.App) ([]string, error) {
|
||||
|
||||
secStats, err := secret.PollSecretsStatus(cl, app)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var secretInfo []string
|
||||
|
||||
// Sort secrets to ensure reproducible output
|
||||
sort.Slice(secStats, func(i, j int) bool {
|
||||
return secStats[i].LocalName < secStats[j].LocalName
|
||||
})
|
||||
for _, secStat := range secStats {
|
||||
secretInfo = append(secretInfo, fmt.Sprintf("%s: %s", secStat.LocalName, secStat.Version))
|
||||
}
|
||||
return secretInfo, nil
|
||||
}
|
||||
|
||||
func GatherConfigsForDeploy(cl *dockerClient.Client, app appPkg.App, compose *composetypes.Config, abraShEnv map[string]string) ([]string, error) {
|
||||
// Get current configs from existing deployment
|
||||
currentConfigs, err := GetConfigsForStack(cl, app)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Debugf("Deployed config names: %v", currentConfigs)
|
||||
|
||||
// Get new configs from the compose specification
|
||||
newConfigs := compose.Configs
|
||||
|
||||
var configInfo []string
|
||||
for configName := range newConfigs {
|
||||
log.Debugf("Searching abra.sh for version for %s", configName)
|
||||
versionKey := strings.ToUpper(configName) + "_VERSION"
|
||||
newVersion, exists := abraShEnv[versionKey]
|
||||
if !exists {
|
||||
log.Warnf("No version found for config %s", configName)
|
||||
configInfo = append(configInfo, fmt.Sprintf("%s: ? (missing version)", configName))
|
||||
continue
|
||||
}
|
||||
|
||||
if currentVersion, exists := currentConfigs[configName]; exists {
|
||||
if currentVersion == newVersion {
|
||||
configInfo = append(configInfo, fmt.Sprintf("%s: %s (unchanged)", configName, newVersion))
|
||||
} else {
|
||||
configInfo = append(configInfo, fmt.Sprintf("%s: %s → %s", configName, currentVersion, newVersion))
|
||||
}
|
||||
} else {
|
||||
configInfo = append(configInfo, fmt.Sprintf("%s: %s (new)", configName, newVersion))
|
||||
}
|
||||
}
|
||||
|
||||
return configInfo, nil
|
||||
}
|
||||
|
||||
func GatherImagesForDeploy(cl *dockerClient.Client, app appPkg.App, compose *composetypes.Config) ([]string, error) {
|
||||
|
||||
// Get current images from existing deployment
|
||||
currentImages, err := GetImagesForStack(cl, app)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Infof("Deployed images: %v", currentImages)
|
||||
|
||||
// Proposed new images from the compose files
|
||||
newImages := make(map[string]string)
|
||||
|
||||
for _, service := range compose.Services {
|
||||
imageBaseName, imageTag, err := GetImageNameAndTag(service.Image)
|
||||
if err != nil {
|
||||
log.Warn(err)
|
||||
continue
|
||||
}
|
||||
existingImageVersion, ok := newImages[imageBaseName]
|
||||
if !ok {
|
||||
// First time seeing this, add to map
|
||||
newImages[imageBaseName] = imageTag
|
||||
} else {
|
||||
// Just make sure the versions are the same..
|
||||
if existingImageVersion != imageTag {
|
||||
log.Warnf("different versions for image '%s', '%s' and %s'", imageBaseName, existingImageVersion, imageTag)
|
||||
}
|
||||
}
|
||||
}
|
||||
log.Infof("Proposed images: %v", newImages)
|
||||
|
||||
var imageInfo []string
|
||||
for newImageName, newImageVersion := range newImages {
|
||||
if currentVersion, exists := currentImages[newImageName]; exists {
|
||||
if currentVersion == newImageVersion {
|
||||
imageInfo = append(imageInfo, fmt.Sprintf("%s: %s (unchanged)", newImageName, newImageVersion))
|
||||
} else {
|
||||
imageInfo = append(imageInfo, fmt.Sprintf("%s: %s → %s", newImageName, currentVersion, newImageVersion))
|
||||
}
|
||||
} else {
|
||||
imageInfo = append(imageInfo, fmt.Sprintf("%s: %s (new)", newImageName, newImageVersion))
|
||||
}
|
||||
}
|
||||
|
||||
return imageInfo, nil
|
||||
}
|
@ -7,7 +7,7 @@
|
||||
msgid ""
|
||||
msgstr "Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: EMAIL\n"
|
||||
"POT-Creation-Date: 2025-08-29 16:31+0200\n"
|
||||
"POT-Creation-Date: 2025-09-02 14:00-0400\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -106,7 +106,7 @@ msgid " # run <cmd> with args/flags\n"
|
||||
" abra app run 1312.net app --user nobody -- ls -lha"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:38
|
||||
#: ./cli/app/deploy.go:39
|
||||
msgid " # standard deployment\n"
|
||||
" abra app deploy 1312.net\n"
|
||||
"\n"
|
||||
@ -144,7 +144,7 @@ msgstr ""
|
||||
msgid " abra upgrade --rc"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/rollback.go:44
|
||||
#: ./cli/app/rollback.go:46
|
||||
msgid " # standard rollback\n"
|
||||
" abra app rollback 1312.net\n"
|
||||
"\n"
|
||||
@ -191,7 +191,7 @@ msgstr ""
|
||||
msgid "%s (created %v)"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:86
|
||||
#: ./cli/internal/deploy.go:107
|
||||
#, c-format
|
||||
msgid "%s OVERVIEW"
|
||||
msgstr ""
|
||||
@ -221,7 +221,7 @@ msgstr ""
|
||||
msgid "%s does not exist for %s, use /bin/sh as fallback"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/cmd.go:110 ./cli/internal/deploy.go:151
|
||||
#: ./cli/app/cmd.go:110 ./cli/internal/deploy.go:172
|
||||
#, c-format
|
||||
msgid "%s does not exist for %s?"
|
||||
msgstr ""
|
||||
@ -296,7 +296,7 @@ msgstr ""
|
||||
msgid "%s inserted into pass store"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:98
|
||||
#: ./cli/app/deploy.go:99
|
||||
#, c-format
|
||||
msgid "%s is already deployed"
|
||||
msgstr ""
|
||||
@ -321,17 +321,17 @@ msgstr ""
|
||||
msgid "%s is missing the TYPE env var?"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/rollback.go:280 ./cli/app/rollback.go:284
|
||||
#: ./cli/app/rollback.go:303 ./cli/app/rollback.go:307
|
||||
#, c-format
|
||||
msgid "%s is not a downgrade for %s?"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/upgrade.go:402 ./cli/app/upgrade.go:406
|
||||
#: ./cli/app/upgrade.go:423 ./cli/app/upgrade.go:427
|
||||
#, c-format
|
||||
msgid "%s is not an upgrade for %s?"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/logs.go:60 ./cli/app/ps.go:58 ./cli/app/restart.go:95 ./cli/app/services.go:51 ./cli/app/undeploy.go:61 ./cli/app/upgrade.go:423 ./cli/updater/updater.go:251
|
||||
#: ./cli/app/logs.go:60 ./cli/app/ps.go:58 ./cli/app/restart.go:95 ./cli/app/services.go:51 ./cli/app/undeploy.go:61 ./cli/app/upgrade.go:444 ./cli/updater/updater.go:251
|
||||
#, c-format
|
||||
msgid "%s is not deployed?"
|
||||
msgstr ""
|
||||
@ -346,7 +346,7 @@ msgstr ""
|
||||
msgid "%s is still deployed. Run \"abra app undeploy %s\""
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:168 ./cli/app/upgrade.go:210
|
||||
#: ./cli/app/deploy.go:169 ./cli/app/upgrade.go:210
|
||||
#, c-format
|
||||
msgid "%s missing from %s.env"
|
||||
msgstr ""
|
||||
@ -476,12 +476,12 @@ msgstr ""
|
||||
msgid "%s: waiting %d seconds before next retry"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/upgrade.go:397
|
||||
#: ./cli/app/upgrade.go:418
|
||||
#, c-format
|
||||
msgid "'%s' is not a known version"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/rollback.go:275 ./cli/app/upgrade.go:392
|
||||
#: ./cli/app/rollback.go:298 ./cli/app/upgrade.go:413
|
||||
#, c-format
|
||||
msgid "'%s' is not a known version for %s"
|
||||
msgstr ""
|
||||
@ -552,7 +552,7 @@ msgstr ""
|
||||
msgid "Both local recipe and live deployment labels are shown."
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/backup.go:298 ./cli/app/backup.go:314 ./cli/app/check.go:90 ./cli/app/cmd.go:277 ./cli/app/cp.go:381 ./cli/app/deploy.go:335 ./cli/app/labels.go:138 ./cli/app/new.go:368 ./cli/app/ps.go:209 ./cli/app/restart.go:157 ./cli/app/restore.go:134 ./cli/app/secret.go:553 ./cli/app/secret.go:593 ./cli/app/secret.go:617 ./cli/app/secret.go:625 ./cli/catalogue/catalogue.go:309 ./cli/recipe/lint.go:131 ./cli/updater/updater.go:544
|
||||
#: ./cli/app/backup.go:298 ./cli/app/backup.go:314 ./cli/app/check.go:90 ./cli/app/cmd.go:277 ./cli/app/cp.go:381 ./cli/app/deploy.go:359 ./cli/app/labels.go:138 ./cli/app/new.go:368 ./cli/app/ps.go:209 ./cli/app/restart.go:157 ./cli/app/restore.go:134 ./cli/app/secret.go:553 ./cli/app/secret.go:593 ./cli/app/secret.go:617 ./cli/app/secret.go:625 ./cli/catalogue/catalogue.go:309 ./cli/recipe/lint.go:131 ./cli/updater/updater.go:544
|
||||
msgid "C"
|
||||
msgstr ""
|
||||
|
||||
@ -560,7 +560,7 @@ msgstr ""
|
||||
msgid "CHAOS"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:120
|
||||
#: ./cli/internal/deploy.go:141
|
||||
msgid "CHAOS DEPLOY"
|
||||
msgstr ""
|
||||
|
||||
@ -579,15 +579,19 @@ msgstr ""
|
||||
msgid "COMPOSE_FILE detected, loading %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:78
|
||||
#: ./cli/internal/deploy.go:81
|
||||
msgid "CONFIG"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:101
|
||||
msgid "CONFIGS"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/secret.go:465
|
||||
msgid "CREATED ON SERVER"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:80
|
||||
#: ./cli/internal/deploy.go:83
|
||||
msgid "CURRENT DEPLOYMENT"
|
||||
msgstr ""
|
||||
|
||||
@ -693,11 +697,11 @@ msgid "Creates a new app from a default recipe.\n"
|
||||
"on your $PATH."
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:351 ./cli/app/new.go:344 ./cli/app/rollback.go:332 ./cli/app/upgrade.go:443
|
||||
#: ./cli/app/deploy.go:375 ./cli/app/new.go:344 ./cli/app/rollback.go:355 ./cli/app/upgrade.go:464
|
||||
msgid "D"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:133 ./cli/internal/deploy.go:137
|
||||
#: ./cli/internal/deploy.go:154 ./cli/internal/deploy.go:158
|
||||
msgid "DEPLOY"
|
||||
msgstr ""
|
||||
|
||||
@ -705,20 +709,20 @@ msgstr ""
|
||||
msgid "DEPLOYED LABELS"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/list.go:218 ./cli/internal/deploy.go:75
|
||||
#: ./cli/app/list.go:218 ./cli/internal/deploy.go:78
|
||||
msgid "DOMAIN"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:142
|
||||
#: ./cli/internal/deploy.go:163
|
||||
msgid "DOWNGRADE"
|
||||
msgstr ""
|
||||
|
||||
#. translators: Short description for `app deploy` command
|
||||
#: ./cli/app/deploy.go:32
|
||||
#: ./cli/app/deploy.go:33
|
||||
msgid "Deploy an app"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:33
|
||||
#: ./cli/app/deploy.go:34
|
||||
msgid "Deploy an app.\n"
|
||||
"\n"
|
||||
"This command supports chaos operations. Use \"--chaos/-C\" to deploy your recipe\n"
|
||||
@ -747,7 +751,7 @@ msgstr ""
|
||||
msgid "ENV OVERVIEW"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:81
|
||||
#: ./cli/internal/deploy.go:84
|
||||
msgid "ENV VERSION"
|
||||
msgstr ""
|
||||
|
||||
@ -860,6 +864,10 @@ msgstr ""
|
||||
msgid "IMAGE"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:87
|
||||
msgid "IMAGES"
|
||||
msgstr ""
|
||||
|
||||
#. translators: Short description for `app secret insert` command
|
||||
#: ./cli/app/secret.go:154
|
||||
msgid "Insert secret"
|
||||
@ -961,11 +969,11 @@ msgstr ""
|
||||
msgid "NAME"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:129
|
||||
#: ./cli/internal/deploy.go:150
|
||||
msgid "NEW DEPLOY"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:82
|
||||
#: ./cli/internal/deploy.go:85
|
||||
msgid "NEW DEPLOYMENT"
|
||||
msgstr ""
|
||||
|
||||
@ -1009,7 +1017,7 @@ msgstr ""
|
||||
msgid "README.md metadata filled in"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/list.go:218 ./cli/internal/deploy.go:76
|
||||
#: ./cli/app/list.go:218 ./cli/internal/deploy.go:79
|
||||
msgid "RECIPE"
|
||||
msgstr ""
|
||||
|
||||
@ -1098,7 +1106,7 @@ msgid "Restore a snapshot"
|
||||
msgstr ""
|
||||
|
||||
#. translators: Short description for `app rollback` command
|
||||
#: ./cli/app/rollback.go:29
|
||||
#: ./cli/app/rollback.go:31
|
||||
msgid "Roll an app back to a previous version"
|
||||
msgstr ""
|
||||
|
||||
@ -1129,11 +1137,15 @@ msgstr ""
|
||||
msgid "S"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:93
|
||||
msgid "SECRETS"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/new.go:195
|
||||
msgid "SECRETS OVERVIEW"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/list.go:218 ./cli/internal/deploy.go:77
|
||||
#: ./cli/app/list.go:218 ./cli/internal/deploy.go:80
|
||||
msgid "SERVER"
|
||||
msgstr ""
|
||||
|
||||
@ -1266,7 +1278,7 @@ msgid "This command restarts services within a deployed app.\n"
|
||||
"Pass \"--all-services/-a\" to restart all services."
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/rollback.go:30
|
||||
#: ./cli/app/rollback.go:32
|
||||
msgid "This command rolls an app back to a previous version.\n"
|
||||
"\n"
|
||||
"Unlike \"abra app deploy\", chaos operations are not supported here. Only recipe\n"
|
||||
@ -1330,15 +1342,15 @@ msgid "To load completions:\n"
|
||||
" # and source this file from your PowerShell profile."
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:123
|
||||
#: ./cli/internal/deploy.go:144
|
||||
msgid "UNCHAOS DEPLOY"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:117
|
||||
#: ./cli/internal/deploy.go:138
|
||||
msgid "UNDEPLOY"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/list.go:224 ./cli/internal/deploy.go:140
|
||||
#: ./cli/app/list.go:224 ./cli/internal/deploy.go:161
|
||||
msgid "UPGRADE"
|
||||
msgstr ""
|
||||
|
||||
@ -1642,7 +1654,7 @@ msgstr ""
|
||||
msgid "attempting to run %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:231 ./cli/app/upgrade.go:269
|
||||
#: ./cli/app/deploy.go:255 ./cli/app/upgrade.go:290
|
||||
#, c-format
|
||||
msgid "attempting to run post deploy commands, saw: %s"
|
||||
msgstr ""
|
||||
@ -1666,7 +1678,7 @@ msgstr ""
|
||||
msgid "autocomplete [bash|zsh|fish|powershell]"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:61 ./cli/app/logs.go:34 ./cli/app/rollback.go:60 ./cli/app/secret.go:45 ./cli/app/secret.go:183 ./cli/app/secret.go:348 ./cli/app/upgrade.go:60 ./pkg/autocomplete/autocomplete.go:18 ./pkg/autocomplete/autocomplete.go:33 ./pkg/autocomplete/autocomplete.go:44 ./pkg/autocomplete/autocomplete.go:50 ./pkg/autocomplete/autocomplete.go:70 ./pkg/autocomplete/autocomplete.go:88 ./pkg/autocomplete/autocomplete.go:104 ./pkg/autocomplete/autocomplete.go:110 ./pkg/autocomplete/autocomplete.go:125
|
||||
#: ./cli/app/deploy.go:62 ./cli/app/logs.go:34 ./cli/app/rollback.go:62 ./cli/app/secret.go:45 ./cli/app/secret.go:183 ./cli/app/secret.go:348 ./cli/app/upgrade.go:60 ./pkg/autocomplete/autocomplete.go:18 ./pkg/autocomplete/autocomplete.go:33 ./pkg/autocomplete/autocomplete.go:44 ./pkg/autocomplete/autocomplete.go:50 ./pkg/autocomplete/autocomplete.go:70 ./pkg/autocomplete/autocomplete.go:88 ./pkg/autocomplete/autocomplete.go:104 ./pkg/autocomplete/autocomplete.go:110 ./pkg/autocomplete/autocomplete.go:125
|
||||
#, c-format
|
||||
msgid "autocomplete failed: %s"
|
||||
msgstr ""
|
||||
@ -1720,7 +1732,7 @@ msgstr ""
|
||||
msgid "broken symlink in your abra config folders: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/backup.go:140 ./cli/app/cp.go:31 ./cli/app/deploy.go:359 ./cli/app/rollback.go:340 ./cli/app/upgrade.go:451
|
||||
#: ./cli/app/backup.go:140 ./cli/app/cp.go:31 ./cli/app/deploy.go:383 ./cli/app/rollback.go:363 ./cli/app/upgrade.go:472
|
||||
msgid "c"
|
||||
msgstr ""
|
||||
|
||||
@ -1742,6 +1754,11 @@ msgstr ""
|
||||
msgid "can't copy dir to file"
|
||||
msgstr ""
|
||||
|
||||
#: ./pkg/client/configs.go:47
|
||||
#, c-format
|
||||
msgid "can't parse version from config '%s'"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/validate.go:35
|
||||
#, c-format
|
||||
msgid "can't read local recipes: %s"
|
||||
@ -1785,7 +1802,7 @@ msgstr ""
|
||||
msgid "cannot use '[secret] [version]' and '--all' together"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:270
|
||||
#: ./cli/app/deploy.go:294
|
||||
msgid "cannot use --chaos and --latest together"
|
||||
msgstr ""
|
||||
|
||||
@ -1809,11 +1826,11 @@ msgstr ""
|
||||
msgid "cannot use [service] and --all-services/-a together"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:262 ./cli/app/new.go:71
|
||||
#: ./cli/app/deploy.go:286 ./cli/app/new.go:71
|
||||
msgid "cannot use [version] and --chaos together"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:266
|
||||
#: ./cli/app/deploy.go:290
|
||||
msgid "cannot use [version] and --latest together"
|
||||
msgstr ""
|
||||
|
||||
@ -1842,7 +1859,7 @@ msgstr ""
|
||||
msgid "cfg"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/backup.go:297 ./cli/app/backup.go:313 ./cli/app/check.go:89 ./cli/app/cmd.go:276 ./cli/app/cp.go:380 ./cli/app/deploy.go:334 ./cli/app/labels.go:137 ./cli/app/new.go:367 ./cli/app/ps.go:208 ./cli/app/restart.go:156 ./cli/app/restore.go:133 ./cli/app/secret.go:552 ./cli/app/secret.go:592 ./cli/app/secret.go:616 ./cli/app/secret.go:624 ./cli/catalogue/catalogue.go:308 ./cli/recipe/lint.go:130 ./cli/updater/updater.go:543
|
||||
#: ./cli/app/backup.go:297 ./cli/app/backup.go:313 ./cli/app/check.go:89 ./cli/app/cmd.go:276 ./cli/app/cp.go:380 ./cli/app/deploy.go:358 ./cli/app/labels.go:137 ./cli/app/new.go:367 ./cli/app/ps.go:208 ./cli/app/restart.go:156 ./cli/app/restore.go:133 ./cli/app/secret.go:552 ./cli/app/secret.go:592 ./cli/app/secret.go:616 ./cli/app/secret.go:624 ./cli/catalogue/catalogue.go:308 ./cli/recipe/lint.go:130 ./cli/updater/updater.go:543
|
||||
msgid "chaos"
|
||||
msgstr ""
|
||||
|
||||
@ -1855,7 +1872,7 @@ msgstr ""
|
||||
msgid "check for major updates"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:90 ./cli/app/undeploy.go:53 ./cli/app/upgrade.go:415
|
||||
#: ./cli/app/deploy.go:91 ./cli/app/undeploy.go:53 ./cli/app/upgrade.go:436
|
||||
#, c-format
|
||||
msgid "checking whether %s is already deployed"
|
||||
msgstr ""
|
||||
@ -1874,7 +1891,7 @@ msgstr ""
|
||||
msgid "choosing %s as new version for %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/rollback.go:147
|
||||
#: ./cli/app/rollback.go:149
|
||||
#, c-format
|
||||
msgid "choosing %s as version to rollback"
|
||||
msgstr ""
|
||||
@ -1963,7 +1980,7 @@ msgstr ""
|
||||
msgid "compose: %s, "
|
||||
msgstr ""
|
||||
|
||||
#: ./pkg/client/configs.go:35
|
||||
#: ./pkg/client/configs.go:36
|
||||
#, c-format
|
||||
msgid "conf %s: %s"
|
||||
msgstr ""
|
||||
@ -2002,7 +2019,7 @@ msgstr ""
|
||||
msgid "considering %s config(s) for tag update"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/undeploy.go:128 ./cli/server/prune.go:47
|
||||
#: ./cli/app/undeploy.go:131 ./cli/server/prune.go:47
|
||||
#, c-format
|
||||
msgid "containers pruned: %d; space reclaimed: %s"
|
||||
msgstr ""
|
||||
@ -2118,7 +2135,7 @@ msgstr ""
|
||||
msgid "critical errors present in %s config"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/rollback.go:270
|
||||
#: ./cli/app/rollback.go:293
|
||||
#, c-format
|
||||
msgid "current deployment '%s' is not a known version for %s"
|
||||
msgstr ""
|
||||
@ -2128,7 +2145,7 @@ msgstr ""
|
||||
msgid "current: %s, new: %s, correct?"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/backup.go:69 ./cli/app/deploy.go:30 ./cli/recipe/diff.go:15 ./cli/updater/updater.go:497
|
||||
#: ./cli/app/backup.go:69 ./cli/app/deploy.go:31 ./cli/recipe/diff.go:15 ./cli/updater/updater.go:497
|
||||
msgid "d"
|
||||
msgstr ""
|
||||
|
||||
@ -2147,7 +2164,7 @@ msgid "deleted %s successfully from server"
|
||||
msgstr ""
|
||||
|
||||
#. translators: `app deploy` command
|
||||
#: ./cli/app/deploy.go:29
|
||||
#: ./cli/app/deploy.go:30
|
||||
msgid "deploy <domain> [version] [flags]"
|
||||
msgstr ""
|
||||
|
||||
@ -2163,7 +2180,7 @@ msgstr ""
|
||||
msgid "deploy labels stanza present"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:369
|
||||
#: ./cli/app/deploy.go:393
|
||||
msgid "deploy latest recipe version"
|
||||
msgstr ""
|
||||
|
||||
@ -2175,7 +2192,7 @@ msgstr ""
|
||||
msgid "deploy timed out 🟠"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:109
|
||||
#: ./cli/internal/deploy.go:130
|
||||
msgid "deployment cancelled"
|
||||
msgstr ""
|
||||
|
||||
@ -2240,11 +2257,11 @@ msgstr ""
|
||||
msgid "dirty: %v, "
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:361 ./cli/app/rollback.go:342 ./cli/app/upgrade.go:453
|
||||
#: ./cli/app/deploy.go:385 ./cli/app/rollback.go:365 ./cli/app/upgrade.go:474
|
||||
msgid "disable converge logic checks"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:353 ./cli/app/rollback.go:334 ./cli/app/upgrade.go:445
|
||||
#: ./cli/app/deploy.go:377 ./cli/app/rollback.go:357 ./cli/app/upgrade.go:466
|
||||
msgid "disable public DNS checks"
|
||||
msgstr ""
|
||||
|
||||
@ -2383,7 +2400,7 @@ msgstr ""
|
||||
msgid "ensure \"image: ...\" set on all services"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:109
|
||||
#: ./cli/app/deploy.go:110
|
||||
#, c-format
|
||||
msgid "ensure recipe: %s"
|
||||
msgstr ""
|
||||
@ -2464,7 +2481,7 @@ msgstr ""
|
||||
msgid "expected 1 service but found %v: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:343 ./cli/app/remove.go:158 ./cli/app/rollback.go:324 ./cli/app/secret.go:577 ./cli/app/upgrade.go:435 ./cli/app/volume.go:204 ./cli/recipe/fetch.go:20 ./cli/recipe/fetch.go:133
|
||||
#: ./cli/app/deploy.go:367 ./cli/app/remove.go:158 ./cli/app/rollback.go:347 ./cli/app/secret.go:577 ./cli/app/upgrade.go:456 ./cli/app/volume.go:204 ./cli/recipe/fetch.go:20 ./cli/recipe/fetch.go:133
|
||||
msgid "f"
|
||||
msgstr ""
|
||||
|
||||
@ -2660,7 +2677,7 @@ msgstr ""
|
||||
msgid "for %s read env %s with value: %s from docker service"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:342 ./cli/app/remove.go:157 ./cli/app/rollback.go:323 ./cli/app/upgrade.go:434 ./cli/app/volume.go:203 ./cli/recipe/fetch.go:132
|
||||
#: ./cli/app/deploy.go:366 ./cli/app/remove.go:157 ./cli/app/rollback.go:346 ./cli/app/upgrade.go:455 ./cli/app/volume.go:203 ./cli/recipe/fetch.go:132
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
@ -2715,7 +2732,7 @@ msgstr ""
|
||||
msgid "generated secrets %s shown again, please take note of them %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:103
|
||||
#: ./cli/app/deploy.go:104
|
||||
#, c-format
|
||||
msgid "get deploy version: %s"
|
||||
msgstr ""
|
||||
@ -2857,11 +2874,11 @@ msgstr ""
|
||||
msgid "id: %s, "
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/backup.go:300 ./cli/app/backup.go:316 ./cli/app/check.go:92 ./cli/app/cmd.go:279 ./cli/app/cp.go:383 ./cli/app/deploy.go:337 ./cli/app/labels.go:140 ./cli/app/new.go:370 ./cli/app/ps.go:211 ./cli/app/restart.go:159 ./cli/app/restore.go:136 ./cli/app/secret.go:555 ./cli/app/secret.go:595 ./cli/app/secret.go:619 ./cli/app/secret.go:627 ./cli/catalogue/catalogue.go:311 ./cli/recipe/lint.go:133 ./cli/updater/updater.go:546
|
||||
#: ./cli/app/backup.go:300 ./cli/app/backup.go:316 ./cli/app/check.go:92 ./cli/app/cmd.go:279 ./cli/app/cp.go:383 ./cli/app/deploy.go:361 ./cli/app/labels.go:140 ./cli/app/new.go:370 ./cli/app/ps.go:211 ./cli/app/restart.go:159 ./cli/app/restore.go:136 ./cli/app/secret.go:555 ./cli/app/secret.go:595 ./cli/app/secret.go:619 ./cli/app/secret.go:627 ./cli/catalogue/catalogue.go:311 ./cli/recipe/lint.go:133 ./cli/updater/updater.go:546
|
||||
msgid "ignore uncommitted recipes changes"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/undeploy.go:143 ./cli/server/prune.go:68
|
||||
#: ./cli/app/undeploy.go:146 ./cli/server/prune.go:68
|
||||
#, c-format
|
||||
msgid "images pruned: %d; space reclaimed: %s"
|
||||
msgstr ""
|
||||
@ -3253,7 +3270,7 @@ msgstr ""
|
||||
msgid "network %q is declared as external, but it is not in the right scope: %q instead of \"swarm\""
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/undeploy.go:135 ./cli/server/prune.go:54
|
||||
#: ./cli/app/undeploy.go:138 ./cli/server/prune.go:54
|
||||
#, c-format
|
||||
msgid "networks pruned: %d"
|
||||
msgstr ""
|
||||
@ -3316,7 +3333,7 @@ msgstr ""
|
||||
msgid "no app provided"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/rollback.go:122
|
||||
#: ./cli/app/rollback.go:124
|
||||
msgid "no available downgrades"
|
||||
msgstr ""
|
||||
|
||||
@ -3462,11 +3479,11 @@ msgstr ""
|
||||
msgid "no volumes to remove"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:358 ./cli/app/rollback.go:339 ./cli/app/upgrade.go:450
|
||||
#: ./cli/app/deploy.go:382 ./cli/app/rollback.go:362 ./cli/app/upgrade.go:471
|
||||
msgid "no-converge-checks"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:350 ./cli/app/rollback.go:331 ./cli/app/upgrade.go:442
|
||||
#: ./cli/app/deploy.go:374 ./cli/app/rollback.go:354 ./cli/app/upgrade.go:463
|
||||
msgid "no-domain-checks"
|
||||
msgstr ""
|
||||
|
||||
@ -3478,7 +3495,7 @@ msgstr ""
|
||||
msgid "no-tty"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:159
|
||||
#: ./cli/internal/deploy.go:180
|
||||
#, c-format
|
||||
msgid "not enough arguments: %s"
|
||||
msgstr ""
|
||||
@ -3531,7 +3548,7 @@ msgstr ""
|
||||
msgid "only show errors"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/upgrade.go:461
|
||||
#: ./cli/app/upgrade.go:482
|
||||
msgid "only show release notes"
|
||||
msgstr ""
|
||||
|
||||
@ -3539,7 +3556,7 @@ msgstr ""
|
||||
msgid "only tail stderr"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/backup.go:274 ./cli/app/new.go:352 ./cli/app/ps.go:30 ./cli/app/secret.go:545 ./cli/app/secret.go:569 ./cli/app/secret.go:609 ./cli/app/undeploy.go:156 ./cli/catalogue/catalogue.go:285 ./cli/recipe/list.go:108 ./cli/recipe/release.go:668 ./cli/server/prune.go:17
|
||||
#: ./cli/app/backup.go:274 ./cli/app/new.go:352 ./cli/app/ps.go:30 ./cli/app/secret.go:545 ./cli/app/secret.go:569 ./cli/app/secret.go:609 ./cli/app/undeploy.go:159 ./cli/catalogue/catalogue.go:285 ./cli/recipe/list.go:108 ./cli/recipe/release.go:668 ./cli/server/prune.go:17
|
||||
msgid "p"
|
||||
msgstr ""
|
||||
|
||||
@ -3558,22 +3575,22 @@ msgstr ""
|
||||
msgid "parsed following command arguments: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/upgrade.go:318
|
||||
#: ./cli/app/upgrade.go:339
|
||||
#, c-format
|
||||
msgid "parsing chosen upgrade version failed: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/upgrade.go:362
|
||||
#: ./cli/app/upgrade.go:383
|
||||
#, c-format
|
||||
msgid "parsing deployed version failed: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/upgrade.go:323
|
||||
#: ./cli/app/upgrade.go:344
|
||||
#, c-format
|
||||
msgid "parsing deployment version failed: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/upgrade.go:329 ./cli/app/upgrade.go:368
|
||||
#: ./cli/app/upgrade.go:350 ./cli/app/upgrade.go:389
|
||||
#, c-format
|
||||
msgid "parsing recipe version failed: %s"
|
||||
msgstr ""
|
||||
@ -3598,7 +3615,7 @@ msgstr ""
|
||||
msgid "pattern"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:345 ./cli/app/remove.go:160 ./cli/app/rollback.go:326 ./cli/app/upgrade.go:437 ./cli/app/volume.go:206
|
||||
#: ./cli/app/deploy.go:369 ./cli/app/remove.go:160 ./cli/app/rollback.go:349 ./cli/app/upgrade.go:458 ./cli/app/volume.go:206
|
||||
msgid "perform action without further prompt"
|
||||
msgstr ""
|
||||
|
||||
@ -3607,22 +3624,22 @@ msgstr ""
|
||||
msgid "please fix your synced label for %s and re-run this command"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/rollback.go:238
|
||||
#: ./cli/app/rollback.go:261
|
||||
#, c-format
|
||||
msgid "please select a downgrade (version: %s):"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/rollback.go:243
|
||||
#: ./cli/app/rollback.go:266
|
||||
#, c-format
|
||||
msgid "please select a downgrade (version: %s, chaos: %s):"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/upgrade.go:285
|
||||
#: ./cli/app/upgrade.go:306
|
||||
#, c-format
|
||||
msgid "please select an upgrade (version: %s):"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/upgrade.go:290
|
||||
#: ./cli/app/upgrade.go:311
|
||||
#, c-format
|
||||
msgid "please select an upgrade (version: %s, chaos: %s):"
|
||||
msgstr ""
|
||||
@ -3652,7 +3669,7 @@ msgstr ""
|
||||
msgid "processing %s for %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/undeploy.go:155
|
||||
#: ./cli/app/undeploy.go:158
|
||||
msgid "prune"
|
||||
msgstr ""
|
||||
|
||||
@ -3661,7 +3678,7 @@ msgstr ""
|
||||
msgid "prune <server> [flags]"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/undeploy.go:158
|
||||
#: ./cli/app/undeploy.go:161
|
||||
msgid "prune unused containers, networks, and dangling images"
|
||||
msgstr ""
|
||||
|
||||
@ -3690,7 +3707,7 @@ msgstr ""
|
||||
msgid "querying remote servers..."
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/backup.go:306 ./cli/app/list.go:299 ./cli/app/run.go:23 ./cli/app/upgrade.go:459 ./cli/catalogue/catalogue.go:293 ./cli/recipe/recipe.go:12 ./cli/recipe/release.go:636 ./cli/recipe/sync.go:265
|
||||
#: ./cli/app/backup.go:306 ./cli/app/list.go:299 ./cli/app/run.go:23 ./cli/app/upgrade.go:480 ./cli/catalogue/catalogue.go:293 ./cli/recipe/recipe.go:12 ./cli/recipe/release.go:636 ./cli/recipe/sync.go:265
|
||||
msgid "r"
|
||||
msgstr ""
|
||||
|
||||
@ -3798,7 +3815,7 @@ msgstr ""
|
||||
msgid "release <recipe> [version] [flags]"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/upgrade.go:458
|
||||
#: ./cli/app/upgrade.go:479
|
||||
msgid "releasenotes"
|
||||
msgstr ""
|
||||
|
||||
@ -4028,7 +4045,7 @@ msgstr ""
|
||||
msgid "retrieving recipes"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/rollback.go:27 ./cli/recipe/release.go:29
|
||||
#: ./cli/app/rollback.go:29 ./cli/recipe/release.go:29
|
||||
msgid "rl"
|
||||
msgstr ""
|
||||
|
||||
@ -4037,7 +4054,7 @@ msgid "rm"
|
||||
msgstr ""
|
||||
|
||||
#. translators: `app rollback` command
|
||||
#: ./cli/app/rollback.go:26
|
||||
#: ./cli/app/rollback.go:28
|
||||
msgid "rollback <domain> [version] [flags]"
|
||||
msgstr ""
|
||||
|
||||
@ -4066,7 +4083,7 @@ msgstr ""
|
||||
msgid "run command locally"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:229 ./cli/app/upgrade.go:266
|
||||
#: ./cli/app/deploy.go:253 ./cli/app/upgrade.go:287
|
||||
#, c-format
|
||||
msgid "run the following post-deploy commands: %s"
|
||||
msgstr ""
|
||||
@ -4076,7 +4093,7 @@ msgstr ""
|
||||
msgid "running backup %s on %s with exec config %v"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:189
|
||||
#: ./cli/internal/deploy.go:210
|
||||
#, c-format
|
||||
msgid "running command %s %s within the context of %s_%s"
|
||||
msgstr ""
|
||||
@ -4096,7 +4113,7 @@ msgstr ""
|
||||
msgid "running command: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/internal/deploy.go:167
|
||||
#: ./cli/internal/deploy.go:188
|
||||
#, c-format
|
||||
msgid "running post-command '%s %s' in container %s"
|
||||
msgstr ""
|
||||
@ -4138,7 +4155,7 @@ msgstr ""
|
||||
msgid "secret not found: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:284
|
||||
#: ./cli/app/deploy.go:308
|
||||
#, c-format
|
||||
msgid "secret not generated: %s"
|
||||
msgstr ""
|
||||
@ -4316,11 +4333,11 @@ msgstr ""
|
||||
msgid "skipping converge logic checks"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:182
|
||||
#: ./cli/app/deploy.go:183
|
||||
msgid "skipping domain checks"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:179
|
||||
#: ./cli/app/deploy.go:180
|
||||
msgid "skipping domain checks, no DOMAIN=... configured"
|
||||
msgstr ""
|
||||
|
||||
@ -4817,7 +4834,7 @@ msgstr ""
|
||||
msgid "undeploy <domain> [flags]"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/undeploy.go:104
|
||||
#: ./cli/app/undeploy.go:107
|
||||
msgid "undeploy succeeded 🟢"
|
||||
msgstr ""
|
||||
|
||||
@ -4845,7 +4862,7 @@ msgstr ""
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/rollback.go:144
|
||||
#: ./cli/app/rollback.go:146
|
||||
msgid "unknown deployed version, unable to downgrade"
|
||||
msgstr ""
|
||||
|
||||
@ -5012,32 +5029,32 @@ msgstr ""
|
||||
msgid "version wiped from %s.env"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:311
|
||||
#: ./cli/app/deploy.go:335
|
||||
#, c-format
|
||||
msgid "version: can not redeploy chaos version %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:298
|
||||
#: ./cli/app/deploy.go:322
|
||||
#, c-format
|
||||
msgid "version: taking chaos version: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:319
|
||||
#: ./cli/app/deploy.go:343
|
||||
#, c-format
|
||||
msgid "version: taking deployed version: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:324
|
||||
#: ./cli/app/deploy.go:348
|
||||
#, c-format
|
||||
msgid "version: taking new recipe version: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:313
|
||||
#: ./cli/app/deploy.go:337
|
||||
#, c-format
|
||||
msgid "version: taking version from .env file: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:304
|
||||
#: ./cli/app/deploy.go:328
|
||||
#, c-format
|
||||
msgid "version: taking version from cli arg: %s"
|
||||
msgstr ""
|
||||
@ -5158,7 +5175,7 @@ msgstr ""
|
||||
msgid "writer: %v, "
|
||||
msgstr ""
|
||||
|
||||
#: ./cli/app/deploy.go:236 ./cli/app/new.go:212 ./cli/app/rollback.go:227 ./cli/app/undeploy.go:107 ./cli/app/upgrade.go:274
|
||||
#: ./cli/app/deploy.go:260 ./cli/app/new.go:212 ./cli/app/rollback.go:250 ./cli/app/undeploy.go:110 ./cli/app/upgrade.go:295
|
||||
#, c-format
|
||||
msgid "writing recipe version failed: %s"
|
||||
msgstr ""
|
||||
|
@ -280,7 +280,7 @@ type secretStatus struct {
|
||||
type secretStatuses []secretStatus
|
||||
|
||||
// PollSecretsStatus checks status of secrets by comparing the local recipe
|
||||
// config and deploymend server state.
|
||||
// config and deployed server state.
|
||||
func PollSecretsStatus(cl *dockerClient.Client, app appPkg.App) (secretStatuses, error) {
|
||||
var secStats secretStatuses
|
||||
|
||||
@ -306,7 +306,7 @@ func PollSecretsStatus(cl *dockerClient.Client, app appPkg.App) (secretStatuses,
|
||||
|
||||
remoteSecretNames := make(map[string]bool)
|
||||
for _, cont := range secretList {
|
||||
remoteSecretNames[cont.Spec.Annotations.Name] = true
|
||||
remoteSecretNames[cont.Spec.Name] = true
|
||||
}
|
||||
|
||||
for secretName, val := range secretsConfig {
|
||||
|
Reference in New Issue
Block a user