diff --git a/.golangci.yml b/.golangci.yml index ddfd11dd8..d6794221e 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -53,6 +53,9 @@ linters-settings: enabled: true whitespace: enabled: true + govet: + disable: + - printf linters: disable-all: true diff --git a/go.mod b/go.mod index 3d3741d0c..ca9046e17 100644 --- a/go.mod +++ b/go.mod @@ -30,9 +30,9 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.7.0 github.com/subosito/gotenv v1.2.0 // indirect - golang.org/x/sys v0.12.0 // indirect - golang.org/x/term v0.10.0 - golang.org/x/text v0.3.2 // indirect + golang.org/x/sys v0.22.0 // indirect + golang.org/x/term v0.22.0 + golang.org/x/text v0.16.0 // indirect gopkg.in/ini.v1 v1.51.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 gopkg.in/yaml.v2 v2.4.0 diff --git a/go.sum b/go.sum index 652454822..d4a59e229 100644 --- a/go.sum +++ b/go.sum @@ -270,14 +270,15 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c= -golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= +golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/locale/mgradm/de.po b/locale/mgradm/de.po index 4bb72343f..faf664931 100644 --- a/locale/mgradm/de.po +++ b/locale/mgradm/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: 2024-07-18 11:46+0000\n" "Last-Translator: Ettore Atalan \n" "Language-Team: German \n" @@ -38,21 +38,21 @@ msgstr "Serververwaltung:" msgid "Administrator tools:" msgstr "Administratorwerkzeuge:" -#: mgradm/cmd/cmd.go:67 +#: mgradm/cmd/cmd.go:66 #, javascript-format msgid "Welcome to %s" msgstr "Willkommen bei %s" -#: mgradm/cmd/cmd.go:68 +#: mgradm/cmd/cmd.go:67 #, javascript-format msgid "Executing command: %s" msgstr "Befehl ausführen: %s" -#: mgradm/cmd/cmd.go:72 +#: mgradm/cmd/cmd.go:71 msgid "configuration file path" msgstr "Konfigurationsdateipfad" -#: mgradm/cmd/cmd.go:73 +#: mgradm/cmd/cmd.go:72 msgid "application log level" msgstr "" @@ -66,66 +66,66 @@ msgstr "" msgid "unable to remove temporary directory, leaving %s intact" msgstr "" -#: mgradm/cmd/distro/cp.go:48 +#: mgradm/cmd/distro/cp.go:51 msgid "unable to login and register the distribution. Manual distro registration is required" msgstr "" -#: mgradm/cmd/distro/cp.go:59 +#: mgradm/cmd/distro/cp.go:63 msgid "unable to register the distribution. Manual distro registration is required" msgstr "" -#: mgradm/cmd/distro/cp.go:61 +#: mgradm/cmd/distro/cp.go:65 #, javascript-format msgid "Distribution %s successfully registered" msgstr "Distribution %s erfolgreich registriert" -#: mgradm/cmd/distro/cp.go:70 mgradm/cmd/support/sql/sql.go:34 +#: mgradm/cmd/distro/cp.go:74 mgradm/cmd/support/sql/sql.go:34 #, javascript-format msgid "source %s does not exists" msgstr "Quelle %s existiert nicht" -#: mgradm/cmd/distro/cp.go:89 +#: mgradm/cmd/distro/cp.go:93 #, javascript-format msgid "unable to mount ISO image: %s" msgstr "" -#: mgradm/cmd/distro/cp.go:98 +#: mgradm/cmd/distro/cp.go:102 msgid "Missing TreeLabel. Please specify distribution name" msgstr "" -#: mgradm/cmd/distro/cp.go:107 +#: mgradm/cmd/distro/cp.go:111 #, javascript-format msgid "distribution with same name already exists: %s" msgstr "" -#: mgradm/cmd/distro/cp.go:111 +#: mgradm/cmd/distro/cp.go:115 #, javascript-format msgid "cannot create %s path in container" msgstr "" -#: mgradm/cmd/distro/cp.go:114 +#: mgradm/cmd/distro/cp.go:118 #, javascript-format msgid "Copying distribution %s" msgstr "Distribution %s wird kopiert" -#: mgradm/cmd/distro/cp.go:116 mgradm/shared/podman/podman.go:120 -#: mgradm/shared/podman/podman.go:123 mgradm/shared/podman/podman.go:126 -#: mgradm/shared/podman/podman.go:134 +#: mgradm/cmd/distro/cp.go:120 mgradm/shared/podman/podman.go:122 +#: mgradm/shared/podman/podman.go:125 mgradm/shared/podman/podman.go:128 +#: mgradm/shared/podman/podman.go:136 #, javascript-format msgid "cannot copy %s" msgstr "" -#: mgradm/cmd/distro/cp.go:118 +#: mgradm/cmd/distro/cp.go:122 #, javascript-format msgid "Distribution has been copied into %s" msgstr "Distribution wurde in %s kopiert" -#: mgradm/cmd/distro/cp.go:172 +#: mgradm/cmd/distro/cp.go:176 #, javascript-format msgid "Auto-detected distribution %s" msgstr "Automatisch erkannte Distribution %s" -#: mgradm/cmd/distro/cp.go:183 +#: mgradm/cmd/distro/cp.go:187 msgid "Continue by registering autoinstallation distribution" msgstr "" @@ -230,13 +230,13 @@ msgstr "" msgid "failed to create keyring %s" msgstr "" -#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:154 -#: mgradm/cmd/support/config/extractor.go:29 +#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:153 +#: mgradm/cmd/support/config/extractor.go:30 #: mgradm/shared/kubernetes/certificates.go:26 #: mgradm/shared/kubernetes/certificates.go:64 -#: mgradm/shared/kubernetes/install.go:175 mgradm/shared/podman/podman.go:222 -#: mgradm/shared/podman/podman.go:271 mgradm/shared/podman/podman.go:298 -#: mgradm/shared/podman/podman.go:414 mgradm/shared/utils/exec.go:115 +#: mgradm/shared/kubernetes/install.go:180 mgradm/shared/podman/podman.go:236 +#: mgradm/shared/podman/podman.go:285 mgradm/shared/podman/podman.go:312 +#: mgradm/shared/podman/podman.go:428 mgradm/shared/utils/exec.go:119 msgid "failed to create temporary directory" msgstr "" @@ -264,7 +264,7 @@ msgid "failed to copy %[1]s to %[2]s" msgstr "" #: mgradm/cmd/gpg/add/gpg.go:120 mgradm/cmd/gpg/add/gpg.go:127 -#: mgradm/cmd/support/sql/sql.go:187 mgradm/cmd/uninstall/kubernetes.go:65 +#: mgradm/cmd/support/sql/sql.go:191 mgradm/cmd/uninstall/kubernetes.go:65 #: mgradm/cmd/uninstall/kubernetes.go:70 #, javascript-format msgid "Running %s" @@ -298,44 +298,44 @@ msgstr "Registrieren" msgid "Register this peripheral server to Hub API" msgstr "" -#: mgradm/cmd/hub/register/register.go:79 +#: mgradm/cmd/hub/register/register.go:77 #, javascript-format msgid "invalid line format: %s" msgstr "ungültiges Zeilenformat: %s" -#: mgradm/cmd/hub/register/register.go:93 +#: mgradm/cmd/hub/register/register.go:91 #, javascript-format msgid "mandatory %s entry missing in config" msgstr "" -#: mgradm/cmd/hub/register/register.go:96 +#: mgradm/cmd/hub/register/register.go:94 #, javascript-format msgid "Hub API server: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:99 +#: mgradm/cmd/hub/register/register.go:100 msgid "failed to connect to the Hub server" msgstr "" -#: mgradm/cmd/hub/register/register.go:107 +#: mgradm/cmd/hub/register/register.go:109 msgid "failed to register this peripheral server" msgstr "" -#: mgradm/cmd/hub/register/register.go:110 +#: mgradm/cmd/hub/register/register.go:112 #, javascript-format msgid "failed to register this peripheral server: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:124 +#: mgradm/cmd/hub/register/register.go:126 msgid "failed to update peripheral server info" msgstr "" -#: mgradm/cmd/hub/register/register.go:128 +#: mgradm/cmd/hub/register/register.go:130 #, javascript-format msgid "failed to update peripheral server info: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:130 +#: mgradm/cmd/hub/register/register.go:132 msgid "Registered peripheral server: %[1]s, ID: %[2]d" msgstr "" @@ -347,20 +347,28 @@ msgstr "" msgid "Extract information from image and deployment" msgstr "" -#: mgradm/cmd/inspect/kubernetes.go:32 mgradm/cmd/inspect/podman.go:29 +#: mgradm/cmd/inspect/kubernetes.go:33 mgradm/cmd/inspect/podman.go:30 msgid "failed to determine image" msgstr "" -#: mgradm/cmd/inspect/kubernetes.go:41 mgradm/cmd/inspect/podman.go:38 +#: mgradm/cmd/inspect/kubernetes.go:42 mgradm/cmd/inspect/podman.go:39 #, javascript-format msgid "failed to find the image of the currently running server container: %s" msgstr "" -#: mgradm/cmd/inspect/kubernetes.go:47 mgradm/cmd/inspect/podman.go:43 +#: mgradm/cmd/inspect/kubernetes.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:44 +#: mgradm/cmd/restart/kubernetes.go:27 mgradm/cmd/start/kubernetes.go:27 +#: mgradm/cmd/stop/kubernetes.go:27 mgradm/shared/kubernetes/install.go:148 +#: mgradm/shared/utils/exec.go:41 +msgid "failed retrieving namespace" +msgstr "" + +#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:44 msgid "inspect command failed" msgstr "" -#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:47 +#: mgradm/cmd/inspect/kubernetes.go:57 mgradm/cmd/inspect/podman.go:48 msgid "cannot print inspect result" msgstr "" @@ -368,11 +376,6 @@ msgstr "" msgid "Install a new server" msgstr "" -#: mgradm/cmd/install/install.go:23 mgradm/cmd/migrate/migrate.go:23 -#: mgradm/cmd/upgrade/upgrade.go:22 -msgid "specify a private registry" -msgstr "" - #: mgradm/cmd/install/kubernetes/kubernetes.go:27 msgid "Install a new server on a kubernetes cluster" msgstr "" @@ -398,7 +401,7 @@ msgid "install %s before running this command" msgstr "" #: mgradm/cmd/install/kubernetes/utils.go:67 -#: mgradm/cmd/migrate/kubernetes/utils.go:208 +#: mgradm/cmd/migrate/kubernetes/utils.go:212 msgid "cannot deploy certificate" msgstr "" @@ -406,12 +409,12 @@ msgstr "" msgid "cannot deploy uyuni" msgstr "" -#: mgradm/cmd/install/kubernetes/utils.go:85 -#: mgradm/cmd/install/podman/utils.go:109 -msgid "Failed to stop service: %v" +#: mgradm/cmd/install/kubernetes/utils.go:86 +#: mgradm/cmd/install/kubernetes/utils.go:89 +msgid "failed to stop service" msgstr "" -#: mgradm/cmd/install/kubernetes/utils.go:94 +#: mgradm/cmd/install/kubernetes/utils.go:98 msgid "error storing the SSL CA certificate in database" msgstr "" @@ -428,16 +431,16 @@ msgid "" "NOTE: installing on a remote podman is not supported yet!\n" msgstr "" -#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:392 +#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:406 msgid "Waiting for the server to start…" msgstr "" -#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:55 +#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:71 msgid "cannot enable service" msgstr "" #: mgradm/cmd/install/podman/utils.go:54 mgradm/cmd/migrate/podman/utils.go:47 -#: mgradm/cmd/support/ptf/podman/utils.go:40 +#: mgradm/cmd/support/ptf/podman/utils.go:43 #: mgradm/cmd/upgrade/podman/utils.go:24 msgid "failed to login to registry.suse.com" msgstr "" @@ -456,11 +459,11 @@ msgid "Setting up the server with the FQDN '%s'" msgstr "" #: mgradm/cmd/install/podman/utils.go:75 -#: mgradm/cmd/migrate/kubernetes/utils.go:45 mgradm/shared/coco/coco.go:56 -#: mgradm/shared/hub/xmlrpcapi.go:30 mgradm/shared/kubernetes/install.go:52 -#: mgradm/shared/kubernetes/install.go:148 mgradm/shared/kubernetes/k3s.go:47 -#: mgradm/shared/kubernetes/k3s.go:52 mgradm/shared/podman/podman.go:236 -#: mgradm/shared/podman/podman.go:241 mgradm/shared/podman/podman.go:332 +#: mgradm/cmd/migrate/kubernetes/utils.go:49 mgradm/shared/coco/coco.go:68 +#: mgradm/shared/hub/xmlrpcapi.go:43 mgradm/shared/kubernetes/install.go:52 +#: mgradm/shared/kubernetes/install.go:153 mgradm/shared/kubernetes/k3s.go:55 +#: mgradm/shared/kubernetes/k3s.go:60 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/podman/podman.go:255 mgradm/shared/podman/podman.go:346 msgid "failed to compute image URL" msgstr "" @@ -472,6 +475,10 @@ msgstr "" msgid "Run setup command in the container" msgstr "" +#: mgradm/cmd/install/podman/utils.go:109 +msgid "Failed to stop service: %v" +msgstr "" + #: mgradm/cmd/install/podman/utils.go:118 msgid "failed to extract payg data" msgstr "" @@ -481,191 +488,179 @@ msgid "cannot update SSL certificate" msgstr "" #: mgradm/cmd/install/podman/utils.go:146 -#: mgradm/cmd/migrate/podman/utils.go:136 +#: mgradm/cmd/migrate/podman/utils.go:137 msgid "cannot enable podman socket" msgstr "" -#: mgradm/cmd/install/shared/flags.go:79 +#: mgradm/cmd/install/shared/flags.go:67 msgid "Can only contain letters, digits . _ and -" msgstr "" -#: mgradm/cmd/install/shared/flags.go:87 +#: mgradm/cmd/install/shared/flags.go:75 msgid "Not a valid email address" msgstr "" -#: mgradm/cmd/install/shared/flags.go:130 +#: mgradm/cmd/install/shared/flags.go:124 msgid "Time zone to set on the server. Defaults to the host timezone" msgstr "" -#: mgradm/cmd/install/shared/flags.go:131 +#: mgradm/cmd/install/shared/flags.go:125 msgid "Administrator e-mail" msgstr "" -#: mgradm/cmd/install/shared/flags.go:132 +#: mgradm/cmd/install/shared/flags.go:126 msgid "E-Mail sending the notifications" msgstr "" -#: mgradm/cmd/install/shared/flags.go:133 +#: mgradm/cmd/install/shared/flags.go:127 msgid "InterServerSync v1 parent FQDN" msgstr "" -#: mgradm/cmd/install/shared/flags.go:135 +#: mgradm/cmd/install/shared/flags.go:129 msgid "Database user" msgstr "" -#: mgradm/cmd/install/shared/flags.go:136 +#: mgradm/cmd/install/shared/flags.go:130 msgid "Database password. Randomly generated by default" msgstr "" -#: mgradm/cmd/install/shared/flags.go:137 +#: mgradm/cmd/install/shared/flags.go:131 msgid "Database name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:138 +#: mgradm/cmd/install/shared/flags.go:132 msgid "Database host" msgstr "" -#: mgradm/cmd/install/shared/flags.go:139 +#: mgradm/cmd/install/shared/flags.go:133 msgid "Database port" msgstr "" -#: mgradm/cmd/install/shared/flags.go:140 +#: mgradm/cmd/install/shared/flags.go:134 msgid "Database protocol" msgstr "" -#: mgradm/cmd/install/shared/flags.go:141 +#: mgradm/cmd/install/shared/flags.go:135 msgid "External database admin user name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:142 +#: mgradm/cmd/install/shared/flags.go:136 msgid "External database admin password" msgstr "" -#: mgradm/cmd/install/shared/flags.go:143 +#: mgradm/cmd/install/shared/flags.go:137 msgid "External database provider. Possible values 'aws'" msgstr "" -#: mgradm/cmd/install/shared/flags.go:145 +#: mgradm/cmd/install/shared/flags.go:139 msgid "Database Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:156 +#: mgradm/cmd/install/shared/flags.go:150 msgid "Enable TFTP" msgstr "" -#: mgradm/cmd/install/shared/flags.go:157 +#: mgradm/cmd/install/shared/flags.go:151 msgid "Report database name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:158 +#: mgradm/cmd/install/shared/flags.go:152 msgid "Report database host" msgstr "" -#: mgradm/cmd/install/shared/flags.go:159 +#: mgradm/cmd/install/shared/flags.go:153 msgid "Report database port" msgstr "" -#: mgradm/cmd/install/shared/flags.go:160 +#: mgradm/cmd/install/shared/flags.go:154 msgid "Report Database username" msgstr "" -#: mgradm/cmd/install/shared/flags.go:161 +#: mgradm/cmd/install/shared/flags.go:155 msgid "Report database password. Randomly generated by default" msgstr "" -#: mgradm/cmd/install/shared/flags.go:163 +#: mgradm/cmd/install/shared/flags.go:157 msgid "Report DB Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:171 +#: mgradm/cmd/install/shared/flags.go:165 msgid "SSL certificate cnames separated by commas" msgstr "" -#: mgradm/cmd/install/shared/flags.go:172 +#: mgradm/cmd/install/shared/flags.go:166 msgid "SSL certificate country" msgstr "" -#: mgradm/cmd/install/shared/flags.go:173 +#: mgradm/cmd/install/shared/flags.go:167 msgid "SSL certificate state" msgstr "" -#: mgradm/cmd/install/shared/flags.go:174 +#: mgradm/cmd/install/shared/flags.go:168 msgid "SSL certificate city" msgstr "" -#: mgradm/cmd/install/shared/flags.go:175 +#: mgradm/cmd/install/shared/flags.go:169 msgid "SSL certificate organization" msgstr "" -#: mgradm/cmd/install/shared/flags.go:176 +#: mgradm/cmd/install/shared/flags.go:170 msgid "SSL certificate organization unit" msgstr "" -#: mgradm/cmd/install/shared/flags.go:177 +#: mgradm/cmd/install/shared/flags.go:171 msgid "Password for the CA key to generate" msgstr "" -#: mgradm/cmd/install/shared/flags.go:179 +#: mgradm/cmd/install/shared/flags.go:173 msgid "SSL Certificate Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:189 +#: mgradm/cmd/install/shared/flags.go:183 msgid "Intermediate CA certificate path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:190 +#: mgradm/cmd/install/shared/flags.go:184 msgid "Root CA certificate path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:191 +#: mgradm/cmd/install/shared/flags.go:185 msgid "Server certificate path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:192 +#: mgradm/cmd/install/shared/flags.go:186 msgid "Server key path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:194 +#: mgradm/cmd/install/shared/flags.go:188 msgid "3rd Party SSL Certificate Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:200 -msgid "SUSE Customer Center username" -msgstr "" - -#: mgradm/cmd/install/shared/flags.go:201 -msgid "SUSE Customer Center password" -msgstr "" - -#: mgradm/cmd/install/shared/flags.go:203 -msgid "SUSE Customer Center Flags" -msgstr "" - -#: mgradm/cmd/install/shared/flags.go:207 +#: mgradm/cmd/install/shared/flags.go:196 msgid "Enable tomcat and taskomatic remote debugging" msgstr "" -#: mgradm/cmd/install/shared/flags.go:214 +#: mgradm/cmd/install/shared/flags.go:203 msgid "Administrator user name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:215 +#: mgradm/cmd/install/shared/flags.go:204 msgid "Administrator password" msgstr "" -#: mgradm/cmd/install/shared/flags.go:216 +#: mgradm/cmd/install/shared/flags.go:205 msgid "First name of the administrator" msgstr "" -#: mgradm/cmd/install/shared/flags.go:217 +#: mgradm/cmd/install/shared/flags.go:206 msgid "Last name of the administrator" msgstr "" -#: mgradm/cmd/install/shared/flags.go:218 +#: mgradm/cmd/install/shared/flags.go:207 msgid "First organization name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:220 +#: mgradm/cmd/install/shared/flags.go:209 msgid "First User Flags" msgstr "" @@ -681,30 +676,34 @@ msgstr "" msgid "error running the setup script" msgstr "" -#: mgradm/cmd/install/shared/shared.go:49 -#: mgradm/cmd/migrate/kubernetes/utils.go:182 -#: mgradm/cmd/migrate/podman/utils.go:146 +#: mgradm/cmd/install/shared/shared.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:186 +#: mgradm/cmd/migrate/podman/utils.go:147 msgid "failed to add SSL CA certificate to host trusted certificates" msgstr "" -#: mgradm/cmd/install/shared/shared.go:65 -msgid "Server organization already exists, reusing" +#: mgradm/cmd/install/shared/shared.go:64 +msgid "unable to prepare API client" msgstr "" #: mgradm/cmd/install/shared/shared.go:68 +msgid "Server organization already exists, reusing" +msgstr "" + +#: mgradm/cmd/install/shared/shared.go:71 #, javascript-format msgid "Administration user already exists, but organization %s could not be found" msgstr "" -#: mgradm/cmd/install/shared/shared.go:84 +#: mgradm/cmd/install/shared/shared.go:83 msgid "Administration user already exists, but provided credentials are not valid" msgstr "" -#: mgradm/cmd/install/shared/shared.go:92 +#: mgradm/cmd/install/shared/shared.go:91 msgid "Server set up, login on https://%[1]s with %[2]s user" msgstr "" -#: mgradm/cmd/install/shared/shared.go:164 +#: mgradm/cmd/install/shared/shared.go:163 msgid "Failed to generate setup script" msgstr "" @@ -734,79 +733,79 @@ msgstr "" msgid "SSL CA generated private key password" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:60 mgradm/shared/utils/exec.go:128 +#: mgradm/cmd/migrate/kubernetes/utils.go:64 mgradm/shared/utils/exec.go:132 msgid "failed to generate migration script" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:84 +#: mgradm/cmd/migrate/kubernetes/utils.go:88 msgid "cannot run deploy" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:91 -#: mgradm/shared/kubernetes/install.go:182 +#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/shared/kubernetes/install.go:187 msgid "cannot find node running uyuni" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/cmd/migrate/kubernetes/utils.go:99 msgid "cannot run migration" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:100 +#: mgradm/cmd/migrate/kubernetes/utils.go:104 msgid "cannot read data from container" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:106 -#: mgradm/cmd/migrate/kubernetes/utils.go:149 +#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:153 msgid "cannot set replicas to 0" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:114 #: mgradm/cmd/migrate/podman/utils.go:67 msgid "Migration prepared. Run the 'migrate' command without '--prepare' to finish the migration." msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:123 +#: mgradm/cmd/migrate/kubernetes/utils.go:127 msgid "cannot setup SSL" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:131 +#: mgradm/cmd/migrate/kubernetes/utils.go:135 #, javascript-format msgid "The mirror data will not be migrated, ensure it is available at %s" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:140 +#: mgradm/cmd/migrate/kubernetes/utils.go:144 #, javascript-format msgid "cannot upgrade helm chart to image %s using new SSL certificate" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:144 +#: mgradm/cmd/migrate/kubernetes/utils.go:148 #, javascript-format msgid "cannot wait for deployment of %s" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:159 +#: mgradm/cmd/migrate/kubernetes/utils.go:163 #: mgradm/cmd/migrate/podman/utils.go:78 -#: mgradm/shared/kubernetes/install.go:203 mgradm/shared/podman/podman.go:366 +#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:380 msgid "cannot run PostgreSQL version upgrade script" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:165 +#: mgradm/cmd/migrate/kubernetes/utils.go:169 msgid "cannot run PostgreSQL finalisation script" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:169 +#: mgradm/cmd/migrate/kubernetes/utils.go:173 #: mgradm/cmd/migrate/podman/utils.go:88 -#: mgradm/shared/kubernetes/install.go:218 mgradm/shared/podman/podman.go:380 +#: mgradm/shared/kubernetes/install.go:223 mgradm/shared/podman/podman.go:394 msgid "cannot run post upgrade script" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:174 -#: mgradm/shared/kubernetes/install.go:223 +#: mgradm/cmd/migrate/kubernetes/utils.go:178 +#: mgradm/shared/kubernetes/install.go:228 #, javascript-format msgid "cannot upgrade to image %s" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:199 +#: mgradm/cmd/migrate/kubernetes/utils.go:203 msgid "failed to strip text part from CA certificate" msgstr "" @@ -814,11 +813,11 @@ msgstr "" msgid "Migrate a remote server to containers" msgstr "" -#: mgradm/cmd/migrate/podman/podman.go:25 +#: mgradm/cmd/migrate/podman/podman.go:26 msgid "Migrate a remote server to containers running on podman" msgstr "" -#: mgradm/cmd/migrate/podman/podman.go:26 +#: mgradm/cmd/migrate/podman/podman.go:27 msgid "" "Migrate a remote server to containers running on podman\n" "\n" @@ -840,7 +839,7 @@ msgid "cannot run migration script" msgstr "" #: mgradm/cmd/migrate/podman/utils.go:84 -#: mgradm/shared/kubernetes/install.go:214 mgradm/shared/podman/podman.go:376 +#: mgradm/shared/kubernetes/install.go:219 mgradm/shared/podman/podman.go:390 msgid "cannot run PostgreSQL finalize script" msgstr "" @@ -848,19 +847,19 @@ msgstr "" msgid "cannot generate systemd service file" msgstr "" -#: mgradm/cmd/migrate/podman/utils.go:108 +#: mgradm/cmd/migrate/podman/utils.go:109 msgid "cannot setup confidential computing attestation service" msgstr "" -#: mgradm/cmd/migrate/podman/utils.go:126 +#: mgradm/cmd/migrate/podman/utils.go:120 msgid "Enabling Hub XML-RPC API since it is enabled on the migrated server" msgstr "" -#: mgradm/cmd/migrate/podman/utils.go:133 +#: mgradm/cmd/migrate/podman/utils.go:134 msgid "Server migrated" msgstr "" -#: mgradm/cmd/migrate/shared/flags.go:28 +#: mgradm/cmd/migrate/shared/flags.go:27 msgid "Prepare the mgration - copy the data without stopping the source server." msgstr "" @@ -965,11 +964,11 @@ msgstr "" msgid "path where to extract the data" msgstr "" -#: mgradm/cmd/support/ptf/podman/podman.go:27 +#: mgradm/cmd/support/ptf/podman/podman.go:28 msgid "Install a PTF or Test package on podman" msgstr "" -#: mgradm/cmd/support/ptf/podman/podman.go:28 +#: mgradm/cmd/support/ptf/podman/podman.go:29 msgid "" "Install a PTF or Test package on podman\n" "\n" @@ -979,19 +978,19 @@ msgid "" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:49 +#: mgradm/cmd/support/ptf/podman/utils.go:52 msgid "ptf and test flags cannot be set simultaneously " msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:52 +#: mgradm/cmd/support/ptf/podman/utils.go:55 msgid "ptf and test flags cannot be empty simultaneously " msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:55 +#: mgradm/cmd/support/ptf/podman/utils.go:58 msgid "user flag cannot be empty" msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:70 +#: mgradm/cmd/support/ptf/podman/utils.go:75 #, javascript-format msgid "The image computed is: %s" msgstr "" @@ -1013,25 +1012,25 @@ msgstr "" msgid "output file %s exists, use -f to force overwrite" msgstr "" -#: mgradm/cmd/support/sql/sql.go:111 +#: mgradm/cmd/support/sql/sql.go:115 msgid "interactive mode cannot work with a file output" msgstr "" -#: mgradm/cmd/support/sql/sql.go:141 +#: mgradm/cmd/support/sql/sql.go:145 #, javascript-format msgid "unknown or unsupported database %s" msgstr "" -#: mgradm/cmd/support/sql/sql.go:154 +#: mgradm/cmd/support/sql/sql.go:158 msgid "Command failed" msgstr "" -#: mgradm/cmd/support/sql/sql.go:159 +#: mgradm/cmd/support/sql/sql.go:163 #, javascript-format msgid "Result is stored in the file '%s'" msgstr "" -#: mgradm/cmd/support/sql/sql.go:173 +#: mgradm/cmd/support/sql/sql.go:177 msgid "cannot write" msgstr "" @@ -1100,11 +1099,11 @@ msgstr "" msgid "Failed deleting secret" msgstr "" -#: mgradm/cmd/uninstall/kubernetes.go:108 +#: mgradm/cmd/uninstall/kubernetes.go:110 msgid "Nothing has been uninstalled, run with --force to actually uninstall" msgstr "" -#: mgradm/cmd/uninstall/kubernetes.go:110 +#: mgradm/cmd/uninstall/kubernetes.go:112 msgid "Volumes have not been touched. Depending on the storage class used, they may not have been removed" msgstr "" @@ -1153,62 +1152,50 @@ msgstr "" msgid "Upgrade a local server on kubernetes" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:27 +#: mgradm/cmd/upgrade/podman/podman.go:28 msgid "Upgrade a local server on podman" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:39 +#: mgradm/cmd/upgrade/podman/podman.go:42 msgid "List available tags for an image" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:46 +#: mgradm/cmd/upgrade/podman/podman.go:49 msgid "failed to unmarshall configuration" msgstr "" -#: mgradm/cmd/upgrade/shared/flags.go:31 mgradm/shared/utils/cmd_utils.go:130 -msgid "Confidential Computing Flags" -msgstr "" - -#: mgradm/cmd/upgrade/shared/flags.go:33 mgradm/shared/utils/cmd_utils.go:131 -msgid "confidential computing attestation" -msgstr "" - -#: mgradm/cmd/upgrade/shared/flags.go:34 mgradm/cmd/upgrade/shared/flags.go:35 -#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:140 -msgid "Hub XML-RPC API" -msgstr "" - #: mgradm/cmd/upgrade/upgrade.go:19 mgradm/cmd/upgrade/upgrade.go:20 msgid "Upgrade local server" msgstr "" -#: mgradm/shared/coco/coco.go:70 +#: mgradm/shared/coco/coco.go:84 msgid "Setting up confidential computing attestation service" msgstr "" -#: mgradm/shared/coco/coco.go:74 mgradm/shared/hub/xmlrpcapi.go:86 -#: mgradm/shared/podman/podman.go:74 +#: mgradm/shared/coco/coco.go:88 mgradm/shared/hub/xmlrpcapi.go:102 +#: mgradm/shared/podman/podman.go:76 msgid "failed to generate systemd service unit file" msgstr "" -#: mgradm/shared/coco/coco.go:85 mgradm/shared/hub/xmlrpcapi.go:91 -#: mgradm/shared/podman/podman.go:80 +#: mgradm/shared/coco/coco.go:99 mgradm/shared/hub/xmlrpcapi.go:107 +#: mgradm/shared/podman/podman.go:82 msgid "cannot generate systemd conf file" msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:27 -msgid "Setting Hub XML-RPC API service." +#: mgradm/shared/hub/xmlrpcapi.go:35 +#, javascript-format +msgid "No changes requested for hub. Keep %d replicas." msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:39 +#: mgradm/shared/hub/xmlrpcapi.go:52 msgid "cannot generate systemd service" msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:49 +#: mgradm/shared/hub/xmlrpcapi.go:65 msgid "Multiple Hub XML-RPC container replicas are not currently supported, setting up only one." msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:58 +#: mgradm/shared/hub/xmlrpcapi.go:74 msgid "Not starting Hub XML-RPC API service" msgstr "" @@ -1294,129 +1281,139 @@ msgstr "" msgid "Installing Uyuni" msgstr "" -#: mgradm/shared/kubernetes/install.go:153 +#: mgradm/shared/kubernetes/install.go:158 msgid "cannot inspect kubernetes values" msgstr "" -#: mgradm/shared/kubernetes/install.go:163 +#: mgradm/shared/kubernetes/install.go:168 msgid "inspect function did non return fqdn value" msgstr "" -#: mgradm/shared/kubernetes/install.go:187 +#: mgradm/shared/kubernetes/install.go:192 msgid "cannot set replica to 0" msgstr "" -#: mgradm/shared/kubernetes/install.go:197 mgradm/shared/kubernetes/k3s.go:39 -#: mgradm/shared/podman/podman.go:217 +#: mgradm/shared/kubernetes/install.go:202 mgradm/shared/kubernetes/k3s.go:47 +#: mgradm/shared/podman/podman.go:231 msgid "Previous PostgreSQL is %[1]s, new one is %[2]s. Performing a DB version upgrade…" msgstr "" -#: mgradm/shared/kubernetes/install.go:206 mgradm/shared/podman/podman.go:369 +#: mgradm/shared/kubernetes/install.go:211 mgradm/shared/podman/podman.go:383 #, javascript-format msgid "Upgrading to %s without changing PostgreSQL version" msgstr "" -#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:371 +#: mgradm/shared/kubernetes/install.go:213 mgradm/shared/podman/podman.go:385 msgid "trying to downgrade PostgreSQL from %[1]s to %[2]s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:36 mgradm/shared/kubernetes/k3s.go:106 -#: mgradm/shared/kubernetes/k3s.go:151 +#: mgradm/shared/kubernetes/k3s.go:44 mgradm/shared/kubernetes/k3s.go:114 +#: mgradm/shared/kubernetes/k3s.go:159 #, javascript-format msgid "failed to create temporary directory: %s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:56 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/podman/podman.go:264 #, javascript-format msgid "Using database upgrade image %s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:59 mgradm/shared/podman/podman.go:254 +#: mgradm/shared/kubernetes/k3s.go:67 mgradm/shared/podman/podman.go:268 msgid "cannot generate PostgreSQL database version upgrade script" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/kubernetes/k3s.go:115 -#: mgradm/shared/kubernetes/k3s.go:161 +#: mgradm/shared/kubernetes/k3s.go:72 mgradm/shared/kubernetes/k3s.go:123 +#: mgradm/shared/kubernetes/k3s.go:169 #, javascript-format msgid "cannot delete %s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:93 mgradm/shared/kubernetes/k3s.go:141 -#: mgradm/shared/kubernetes/k3s.go:188 +#: mgradm/shared/kubernetes/k3s.go:101 mgradm/shared/kubernetes/k3s.go:149 +#: mgradm/shared/kubernetes/k3s.go:196 #, javascript-format msgid "error running container %s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:111 mgradm/shared/kubernetes/k3s.go:156 -#: mgradm/shared/podman/podman.go:283 mgradm/shared/podman/podman.go:307 +#: mgradm/shared/kubernetes/k3s.go:119 mgradm/shared/kubernetes/k3s.go:164 +#: mgradm/shared/podman/podman.go:297 mgradm/shared/podman/podman.go:321 msgid "cannot generate PostgreSQL finalization script" msgstr "" -#: mgradm/shared/podman/podman.go:50 +#: mgradm/shared/podman/podman.go:51 msgid "cannot setup network" msgstr "" -#: mgradm/shared/podman/podman.go:53 +#: mgradm/shared/podman/podman.go:54 msgid "Enabling system service" msgstr "" -#: mgradm/shared/podman/podman.go:88 +#: mgradm/shared/podman/podman.go:90 msgid "cannot generate systemd user configuration file" msgstr "" -#: mgradm/shared/podman/podman.go:100 +#: mgradm/shared/podman/podman.go:102 msgid "failed to create temporary folder on container to copy certificates to" msgstr "" -#: mgradm/shared/podman/podman.go:140 +#: mgradm/shared/podman/podman.go:142 msgid "failed to update SSL certificate" msgstr "" -#: mgradm/shared/podman/podman.go:145 +#: mgradm/shared/podman/podman.go:147 msgid "failed to remove copied certificate files in the container" msgstr "" -#: mgradm/shared/podman/podman.go:151 +#: mgradm/shared/podman/podman.go:153 msgid "failed to remove now useless ssl-build folder in the container" msgstr "" -#: mgradm/shared/podman/podman.go:156 +#: mgradm/shared/podman/podman.go:158 msgid "Restarting services after updating the certificate" msgstr "" -#: mgradm/shared/podman/podman.go:175 +#: mgradm/shared/podman/podman.go:177 msgid "cannot generate migration script" msgstr "" -#: mgradm/shared/podman/podman.go:194 mgradm/shared/utils/exec.go:103 +#: mgradm/shared/podman/podman.go:196 mgradm/shared/utils/exec.go:107 msgid "Migrating server" msgstr "" -#: mgradm/shared/podman/podman.go:197 +#: mgradm/shared/podman/podman.go:199 msgid "cannot run uyuni migration container" msgstr "" -#: mgradm/shared/podman/podman.go:202 +#: mgradm/shared/podman/podman.go:206 +#, javascript-format +msgid "cannot inspect volume %s" +msgstr "" + +#: mgradm/shared/podman/podman.go:209 +#, javascript-format +msgid "cannot restore %s SELinux permissions" +msgstr "" + +#: mgradm/shared/podman/podman.go:216 msgid "cannot read extracted data" msgstr "" -#: mgradm/shared/podman/podman.go:342 +#: mgradm/shared/podman/podman.go:356 msgid "cannot inspect podman values" msgstr "" -#: mgradm/shared/podman/podman.go:352 +#: mgradm/shared/podman/podman.go:366 msgid "cannot stop service" msgstr "" -#: mgradm/shared/podman/podman.go:360 +#: mgradm/shared/podman/podman.go:374 msgid "Previous postgresql is %[1]s, instead new one is %[2]s. Performing a DB version upgrade…" msgstr "" -#: mgradm/shared/podman/podman.go:397 +#: mgradm/shared/podman/podman.go:411 msgid "error upgrading confidential computing service." msgstr "" -#: mgradm/shared/podman/podman.go:435 +#: mgradm/shared/podman/podman.go:449 msgid "cannot inspect data" msgstr "" @@ -1532,104 +1529,137 @@ msgid "Tag for %s container, overrides the global value if set" msgstr "" #: mgradm/shared/utils/cmd_utils.go:99 -msgid "Image" +msgid "SUSE Customer Center username. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" msgstr "" #: mgradm/shared/utils/cmd_utils.go:100 +msgid "SUSE Customer Center password. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:102 +msgid "SUSE Customer Center Flags" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:109 +msgid "Image" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:110 +msgid "Specify a private registry where pull the images" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:111 msgid "Tag Image" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:104 +#: mgradm/shared/utils/cmd_utils.go:115 msgid "Image Flags" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:112 +#: mgradm/shared/utils/cmd_utils.go:124 msgid "Database upgrade image" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:113 +#: mgradm/shared/utils/cmd_utils.go:125 msgid "Database upgrade image tag" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:115 -msgid "set whether to pull the database upgrade images or not. The value can be one of 'Never', 'IfNotPresent' or 'Always'" -msgstr "" - -#: mgradm/shared/utils/cmd_utils.go:117 +#: mgradm/shared/utils/cmd_utils.go:127 msgid "Database Upgrade Image Flags" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:125 +#: mgradm/shared/utils/cmd_utils.go:134 msgid "Path to mirrored packages mounted on the host" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:132 -msgid "How many replicas of the confidential computing container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:147 +msgid "Confidential Computing Flags" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:140 mgradm/shared/utils/cmd_utils.go:148 +msgid "confidential computing attestation" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:142 -msgid "How many replicas of the Hub XML-RPC API service container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:141 +msgid "How many replicas of the confidential computing container should be started" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:149 +msgid "How many replicas of the confidential computing container should be started. Leave it unset if you want to keep the previous number of replicas." +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:155 mgradm/shared/utils/cmd_utils.go:156 +#: mgradm/shared/utils/cmd_utils.go:163 mgradm/shared/utils/cmd_utils.go:164 +msgid "Hub XML-RPC API" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:157 +msgid "How many replicas of the Hub XML-RPC API service container should be started." +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:165 +msgid "How many replicas of the Hub XML-RPC API service container should be started. Leave it unset if you want to keep the previous number of replicas." msgstr "" #: mgradm/shared/utils/exec.go:28 msgid "exec command failed" msgstr "" -#: mgradm/shared/utils/exec.go:62 mgradm/shared/utils/exec.go:82 -#: mgradm/shared/utils/exec.go:96 +#: mgradm/shared/utils/exec.go:66 mgradm/shared/utils/exec.go:86 +#: mgradm/shared/utils/exec.go:100 #, javascript-format msgid "failed to generate %s" msgstr "" -#: mgradm/shared/utils/exec.go:106 +#: mgradm/shared/utils/exec.go:110 msgid "error running the migration script" msgstr "" -#: mgradm/shared/utils/exec.go:155 +#: mgradm/shared/utils/exec.go:159 #, javascript-format msgid "Image is: %s" msgstr "" -#: mgradm/shared/utils/exec.go:169 +#: mgradm/shared/utils/exec.go:173 msgid "cannot check server release" msgstr "" -#: mgradm/shared/utils/exec.go:176 +#: mgradm/shared/utils/exec.go:180 #, javascript-format msgid "currently SUSE Manager %s is installed, instead the image is Uyuni. Upgrade is not supported" msgstr "" -#: mgradm/shared/utils/exec.go:183 +#: mgradm/shared/utils/exec.go:187 #, javascript-format msgid "currently Uyuni %s is installed, instead the image is SUSE Manager. Upgrade is not supported" msgstr "" -#: mgradm/shared/utils/exec.go:192 +#: mgradm/shared/utils/exec.go:196 msgid "failed to read current uyuni release" msgstr "" -#: mgradm/shared/utils/exec.go:196 mgradm/shared/utils/exec.go:213 +#: mgradm/shared/utils/exec.go:200 mgradm/shared/utils/exec.go:217 #, javascript-format msgid "cannot fetch release from image %s" msgstr "" -#: mgradm/shared/utils/exec.go:201 mgradm/shared/utils/exec.go:218 +#: mgradm/shared/utils/exec.go:205 mgradm/shared/utils/exec.go:222 msgid "cannot downgrade from version %[1]s to %[2]s" msgstr "" -#: mgradm/shared/utils/exec.go:209 +#: mgradm/shared/utils/exec.go:213 msgid "failed to read current susemanager release" msgstr "" -#: mgradm/shared/utils/exec.go:225 +#: mgradm/shared/utils/exec.go:229 #, javascript-format msgid "cannot fetch postgresql version from %s" msgstr "" -#: mgradm/shared/utils/exec.go:229 +#: mgradm/shared/utils/exec.go:233 msgid "posgresql is not installed in the current deployment" msgstr "" -#: mgradm/shared/utils/exec.go:243 -msgid "cannot find neither /etc/uyuni-release nor /etc/susemanagere-release" +#: mgradm/shared/utils/exec.go:247 +msgid "cannot find either /etc/uyuni-release or /etc/susemanagere-release" msgstr "" diff --git a/locale/mgradm/es.po b/locale/mgradm/es.po index f6135464a..fc66b76d2 100644 --- a/locale/mgradm/es.po +++ b/locale/mgradm/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -36,21 +36,21 @@ msgstr "" msgid "Administrator tools:" msgstr "" -#: mgradm/cmd/cmd.go:67 +#: mgradm/cmd/cmd.go:66 #, javascript-format msgid "Welcome to %s" msgstr "" -#: mgradm/cmd/cmd.go:68 +#: mgradm/cmd/cmd.go:67 #, javascript-format msgid "Executing command: %s" msgstr "" -#: mgradm/cmd/cmd.go:72 +#: mgradm/cmd/cmd.go:71 msgid "configuration file path" msgstr "" -#: mgradm/cmd/cmd.go:73 +#: mgradm/cmd/cmd.go:72 msgid "application log level" msgstr "" @@ -64,66 +64,66 @@ msgstr "" msgid "unable to remove temporary directory, leaving %s intact" msgstr "" -#: mgradm/cmd/distro/cp.go:48 +#: mgradm/cmd/distro/cp.go:51 msgid "unable to login and register the distribution. Manual distro registration is required" msgstr "" -#: mgradm/cmd/distro/cp.go:59 +#: mgradm/cmd/distro/cp.go:63 msgid "unable to register the distribution. Manual distro registration is required" msgstr "" -#: mgradm/cmd/distro/cp.go:61 +#: mgradm/cmd/distro/cp.go:65 #, javascript-format msgid "Distribution %s successfully registered" msgstr "" -#: mgradm/cmd/distro/cp.go:70 mgradm/cmd/support/sql/sql.go:34 +#: mgradm/cmd/distro/cp.go:74 mgradm/cmd/support/sql/sql.go:34 #, javascript-format msgid "source %s does not exists" msgstr "" -#: mgradm/cmd/distro/cp.go:89 +#: mgradm/cmd/distro/cp.go:93 #, javascript-format msgid "unable to mount ISO image: %s" msgstr "" -#: mgradm/cmd/distro/cp.go:98 +#: mgradm/cmd/distro/cp.go:102 msgid "Missing TreeLabel. Please specify distribution name" msgstr "" -#: mgradm/cmd/distro/cp.go:107 +#: mgradm/cmd/distro/cp.go:111 #, javascript-format msgid "distribution with same name already exists: %s" msgstr "" -#: mgradm/cmd/distro/cp.go:111 +#: mgradm/cmd/distro/cp.go:115 #, javascript-format msgid "cannot create %s path in container" msgstr "" -#: mgradm/cmd/distro/cp.go:114 +#: mgradm/cmd/distro/cp.go:118 #, javascript-format msgid "Copying distribution %s" msgstr "" -#: mgradm/cmd/distro/cp.go:116 mgradm/shared/podman/podman.go:120 -#: mgradm/shared/podman/podman.go:123 mgradm/shared/podman/podman.go:126 -#: mgradm/shared/podman/podman.go:134 +#: mgradm/cmd/distro/cp.go:120 mgradm/shared/podman/podman.go:122 +#: mgradm/shared/podman/podman.go:125 mgradm/shared/podman/podman.go:128 +#: mgradm/shared/podman/podman.go:136 #, javascript-format msgid "cannot copy %s" msgstr "" -#: mgradm/cmd/distro/cp.go:118 +#: mgradm/cmd/distro/cp.go:122 #, javascript-format msgid "Distribution has been copied into %s" msgstr "" -#: mgradm/cmd/distro/cp.go:172 +#: mgradm/cmd/distro/cp.go:176 #, javascript-format msgid "Auto-detected distribution %s" msgstr "" -#: mgradm/cmd/distro/cp.go:183 +#: mgradm/cmd/distro/cp.go:187 msgid "Continue by registering autoinstallation distribution" msgstr "" @@ -228,13 +228,13 @@ msgstr "" msgid "failed to create keyring %s" msgstr "" -#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:154 -#: mgradm/cmd/support/config/extractor.go:29 +#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:153 +#: mgradm/cmd/support/config/extractor.go:30 #: mgradm/shared/kubernetes/certificates.go:26 #: mgradm/shared/kubernetes/certificates.go:64 -#: mgradm/shared/kubernetes/install.go:175 mgradm/shared/podman/podman.go:222 -#: mgradm/shared/podman/podman.go:271 mgradm/shared/podman/podman.go:298 -#: mgradm/shared/podman/podman.go:414 mgradm/shared/utils/exec.go:115 +#: mgradm/shared/kubernetes/install.go:180 mgradm/shared/podman/podman.go:236 +#: mgradm/shared/podman/podman.go:285 mgradm/shared/podman/podman.go:312 +#: mgradm/shared/podman/podman.go:428 mgradm/shared/utils/exec.go:119 msgid "failed to create temporary directory" msgstr "" @@ -262,7 +262,7 @@ msgid "failed to copy %[1]s to %[2]s" msgstr "" #: mgradm/cmd/gpg/add/gpg.go:120 mgradm/cmd/gpg/add/gpg.go:127 -#: mgradm/cmd/support/sql/sql.go:187 mgradm/cmd/uninstall/kubernetes.go:65 +#: mgradm/cmd/support/sql/sql.go:191 mgradm/cmd/uninstall/kubernetes.go:65 #: mgradm/cmd/uninstall/kubernetes.go:70 #, javascript-format msgid "Running %s" @@ -296,44 +296,44 @@ msgstr "" msgid "Register this peripheral server to Hub API" msgstr "" -#: mgradm/cmd/hub/register/register.go:79 +#: mgradm/cmd/hub/register/register.go:77 #, javascript-format msgid "invalid line format: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:93 +#: mgradm/cmd/hub/register/register.go:91 #, javascript-format msgid "mandatory %s entry missing in config" msgstr "" -#: mgradm/cmd/hub/register/register.go:96 +#: mgradm/cmd/hub/register/register.go:94 #, javascript-format msgid "Hub API server: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:99 +#: mgradm/cmd/hub/register/register.go:100 msgid "failed to connect to the Hub server" msgstr "" -#: mgradm/cmd/hub/register/register.go:107 +#: mgradm/cmd/hub/register/register.go:109 msgid "failed to register this peripheral server" msgstr "" -#: mgradm/cmd/hub/register/register.go:110 +#: mgradm/cmd/hub/register/register.go:112 #, javascript-format msgid "failed to register this peripheral server: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:124 +#: mgradm/cmd/hub/register/register.go:126 msgid "failed to update peripheral server info" msgstr "" -#: mgradm/cmd/hub/register/register.go:128 +#: mgradm/cmd/hub/register/register.go:130 #, javascript-format msgid "failed to update peripheral server info: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:130 +#: mgradm/cmd/hub/register/register.go:132 msgid "Registered peripheral server: %[1]s, ID: %[2]d" msgstr "" @@ -345,20 +345,28 @@ msgstr "" msgid "Extract information from image and deployment" msgstr "" -#: mgradm/cmd/inspect/kubernetes.go:32 mgradm/cmd/inspect/podman.go:29 +#: mgradm/cmd/inspect/kubernetes.go:33 mgradm/cmd/inspect/podman.go:30 msgid "failed to determine image" msgstr "" -#: mgradm/cmd/inspect/kubernetes.go:41 mgradm/cmd/inspect/podman.go:38 +#: mgradm/cmd/inspect/kubernetes.go:42 mgradm/cmd/inspect/podman.go:39 #, javascript-format msgid "failed to find the image of the currently running server container: %s" msgstr "" -#: mgradm/cmd/inspect/kubernetes.go:47 mgradm/cmd/inspect/podman.go:43 +#: mgradm/cmd/inspect/kubernetes.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:44 +#: mgradm/cmd/restart/kubernetes.go:27 mgradm/cmd/start/kubernetes.go:27 +#: mgradm/cmd/stop/kubernetes.go:27 mgradm/shared/kubernetes/install.go:148 +#: mgradm/shared/utils/exec.go:41 +msgid "failed retrieving namespace" +msgstr "" + +#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:44 msgid "inspect command failed" msgstr "" -#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:47 +#: mgradm/cmd/inspect/kubernetes.go:57 mgradm/cmd/inspect/podman.go:48 msgid "cannot print inspect result" msgstr "" @@ -366,11 +374,6 @@ msgstr "" msgid "Install a new server" msgstr "" -#: mgradm/cmd/install/install.go:23 mgradm/cmd/migrate/migrate.go:23 -#: mgradm/cmd/upgrade/upgrade.go:22 -msgid "specify a private registry" -msgstr "" - #: mgradm/cmd/install/kubernetes/kubernetes.go:27 msgid "Install a new server on a kubernetes cluster" msgstr "" @@ -396,7 +399,7 @@ msgid "install %s before running this command" msgstr "" #: mgradm/cmd/install/kubernetes/utils.go:67 -#: mgradm/cmd/migrate/kubernetes/utils.go:208 +#: mgradm/cmd/migrate/kubernetes/utils.go:212 msgid "cannot deploy certificate" msgstr "" @@ -404,12 +407,12 @@ msgstr "" msgid "cannot deploy uyuni" msgstr "" -#: mgradm/cmd/install/kubernetes/utils.go:85 -#: mgradm/cmd/install/podman/utils.go:109 -msgid "Failed to stop service: %v" +#: mgradm/cmd/install/kubernetes/utils.go:86 +#: mgradm/cmd/install/kubernetes/utils.go:89 +msgid "failed to stop service" msgstr "" -#: mgradm/cmd/install/kubernetes/utils.go:94 +#: mgradm/cmd/install/kubernetes/utils.go:98 msgid "error storing the SSL CA certificate in database" msgstr "" @@ -426,16 +429,16 @@ msgid "" "NOTE: installing on a remote podman is not supported yet!\n" msgstr "" -#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:392 +#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:406 msgid "Waiting for the server to start…" msgstr "" -#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:55 +#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:71 msgid "cannot enable service" msgstr "" #: mgradm/cmd/install/podman/utils.go:54 mgradm/cmd/migrate/podman/utils.go:47 -#: mgradm/cmd/support/ptf/podman/utils.go:40 +#: mgradm/cmd/support/ptf/podman/utils.go:43 #: mgradm/cmd/upgrade/podman/utils.go:24 msgid "failed to login to registry.suse.com" msgstr "" @@ -454,11 +457,11 @@ msgid "Setting up the server with the FQDN '%s'" msgstr "" #: mgradm/cmd/install/podman/utils.go:75 -#: mgradm/cmd/migrate/kubernetes/utils.go:45 mgradm/shared/coco/coco.go:56 -#: mgradm/shared/hub/xmlrpcapi.go:30 mgradm/shared/kubernetes/install.go:52 -#: mgradm/shared/kubernetes/install.go:148 mgradm/shared/kubernetes/k3s.go:47 -#: mgradm/shared/kubernetes/k3s.go:52 mgradm/shared/podman/podman.go:236 -#: mgradm/shared/podman/podman.go:241 mgradm/shared/podman/podman.go:332 +#: mgradm/cmd/migrate/kubernetes/utils.go:49 mgradm/shared/coco/coco.go:68 +#: mgradm/shared/hub/xmlrpcapi.go:43 mgradm/shared/kubernetes/install.go:52 +#: mgradm/shared/kubernetes/install.go:153 mgradm/shared/kubernetes/k3s.go:55 +#: mgradm/shared/kubernetes/k3s.go:60 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/podman/podman.go:255 mgradm/shared/podman/podman.go:346 msgid "failed to compute image URL" msgstr "" @@ -470,6 +473,10 @@ msgstr "" msgid "Run setup command in the container" msgstr "" +#: mgradm/cmd/install/podman/utils.go:109 +msgid "Failed to stop service: %v" +msgstr "" + #: mgradm/cmd/install/podman/utils.go:118 msgid "failed to extract payg data" msgstr "" @@ -479,191 +486,179 @@ msgid "cannot update SSL certificate" msgstr "" #: mgradm/cmd/install/podman/utils.go:146 -#: mgradm/cmd/migrate/podman/utils.go:136 +#: mgradm/cmd/migrate/podman/utils.go:137 msgid "cannot enable podman socket" msgstr "" -#: mgradm/cmd/install/shared/flags.go:79 +#: mgradm/cmd/install/shared/flags.go:67 msgid "Can only contain letters, digits . _ and -" msgstr "" -#: mgradm/cmd/install/shared/flags.go:87 +#: mgradm/cmd/install/shared/flags.go:75 msgid "Not a valid email address" msgstr "" -#: mgradm/cmd/install/shared/flags.go:130 +#: mgradm/cmd/install/shared/flags.go:124 msgid "Time zone to set on the server. Defaults to the host timezone" msgstr "" -#: mgradm/cmd/install/shared/flags.go:131 +#: mgradm/cmd/install/shared/flags.go:125 msgid "Administrator e-mail" msgstr "" -#: mgradm/cmd/install/shared/flags.go:132 +#: mgradm/cmd/install/shared/flags.go:126 msgid "E-Mail sending the notifications" msgstr "" -#: mgradm/cmd/install/shared/flags.go:133 +#: mgradm/cmd/install/shared/flags.go:127 msgid "InterServerSync v1 parent FQDN" msgstr "" -#: mgradm/cmd/install/shared/flags.go:135 +#: mgradm/cmd/install/shared/flags.go:129 msgid "Database user" msgstr "" -#: mgradm/cmd/install/shared/flags.go:136 +#: mgradm/cmd/install/shared/flags.go:130 msgid "Database password. Randomly generated by default" msgstr "" -#: mgradm/cmd/install/shared/flags.go:137 +#: mgradm/cmd/install/shared/flags.go:131 msgid "Database name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:138 +#: mgradm/cmd/install/shared/flags.go:132 msgid "Database host" msgstr "" -#: mgradm/cmd/install/shared/flags.go:139 +#: mgradm/cmd/install/shared/flags.go:133 msgid "Database port" msgstr "" -#: mgradm/cmd/install/shared/flags.go:140 +#: mgradm/cmd/install/shared/flags.go:134 msgid "Database protocol" msgstr "" -#: mgradm/cmd/install/shared/flags.go:141 +#: mgradm/cmd/install/shared/flags.go:135 msgid "External database admin user name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:142 +#: mgradm/cmd/install/shared/flags.go:136 msgid "External database admin password" msgstr "" -#: mgradm/cmd/install/shared/flags.go:143 +#: mgradm/cmd/install/shared/flags.go:137 msgid "External database provider. Possible values 'aws'" msgstr "" -#: mgradm/cmd/install/shared/flags.go:145 +#: mgradm/cmd/install/shared/flags.go:139 msgid "Database Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:156 +#: mgradm/cmd/install/shared/flags.go:150 msgid "Enable TFTP" msgstr "" -#: mgradm/cmd/install/shared/flags.go:157 +#: mgradm/cmd/install/shared/flags.go:151 msgid "Report database name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:158 +#: mgradm/cmd/install/shared/flags.go:152 msgid "Report database host" msgstr "" -#: mgradm/cmd/install/shared/flags.go:159 +#: mgradm/cmd/install/shared/flags.go:153 msgid "Report database port" msgstr "" -#: mgradm/cmd/install/shared/flags.go:160 +#: mgradm/cmd/install/shared/flags.go:154 msgid "Report Database username" msgstr "" -#: mgradm/cmd/install/shared/flags.go:161 +#: mgradm/cmd/install/shared/flags.go:155 msgid "Report database password. Randomly generated by default" msgstr "" -#: mgradm/cmd/install/shared/flags.go:163 +#: mgradm/cmd/install/shared/flags.go:157 msgid "Report DB Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:171 +#: mgradm/cmd/install/shared/flags.go:165 msgid "SSL certificate cnames separated by commas" msgstr "" -#: mgradm/cmd/install/shared/flags.go:172 +#: mgradm/cmd/install/shared/flags.go:166 msgid "SSL certificate country" msgstr "" -#: mgradm/cmd/install/shared/flags.go:173 +#: mgradm/cmd/install/shared/flags.go:167 msgid "SSL certificate state" msgstr "" -#: mgradm/cmd/install/shared/flags.go:174 +#: mgradm/cmd/install/shared/flags.go:168 msgid "SSL certificate city" msgstr "" -#: mgradm/cmd/install/shared/flags.go:175 +#: mgradm/cmd/install/shared/flags.go:169 msgid "SSL certificate organization" msgstr "" -#: mgradm/cmd/install/shared/flags.go:176 +#: mgradm/cmd/install/shared/flags.go:170 msgid "SSL certificate organization unit" msgstr "" -#: mgradm/cmd/install/shared/flags.go:177 +#: mgradm/cmd/install/shared/flags.go:171 msgid "Password for the CA key to generate" msgstr "" -#: mgradm/cmd/install/shared/flags.go:179 +#: mgradm/cmd/install/shared/flags.go:173 msgid "SSL Certificate Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:189 +#: mgradm/cmd/install/shared/flags.go:183 msgid "Intermediate CA certificate path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:190 +#: mgradm/cmd/install/shared/flags.go:184 msgid "Root CA certificate path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:191 +#: mgradm/cmd/install/shared/flags.go:185 msgid "Server certificate path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:192 +#: mgradm/cmd/install/shared/flags.go:186 msgid "Server key path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:194 +#: mgradm/cmd/install/shared/flags.go:188 msgid "3rd Party SSL Certificate Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:200 -msgid "SUSE Customer Center username" -msgstr "" - -#: mgradm/cmd/install/shared/flags.go:201 -msgid "SUSE Customer Center password" -msgstr "" - -#: mgradm/cmd/install/shared/flags.go:203 -msgid "SUSE Customer Center Flags" -msgstr "" - -#: mgradm/cmd/install/shared/flags.go:207 +#: mgradm/cmd/install/shared/flags.go:196 msgid "Enable tomcat and taskomatic remote debugging" msgstr "" -#: mgradm/cmd/install/shared/flags.go:214 +#: mgradm/cmd/install/shared/flags.go:203 msgid "Administrator user name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:215 +#: mgradm/cmd/install/shared/flags.go:204 msgid "Administrator password" msgstr "" -#: mgradm/cmd/install/shared/flags.go:216 +#: mgradm/cmd/install/shared/flags.go:205 msgid "First name of the administrator" msgstr "" -#: mgradm/cmd/install/shared/flags.go:217 +#: mgradm/cmd/install/shared/flags.go:206 msgid "Last name of the administrator" msgstr "" -#: mgradm/cmd/install/shared/flags.go:218 +#: mgradm/cmd/install/shared/flags.go:207 msgid "First organization name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:220 +#: mgradm/cmd/install/shared/flags.go:209 msgid "First User Flags" msgstr "" @@ -679,30 +674,34 @@ msgstr "" msgid "error running the setup script" msgstr "" -#: mgradm/cmd/install/shared/shared.go:49 -#: mgradm/cmd/migrate/kubernetes/utils.go:182 -#: mgradm/cmd/migrate/podman/utils.go:146 +#: mgradm/cmd/install/shared/shared.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:186 +#: mgradm/cmd/migrate/podman/utils.go:147 msgid "failed to add SSL CA certificate to host trusted certificates" msgstr "" -#: mgradm/cmd/install/shared/shared.go:65 -msgid "Server organization already exists, reusing" +#: mgradm/cmd/install/shared/shared.go:64 +msgid "unable to prepare API client" msgstr "" #: mgradm/cmd/install/shared/shared.go:68 +msgid "Server organization already exists, reusing" +msgstr "" + +#: mgradm/cmd/install/shared/shared.go:71 #, javascript-format msgid "Administration user already exists, but organization %s could not be found" msgstr "" -#: mgradm/cmd/install/shared/shared.go:84 +#: mgradm/cmd/install/shared/shared.go:83 msgid "Administration user already exists, but provided credentials are not valid" msgstr "" -#: mgradm/cmd/install/shared/shared.go:92 +#: mgradm/cmd/install/shared/shared.go:91 msgid "Server set up, login on https://%[1]s with %[2]s user" msgstr "" -#: mgradm/cmd/install/shared/shared.go:164 +#: mgradm/cmd/install/shared/shared.go:163 msgid "Failed to generate setup script" msgstr "" @@ -732,79 +731,79 @@ msgstr "" msgid "SSL CA generated private key password" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:60 mgradm/shared/utils/exec.go:128 +#: mgradm/cmd/migrate/kubernetes/utils.go:64 mgradm/shared/utils/exec.go:132 msgid "failed to generate migration script" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:84 +#: mgradm/cmd/migrate/kubernetes/utils.go:88 msgid "cannot run deploy" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:91 -#: mgradm/shared/kubernetes/install.go:182 +#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/shared/kubernetes/install.go:187 msgid "cannot find node running uyuni" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/cmd/migrate/kubernetes/utils.go:99 msgid "cannot run migration" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:100 +#: mgradm/cmd/migrate/kubernetes/utils.go:104 msgid "cannot read data from container" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:106 -#: mgradm/cmd/migrate/kubernetes/utils.go:149 +#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:153 msgid "cannot set replicas to 0" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:114 #: mgradm/cmd/migrate/podman/utils.go:67 msgid "Migration prepared. Run the 'migrate' command without '--prepare' to finish the migration." msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:123 +#: mgradm/cmd/migrate/kubernetes/utils.go:127 msgid "cannot setup SSL" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:131 +#: mgradm/cmd/migrate/kubernetes/utils.go:135 #, javascript-format msgid "The mirror data will not be migrated, ensure it is available at %s" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:140 +#: mgradm/cmd/migrate/kubernetes/utils.go:144 #, javascript-format msgid "cannot upgrade helm chart to image %s using new SSL certificate" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:144 +#: mgradm/cmd/migrate/kubernetes/utils.go:148 #, javascript-format msgid "cannot wait for deployment of %s" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:159 +#: mgradm/cmd/migrate/kubernetes/utils.go:163 #: mgradm/cmd/migrate/podman/utils.go:78 -#: mgradm/shared/kubernetes/install.go:203 mgradm/shared/podman/podman.go:366 +#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:380 msgid "cannot run PostgreSQL version upgrade script" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:165 +#: mgradm/cmd/migrate/kubernetes/utils.go:169 msgid "cannot run PostgreSQL finalisation script" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:169 +#: mgradm/cmd/migrate/kubernetes/utils.go:173 #: mgradm/cmd/migrate/podman/utils.go:88 -#: mgradm/shared/kubernetes/install.go:218 mgradm/shared/podman/podman.go:380 +#: mgradm/shared/kubernetes/install.go:223 mgradm/shared/podman/podman.go:394 msgid "cannot run post upgrade script" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:174 -#: mgradm/shared/kubernetes/install.go:223 +#: mgradm/cmd/migrate/kubernetes/utils.go:178 +#: mgradm/shared/kubernetes/install.go:228 #, javascript-format msgid "cannot upgrade to image %s" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:199 +#: mgradm/cmd/migrate/kubernetes/utils.go:203 msgid "failed to strip text part from CA certificate" msgstr "" @@ -812,11 +811,11 @@ msgstr "" msgid "Migrate a remote server to containers" msgstr "" -#: mgradm/cmd/migrate/podman/podman.go:25 +#: mgradm/cmd/migrate/podman/podman.go:26 msgid "Migrate a remote server to containers running on podman" msgstr "" -#: mgradm/cmd/migrate/podman/podman.go:26 +#: mgradm/cmd/migrate/podman/podman.go:27 msgid "" "Migrate a remote server to containers running on podman\n" "\n" @@ -838,7 +837,7 @@ msgid "cannot run migration script" msgstr "" #: mgradm/cmd/migrate/podman/utils.go:84 -#: mgradm/shared/kubernetes/install.go:214 mgradm/shared/podman/podman.go:376 +#: mgradm/shared/kubernetes/install.go:219 mgradm/shared/podman/podman.go:390 msgid "cannot run PostgreSQL finalize script" msgstr "" @@ -846,19 +845,19 @@ msgstr "" msgid "cannot generate systemd service file" msgstr "" -#: mgradm/cmd/migrate/podman/utils.go:108 +#: mgradm/cmd/migrate/podman/utils.go:109 msgid "cannot setup confidential computing attestation service" msgstr "" -#: mgradm/cmd/migrate/podman/utils.go:126 +#: mgradm/cmd/migrate/podman/utils.go:120 msgid "Enabling Hub XML-RPC API since it is enabled on the migrated server" msgstr "" -#: mgradm/cmd/migrate/podman/utils.go:133 +#: mgradm/cmd/migrate/podman/utils.go:134 msgid "Server migrated" msgstr "" -#: mgradm/cmd/migrate/shared/flags.go:28 +#: mgradm/cmd/migrate/shared/flags.go:27 msgid "Prepare the mgration - copy the data without stopping the source server." msgstr "" @@ -963,11 +962,11 @@ msgstr "" msgid "path where to extract the data" msgstr "" -#: mgradm/cmd/support/ptf/podman/podman.go:27 +#: mgradm/cmd/support/ptf/podman/podman.go:28 msgid "Install a PTF or Test package on podman" msgstr "" -#: mgradm/cmd/support/ptf/podman/podman.go:28 +#: mgradm/cmd/support/ptf/podman/podman.go:29 msgid "" "Install a PTF or Test package on podman\n" "\n" @@ -977,19 +976,19 @@ msgid "" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:49 +#: mgradm/cmd/support/ptf/podman/utils.go:52 msgid "ptf and test flags cannot be set simultaneously " msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:52 +#: mgradm/cmd/support/ptf/podman/utils.go:55 msgid "ptf and test flags cannot be empty simultaneously " msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:55 +#: mgradm/cmd/support/ptf/podman/utils.go:58 msgid "user flag cannot be empty" msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:70 +#: mgradm/cmd/support/ptf/podman/utils.go:75 #, javascript-format msgid "The image computed is: %s" msgstr "" @@ -1011,25 +1010,25 @@ msgstr "" msgid "output file %s exists, use -f to force overwrite" msgstr "" -#: mgradm/cmd/support/sql/sql.go:111 +#: mgradm/cmd/support/sql/sql.go:115 msgid "interactive mode cannot work with a file output" msgstr "" -#: mgradm/cmd/support/sql/sql.go:141 +#: mgradm/cmd/support/sql/sql.go:145 #, javascript-format msgid "unknown or unsupported database %s" msgstr "" -#: mgradm/cmd/support/sql/sql.go:154 +#: mgradm/cmd/support/sql/sql.go:158 msgid "Command failed" msgstr "" -#: mgradm/cmd/support/sql/sql.go:159 +#: mgradm/cmd/support/sql/sql.go:163 #, javascript-format msgid "Result is stored in the file '%s'" msgstr "" -#: mgradm/cmd/support/sql/sql.go:173 +#: mgradm/cmd/support/sql/sql.go:177 msgid "cannot write" msgstr "" @@ -1098,11 +1097,11 @@ msgstr "" msgid "Failed deleting secret" msgstr "" -#: mgradm/cmd/uninstall/kubernetes.go:108 +#: mgradm/cmd/uninstall/kubernetes.go:110 msgid "Nothing has been uninstalled, run with --force to actually uninstall" msgstr "" -#: mgradm/cmd/uninstall/kubernetes.go:110 +#: mgradm/cmd/uninstall/kubernetes.go:112 msgid "Volumes have not been touched. Depending on the storage class used, they may not have been removed" msgstr "" @@ -1151,62 +1150,50 @@ msgstr "" msgid "Upgrade a local server on kubernetes" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:27 +#: mgradm/cmd/upgrade/podman/podman.go:28 msgid "Upgrade a local server on podman" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:39 +#: mgradm/cmd/upgrade/podman/podman.go:42 msgid "List available tags for an image" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:46 +#: mgradm/cmd/upgrade/podman/podman.go:49 msgid "failed to unmarshall configuration" msgstr "" -#: mgradm/cmd/upgrade/shared/flags.go:31 mgradm/shared/utils/cmd_utils.go:130 -msgid "Confidential Computing Flags" -msgstr "" - -#: mgradm/cmd/upgrade/shared/flags.go:33 mgradm/shared/utils/cmd_utils.go:131 -msgid "confidential computing attestation" -msgstr "" - -#: mgradm/cmd/upgrade/shared/flags.go:34 mgradm/cmd/upgrade/shared/flags.go:35 -#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:140 -msgid "Hub XML-RPC API" -msgstr "" - #: mgradm/cmd/upgrade/upgrade.go:19 mgradm/cmd/upgrade/upgrade.go:20 msgid "Upgrade local server" msgstr "" -#: mgradm/shared/coco/coco.go:70 +#: mgradm/shared/coco/coco.go:84 msgid "Setting up confidential computing attestation service" msgstr "" -#: mgradm/shared/coco/coco.go:74 mgradm/shared/hub/xmlrpcapi.go:86 -#: mgradm/shared/podman/podman.go:74 +#: mgradm/shared/coco/coco.go:88 mgradm/shared/hub/xmlrpcapi.go:102 +#: mgradm/shared/podman/podman.go:76 msgid "failed to generate systemd service unit file" msgstr "" -#: mgradm/shared/coco/coco.go:85 mgradm/shared/hub/xmlrpcapi.go:91 -#: mgradm/shared/podman/podman.go:80 +#: mgradm/shared/coco/coco.go:99 mgradm/shared/hub/xmlrpcapi.go:107 +#: mgradm/shared/podman/podman.go:82 msgid "cannot generate systemd conf file" msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:27 -msgid "Setting Hub XML-RPC API service." +#: mgradm/shared/hub/xmlrpcapi.go:35 +#, javascript-format +msgid "No changes requested for hub. Keep %d replicas." msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:39 +#: mgradm/shared/hub/xmlrpcapi.go:52 msgid "cannot generate systemd service" msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:49 +#: mgradm/shared/hub/xmlrpcapi.go:65 msgid "Multiple Hub XML-RPC container replicas are not currently supported, setting up only one." msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:58 +#: mgradm/shared/hub/xmlrpcapi.go:74 msgid "Not starting Hub XML-RPC API service" msgstr "" @@ -1292,129 +1279,139 @@ msgstr "" msgid "Installing Uyuni" msgstr "" -#: mgradm/shared/kubernetes/install.go:153 +#: mgradm/shared/kubernetes/install.go:158 msgid "cannot inspect kubernetes values" msgstr "" -#: mgradm/shared/kubernetes/install.go:163 +#: mgradm/shared/kubernetes/install.go:168 msgid "inspect function did non return fqdn value" msgstr "" -#: mgradm/shared/kubernetes/install.go:187 +#: mgradm/shared/kubernetes/install.go:192 msgid "cannot set replica to 0" msgstr "" -#: mgradm/shared/kubernetes/install.go:197 mgradm/shared/kubernetes/k3s.go:39 -#: mgradm/shared/podman/podman.go:217 +#: mgradm/shared/kubernetes/install.go:202 mgradm/shared/kubernetes/k3s.go:47 +#: mgradm/shared/podman/podman.go:231 msgid "Previous PostgreSQL is %[1]s, new one is %[2]s. Performing a DB version upgrade…" msgstr "" -#: mgradm/shared/kubernetes/install.go:206 mgradm/shared/podman/podman.go:369 +#: mgradm/shared/kubernetes/install.go:211 mgradm/shared/podman/podman.go:383 #, javascript-format msgid "Upgrading to %s without changing PostgreSQL version" msgstr "" -#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:371 +#: mgradm/shared/kubernetes/install.go:213 mgradm/shared/podman/podman.go:385 msgid "trying to downgrade PostgreSQL from %[1]s to %[2]s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:36 mgradm/shared/kubernetes/k3s.go:106 -#: mgradm/shared/kubernetes/k3s.go:151 +#: mgradm/shared/kubernetes/k3s.go:44 mgradm/shared/kubernetes/k3s.go:114 +#: mgradm/shared/kubernetes/k3s.go:159 #, javascript-format msgid "failed to create temporary directory: %s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:56 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/podman/podman.go:264 #, javascript-format msgid "Using database upgrade image %s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:59 mgradm/shared/podman/podman.go:254 +#: mgradm/shared/kubernetes/k3s.go:67 mgradm/shared/podman/podman.go:268 msgid "cannot generate PostgreSQL database version upgrade script" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/kubernetes/k3s.go:115 -#: mgradm/shared/kubernetes/k3s.go:161 +#: mgradm/shared/kubernetes/k3s.go:72 mgradm/shared/kubernetes/k3s.go:123 +#: mgradm/shared/kubernetes/k3s.go:169 #, javascript-format msgid "cannot delete %s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:93 mgradm/shared/kubernetes/k3s.go:141 -#: mgradm/shared/kubernetes/k3s.go:188 +#: mgradm/shared/kubernetes/k3s.go:101 mgradm/shared/kubernetes/k3s.go:149 +#: mgradm/shared/kubernetes/k3s.go:196 #, javascript-format msgid "error running container %s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:111 mgradm/shared/kubernetes/k3s.go:156 -#: mgradm/shared/podman/podman.go:283 mgradm/shared/podman/podman.go:307 +#: mgradm/shared/kubernetes/k3s.go:119 mgradm/shared/kubernetes/k3s.go:164 +#: mgradm/shared/podman/podman.go:297 mgradm/shared/podman/podman.go:321 msgid "cannot generate PostgreSQL finalization script" msgstr "" -#: mgradm/shared/podman/podman.go:50 +#: mgradm/shared/podman/podman.go:51 msgid "cannot setup network" msgstr "" -#: mgradm/shared/podman/podman.go:53 +#: mgradm/shared/podman/podman.go:54 msgid "Enabling system service" msgstr "" -#: mgradm/shared/podman/podman.go:88 +#: mgradm/shared/podman/podman.go:90 msgid "cannot generate systemd user configuration file" msgstr "" -#: mgradm/shared/podman/podman.go:100 +#: mgradm/shared/podman/podman.go:102 msgid "failed to create temporary folder on container to copy certificates to" msgstr "" -#: mgradm/shared/podman/podman.go:140 +#: mgradm/shared/podman/podman.go:142 msgid "failed to update SSL certificate" msgstr "" -#: mgradm/shared/podman/podman.go:145 +#: mgradm/shared/podman/podman.go:147 msgid "failed to remove copied certificate files in the container" msgstr "" -#: mgradm/shared/podman/podman.go:151 +#: mgradm/shared/podman/podman.go:153 msgid "failed to remove now useless ssl-build folder in the container" msgstr "" -#: mgradm/shared/podman/podman.go:156 +#: mgradm/shared/podman/podman.go:158 msgid "Restarting services after updating the certificate" msgstr "" -#: mgradm/shared/podman/podman.go:175 +#: mgradm/shared/podman/podman.go:177 msgid "cannot generate migration script" msgstr "" -#: mgradm/shared/podman/podman.go:194 mgradm/shared/utils/exec.go:103 +#: mgradm/shared/podman/podman.go:196 mgradm/shared/utils/exec.go:107 msgid "Migrating server" msgstr "" -#: mgradm/shared/podman/podman.go:197 +#: mgradm/shared/podman/podman.go:199 msgid "cannot run uyuni migration container" msgstr "" -#: mgradm/shared/podman/podman.go:202 +#: mgradm/shared/podman/podman.go:206 +#, javascript-format +msgid "cannot inspect volume %s" +msgstr "" + +#: mgradm/shared/podman/podman.go:209 +#, javascript-format +msgid "cannot restore %s SELinux permissions" +msgstr "" + +#: mgradm/shared/podman/podman.go:216 msgid "cannot read extracted data" msgstr "" -#: mgradm/shared/podman/podman.go:342 +#: mgradm/shared/podman/podman.go:356 msgid "cannot inspect podman values" msgstr "" -#: mgradm/shared/podman/podman.go:352 +#: mgradm/shared/podman/podman.go:366 msgid "cannot stop service" msgstr "" -#: mgradm/shared/podman/podman.go:360 +#: mgradm/shared/podman/podman.go:374 msgid "Previous postgresql is %[1]s, instead new one is %[2]s. Performing a DB version upgrade…" msgstr "" -#: mgradm/shared/podman/podman.go:397 +#: mgradm/shared/podman/podman.go:411 msgid "error upgrading confidential computing service." msgstr "" -#: mgradm/shared/podman/podman.go:435 +#: mgradm/shared/podman/podman.go:449 msgid "cannot inspect data" msgstr "" @@ -1530,104 +1527,137 @@ msgid "Tag for %s container, overrides the global value if set" msgstr "" #: mgradm/shared/utils/cmd_utils.go:99 -msgid "Image" +msgid "SUSE Customer Center username. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" msgstr "" #: mgradm/shared/utils/cmd_utils.go:100 +msgid "SUSE Customer Center password. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:102 +msgid "SUSE Customer Center Flags" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:109 +msgid "Image" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:110 +msgid "Specify a private registry where pull the images" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:111 msgid "Tag Image" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:104 +#: mgradm/shared/utils/cmd_utils.go:115 msgid "Image Flags" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:112 +#: mgradm/shared/utils/cmd_utils.go:124 msgid "Database upgrade image" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:113 +#: mgradm/shared/utils/cmd_utils.go:125 msgid "Database upgrade image tag" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:115 -msgid "set whether to pull the database upgrade images or not. The value can be one of 'Never', 'IfNotPresent' or 'Always'" -msgstr "" - -#: mgradm/shared/utils/cmd_utils.go:117 +#: mgradm/shared/utils/cmd_utils.go:127 msgid "Database Upgrade Image Flags" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:125 +#: mgradm/shared/utils/cmd_utils.go:134 msgid "Path to mirrored packages mounted on the host" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:132 -msgid "How many replicas of the confidential computing container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:147 +msgid "Confidential Computing Flags" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:140 mgradm/shared/utils/cmd_utils.go:148 +msgid "confidential computing attestation" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:142 -msgid "How many replicas of the Hub XML-RPC API service container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:141 +msgid "How many replicas of the confidential computing container should be started" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:149 +msgid "How many replicas of the confidential computing container should be started. Leave it unset if you want to keep the previous number of replicas." +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:155 mgradm/shared/utils/cmd_utils.go:156 +#: mgradm/shared/utils/cmd_utils.go:163 mgradm/shared/utils/cmd_utils.go:164 +msgid "Hub XML-RPC API" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:157 +msgid "How many replicas of the Hub XML-RPC API service container should be started." +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:165 +msgid "How many replicas of the Hub XML-RPC API service container should be started. Leave it unset if you want to keep the previous number of replicas." msgstr "" #: mgradm/shared/utils/exec.go:28 msgid "exec command failed" msgstr "" -#: mgradm/shared/utils/exec.go:62 mgradm/shared/utils/exec.go:82 -#: mgradm/shared/utils/exec.go:96 +#: mgradm/shared/utils/exec.go:66 mgradm/shared/utils/exec.go:86 +#: mgradm/shared/utils/exec.go:100 #, javascript-format msgid "failed to generate %s" msgstr "" -#: mgradm/shared/utils/exec.go:106 +#: mgradm/shared/utils/exec.go:110 msgid "error running the migration script" msgstr "" -#: mgradm/shared/utils/exec.go:155 +#: mgradm/shared/utils/exec.go:159 #, javascript-format msgid "Image is: %s" msgstr "" -#: mgradm/shared/utils/exec.go:169 +#: mgradm/shared/utils/exec.go:173 msgid "cannot check server release" msgstr "" -#: mgradm/shared/utils/exec.go:176 +#: mgradm/shared/utils/exec.go:180 #, javascript-format msgid "currently SUSE Manager %s is installed, instead the image is Uyuni. Upgrade is not supported" msgstr "" -#: mgradm/shared/utils/exec.go:183 +#: mgradm/shared/utils/exec.go:187 #, javascript-format msgid "currently Uyuni %s is installed, instead the image is SUSE Manager. Upgrade is not supported" msgstr "" -#: mgradm/shared/utils/exec.go:192 +#: mgradm/shared/utils/exec.go:196 msgid "failed to read current uyuni release" msgstr "" -#: mgradm/shared/utils/exec.go:196 mgradm/shared/utils/exec.go:213 +#: mgradm/shared/utils/exec.go:200 mgradm/shared/utils/exec.go:217 #, javascript-format msgid "cannot fetch release from image %s" msgstr "" -#: mgradm/shared/utils/exec.go:201 mgradm/shared/utils/exec.go:218 +#: mgradm/shared/utils/exec.go:205 mgradm/shared/utils/exec.go:222 msgid "cannot downgrade from version %[1]s to %[2]s" msgstr "" -#: mgradm/shared/utils/exec.go:209 +#: mgradm/shared/utils/exec.go:213 msgid "failed to read current susemanager release" msgstr "" -#: mgradm/shared/utils/exec.go:225 +#: mgradm/shared/utils/exec.go:229 #, javascript-format msgid "cannot fetch postgresql version from %s" msgstr "" -#: mgradm/shared/utils/exec.go:229 +#: mgradm/shared/utils/exec.go:233 msgid "posgresql is not installed in the current deployment" msgstr "" -#: mgradm/shared/utils/exec.go:243 -msgid "cannot find neither /etc/uyuni-release nor /etc/susemanagere-release" +#: mgradm/shared/utils/exec.go:247 +msgid "cannot find either /etc/uyuni-release or /etc/susemanagere-release" msgstr "" diff --git a/locale/mgradm/fr.po b/locale/mgradm/fr.po index f8c301265..642e9cba2 100644 --- a/locale/mgradm/fr.po +++ b/locale/mgradm/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: 2024-04-17 08:03+0000\n" "Last-Translator: anonymous \n" "Language-Team: French \n" @@ -40,21 +40,21 @@ msgstr "" msgid "Administrator tools:" msgstr "E-mail de l'administrateur" -#: mgradm/cmd/cmd.go:67 +#: mgradm/cmd/cmd.go:66 #, javascript-format msgid "Welcome to %s" msgstr "Bienvenue à %s" -#: mgradm/cmd/cmd.go:68 +#: mgradm/cmd/cmd.go:67 #, javascript-format msgid "Executing command: %s" msgstr "Exécution de la commande: %s" -#: mgradm/cmd/cmd.go:72 +#: mgradm/cmd/cmd.go:71 msgid "configuration file path" msgstr "chemin vers le fichier de configuration" -#: mgradm/cmd/cmd.go:73 +#: mgradm/cmd/cmd.go:72 msgid "application log level" msgstr "niveau de verbosité de l'application" @@ -68,68 +68,68 @@ msgstr "Impossible de démonter l'image ISO, %s laissée intacte" msgid "unable to remove temporary directory, leaving %s intact" msgstr "impossible de créér le répertoire temporaire: %s" -#: mgradm/cmd/distro/cp.go:48 +#: mgradm/cmd/distro/cp.go:51 #, fuzzy msgid "unable to login and register the distribution. Manual distro registration is required" msgstr "impossible de se connecter et enregistrer la distribution. Un enregistrement manuel de la distribution est nécessaire: %s" -#: mgradm/cmd/distro/cp.go:59 +#: mgradm/cmd/distro/cp.go:63 #, fuzzy msgid "unable to register the distribution. Manual distro registration is required" msgstr "impossible d'enregistrer la distribution. Un enregistrement manuel de la distribution est nécessaire: %s" -#: mgradm/cmd/distro/cp.go:61 +#: mgradm/cmd/distro/cp.go:65 #, javascript-format msgid "Distribution %s successfully registered" msgstr "Distribution %s enregistrée avec succès" -#: mgradm/cmd/distro/cp.go:70 mgradm/cmd/support/sql/sql.go:34 +#: mgradm/cmd/distro/cp.go:74 mgradm/cmd/support/sql/sql.go:34 #, javascript-format msgid "source %s does not exists" msgstr "la source %s n'existe pas" -#: mgradm/cmd/distro/cp.go:89 +#: mgradm/cmd/distro/cp.go:93 #, fuzzy, javascript-format msgid "unable to mount ISO image: %s" msgstr "Impossible de démonter l'image ISO, %s laissée intacte" -#: mgradm/cmd/distro/cp.go:98 +#: mgradm/cmd/distro/cp.go:102 msgid "Missing TreeLabel. Please specify distribution name" msgstr "" -#: mgradm/cmd/distro/cp.go:107 +#: mgradm/cmd/distro/cp.go:111 #, fuzzy, javascript-format msgid "distribution with same name already exists: %s" msgstr "distribution déjà existante: %s" -#: mgradm/cmd/distro/cp.go:111 +#: mgradm/cmd/distro/cp.go:115 #, fuzzy, javascript-format msgid "cannot create %s path in container" msgstr "impossible de lire les données du conteneur: %s" -#: mgradm/cmd/distro/cp.go:114 +#: mgradm/cmd/distro/cp.go:118 #, fuzzy, javascript-format msgid "Copying distribution %s" msgstr "Copie de la distribution %s\n" -#: mgradm/cmd/distro/cp.go:116 mgradm/shared/podman/podman.go:120 -#: mgradm/shared/podman/podman.go:123 mgradm/shared/podman/podman.go:126 -#: mgradm/shared/podman/podman.go:134 +#: mgradm/cmd/distro/cp.go:120 mgradm/shared/podman/podman.go:122 +#: mgradm/shared/podman/podman.go:125 mgradm/shared/podman/podman.go:128 +#: mgradm/shared/podman/podman.go:136 #, fuzzy, javascript-format msgid "cannot copy %s" msgstr "impossible de copier %s: %s" -#: mgradm/cmd/distro/cp.go:118 +#: mgradm/cmd/distro/cp.go:122 #, fuzzy, javascript-format msgid "Distribution has been copied into %s" msgstr "La distribution a été copiée" -#: mgradm/cmd/distro/cp.go:172 +#: mgradm/cmd/distro/cp.go:176 #, fuzzy, javascript-format msgid "Auto-detected distribution %s" msgstr "Copie de la distribution %s\n" -#: mgradm/cmd/distro/cp.go:183 +#: mgradm/cmd/distro/cp.go:187 #, fuzzy msgid "Continue by registering autoinstallation distribution" msgstr "Outils pour la gestion de distributions d'installation automatique" @@ -237,13 +237,13 @@ msgstr "impossible de créér le répertoire temporaire: %s" msgid "failed to create keyring %s" msgstr "Impossible de créer l'issuer" -#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:154 -#: mgradm/cmd/support/config/extractor.go:29 +#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:153 +#: mgradm/cmd/support/config/extractor.go:30 #: mgradm/shared/kubernetes/certificates.go:26 #: mgradm/shared/kubernetes/certificates.go:64 -#: mgradm/shared/kubernetes/install.go:175 mgradm/shared/podman/podman.go:222 -#: mgradm/shared/podman/podman.go:271 mgradm/shared/podman/podman.go:298 -#: mgradm/shared/podman/podman.go:414 mgradm/shared/utils/exec.go:115 +#: mgradm/shared/kubernetes/install.go:180 mgradm/shared/podman/podman.go:236 +#: mgradm/shared/podman/podman.go:285 mgradm/shared/podman/podman.go:312 +#: mgradm/shared/podman/podman.go:428 mgradm/shared/utils/exec.go:119 #, fuzzy msgid "failed to create temporary directory" msgstr "Échec de création du répertoire temporaire" @@ -273,7 +273,7 @@ msgid "failed to copy %[1]s to %[2]s" msgstr "impossible d'ajouter %s à l'archive: %s" #: mgradm/cmd/gpg/add/gpg.go:120 mgradm/cmd/gpg/add/gpg.go:127 -#: mgradm/cmd/support/sql/sql.go:187 mgradm/cmd/uninstall/kubernetes.go:65 +#: mgradm/cmd/support/sql/sql.go:191 mgradm/cmd/uninstall/kubernetes.go:65 #: mgradm/cmd/uninstall/kubernetes.go:70 #, javascript-format msgid "Running %s" @@ -309,47 +309,47 @@ msgstr "" msgid "Register this peripheral server to Hub API" msgstr "" -#: mgradm/cmd/hub/register/register.go:79 +#: mgradm/cmd/hub/register/register.go:77 #, javascript-format msgid "invalid line format: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:93 +#: mgradm/cmd/hub/register/register.go:91 #, javascript-format msgid "mandatory %s entry missing in config" msgstr "" -#: mgradm/cmd/hub/register/register.go:96 +#: mgradm/cmd/hub/register/register.go:94 #, javascript-format msgid "Hub API server: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:99 +#: mgradm/cmd/hub/register/register.go:100 #, fuzzy msgid "failed to connect to the Hub server" msgstr "impossible de déterminer le FQDN du serveur: %s" -#: mgradm/cmd/hub/register/register.go:107 +#: mgradm/cmd/hub/register/register.go:109 #, fuzzy msgid "failed to register this peripheral server" msgstr "impossible de créér le répertoire temporaire: %s" -#: mgradm/cmd/hub/register/register.go:110 +#: mgradm/cmd/hub/register/register.go:112 #, javascript-format msgid "failed to register this peripheral server: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:124 +#: mgradm/cmd/hub/register/register.go:126 #, fuzzy msgid "failed to update peripheral server info" msgstr "impossible de mettre à jour le certificat SSL: %s" -#: mgradm/cmd/hub/register/register.go:128 +#: mgradm/cmd/hub/register/register.go:130 #, javascript-format msgid "failed to update peripheral server info: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:130 +#: mgradm/cmd/hub/register/register.go:132 msgid "Registered peripheral server: %[1]s, ID: %[2]d" msgstr "" @@ -361,22 +361,31 @@ msgstr "Inspecter" msgid "Extract information from image and deployment" msgstr "Extrait des informations sur l'image et le déploiement" -#: mgradm/cmd/inspect/kubernetes.go:32 mgradm/cmd/inspect/podman.go:29 +#: mgradm/cmd/inspect/kubernetes.go:33 mgradm/cmd/inspect/podman.go:30 #, fuzzy msgid "failed to determine image" msgstr "impossible de déterminer l'image: %s" -#: mgradm/cmd/inspect/kubernetes.go:41 mgradm/cmd/inspect/podman.go:38 +#: mgradm/cmd/inspect/kubernetes.go:42 mgradm/cmd/inspect/podman.go:39 #, javascript-format msgid "failed to find the image of the currently running server container: %s" msgstr "impossible de déterminer l'image du conteneur actuel du serveur: %s" -#: mgradm/cmd/inspect/kubernetes.go:47 mgradm/cmd/inspect/podman.go:43 +#: mgradm/cmd/inspect/kubernetes.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:44 +#: mgradm/cmd/restart/kubernetes.go:27 mgradm/cmd/start/kubernetes.go:27 +#: mgradm/cmd/stop/kubernetes.go:27 mgradm/shared/kubernetes/install.go:148 +#: mgradm/shared/utils/exec.go:41 +#, fuzzy +msgid "failed retrieving namespace" +msgstr "impossible de déterminer l'image: %s" + +#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:44 #, fuzzy msgid "inspect command failed" msgstr "la commande inspect a échoué: %s" -#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:47 +#: mgradm/cmd/inspect/kubernetes.go:57 mgradm/cmd/inspect/podman.go:48 #, fuzzy msgid "cannot print inspect result" msgstr "impossible d'afficher le résultat de l'inspection: %s" @@ -385,11 +394,6 @@ msgstr "impossible d'afficher le résultat de l'inspection: %s" msgid "Install a new server" msgstr "Installer un nouveau serveur sur podman" -#: mgradm/cmd/install/install.go:23 mgradm/cmd/migrate/migrate.go:23 -#: mgradm/cmd/upgrade/upgrade.go:22 -msgid "specify a private registry" -msgstr "" - #: mgradm/cmd/install/kubernetes/kubernetes.go:27 msgid "Install a new server on a kubernetes cluster" msgstr "Installer un nouveau server sur un cluster kubernetes" @@ -424,7 +428,7 @@ msgid "install %s before running this command" msgstr "installer %s avant d'exécuter cette commande" #: mgradm/cmd/install/kubernetes/utils.go:67 -#: mgradm/cmd/migrate/kubernetes/utils.go:208 +#: mgradm/cmd/migrate/kubernetes/utils.go:212 #, fuzzy msgid "cannot deploy certificate" msgstr "impossible de déployer le certificat: %s" @@ -434,13 +438,13 @@ msgstr "impossible de déployer le certificat: %s" msgid "cannot deploy uyuni" msgstr "impossible de déployer uyuni: %s" -#: mgradm/cmd/install/kubernetes/utils.go:85 -#: mgradm/cmd/install/podman/utils.go:109 +#: mgradm/cmd/install/kubernetes/utils.go:86 +#: mgradm/cmd/install/kubernetes/utils.go:89 #, fuzzy -msgid "Failed to stop service: %v" +msgid "failed to stop service" msgstr "impossible de déterminer le FQDN du serveur: %s" -#: mgradm/cmd/install/kubernetes/utils.go:94 +#: mgradm/cmd/install/kubernetes/utils.go:98 #, fuzzy msgid "error storing the SSL CA certificate in database" msgstr "erreur lors de l'enregistrement du certificat de l'autorité de certification SSL dans la base de données: %s" @@ -463,17 +467,17 @@ msgstr "" "\n" "NOTE: pour l'instant l'installation sur un podman distant n'est pas supportée!\n" -#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:392 +#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:406 msgid "Waiting for the server to start…" msgstr "" -#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:55 +#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:71 #, fuzzy msgid "cannot enable service" msgstr "impossible d'activer le service systemd: %s" #: mgradm/cmd/install/podman/utils.go:54 mgradm/cmd/migrate/podman/utils.go:47 -#: mgradm/cmd/support/ptf/podman/utils.go:40 +#: mgradm/cmd/support/ptf/podman/utils.go:43 #: mgradm/cmd/upgrade/podman/utils.go:24 msgid "failed to login to registry.suse.com" msgstr "" @@ -492,11 +496,11 @@ msgid "Setting up the server with the FQDN '%s'" msgstr "Installation du serveur avec le FQDN '%s'" #: mgradm/cmd/install/podman/utils.go:75 -#: mgradm/cmd/migrate/kubernetes/utils.go:45 mgradm/shared/coco/coco.go:56 -#: mgradm/shared/hub/xmlrpcapi.go:30 mgradm/shared/kubernetes/install.go:52 -#: mgradm/shared/kubernetes/install.go:148 mgradm/shared/kubernetes/k3s.go:47 -#: mgradm/shared/kubernetes/k3s.go:52 mgradm/shared/podman/podman.go:236 -#: mgradm/shared/podman/podman.go:241 mgradm/shared/podman/podman.go:332 +#: mgradm/cmd/migrate/kubernetes/utils.go:49 mgradm/shared/coco/coco.go:68 +#: mgradm/shared/hub/xmlrpcapi.go:43 mgradm/shared/kubernetes/install.go:52 +#: mgradm/shared/kubernetes/install.go:153 mgradm/shared/kubernetes/k3s.go:55 +#: mgradm/shared/kubernetes/k3s.go:60 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/podman/podman.go:255 mgradm/shared/podman/podman.go:346 #, fuzzy msgid "failed to compute image URL" msgstr "impossible de calculer l'URL de l'image: %s" @@ -510,6 +514,11 @@ msgstr "impossible d'attendre le démarrage du système: %s" msgid "Run setup command in the container" msgstr "Exécution de l'installation dans le conteneur" +#: mgradm/cmd/install/podman/utils.go:109 +#, fuzzy +msgid "Failed to stop service: %v" +msgstr "impossible de déterminer le FQDN du serveur: %s" + #: mgradm/cmd/install/podman/utils.go:118 #, fuzzy msgid "failed to extract payg data" @@ -521,196 +530,183 @@ msgid "cannot update SSL certificate" msgstr "impossible de mettre à jour le certificat SSL: %s" #: mgradm/cmd/install/podman/utils.go:146 -#: mgradm/cmd/migrate/podman/utils.go:136 +#: mgradm/cmd/migrate/podman/utils.go:137 #, fuzzy msgid "cannot enable podman socket" msgstr "impossible d'activer le socket podman: %s" -#: mgradm/cmd/install/shared/flags.go:79 +#: mgradm/cmd/install/shared/flags.go:67 msgid "Can only contain letters, digits . _ and -" msgstr "Ne peut contenir que des lettres, chiffres . _ et -" -#: mgradm/cmd/install/shared/flags.go:87 +#: mgradm/cmd/install/shared/flags.go:75 msgid "Not a valid email address" msgstr "Pas une adresse email valide" -#: mgradm/cmd/install/shared/flags.go:130 +#: mgradm/cmd/install/shared/flags.go:124 msgid "Time zone to set on the server. Defaults to the host timezone" msgstr "Zone horaire à définir pour le serveur. Celle de l'hôte par défaut" -#: mgradm/cmd/install/shared/flags.go:131 +#: mgradm/cmd/install/shared/flags.go:125 msgid "Administrator e-mail" msgstr "E-mail de l'administrateur" -#: mgradm/cmd/install/shared/flags.go:132 +#: mgradm/cmd/install/shared/flags.go:126 msgid "E-Mail sending the notifications" msgstr "E-mail pour l'envoi des notifications" -#: mgradm/cmd/install/shared/flags.go:133 +#: mgradm/cmd/install/shared/flags.go:127 msgid "InterServerSync v1 parent FQDN" msgstr "FQDN du parent InterServerSync v1" -#: mgradm/cmd/install/shared/flags.go:135 +#: mgradm/cmd/install/shared/flags.go:129 msgid "Database user" msgstr "Utilisateur de la base de données" -#: mgradm/cmd/install/shared/flags.go:136 +#: mgradm/cmd/install/shared/flags.go:130 msgid "Database password. Randomly generated by default" msgstr "Mot de passe de la base de données. Valeur aléatoire par défaut" -#: mgradm/cmd/install/shared/flags.go:137 +#: mgradm/cmd/install/shared/flags.go:131 msgid "Database name" msgstr "Nom de la base de données" -#: mgradm/cmd/install/shared/flags.go:138 +#: mgradm/cmd/install/shared/flags.go:132 msgid "Database host" msgstr "Hôte de la base de données" -#: mgradm/cmd/install/shared/flags.go:139 +#: mgradm/cmd/install/shared/flags.go:133 msgid "Database port" msgstr "Port de la base de données" -#: mgradm/cmd/install/shared/flags.go:140 +#: mgradm/cmd/install/shared/flags.go:134 msgid "Database protocol" msgstr "Protocole de la base de données" -#: mgradm/cmd/install/shared/flags.go:141 +#: mgradm/cmd/install/shared/flags.go:135 msgid "External database admin user name" msgstr "Nom d'utilisateur administrateur de la base de données externe" -#: mgradm/cmd/install/shared/flags.go:142 +#: mgradm/cmd/install/shared/flags.go:136 msgid "External database admin password" msgstr "Mot de passe administrateur de la base de données externe" -#: mgradm/cmd/install/shared/flags.go:143 +#: mgradm/cmd/install/shared/flags.go:137 msgid "External database provider. Possible values 'aws'" msgstr "Fournisseur de base de données externe. Valeurs possibles 'aws'" -#: mgradm/cmd/install/shared/flags.go:145 +#: mgradm/cmd/install/shared/flags.go:139 #, fuzzy msgid "Database Flags" msgstr "Utilisateur de la base de données" -#: mgradm/cmd/install/shared/flags.go:156 +#: mgradm/cmd/install/shared/flags.go:150 msgid "Enable TFTP" msgstr "Activer TFTP" -#: mgradm/cmd/install/shared/flags.go:157 +#: mgradm/cmd/install/shared/flags.go:151 msgid "Report database name" msgstr "Nom de la base de données de rapport" -#: mgradm/cmd/install/shared/flags.go:158 +#: mgradm/cmd/install/shared/flags.go:152 msgid "Report database host" msgstr "Hôte de la base de données de rapport" -#: mgradm/cmd/install/shared/flags.go:159 +#: mgradm/cmd/install/shared/flags.go:153 msgid "Report database port" msgstr "Port de la base de données de rapport" -#: mgradm/cmd/install/shared/flags.go:160 +#: mgradm/cmd/install/shared/flags.go:154 msgid "Report Database username" msgstr "Nom d'utilisateur de la base de données de rapport" -#: mgradm/cmd/install/shared/flags.go:161 +#: mgradm/cmd/install/shared/flags.go:155 msgid "Report database password. Randomly generated by default" msgstr "Mot de passe de la base de données de rapport. Valeur aléatoire par défaut" -#: mgradm/cmd/install/shared/flags.go:163 +#: mgradm/cmd/install/shared/flags.go:157 msgid "Report DB Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:171 +#: mgradm/cmd/install/shared/flags.go:165 msgid "SSL certificate cnames separated by commas" msgstr "Cnames de certificat SSL séparés par des virgules" -#: mgradm/cmd/install/shared/flags.go:172 +#: mgradm/cmd/install/shared/flags.go:166 msgid "SSL certificate country" msgstr "Pays du certificat SSL" -#: mgradm/cmd/install/shared/flags.go:173 +#: mgradm/cmd/install/shared/flags.go:167 msgid "SSL certificate state" msgstr "État du certificat SSL" -#: mgradm/cmd/install/shared/flags.go:174 +#: mgradm/cmd/install/shared/flags.go:168 msgid "SSL certificate city" msgstr "Ville du certificat SSL" -#: mgradm/cmd/install/shared/flags.go:175 +#: mgradm/cmd/install/shared/flags.go:169 msgid "SSL certificate organization" msgstr "Organisation du certificat SSL" -#: mgradm/cmd/install/shared/flags.go:176 +#: mgradm/cmd/install/shared/flags.go:170 msgid "SSL certificate organization unit" msgstr "Unité d'organisation du certificat SSL" -#: mgradm/cmd/install/shared/flags.go:177 +#: mgradm/cmd/install/shared/flags.go:171 msgid "Password for the CA key to generate" msgstr "Mot de passe de la clé de l'autorité de certification à générer" -#: mgradm/cmd/install/shared/flags.go:179 +#: mgradm/cmd/install/shared/flags.go:173 #, fuzzy msgid "SSL Certificate Flags" msgstr "État du certificat SSL" -#: mgradm/cmd/install/shared/flags.go:189 +#: mgradm/cmd/install/shared/flags.go:183 msgid "Intermediate CA certificate path" msgstr "Chemin vers un certificat d'autorité de certification intermédiaire" -#: mgradm/cmd/install/shared/flags.go:190 +#: mgradm/cmd/install/shared/flags.go:184 msgid "Root CA certificate path" msgstr "Chemin vers le certificat de l'autorité de certification racine" -#: mgradm/cmd/install/shared/flags.go:191 +#: mgradm/cmd/install/shared/flags.go:185 msgid "Server certificate path" msgstr "Chemin vers le certificat du serveur" -#: mgradm/cmd/install/shared/flags.go:192 +#: mgradm/cmd/install/shared/flags.go:186 msgid "Server key path" msgstr "Chemin vers la clé du serveur" -#: mgradm/cmd/install/shared/flags.go:194 +#: mgradm/cmd/install/shared/flags.go:188 #, fuzzy msgid "3rd Party SSL Certificate Flags" msgstr "Création du certificat SSL du serveur" -#: mgradm/cmd/install/shared/flags.go:200 -msgid "SUSE Customer Center username" -msgstr "Nom d'utilisateur du SUSE Customer Center" - -#: mgradm/cmd/install/shared/flags.go:201 -msgid "SUSE Customer Center password" -msgstr "Mot de passe du SUSE Customer Center" - -#: mgradm/cmd/install/shared/flags.go:203 -#, fuzzy -msgid "SUSE Customer Center Flags" -msgstr "Mot de passe du SUSE Customer Center" - -#: mgradm/cmd/install/shared/flags.go:207 +#: mgradm/cmd/install/shared/flags.go:196 msgid "Enable tomcat and taskomatic remote debugging" msgstr "Activer le déboggage à distance de tomcat et taskomatic" -#: mgradm/cmd/install/shared/flags.go:214 +#: mgradm/cmd/install/shared/flags.go:203 msgid "Administrator user name" msgstr "Nom d'utilisateur de l'administrateur" -#: mgradm/cmd/install/shared/flags.go:215 +#: mgradm/cmd/install/shared/flags.go:204 msgid "Administrator password" msgstr "Mot de passe de l'administrateur" -#: mgradm/cmd/install/shared/flags.go:216 +#: mgradm/cmd/install/shared/flags.go:205 msgid "First name of the administrator" msgstr "Prénom de l'administrateur" -#: mgradm/cmd/install/shared/flags.go:217 +#: mgradm/cmd/install/shared/flags.go:206 msgid "Last name of the administrator" msgstr "Nom de l'administrateur" -#: mgradm/cmd/install/shared/flags.go:218 +#: mgradm/cmd/install/shared/flags.go:207 msgid "First organization name" msgstr "Nom de la première organisation" -#: mgradm/cmd/install/shared/flags.go:220 +#: mgradm/cmd/install/shared/flags.go:209 msgid "First User Flags" msgstr "" @@ -728,30 +724,34 @@ msgstr "impossible de copyer /tmp/setup.sh: %s" msgid "error running the setup script" msgstr "erreur lors de l'exécution du script d'installation: %s" -#: mgradm/cmd/install/shared/shared.go:49 -#: mgradm/cmd/migrate/kubernetes/utils.go:182 -#: mgradm/cmd/migrate/podman/utils.go:146 +#: mgradm/cmd/install/shared/shared.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:186 +#: mgradm/cmd/migrate/podman/utils.go:147 msgid "failed to add SSL CA certificate to host trusted certificates" msgstr "" -#: mgradm/cmd/install/shared/shared.go:65 -msgid "Server organization already exists, reusing" +#: mgradm/cmd/install/shared/shared.go:64 +msgid "unable to prepare API client" msgstr "" #: mgradm/cmd/install/shared/shared.go:68 +msgid "Server organization already exists, reusing" +msgstr "" + +#: mgradm/cmd/install/shared/shared.go:71 #, javascript-format msgid "Administration user already exists, but organization %s could not be found" msgstr "" -#: mgradm/cmd/install/shared/shared.go:84 +#: mgradm/cmd/install/shared/shared.go:83 msgid "Administration user already exists, but provided credentials are not valid" msgstr "" -#: mgradm/cmd/install/shared/shared.go:92 +#: mgradm/cmd/install/shared/shared.go:91 msgid "Server set up, login on https://%[1]s with %[2]s user" msgstr "" -#: mgradm/cmd/install/shared/shared.go:164 +#: mgradm/cmd/install/shared/shared.go:163 msgid "Failed to generate setup script" msgstr "Impossible de générer le script d'installation" @@ -795,89 +795,89 @@ msgstr "" msgid "SSL CA generated private key password" msgstr "Mot de passe de la clé privée de l'autorité de certification SSL générée" -#: mgradm/cmd/migrate/kubernetes/utils.go:60 mgradm/shared/utils/exec.go:128 +#: mgradm/cmd/migrate/kubernetes/utils.go:64 mgradm/shared/utils/exec.go:132 #, fuzzy msgid "failed to generate migration script" msgstr "impossible de générer le script de migration: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:84 +#: mgradm/cmd/migrate/kubernetes/utils.go:88 #, fuzzy msgid "cannot run deploy" msgstr "impossible d'exécuter le déploiement: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:91 -#: mgradm/shared/kubernetes/install.go:182 +#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/shared/kubernetes/install.go:187 #, fuzzy msgid "cannot find node running uyuni" msgstr "impossible de trouver le noeud sur lequel uyuni est exécuté: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/cmd/migrate/kubernetes/utils.go:99 #, fuzzy msgid "cannot run migration" msgstr "impossible d'effectuer la migration: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:100 +#: mgradm/cmd/migrate/kubernetes/utils.go:104 #, fuzzy msgid "cannot read data from container" msgstr "impossible de lire les données du conteneur: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:106 -#: mgradm/cmd/migrate/kubernetes/utils.go:149 +#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:153 #, fuzzy msgid "cannot set replicas to 0" msgstr "impossible de mettre le nombre de répliques à 0: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:114 #: mgradm/cmd/migrate/podman/utils.go:67 msgid "Migration prepared. Run the 'migrate' command without '--prepare' to finish the migration." msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:123 +#: mgradm/cmd/migrate/kubernetes/utils.go:127 #, fuzzy msgid "cannot setup SSL" msgstr "impossible de configurer SSL: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:131 +#: mgradm/cmd/migrate/kubernetes/utils.go:135 #, javascript-format msgid "The mirror data will not be migrated, ensure it is available at %s" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:140 +#: mgradm/cmd/migrate/kubernetes/utils.go:144 #, fuzzy, javascript-format msgid "cannot upgrade helm chart to image %s using new SSL certificate" msgstr "impossible de mettre à jour le helm chart pour l'image %s en utilisant le nouveau certificat SSL: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:144 +#: mgradm/cmd/migrate/kubernetes/utils.go:148 #, fuzzy, javascript-format msgid "cannot wait for deployment of %s" msgstr "impossible d'attendre le déploiement de %s: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:159 +#: mgradm/cmd/migrate/kubernetes/utils.go:163 #: mgradm/cmd/migrate/podman/utils.go:78 -#: mgradm/shared/kubernetes/install.go:203 mgradm/shared/podman/podman.go:366 +#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:380 #, fuzzy msgid "cannot run PostgreSQL version upgrade script" msgstr "impossible d'exécuter le script de mise à jour de la version de PostgreSQL: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:165 +#: mgradm/cmd/migrate/kubernetes/utils.go:169 #, fuzzy msgid "cannot run PostgreSQL finalisation script" msgstr "impossible d'exécuter le script de finalisation de PostgreSQL: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:169 +#: mgradm/cmd/migrate/kubernetes/utils.go:173 #: mgradm/cmd/migrate/podman/utils.go:88 -#: mgradm/shared/kubernetes/install.go:218 mgradm/shared/podman/podman.go:380 +#: mgradm/shared/kubernetes/install.go:223 mgradm/shared/podman/podman.go:394 #, fuzzy msgid "cannot run post upgrade script" msgstr "impossible d'exécuter le script post mise à jour: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:174 -#: mgradm/shared/kubernetes/install.go:223 +#: mgradm/cmd/migrate/kubernetes/utils.go:178 +#: mgradm/shared/kubernetes/install.go:228 #, fuzzy, javascript-format msgid "cannot upgrade to image %s" msgstr "impossible de mettre à jour avec l'image %s: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:199 +#: mgradm/cmd/migrate/kubernetes/utils.go:203 #, fuzzy msgid "failed to strip text part from CA certificate" msgstr "impossible de supprimer la partie text du certificat de l'autorité de certification: %s" @@ -886,11 +886,11 @@ msgstr "impossible de supprimer la partie text du certificat de l'autorité de c msgid "Migrate a remote server to containers" msgstr "Migrer un serveur distant vers des conteneurs" -#: mgradm/cmd/migrate/podman/podman.go:25 +#: mgradm/cmd/migrate/podman/podman.go:26 msgid "Migrate a remote server to containers running on podman" msgstr "Migrer un serveur distant vers des conteneurs sur podman" -#: mgradm/cmd/migrate/podman/podman.go:26 +#: mgradm/cmd/migrate/podman/podman.go:27 msgid "" "Migrate a remote server to containers running on podman\n" "\n" @@ -923,7 +923,7 @@ msgid "cannot run migration script" msgstr "impossible d'exécuter le script de migration: %s" #: mgradm/cmd/migrate/podman/utils.go:84 -#: mgradm/shared/kubernetes/install.go:214 mgradm/shared/podman/podman.go:376 +#: mgradm/shared/kubernetes/install.go:219 mgradm/shared/podman/podman.go:390 #, fuzzy msgid "cannot run PostgreSQL finalize script" msgstr "impossible d'exécuter le script de finalisation de PostgreSQL: %s" @@ -933,19 +933,19 @@ msgstr "impossible d'exécuter le script de finalisation de PostgreSQL: %s" msgid "cannot generate systemd service file" msgstr "impossible de générer le fichier du service systemd: %s" -#: mgradm/cmd/migrate/podman/utils.go:108 +#: mgradm/cmd/migrate/podman/utils.go:109 msgid "cannot setup confidential computing attestation service" msgstr "" -#: mgradm/cmd/migrate/podman/utils.go:126 +#: mgradm/cmd/migrate/podman/utils.go:120 msgid "Enabling Hub XML-RPC API since it is enabled on the migrated server" msgstr "" -#: mgradm/cmd/migrate/podman/utils.go:133 +#: mgradm/cmd/migrate/podman/utils.go:134 msgid "Server migrated" msgstr "Serveur migré" -#: mgradm/cmd/migrate/shared/flags.go:28 +#: mgradm/cmd/migrate/shared/flags.go:27 msgid "Prepare the mgration - copy the data without stopping the source server." msgstr "" @@ -1055,12 +1055,12 @@ msgstr "" msgid "path where to extract the data" msgstr "chemin vers lequel extraire les données" -#: mgradm/cmd/support/ptf/podman/podman.go:27 +#: mgradm/cmd/support/ptf/podman/podman.go:28 #, fuzzy msgid "Install a PTF or Test package on podman" msgstr "Installer un nouveau serveur sur podman" -#: mgradm/cmd/support/ptf/podman/podman.go:28 +#: mgradm/cmd/support/ptf/podman/podman.go:29 #, fuzzy msgid "" "Install a PTF or Test package on podman\n" @@ -1076,19 +1076,19 @@ msgstr "" "\n" "NOTE: pour l'instant l'installation sur un podman distant n'est pas supportée!\n" -#: mgradm/cmd/support/ptf/podman/utils.go:49 +#: mgradm/cmd/support/ptf/podman/utils.go:52 msgid "ptf and test flags cannot be set simultaneously " msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:52 +#: mgradm/cmd/support/ptf/podman/utils.go:55 msgid "ptf and test flags cannot be empty simultaneously " msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:55 +#: mgradm/cmd/support/ptf/podman/utils.go:58 msgid "user flag cannot be empty" msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:70 +#: mgradm/cmd/support/ptf/podman/utils.go:75 #, fuzzy, javascript-format msgid "The image computed is: %s" msgstr "impossible de déterminer l'image: %s" @@ -1111,26 +1111,26 @@ msgstr "" msgid "output file %s exists, use -f to force overwrite" msgstr "" -#: mgradm/cmd/support/sql/sql.go:111 +#: mgradm/cmd/support/sql/sql.go:115 msgid "interactive mode cannot work with a file output" msgstr "" -#: mgradm/cmd/support/sql/sql.go:141 +#: mgradm/cmd/support/sql/sql.go:145 #, javascript-format msgid "unknown or unsupported database %s" msgstr "" -#: mgradm/cmd/support/sql/sql.go:154 +#: mgradm/cmd/support/sql/sql.go:158 #, fuzzy msgid "Command failed" msgstr "la commande exec a échoué: %s" -#: mgradm/cmd/support/sql/sql.go:159 +#: mgradm/cmd/support/sql/sql.go:163 #, javascript-format msgid "Result is stored in the file '%s'" msgstr "" -#: mgradm/cmd/support/sql/sql.go:173 +#: mgradm/cmd/support/sql/sql.go:177 #, fuzzy msgid "cannot write" msgstr "impossible de mettre à jour: %s" @@ -1200,11 +1200,11 @@ msgstr "Impossible de supprimer la config map" msgid "Failed deleting secret" msgstr "Impossible de supprimer le secret" -#: mgradm/cmd/uninstall/kubernetes.go:108 +#: mgradm/cmd/uninstall/kubernetes.go:110 msgid "Nothing has been uninstalled, run with --force to actually uninstall" msgstr "" -#: mgradm/cmd/uninstall/kubernetes.go:110 +#: mgradm/cmd/uninstall/kubernetes.go:112 msgid "Volumes have not been touched. Depending on the storage class used, they may not have been removed" msgstr "" @@ -1258,66 +1258,54 @@ msgstr "" msgid "Upgrade a local server on kubernetes" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:27 +#: mgradm/cmd/upgrade/podman/podman.go:28 msgid "Upgrade a local server on podman" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:39 +#: mgradm/cmd/upgrade/podman/podman.go:42 msgid "List available tags for an image" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:46 +#: mgradm/cmd/upgrade/podman/podman.go:49 #, fuzzy msgid "failed to unmarshall configuration" msgstr "impossible d'exécuter le conteneur %s: %s" -#: mgradm/cmd/upgrade/shared/flags.go:31 mgradm/shared/utils/cmd_utils.go:130 -msgid "Confidential Computing Flags" -msgstr "" - -#: mgradm/cmd/upgrade/shared/flags.go:33 mgradm/shared/utils/cmd_utils.go:131 -msgid "confidential computing attestation" -msgstr "" - -#: mgradm/cmd/upgrade/shared/flags.go:34 mgradm/cmd/upgrade/shared/flags.go:35 -#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:140 -msgid "Hub XML-RPC API" -msgstr "" - #: mgradm/cmd/upgrade/upgrade.go:19 mgradm/cmd/upgrade/upgrade.go:20 msgid "Upgrade local server" msgstr "" -#: mgradm/shared/coco/coco.go:70 +#: mgradm/shared/coco/coco.go:84 msgid "Setting up confidential computing attestation service" msgstr "" -#: mgradm/shared/coco/coco.go:74 mgradm/shared/hub/xmlrpcapi.go:86 -#: mgradm/shared/podman/podman.go:74 +#: mgradm/shared/coco/coco.go:88 mgradm/shared/hub/xmlrpcapi.go:102 +#: mgradm/shared/podman/podman.go:76 #, fuzzy msgid "failed to generate systemd service unit file" msgstr "impossible de générer le fichier du service systemd: %s" -#: mgradm/shared/coco/coco.go:85 mgradm/shared/hub/xmlrpcapi.go:91 -#: mgradm/shared/podman/podman.go:80 +#: mgradm/shared/coco/coco.go:99 mgradm/shared/hub/xmlrpcapi.go:107 +#: mgradm/shared/podman/podman.go:82 #, fuzzy msgid "cannot generate systemd conf file" msgstr "impossible de générer le fichier de configuration du service systemd: %s" -#: mgradm/shared/hub/xmlrpcapi.go:27 -msgid "Setting Hub XML-RPC API service." +#: mgradm/shared/hub/xmlrpcapi.go:35 +#, javascript-format +msgid "No changes requested for hub. Keep %d replicas." msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:39 +#: mgradm/shared/hub/xmlrpcapi.go:52 #, fuzzy msgid "cannot generate systemd service" msgstr "impossible de générer le fichier du service systemd: %s" -#: mgradm/shared/hub/xmlrpcapi.go:49 +#: mgradm/shared/hub/xmlrpcapi.go:65 msgid "Multiple Hub XML-RPC container replicas are not currently supported, setting up only one." msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:58 +#: mgradm/shared/hub/xmlrpcapi.go:74 msgid "Not starting Hub XML-RPC API service" msgstr "" @@ -1410,143 +1398,153 @@ msgstr "impossible d'installer cert-manager et l'issuer auto-signé: %s" msgid "Installing Uyuni" msgstr "Installation d'Uyuni" -#: mgradm/shared/kubernetes/install.go:153 +#: mgradm/shared/kubernetes/install.go:158 #, fuzzy msgid "cannot inspect kubernetes values" msgstr "impossible d'inspecter les valeurs de l'hôte: %s" -#: mgradm/shared/kubernetes/install.go:163 +#: mgradm/shared/kubernetes/install.go:168 msgid "inspect function did non return fqdn value" msgstr "" -#: mgradm/shared/kubernetes/install.go:187 +#: mgradm/shared/kubernetes/install.go:192 #, fuzzy msgid "cannot set replica to 0" msgstr "impossible de mettre le nombre de répliques à 0: %s" -#: mgradm/shared/kubernetes/install.go:197 mgradm/shared/kubernetes/k3s.go:39 -#: mgradm/shared/podman/podman.go:217 +#: mgradm/shared/kubernetes/install.go:202 mgradm/shared/kubernetes/k3s.go:47 +#: mgradm/shared/podman/podman.go:231 #, fuzzy msgid "Previous PostgreSQL is %[1]s, new one is %[2]s. Performing a DB version upgrade…" msgstr "Le PostgreSQL précédent est %s, le nouveau est %s. Mise à jour de la version de la base de données..." -#: mgradm/shared/kubernetes/install.go:206 mgradm/shared/podman/podman.go:369 +#: mgradm/shared/kubernetes/install.go:211 mgradm/shared/podman/podman.go:383 #, javascript-format msgid "Upgrading to %s without changing PostgreSQL version" msgstr "" -#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:371 +#: mgradm/shared/kubernetes/install.go:213 mgradm/shared/podman/podman.go:385 msgid "trying to downgrade PostgreSQL from %[1]s to %[2]s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:36 mgradm/shared/kubernetes/k3s.go:106 -#: mgradm/shared/kubernetes/k3s.go:151 +#: mgradm/shared/kubernetes/k3s.go:44 mgradm/shared/kubernetes/k3s.go:114 +#: mgradm/shared/kubernetes/k3s.go:159 #, javascript-format msgid "failed to create temporary directory: %s" msgstr "impossible de créér le répertoire temporaire: %s" -#: mgradm/shared/kubernetes/k3s.go:56 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/podman/podman.go:264 #, fuzzy, javascript-format msgid "Using database upgrade image %s" msgstr "impossible de mettre à jour avec l'image %s: %s" -#: mgradm/shared/kubernetes/k3s.go:59 mgradm/shared/podman/podman.go:254 +#: mgradm/shared/kubernetes/k3s.go:67 mgradm/shared/podman/podman.go:268 #, fuzzy msgid "cannot generate PostgreSQL database version upgrade script" msgstr "impossible de générer le script de mise à jour de la version de PostgreSQL: %s" -#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/kubernetes/k3s.go:115 -#: mgradm/shared/kubernetes/k3s.go:161 +#: mgradm/shared/kubernetes/k3s.go:72 mgradm/shared/kubernetes/k3s.go:123 +#: mgradm/shared/kubernetes/k3s.go:169 #, fuzzy, javascript-format msgid "cannot delete %s" msgstr "impossible d'exécuter le déploiement: %s" -#: mgradm/shared/kubernetes/k3s.go:93 mgradm/shared/kubernetes/k3s.go:141 -#: mgradm/shared/kubernetes/k3s.go:188 +#: mgradm/shared/kubernetes/k3s.go:101 mgradm/shared/kubernetes/k3s.go:149 +#: mgradm/shared/kubernetes/k3s.go:196 #, fuzzy, javascript-format msgid "error running container %s" msgstr "erreur lors de l'exécution du conteneur %s: %s" -#: mgradm/shared/kubernetes/k3s.go:111 mgradm/shared/kubernetes/k3s.go:156 -#: mgradm/shared/podman/podman.go:283 mgradm/shared/podman/podman.go:307 +#: mgradm/shared/kubernetes/k3s.go:119 mgradm/shared/kubernetes/k3s.go:164 +#: mgradm/shared/podman/podman.go:297 mgradm/shared/podman/podman.go:321 #, fuzzy msgid "cannot generate PostgreSQL finalization script" msgstr "impossible d'exécuter le script de finalisation de PostgreSQL: %s" -#: mgradm/shared/podman/podman.go:50 +#: mgradm/shared/podman/podman.go:51 #, fuzzy msgid "cannot setup network" msgstr "impossible de configurer le réseau: %s" -#: mgradm/shared/podman/podman.go:53 +#: mgradm/shared/podman/podman.go:54 #, fuzzy msgid "Enabling system service" msgstr "impossible de générer le service systemd: %s" -#: mgradm/shared/podman/podman.go:88 +#: mgradm/shared/podman/podman.go:90 #, fuzzy msgid "cannot generate systemd user configuration file" msgstr "impossible de générer le fichier de configuration du service systemd: %s" -#: mgradm/shared/podman/podman.go:100 +#: mgradm/shared/podman/podman.go:102 msgid "failed to create temporary folder on container to copy certificates to" msgstr "impossible de créér le répertoire temporaire dans lequel coper les certificats: %s" -#: mgradm/shared/podman/podman.go:140 +#: mgradm/shared/podman/podman.go:142 msgid "failed to update SSL certificate" msgstr "impossible de mettre à jour le certificat SSL: %s" -#: mgradm/shared/podman/podman.go:145 +#: mgradm/shared/podman/podman.go:147 msgid "failed to remove copied certificate files in the container" msgstr "impossible de copier les fichiers du certificat dans le conteneur" -#: mgradm/shared/podman/podman.go:151 +#: mgradm/shared/podman/podman.go:153 msgid "failed to remove now useless ssl-build folder in the container" msgstr "impossible de supprimer le répertoire ssl-build devenu inutile dans le conteneur" -#: mgradm/shared/podman/podman.go:156 +#: mgradm/shared/podman/podman.go:158 msgid "Restarting services after updating the certificate" msgstr "" -#: mgradm/shared/podman/podman.go:175 +#: mgradm/shared/podman/podman.go:177 #, fuzzy msgid "cannot generate migration script" msgstr "impossible de générer le script de migration: %s" -#: mgradm/shared/podman/podman.go:194 mgradm/shared/utils/exec.go:103 +#: mgradm/shared/podman/podman.go:196 mgradm/shared/utils/exec.go:107 msgid "Migrating server" msgstr "" -#: mgradm/shared/podman/podman.go:197 +#: mgradm/shared/podman/podman.go:199 #, fuzzy msgid "cannot run uyuni migration container" msgstr "impossible d'exécuter le conteneur de migration: %s" -#: mgradm/shared/podman/podman.go:202 +#: mgradm/shared/podman/podman.go:206 +#, fuzzy, javascript-format +msgid "cannot inspect volume %s" +msgstr "impossible de supprimer le volue %s: %s" + +#: mgradm/shared/podman/podman.go:209 +#, fuzzy, javascript-format +msgid "cannot restore %s SELinux permissions" +msgstr "impossible d'obtenir la version de PostgreSQL sur le serveur d'origine: %s" + +#: mgradm/shared/podman/podman.go:216 #, fuzzy msgid "cannot read extracted data" msgstr "impossible de lire les données extraites: %s" -#: mgradm/shared/podman/podman.go:342 +#: mgradm/shared/podman/podman.go:356 #, fuzzy msgid "cannot inspect podman values" msgstr "impossible d'inspecter les valeurs de l'hôte: %s" -#: mgradm/shared/podman/podman.go:352 +#: mgradm/shared/podman/podman.go:366 #, fuzzy msgid "cannot stop service" msgstr "impossible d'activer le service systemd: %s" -#: mgradm/shared/podman/podman.go:360 +#: mgradm/shared/podman/podman.go:374 #, fuzzy msgid "Previous postgresql is %[1]s, instead new one is %[2]s. Performing a DB version upgrade…" msgstr "Le PostgreSQL précédent est %s, le nouveau est %s. Mise à jour de la version de la base de données..." -#: mgradm/shared/podman/podman.go:397 +#: mgradm/shared/podman/podman.go:411 msgid "error upgrading confidential computing service." msgstr "" -#: mgradm/shared/podman/podman.go:435 +#: mgradm/shared/podman/podman.go:449 #, fuzzy msgid "cannot inspect data" msgstr "impossible d'inspecter les valeurs de l'hôte: %s" @@ -1663,46 +1661,80 @@ msgid "Tag for %s container, overrides the global value if set" msgstr "" #: mgradm/shared/utils/cmd_utils.go:99 -msgid "Image" +msgid "SUSE Customer Center username. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" msgstr "" #: mgradm/shared/utils/cmd_utils.go:100 +msgid "SUSE Customer Center password. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:102 +#, fuzzy +msgid "SUSE Customer Center Flags" +msgstr "Mot de passe du SUSE Customer Center" + +#: mgradm/shared/utils/cmd_utils.go:109 +msgid "Image" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:110 +msgid "Specify a private registry where pull the images" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:111 msgid "Tag Image" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:104 +#: mgradm/shared/utils/cmd_utils.go:115 msgid "Image Flags" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:112 +#: mgradm/shared/utils/cmd_utils.go:124 #, fuzzy msgid "Database upgrade image" msgstr "Nom de la base de données" -#: mgradm/shared/utils/cmd_utils.go:113 +#: mgradm/shared/utils/cmd_utils.go:125 #, fuzzy msgid "Database upgrade image tag" msgstr "impossible de mettre à jour avec l'image %s: %s" -#: mgradm/shared/utils/cmd_utils.go:115 -msgid "set whether to pull the database upgrade images or not. The value can be one of 'Never', 'IfNotPresent' or 'Always'" -msgstr "" - -#: mgradm/shared/utils/cmd_utils.go:117 +#: mgradm/shared/utils/cmd_utils.go:127 #, fuzzy msgid "Database Upgrade Image Flags" msgstr "Utilisateur de la base de données" -#: mgradm/shared/utils/cmd_utils.go:125 +#: mgradm/shared/utils/cmd_utils.go:134 msgid "Path to mirrored packages mounted on the host" msgstr "Chemin vers le montage du mirroir paquets sur l'hôte" -#: mgradm/shared/utils/cmd_utils.go:132 -msgid "How many replicas of the confidential computing container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:147 +msgid "Confidential Computing Flags" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:140 mgradm/shared/utils/cmd_utils.go:148 +msgid "confidential computing attestation" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:142 -msgid "How many replicas of the Hub XML-RPC API service container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:141 +msgid "How many replicas of the confidential computing container should be started" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:149 +msgid "How many replicas of the confidential computing container should be started. Leave it unset if you want to keep the previous number of replicas." +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:155 mgradm/shared/utils/cmd_utils.go:156 +#: mgradm/shared/utils/cmd_utils.go:163 mgradm/shared/utils/cmd_utils.go:164 +msgid "Hub XML-RPC API" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:157 +msgid "How many replicas of the Hub XML-RPC API service container should be started." +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:165 +msgid "How many replicas of the Hub XML-RPC API service container should be started. Leave it unset if you want to keep the previous number of replicas." msgstr "" #: mgradm/shared/utils/exec.go:28 @@ -1710,69 +1742,75 @@ msgstr "" msgid "exec command failed" msgstr "la commande exec a échoué: %s" -#: mgradm/shared/utils/exec.go:62 mgradm/shared/utils/exec.go:82 -#: mgradm/shared/utils/exec.go:96 +#: mgradm/shared/utils/exec.go:66 mgradm/shared/utils/exec.go:86 +#: mgradm/shared/utils/exec.go:100 #, javascript-format msgid "failed to generate %s" msgstr "impossible de générer %s" -#: mgradm/shared/utils/exec.go:106 +#: mgradm/shared/utils/exec.go:110 #, fuzzy msgid "error running the migration script" msgstr "erreur lors de l'exécution du script de migration: %s" -#: mgradm/shared/utils/exec.go:155 +#: mgradm/shared/utils/exec.go:159 #, javascript-format msgid "Image is: %s" msgstr "" -#: mgradm/shared/utils/exec.go:169 +#: mgradm/shared/utils/exec.go:173 #, fuzzy msgid "cannot check server release" msgstr "impossible d'activer le service systemd: %s" -#: mgradm/shared/utils/exec.go:176 +#: mgradm/shared/utils/exec.go:180 #, javascript-format msgid "currently SUSE Manager %s is installed, instead the image is Uyuni. Upgrade is not supported" msgstr "" -#: mgradm/shared/utils/exec.go:183 +#: mgradm/shared/utils/exec.go:187 #, javascript-format msgid "currently Uyuni %s is installed, instead the image is SUSE Manager. Upgrade is not supported" msgstr "" -#: mgradm/shared/utils/exec.go:192 +#: mgradm/shared/utils/exec.go:196 #, fuzzy msgid "failed to read current uyuni release" msgstr "Impossible de lire le fichier de certificat %s" -#: mgradm/shared/utils/exec.go:196 mgradm/shared/utils/exec.go:213 +#: mgradm/shared/utils/exec.go:200 mgradm/shared/utils/exec.go:217 #, javascript-format msgid "cannot fetch release from image %s" msgstr "" -#: mgradm/shared/utils/exec.go:201 mgradm/shared/utils/exec.go:218 +#: mgradm/shared/utils/exec.go:205 mgradm/shared/utils/exec.go:222 msgid "cannot downgrade from version %[1]s to %[2]s" msgstr "" -#: mgradm/shared/utils/exec.go:209 +#: mgradm/shared/utils/exec.go:213 #, fuzzy msgid "failed to read current susemanager release" msgstr "Impossible de lire le fichier de certificat %s" -#: mgradm/shared/utils/exec.go:225 +#: mgradm/shared/utils/exec.go:229 #, javascript-format msgid "cannot fetch postgresql version from %s" msgstr "" -#: mgradm/shared/utils/exec.go:229 +#: mgradm/shared/utils/exec.go:233 msgid "posgresql is not installed in the current deployment" msgstr "" -#: mgradm/shared/utils/exec.go:243 -msgid "cannot find neither /etc/uyuni-release nor /etc/susemanagere-release" +#: mgradm/shared/utils/exec.go:247 +msgid "cannot find either /etc/uyuni-release or /etc/susemanagere-release" msgstr "" +#~ msgid "SUSE Customer Center username" +#~ msgstr "Nom d'utilisateur du SUSE Customer Center" + +#~ msgid "SUSE Customer Center password" +#~ msgstr "Mot de passe du SUSE Customer Center" + #, fuzzy #~ msgid "cannot inspect host values" #~ msgstr "impossible d'inspecter les valeurs de l'hôte: %s" @@ -1815,10 +1853,6 @@ msgstr "" #~ msgid "failed to add %s to tarball" #~ msgstr "impossible d'ajouter %s à l'archive: %s" -#, fuzzy, javascript-format -#~ msgid "cannot delete volume %s" -#~ msgstr "impossible de supprimer le volue %s: %s" - #, fuzzy #~ msgid "PostgreSQL is not installed in the current deployment" #~ msgstr "URL de l'image. Laisser vide pour analyser le déploiement actuel" @@ -1833,9 +1867,6 @@ msgstr "" #~ msgid "cannot retrieve timezone" #~ msgstr "impossible d'obtenir la zone horaire" -#~ msgid "cannot retrieve source PostgreSQL version" -#~ msgstr "impossible d'obtenir la version de PostgreSQL sur le serveur d'origine: %s" - #~ msgid "cannot retrieve image PostgreSQL version" #~ msgstr "impossible d'obtenir la version de PostgreSQL sur l'image: %s" diff --git a/locale/mgradm/it.po b/locale/mgradm/it.po index 5810afe16..d6357b320 100644 --- a/locale/mgradm/it.po +++ b/locale/mgradm/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: 2024-05-16 09:23+0000\n" "Last-Translator: Marina Latini \n" "Language-Team: Italian \n" @@ -39,21 +39,21 @@ msgstr "Gestione del Server:" msgid "Administrator tools:" msgstr "Password amministratore" -#: mgradm/cmd/cmd.go:67 +#: mgradm/cmd/cmd.go:66 #, javascript-format msgid "Welcome to %s" msgstr "Benvenuti su %s" -#: mgradm/cmd/cmd.go:68 +#: mgradm/cmd/cmd.go:67 #, javascript-format msgid "Executing command: %s" msgstr "" -#: mgradm/cmd/cmd.go:72 +#: mgradm/cmd/cmd.go:71 msgid "configuration file path" msgstr "" -#: mgradm/cmd/cmd.go:73 +#: mgradm/cmd/cmd.go:72 msgid "application log level" msgstr "" @@ -67,68 +67,68 @@ msgstr "Impossibile smontare l'immagine ISO, %s è inalterata" msgid "unable to remove temporary directory, leaving %s intact" msgstr "impossibile rimuovere la directory temporanea, %s è inalterata" -#: mgradm/cmd/distro/cp.go:48 +#: mgradm/cmd/distro/cp.go:51 #, fuzzy msgid "unable to login and register the distribution. Manual distro registration is required" msgstr "Impossibile effettuare il login e registrare la distribuzione. È richiesta la registrazione manuale della distribuzione: %s" -#: mgradm/cmd/distro/cp.go:59 +#: mgradm/cmd/distro/cp.go:63 #, fuzzy msgid "unable to register the distribution. Manual distro registration is required" msgstr "impossibile registrare la distribuzione. È richiesta la registrazione manuale della distribuzione: %s" -#: mgradm/cmd/distro/cp.go:61 +#: mgradm/cmd/distro/cp.go:65 #, javascript-format msgid "Distribution %s successfully registered" msgstr "Distribuzione %s registrata con successo" -#: mgradm/cmd/distro/cp.go:70 mgradm/cmd/support/sql/sql.go:34 +#: mgradm/cmd/distro/cp.go:74 mgradm/cmd/support/sql/sql.go:34 #, javascript-format msgid "source %s does not exists" msgstr "la risorsa %s non esiste" -#: mgradm/cmd/distro/cp.go:89 +#: mgradm/cmd/distro/cp.go:93 #, javascript-format msgid "unable to mount ISO image: %s" msgstr "impossibile montare l'immagine ISO: %s" -#: mgradm/cmd/distro/cp.go:98 +#: mgradm/cmd/distro/cp.go:102 msgid "Missing TreeLabel. Please specify distribution name" msgstr "" -#: mgradm/cmd/distro/cp.go:107 +#: mgradm/cmd/distro/cp.go:111 #, fuzzy, javascript-format msgid "distribution with same name already exists: %s" msgstr "la distribuzione esiste già: %s" -#: mgradm/cmd/distro/cp.go:111 +#: mgradm/cmd/distro/cp.go:115 #, javascript-format msgid "cannot create %s path in container" msgstr "impossibile creare il percorso %s nel container" -#: mgradm/cmd/distro/cp.go:114 +#: mgradm/cmd/distro/cp.go:118 #, javascript-format msgid "Copying distribution %s" msgstr "Copia della distribuzione %s" -#: mgradm/cmd/distro/cp.go:116 mgradm/shared/podman/podman.go:120 -#: mgradm/shared/podman/podman.go:123 mgradm/shared/podman/podman.go:126 -#: mgradm/shared/podman/podman.go:134 +#: mgradm/cmd/distro/cp.go:120 mgradm/shared/podman/podman.go:122 +#: mgradm/shared/podman/podman.go:125 mgradm/shared/podman/podman.go:128 +#: mgradm/shared/podman/podman.go:136 #, javascript-format msgid "cannot copy %s" msgstr "impossibile copiare %s" -#: mgradm/cmd/distro/cp.go:118 +#: mgradm/cmd/distro/cp.go:122 #, javascript-format msgid "Distribution has been copied into %s" msgstr "La distribuzione è stata copiata in %s" -#: mgradm/cmd/distro/cp.go:172 +#: mgradm/cmd/distro/cp.go:176 #, fuzzy, javascript-format msgid "Auto-detected distribution %s" msgstr "Copia della distribuzione %s\n" -#: mgradm/cmd/distro/cp.go:183 +#: mgradm/cmd/distro/cp.go:187 #, fuzzy msgid "Continue by registering autoinstallation distribution" msgstr "Strumenti di autoinstallazione delle distribuzioni" @@ -235,13 +235,13 @@ msgstr "mancata creazione della directory temporanea: %s" msgid "failed to create keyring %s" msgstr "mancata identificazione dell'immagine: %s" -#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:154 -#: mgradm/cmd/support/config/extractor.go:29 +#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:153 +#: mgradm/cmd/support/config/extractor.go:30 #: mgradm/shared/kubernetes/certificates.go:26 #: mgradm/shared/kubernetes/certificates.go:64 -#: mgradm/shared/kubernetes/install.go:175 mgradm/shared/podman/podman.go:222 -#: mgradm/shared/podman/podman.go:271 mgradm/shared/podman/podman.go:298 -#: mgradm/shared/podman/podman.go:414 mgradm/shared/utils/exec.go:115 +#: mgradm/shared/kubernetes/install.go:180 mgradm/shared/podman/podman.go:236 +#: mgradm/shared/podman/podman.go:285 mgradm/shared/podman/podman.go:312 +#: mgradm/shared/podman/podman.go:428 mgradm/shared/utils/exec.go:119 #, fuzzy msgid "failed to create temporary directory" msgstr "mancata creazione della directory temporanea: %s" @@ -271,7 +271,7 @@ msgid "failed to copy %[1]s to %[2]s" msgstr "impossibile determinare l'URL dell'immagine: %s" #: mgradm/cmd/gpg/add/gpg.go:120 mgradm/cmd/gpg/add/gpg.go:127 -#: mgradm/cmd/support/sql/sql.go:187 mgradm/cmd/uninstall/kubernetes.go:65 +#: mgradm/cmd/support/sql/sql.go:191 mgradm/cmd/uninstall/kubernetes.go:65 #: mgradm/cmd/uninstall/kubernetes.go:70 #, javascript-format msgid "Running %s" @@ -306,47 +306,47 @@ msgstr "Registrazione" msgid "Register this peripheral server to Hub API" msgstr "Registra il server periferico all'API dell'hub" -#: mgradm/cmd/hub/register/register.go:79 +#: mgradm/cmd/hub/register/register.go:77 #, javascript-format msgid "invalid line format: %s" msgstr "formato di riga non valido: %s" -#: mgradm/cmd/hub/register/register.go:93 +#: mgradm/cmd/hub/register/register.go:91 #, fuzzy, javascript-format msgid "mandatory %s entry missing in config" msgstr "elemento obbligatorio mancante nella configurazione: %s" -#: mgradm/cmd/hub/register/register.go:96 +#: mgradm/cmd/hub/register/register.go:94 #, javascript-format msgid "Hub API server: %s" msgstr "Server API Hub: %s" -#: mgradm/cmd/hub/register/register.go:99 +#: mgradm/cmd/hub/register/register.go:100 #, fuzzy msgid "failed to connect to the Hub server" msgstr "connessione non riuscita al server Hub: %s" -#: mgradm/cmd/hub/register/register.go:107 +#: mgradm/cmd/hub/register/register.go:109 #, fuzzy msgid "failed to register this peripheral server" msgstr "non è stato possibile registrare questo server periferico: %s" -#: mgradm/cmd/hub/register/register.go:110 +#: mgradm/cmd/hub/register/register.go:112 #, javascript-format msgid "failed to register this peripheral server: %s" msgstr "non è stato possibile registrare questo server periferico: %s" -#: mgradm/cmd/hub/register/register.go:124 +#: mgradm/cmd/hub/register/register.go:126 #, fuzzy msgid "failed to update peripheral server info" msgstr "mancato aggiornamento delle informazioni del server periferico: %s" -#: mgradm/cmd/hub/register/register.go:128 +#: mgradm/cmd/hub/register/register.go:130 #, javascript-format msgid "failed to update peripheral server info: %s" msgstr "mancato aggiornamento delle informazioni del server periferico: %s" -#: mgradm/cmd/hub/register/register.go:130 +#: mgradm/cmd/hub/register/register.go:132 #, fuzzy msgid "Registered peripheral server: %[1]s, ID: %[2]d" msgstr "Server periferico registrato: %s, ID: %d" @@ -359,22 +359,31 @@ msgstr "Ispeziona" msgid "Extract information from image and deployment" msgstr "Estrazione informazioni dall'immagine e dalla distribuzione" -#: mgradm/cmd/inspect/kubernetes.go:32 mgradm/cmd/inspect/podman.go:29 +#: mgradm/cmd/inspect/kubernetes.go:33 mgradm/cmd/inspect/podman.go:30 #, fuzzy msgid "failed to determine image" msgstr "mancata identificazione dell'immagine: %s" -#: mgradm/cmd/inspect/kubernetes.go:41 mgradm/cmd/inspect/podman.go:38 +#: mgradm/cmd/inspect/kubernetes.go:42 mgradm/cmd/inspect/podman.go:39 #, javascript-format msgid "failed to find the image of the currently running server container: %s" msgstr "impossibile trovare l'immagine del container server attualmente in esecuzione: %s" -#: mgradm/cmd/inspect/kubernetes.go:47 mgradm/cmd/inspect/podman.go:43 +#: mgradm/cmd/inspect/kubernetes.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:44 +#: mgradm/cmd/restart/kubernetes.go:27 mgradm/cmd/start/kubernetes.go:27 +#: mgradm/cmd/stop/kubernetes.go:27 mgradm/shared/kubernetes/install.go:148 +#: mgradm/shared/utils/exec.go:41 +#, fuzzy +msgid "failed retrieving namespace" +msgstr "mancata identificazione dell'immagine: %s" + +#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:44 #, fuzzy msgid "inspect command failed" msgstr "comando ispezione fallito: %s" -#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:47 +#: mgradm/cmd/inspect/kubernetes.go:57 mgradm/cmd/inspect/podman.go:48 #, fuzzy msgid "cannot print inspect result" msgstr "non è possibile visualizzare il risultato dell'ispezione: %s" @@ -383,11 +392,6 @@ msgstr "non è possibile visualizzare il risultato dell'ispezione: %s" msgid "Install a new server" msgstr "" -#: mgradm/cmd/install/install.go:23 mgradm/cmd/migrate/migrate.go:23 -#: mgradm/cmd/upgrade/upgrade.go:22 -msgid "specify a private registry" -msgstr "" - #: mgradm/cmd/install/kubernetes/kubernetes.go:27 msgid "Install a new server on a kubernetes cluster" msgstr "Installare un nuovo server nel cluster Kubernetes" @@ -422,7 +426,7 @@ msgid "install %s before running this command" msgstr "installare %s prima di eseguire questo comando" #: mgradm/cmd/install/kubernetes/utils.go:67 -#: mgradm/cmd/migrate/kubernetes/utils.go:208 +#: mgradm/cmd/migrate/kubernetes/utils.go:212 #, fuzzy msgid "cannot deploy certificate" msgstr "impossibile installare il certificato: %s" @@ -432,13 +436,13 @@ msgstr "impossibile installare il certificato: %s" msgid "cannot deploy uyuni" msgstr "impossibile installare uyuni: %s" -#: mgradm/cmd/install/kubernetes/utils.go:85 -#: mgradm/cmd/install/podman/utils.go:109 +#: mgradm/cmd/install/kubernetes/utils.go:86 +#: mgradm/cmd/install/kubernetes/utils.go:89 #, fuzzy -msgid "Failed to stop service: %v" +msgid "failed to stop service" msgstr "mancata identificazione dell'immagine: %s" -#: mgradm/cmd/install/kubernetes/utils.go:94 +#: mgradm/cmd/install/kubernetes/utils.go:98 msgid "error storing the SSL CA certificate in database" msgstr "" @@ -455,18 +459,18 @@ msgid "" "NOTE: installing on a remote podman is not supported yet!\n" msgstr "" -#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:392 +#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:406 #, fuzzy msgid "Waiting for the server to start…" msgstr "In attesa che il server si avvii…" -#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:55 +#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:71 #, fuzzy msgid "cannot enable service" msgstr "impossibile abilitare il servizio: %s" #: mgradm/cmd/install/podman/utils.go:54 mgradm/cmd/migrate/podman/utils.go:47 -#: mgradm/cmd/support/ptf/podman/utils.go:40 +#: mgradm/cmd/support/ptf/podman/utils.go:43 #: mgradm/cmd/upgrade/podman/utils.go:24 msgid "failed to login to registry.suse.com" msgstr "" @@ -485,11 +489,11 @@ msgid "Setting up the server with the FQDN '%s'" msgstr "Configurazione del server con FQDN '%s'" #: mgradm/cmd/install/podman/utils.go:75 -#: mgradm/cmd/migrate/kubernetes/utils.go:45 mgradm/shared/coco/coco.go:56 -#: mgradm/shared/hub/xmlrpcapi.go:30 mgradm/shared/kubernetes/install.go:52 -#: mgradm/shared/kubernetes/install.go:148 mgradm/shared/kubernetes/k3s.go:47 -#: mgradm/shared/kubernetes/k3s.go:52 mgradm/shared/podman/podman.go:236 -#: mgradm/shared/podman/podman.go:241 mgradm/shared/podman/podman.go:332 +#: mgradm/cmd/migrate/kubernetes/utils.go:49 mgradm/shared/coco/coco.go:68 +#: mgradm/shared/hub/xmlrpcapi.go:43 mgradm/shared/kubernetes/install.go:52 +#: mgradm/shared/kubernetes/install.go:153 mgradm/shared/kubernetes/k3s.go:55 +#: mgradm/shared/kubernetes/k3s.go:60 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/podman/podman.go:255 mgradm/shared/podman/podman.go:346 msgid "failed to compute image URL" msgstr "impossibile determinare l'URL dell'immagine" @@ -502,6 +506,11 @@ msgstr "impossibile abilitare il servizio: %s" msgid "Run setup command in the container" msgstr "" +#: mgradm/cmd/install/podman/utils.go:109 +#, fuzzy +msgid "Failed to stop service: %v" +msgstr "mancata identificazione dell'immagine: %s" + #: mgradm/cmd/install/podman/utils.go:118 #, fuzzy msgid "failed to extract payg data" @@ -513,192 +522,180 @@ msgid "cannot update SSL certificate" msgstr "impossibile installare il certificato: %s" #: mgradm/cmd/install/podman/utils.go:146 -#: mgradm/cmd/migrate/podman/utils.go:136 +#: mgradm/cmd/migrate/podman/utils.go:137 #, fuzzy msgid "cannot enable podman socket" msgstr "impossibile abilitare il servizio: %s" -#: mgradm/cmd/install/shared/flags.go:79 +#: mgradm/cmd/install/shared/flags.go:67 msgid "Can only contain letters, digits . _ and -" msgstr "" -#: mgradm/cmd/install/shared/flags.go:87 +#: mgradm/cmd/install/shared/flags.go:75 msgid "Not a valid email address" msgstr "" -#: mgradm/cmd/install/shared/flags.go:130 +#: mgradm/cmd/install/shared/flags.go:124 msgid "Time zone to set on the server. Defaults to the host timezone" msgstr "" -#: mgradm/cmd/install/shared/flags.go:131 +#: mgradm/cmd/install/shared/flags.go:125 msgid "Administrator e-mail" msgstr "" -#: mgradm/cmd/install/shared/flags.go:132 +#: mgradm/cmd/install/shared/flags.go:126 msgid "E-Mail sending the notifications" msgstr "" -#: mgradm/cmd/install/shared/flags.go:133 +#: mgradm/cmd/install/shared/flags.go:127 msgid "InterServerSync v1 parent FQDN" msgstr "" -#: mgradm/cmd/install/shared/flags.go:135 +#: mgradm/cmd/install/shared/flags.go:129 msgid "Database user" msgstr "" -#: mgradm/cmd/install/shared/flags.go:136 +#: mgradm/cmd/install/shared/flags.go:130 msgid "Database password. Randomly generated by default" msgstr "" -#: mgradm/cmd/install/shared/flags.go:137 +#: mgradm/cmd/install/shared/flags.go:131 msgid "Database name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:138 +#: mgradm/cmd/install/shared/flags.go:132 msgid "Database host" msgstr "" -#: mgradm/cmd/install/shared/flags.go:139 +#: mgradm/cmd/install/shared/flags.go:133 msgid "Database port" msgstr "" -#: mgradm/cmd/install/shared/flags.go:140 +#: mgradm/cmd/install/shared/flags.go:134 msgid "Database protocol" msgstr "" -#: mgradm/cmd/install/shared/flags.go:141 +#: mgradm/cmd/install/shared/flags.go:135 msgid "External database admin user name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:142 +#: mgradm/cmd/install/shared/flags.go:136 msgid "External database admin password" msgstr "" -#: mgradm/cmd/install/shared/flags.go:143 +#: mgradm/cmd/install/shared/flags.go:137 msgid "External database provider. Possible values 'aws'" msgstr "" -#: mgradm/cmd/install/shared/flags.go:145 +#: mgradm/cmd/install/shared/flags.go:139 msgid "Database Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:156 +#: mgradm/cmd/install/shared/flags.go:150 msgid "Enable TFTP" msgstr "" -#: mgradm/cmd/install/shared/flags.go:157 +#: mgradm/cmd/install/shared/flags.go:151 msgid "Report database name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:158 +#: mgradm/cmd/install/shared/flags.go:152 msgid "Report database host" msgstr "" -#: mgradm/cmd/install/shared/flags.go:159 +#: mgradm/cmd/install/shared/flags.go:153 msgid "Report database port" msgstr "" -#: mgradm/cmd/install/shared/flags.go:160 +#: mgradm/cmd/install/shared/flags.go:154 msgid "Report Database username" msgstr "" -#: mgradm/cmd/install/shared/flags.go:161 +#: mgradm/cmd/install/shared/flags.go:155 msgid "Report database password. Randomly generated by default" msgstr "" -#: mgradm/cmd/install/shared/flags.go:163 +#: mgradm/cmd/install/shared/flags.go:157 msgid "Report DB Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:171 +#: mgradm/cmd/install/shared/flags.go:165 msgid "SSL certificate cnames separated by commas" msgstr "" -#: mgradm/cmd/install/shared/flags.go:172 +#: mgradm/cmd/install/shared/flags.go:166 msgid "SSL certificate country" msgstr "" -#: mgradm/cmd/install/shared/flags.go:173 +#: mgradm/cmd/install/shared/flags.go:167 msgid "SSL certificate state" msgstr "" -#: mgradm/cmd/install/shared/flags.go:174 +#: mgradm/cmd/install/shared/flags.go:168 msgid "SSL certificate city" msgstr "" -#: mgradm/cmd/install/shared/flags.go:175 +#: mgradm/cmd/install/shared/flags.go:169 msgid "SSL certificate organization" msgstr "" -#: mgradm/cmd/install/shared/flags.go:176 +#: mgradm/cmd/install/shared/flags.go:170 msgid "SSL certificate organization unit" msgstr "" -#: mgradm/cmd/install/shared/flags.go:177 +#: mgradm/cmd/install/shared/flags.go:171 msgid "Password for the CA key to generate" msgstr "" -#: mgradm/cmd/install/shared/flags.go:179 +#: mgradm/cmd/install/shared/flags.go:173 msgid "SSL Certificate Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:189 +#: mgradm/cmd/install/shared/flags.go:183 msgid "Intermediate CA certificate path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:190 +#: mgradm/cmd/install/shared/flags.go:184 msgid "Root CA certificate path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:191 +#: mgradm/cmd/install/shared/flags.go:185 msgid "Server certificate path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:192 +#: mgradm/cmd/install/shared/flags.go:186 msgid "Server key path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:194 +#: mgradm/cmd/install/shared/flags.go:188 msgid "3rd Party SSL Certificate Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:200 -msgid "SUSE Customer Center username" -msgstr "" - -#: mgradm/cmd/install/shared/flags.go:201 -msgid "SUSE Customer Center password" -msgstr "" - -#: mgradm/cmd/install/shared/flags.go:203 -msgid "SUSE Customer Center Flags" -msgstr "" - -#: mgradm/cmd/install/shared/flags.go:207 +#: mgradm/cmd/install/shared/flags.go:196 msgid "Enable tomcat and taskomatic remote debugging" msgstr "" -#: mgradm/cmd/install/shared/flags.go:214 +#: mgradm/cmd/install/shared/flags.go:203 msgid "Administrator user name" msgstr "Nome utente amministratore" -#: mgradm/cmd/install/shared/flags.go:215 +#: mgradm/cmd/install/shared/flags.go:204 msgid "Administrator password" msgstr "Password amministratore" -#: mgradm/cmd/install/shared/flags.go:216 +#: mgradm/cmd/install/shared/flags.go:205 msgid "First name of the administrator" msgstr "" -#: mgradm/cmd/install/shared/flags.go:217 +#: mgradm/cmd/install/shared/flags.go:206 msgid "Last name of the administrator" msgstr "" -#: mgradm/cmd/install/shared/flags.go:218 +#: mgradm/cmd/install/shared/flags.go:207 msgid "First organization name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:220 +#: mgradm/cmd/install/shared/flags.go:209 msgid "First User Flags" msgstr "" @@ -715,30 +712,34 @@ msgstr "impossibile copiare %s: %s" msgid "error running the setup script" msgstr "" -#: mgradm/cmd/install/shared/shared.go:49 -#: mgradm/cmd/migrate/kubernetes/utils.go:182 -#: mgradm/cmd/migrate/podman/utils.go:146 +#: mgradm/cmd/install/shared/shared.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:186 +#: mgradm/cmd/migrate/podman/utils.go:147 msgid "failed to add SSL CA certificate to host trusted certificates" msgstr "" -#: mgradm/cmd/install/shared/shared.go:65 -msgid "Server organization already exists, reusing" +#: mgradm/cmd/install/shared/shared.go:64 +msgid "unable to prepare API client" msgstr "" #: mgradm/cmd/install/shared/shared.go:68 +msgid "Server organization already exists, reusing" +msgstr "" + +#: mgradm/cmd/install/shared/shared.go:71 #, javascript-format msgid "Administration user already exists, but organization %s could not be found" msgstr "" -#: mgradm/cmd/install/shared/shared.go:84 +#: mgradm/cmd/install/shared/shared.go:83 msgid "Administration user already exists, but provided credentials are not valid" msgstr "" -#: mgradm/cmd/install/shared/shared.go:92 +#: mgradm/cmd/install/shared/shared.go:91 msgid "Server set up, login on https://%[1]s with %[2]s user" msgstr "" -#: mgradm/cmd/install/shared/shared.go:164 +#: mgradm/cmd/install/shared/shared.go:163 msgid "Failed to generate setup script" msgstr "" @@ -768,87 +769,87 @@ msgstr "" msgid "SSL CA generated private key password" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:60 mgradm/shared/utils/exec.go:128 +#: mgradm/cmd/migrate/kubernetes/utils.go:64 mgradm/shared/utils/exec.go:132 msgid "failed to generate migration script" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:84 +#: mgradm/cmd/migrate/kubernetes/utils.go:88 #, fuzzy msgid "cannot run deploy" msgstr "impossibile installare: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:91 -#: mgradm/shared/kubernetes/install.go:182 +#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/shared/kubernetes/install.go:187 #, fuzzy msgid "cannot find node running uyuni" msgstr "impossibile trovare il nodo che ha in esecuzione uyuni: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/cmd/migrate/kubernetes/utils.go:99 #, fuzzy msgid "cannot run migration" msgstr "impossibile ispezionare il pod: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:100 +#: mgradm/cmd/migrate/kubernetes/utils.go:104 #, fuzzy msgid "cannot read data from container" msgstr "impossibile creare il percorso %s nel container: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:106 -#: mgradm/cmd/migrate/kubernetes/utils.go:149 +#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:153 #, fuzzy msgid "cannot set replicas to 0" msgstr "impossibile impostare le repliche a 0: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:114 #: mgradm/cmd/migrate/podman/utils.go:67 msgid "Migration prepared. Run the 'migrate' command without '--prepare' to finish the migration." msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:123 +#: mgradm/cmd/migrate/kubernetes/utils.go:127 #, fuzzy msgid "cannot setup SSL" msgstr "impossibile configurare SSL: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:131 +#: mgradm/cmd/migrate/kubernetes/utils.go:135 #, javascript-format msgid "The mirror data will not be migrated, ensure it is available at %s" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:140 +#: mgradm/cmd/migrate/kubernetes/utils.go:144 #, javascript-format msgid "cannot upgrade helm chart to image %s using new SSL certificate" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:144 +#: mgradm/cmd/migrate/kubernetes/utils.go:148 #, fuzzy, javascript-format msgid "cannot wait for deployment of %s" msgstr "impossibile installare: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:159 +#: mgradm/cmd/migrate/kubernetes/utils.go:163 #: mgradm/cmd/migrate/podman/utils.go:78 -#: mgradm/shared/kubernetes/install.go:203 mgradm/shared/podman/podman.go:366 +#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:380 msgid "cannot run PostgreSQL version upgrade script" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:165 +#: mgradm/cmd/migrate/kubernetes/utils.go:169 #, fuzzy msgid "cannot run PostgreSQL finalisation script" msgstr "impossibile ispezionare il pod: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:169 +#: mgradm/cmd/migrate/kubernetes/utils.go:173 #: mgradm/cmd/migrate/podman/utils.go:88 -#: mgradm/shared/kubernetes/install.go:218 mgradm/shared/podman/podman.go:380 +#: mgradm/shared/kubernetes/install.go:223 mgradm/shared/podman/podman.go:394 #, fuzzy msgid "cannot run post upgrade script" msgstr "impossibile aggiornare: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:174 -#: mgradm/shared/kubernetes/install.go:223 +#: mgradm/cmd/migrate/kubernetes/utils.go:178 +#: mgradm/shared/kubernetes/install.go:228 #, fuzzy, javascript-format msgid "cannot upgrade to image %s" msgstr "impossibile aggiornare: %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:199 +#: mgradm/cmd/migrate/kubernetes/utils.go:203 msgid "failed to strip text part from CA certificate" msgstr "" @@ -856,11 +857,11 @@ msgstr "" msgid "Migrate a remote server to containers" msgstr "" -#: mgradm/cmd/migrate/podman/podman.go:25 +#: mgradm/cmd/migrate/podman/podman.go:26 msgid "Migrate a remote server to containers running on podman" msgstr "" -#: mgradm/cmd/migrate/podman/podman.go:26 +#: mgradm/cmd/migrate/podman/podman.go:27 msgid "" "Migrate a remote server to containers running on podman\n" "\n" @@ -884,7 +885,7 @@ msgid "cannot run migration script" msgstr "impossibile ispezionare il pod: %s" #: mgradm/cmd/migrate/podman/utils.go:84 -#: mgradm/shared/kubernetes/install.go:214 mgradm/shared/podman/podman.go:376 +#: mgradm/shared/kubernetes/install.go:219 mgradm/shared/podman/podman.go:390 msgid "cannot run PostgreSQL finalize script" msgstr "" @@ -893,19 +894,19 @@ msgstr "" msgid "cannot generate systemd service file" msgstr "impossibile abilitare il servizio: %s" -#: mgradm/cmd/migrate/podman/utils.go:108 +#: mgradm/cmd/migrate/podman/utils.go:109 msgid "cannot setup confidential computing attestation service" msgstr "" -#: mgradm/cmd/migrate/podman/utils.go:126 +#: mgradm/cmd/migrate/podman/utils.go:120 msgid "Enabling Hub XML-RPC API since it is enabled on the migrated server" msgstr "" -#: mgradm/cmd/migrate/podman/utils.go:133 +#: mgradm/cmd/migrate/podman/utils.go:134 msgid "Server migrated" msgstr "" -#: mgradm/cmd/migrate/shared/flags.go:28 +#: mgradm/cmd/migrate/shared/flags.go:27 msgid "Prepare the mgration - copy the data without stopping the source server." msgstr "" @@ -1011,12 +1012,12 @@ msgstr "" msgid "path where to extract the data" msgstr "" -#: mgradm/cmd/support/ptf/podman/podman.go:27 +#: mgradm/cmd/support/ptf/podman/podman.go:28 #, fuzzy msgid "Install a PTF or Test package on podman" msgstr "Installare un nuovo server su Podman" -#: mgradm/cmd/support/ptf/podman/podman.go:28 +#: mgradm/cmd/support/ptf/podman/podman.go:29 msgid "" "Install a PTF or Test package on podman\n" "\n" @@ -1026,19 +1027,19 @@ msgid "" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:49 +#: mgradm/cmd/support/ptf/podman/utils.go:52 msgid "ptf and test flags cannot be set simultaneously " msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:52 +#: mgradm/cmd/support/ptf/podman/utils.go:55 msgid "ptf and test flags cannot be empty simultaneously " msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:55 +#: mgradm/cmd/support/ptf/podman/utils.go:58 msgid "user flag cannot be empty" msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:70 +#: mgradm/cmd/support/ptf/podman/utils.go:75 #, javascript-format msgid "The image computed is: %s" msgstr "" @@ -1060,25 +1061,25 @@ msgstr "" msgid "output file %s exists, use -f to force overwrite" msgstr "" -#: mgradm/cmd/support/sql/sql.go:111 +#: mgradm/cmd/support/sql/sql.go:115 msgid "interactive mode cannot work with a file output" msgstr "" -#: mgradm/cmd/support/sql/sql.go:141 +#: mgradm/cmd/support/sql/sql.go:145 #, javascript-format msgid "unknown or unsupported database %s" msgstr "" -#: mgradm/cmd/support/sql/sql.go:154 +#: mgradm/cmd/support/sql/sql.go:158 msgid "Command failed" msgstr "Comando non riuscito" -#: mgradm/cmd/support/sql/sql.go:159 +#: mgradm/cmd/support/sql/sql.go:163 #, javascript-format msgid "Result is stored in the file '%s'" msgstr "" -#: mgradm/cmd/support/sql/sql.go:173 +#: mgradm/cmd/support/sql/sql.go:177 #, fuzzy msgid "cannot write" msgstr "impossibile aggiornare: %s" @@ -1148,11 +1149,11 @@ msgstr "" msgid "Failed deleting secret" msgstr "" -#: mgradm/cmd/uninstall/kubernetes.go:108 +#: mgradm/cmd/uninstall/kubernetes.go:110 msgid "Nothing has been uninstalled, run with --force to actually uninstall" msgstr "" -#: mgradm/cmd/uninstall/kubernetes.go:110 +#: mgradm/cmd/uninstall/kubernetes.go:112 msgid "Volumes have not been touched. Depending on the storage class used, they may not have been removed" msgstr "" @@ -1201,65 +1202,53 @@ msgstr "" msgid "Upgrade a local server on kubernetes" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:27 +#: mgradm/cmd/upgrade/podman/podman.go:28 msgid "Upgrade a local server on podman" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:39 +#: mgradm/cmd/upgrade/podman/podman.go:42 msgid "List available tags for an image" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:46 +#: mgradm/cmd/upgrade/podman/podman.go:49 msgid "failed to unmarshall configuration" msgstr "" -#: mgradm/cmd/upgrade/shared/flags.go:31 mgradm/shared/utils/cmd_utils.go:130 -msgid "Confidential Computing Flags" -msgstr "" - -#: mgradm/cmd/upgrade/shared/flags.go:33 mgradm/shared/utils/cmd_utils.go:131 -msgid "confidential computing attestation" -msgstr "" - -#: mgradm/cmd/upgrade/shared/flags.go:34 mgradm/cmd/upgrade/shared/flags.go:35 -#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:140 -msgid "Hub XML-RPC API" -msgstr "" - #: mgradm/cmd/upgrade/upgrade.go:19 mgradm/cmd/upgrade/upgrade.go:20 msgid "Upgrade local server" msgstr "" -#: mgradm/shared/coco/coco.go:70 +#: mgradm/shared/coco/coco.go:84 msgid "Setting up confidential computing attestation service" msgstr "" -#: mgradm/shared/coco/coco.go:74 mgradm/shared/hub/xmlrpcapi.go:86 -#: mgradm/shared/podman/podman.go:74 +#: mgradm/shared/coco/coco.go:88 mgradm/shared/hub/xmlrpcapi.go:102 +#: mgradm/shared/podman/podman.go:76 #, fuzzy msgid "failed to generate systemd service unit file" msgstr "impossibile abilitare il servizio: %s" -#: mgradm/shared/coco/coco.go:85 mgradm/shared/hub/xmlrpcapi.go:91 -#: mgradm/shared/podman/podman.go:80 +#: mgradm/shared/coco/coco.go:99 mgradm/shared/hub/xmlrpcapi.go:107 +#: mgradm/shared/podman/podman.go:82 #, fuzzy msgid "cannot generate systemd conf file" msgstr "impossibile abilitare il servizio: %s" -#: mgradm/shared/hub/xmlrpcapi.go:27 -msgid "Setting Hub XML-RPC API service." +#: mgradm/shared/hub/xmlrpcapi.go:35 +#, javascript-format +msgid "No changes requested for hub. Keep %d replicas." msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:39 +#: mgradm/shared/hub/xmlrpcapi.go:52 #, fuzzy msgid "cannot generate systemd service" msgstr "impossibile abilitare il servizio: %s" -#: mgradm/shared/hub/xmlrpcapi.go:49 +#: mgradm/shared/hub/xmlrpcapi.go:65 msgid "Multiple Hub XML-RPC container replicas are not currently supported, setting up only one." msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:58 +#: mgradm/shared/hub/xmlrpcapi.go:74 msgid "Not starting Hub XML-RPC API service" msgstr "" @@ -1349,138 +1338,148 @@ msgstr "" msgid "Installing Uyuni" msgstr "" -#: mgradm/shared/kubernetes/install.go:153 +#: mgradm/shared/kubernetes/install.go:158 #, fuzzy msgid "cannot inspect kubernetes values" msgstr "impossibile ispezionare i valori dell'host: %s" -#: mgradm/shared/kubernetes/install.go:163 +#: mgradm/shared/kubernetes/install.go:168 msgid "inspect function did non return fqdn value" msgstr "" -#: mgradm/shared/kubernetes/install.go:187 +#: mgradm/shared/kubernetes/install.go:192 #, fuzzy msgid "cannot set replica to 0" msgstr "impossibile impostare le repliche a 0: %s" -#: mgradm/shared/kubernetes/install.go:197 mgradm/shared/kubernetes/k3s.go:39 -#: mgradm/shared/podman/podman.go:217 +#: mgradm/shared/kubernetes/install.go:202 mgradm/shared/kubernetes/k3s.go:47 +#: mgradm/shared/podman/podman.go:231 msgid "Previous PostgreSQL is %[1]s, new one is %[2]s. Performing a DB version upgrade…" msgstr "" -#: mgradm/shared/kubernetes/install.go:206 mgradm/shared/podman/podman.go:369 +#: mgradm/shared/kubernetes/install.go:211 mgradm/shared/podman/podman.go:383 #, javascript-format msgid "Upgrading to %s without changing PostgreSQL version" msgstr "" -#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:371 +#: mgradm/shared/kubernetes/install.go:213 mgradm/shared/podman/podman.go:385 msgid "trying to downgrade PostgreSQL from %[1]s to %[2]s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:36 mgradm/shared/kubernetes/k3s.go:106 -#: mgradm/shared/kubernetes/k3s.go:151 +#: mgradm/shared/kubernetes/k3s.go:44 mgradm/shared/kubernetes/k3s.go:114 +#: mgradm/shared/kubernetes/k3s.go:159 #, javascript-format msgid "failed to create temporary directory: %s" msgstr "mancata creazione della directory temporanea: %s" -#: mgradm/shared/kubernetes/k3s.go:56 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/podman/podman.go:264 #, fuzzy, javascript-format msgid "Using database upgrade image %s" msgstr "impossibile aggiornare: %s" -#: mgradm/shared/kubernetes/k3s.go:59 mgradm/shared/podman/podman.go:254 +#: mgradm/shared/kubernetes/k3s.go:67 mgradm/shared/podman/podman.go:268 msgid "cannot generate PostgreSQL database version upgrade script" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/kubernetes/k3s.go:115 -#: mgradm/shared/kubernetes/k3s.go:161 +#: mgradm/shared/kubernetes/k3s.go:72 mgradm/shared/kubernetes/k3s.go:123 +#: mgradm/shared/kubernetes/k3s.go:169 #, javascript-format msgid "cannot delete %s" msgstr "impossible eliminare %s" -#: mgradm/shared/kubernetes/k3s.go:93 mgradm/shared/kubernetes/k3s.go:141 -#: mgradm/shared/kubernetes/k3s.go:188 +#: mgradm/shared/kubernetes/k3s.go:101 mgradm/shared/kubernetes/k3s.go:149 +#: mgradm/shared/kubernetes/k3s.go:196 #, javascript-format msgid "error running container %s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:111 mgradm/shared/kubernetes/k3s.go:156 -#: mgradm/shared/podman/podman.go:283 mgradm/shared/podman/podman.go:307 +#: mgradm/shared/kubernetes/k3s.go:119 mgradm/shared/kubernetes/k3s.go:164 +#: mgradm/shared/podman/podman.go:297 mgradm/shared/podman/podman.go:321 msgid "cannot generate PostgreSQL finalization script" msgstr "" -#: mgradm/shared/podman/podman.go:50 +#: mgradm/shared/podman/podman.go:51 #, fuzzy msgid "cannot setup network" msgstr "impossibile impostare la rete: %s" -#: mgradm/shared/podman/podman.go:53 +#: mgradm/shared/podman/podman.go:54 msgid "Enabling system service" msgstr "" -#: mgradm/shared/podman/podman.go:88 +#: mgradm/shared/podman/podman.go:90 #, fuzzy msgid "cannot generate systemd user configuration file" msgstr "impossibile abilitare il servizio: %s" -#: mgradm/shared/podman/podman.go:100 +#: mgradm/shared/podman/podman.go:102 msgid "failed to create temporary folder on container to copy certificates to" msgstr "" -#: mgradm/shared/podman/podman.go:140 +#: mgradm/shared/podman/podman.go:142 msgid "failed to update SSL certificate" msgstr "" -#: mgradm/shared/podman/podman.go:145 +#: mgradm/shared/podman/podman.go:147 msgid "failed to remove copied certificate files in the container" msgstr "" -#: mgradm/shared/podman/podman.go:151 +#: mgradm/shared/podman/podman.go:153 msgid "failed to remove now useless ssl-build folder in the container" msgstr "" -#: mgradm/shared/podman/podman.go:156 +#: mgradm/shared/podman/podman.go:158 msgid "Restarting services after updating the certificate" msgstr "" -#: mgradm/shared/podman/podman.go:175 +#: mgradm/shared/podman/podman.go:177 #, fuzzy msgid "cannot generate migration script" msgstr "impossibile abilitare il servizio: %s" -#: mgradm/shared/podman/podman.go:194 mgradm/shared/utils/exec.go:103 +#: mgradm/shared/podman/podman.go:196 mgradm/shared/utils/exec.go:107 msgid "Migrating server" msgstr "" -#: mgradm/shared/podman/podman.go:197 +#: mgradm/shared/podman/podman.go:199 #, fuzzy msgid "cannot run uyuni migration container" msgstr "impossibile creare il percorso %s nel container: %s" -#: mgradm/shared/podman/podman.go:202 +#: mgradm/shared/podman/podman.go:206 +#, fuzzy, javascript-format +msgid "cannot inspect volume %s" +msgstr "impossible eliminare il volume %s" + +#: mgradm/shared/podman/podman.go:209 +#, javascript-format +msgid "cannot restore %s SELinux permissions" +msgstr "" + +#: mgradm/shared/podman/podman.go:216 #, fuzzy msgid "cannot read extracted data" msgstr "impossibile copiare: %s" -#: mgradm/shared/podman/podman.go:342 +#: mgradm/shared/podman/podman.go:356 #, fuzzy msgid "cannot inspect podman values" msgstr "impossibile ispezionare i valori dell'host: %s" -#: mgradm/shared/podman/podman.go:352 +#: mgradm/shared/podman/podman.go:366 #, fuzzy msgid "cannot stop service" msgstr "impossibile abilitare il servizio: %s" -#: mgradm/shared/podman/podman.go:360 +#: mgradm/shared/podman/podman.go:374 msgid "Previous postgresql is %[1]s, instead new one is %[2]s. Performing a DB version upgrade…" msgstr "" -#: mgradm/shared/podman/podman.go:397 +#: mgradm/shared/podman/podman.go:411 msgid "error upgrading confidential computing service." msgstr "" -#: mgradm/shared/podman/podman.go:435 +#: mgradm/shared/podman/podman.go:449 #, fuzzy msgid "cannot inspect data" msgstr "impossibile copiare: %s" @@ -1597,45 +1596,78 @@ msgid "Tag for %s container, overrides the global value if set" msgstr "" #: mgradm/shared/utils/cmd_utils.go:99 -msgid "Image" +msgid "SUSE Customer Center username. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" msgstr "" #: mgradm/shared/utils/cmd_utils.go:100 +msgid "SUSE Customer Center password. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:102 +msgid "SUSE Customer Center Flags" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:109 +msgid "Image" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:110 +msgid "Specify a private registry where pull the images" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:111 msgid "Tag Image" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:104 +#: mgradm/shared/utils/cmd_utils.go:115 msgid "Image Flags" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:112 +#: mgradm/shared/utils/cmd_utils.go:124 #, fuzzy msgid "Database upgrade image" msgstr "impossibile aggiornare: %s" -#: mgradm/shared/utils/cmd_utils.go:113 +#: mgradm/shared/utils/cmd_utils.go:125 #, fuzzy msgid "Database upgrade image tag" msgstr "impossibile aggiornare: %s" -#: mgradm/shared/utils/cmd_utils.go:115 -msgid "set whether to pull the database upgrade images or not. The value can be one of 'Never', 'IfNotPresent' or 'Always'" -msgstr "" - -#: mgradm/shared/utils/cmd_utils.go:117 +#: mgradm/shared/utils/cmd_utils.go:127 msgid "Database Upgrade Image Flags" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:125 +#: mgradm/shared/utils/cmd_utils.go:134 msgid "Path to mirrored packages mounted on the host" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:132 -msgid "How many replicas of the confidential computing container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:147 +msgid "Confidential Computing Flags" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:140 mgradm/shared/utils/cmd_utils.go:148 +msgid "confidential computing attestation" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:141 +msgid "How many replicas of the confidential computing container should be started" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:149 +msgid "How many replicas of the confidential computing container should be started. Leave it unset if you want to keep the previous number of replicas." +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:155 mgradm/shared/utils/cmd_utils.go:156 +#: mgradm/shared/utils/cmd_utils.go:163 mgradm/shared/utils/cmd_utils.go:164 +msgid "Hub XML-RPC API" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:157 +msgid "How many replicas of the Hub XML-RPC API service container should be started." msgstr "" -#: mgradm/shared/utils/cmd_utils.go:142 -msgid "How many replicas of the Hub XML-RPC API service container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:165 +msgid "How many replicas of the Hub XML-RPC API service container should be started. Leave it unset if you want to keep the previous number of replicas." msgstr "" #: mgradm/shared/utils/exec.go:28 @@ -1643,64 +1675,64 @@ msgstr "" msgid "exec command failed" msgstr "Comando non riuscito" -#: mgradm/shared/utils/exec.go:62 mgradm/shared/utils/exec.go:82 -#: mgradm/shared/utils/exec.go:96 +#: mgradm/shared/utils/exec.go:66 mgradm/shared/utils/exec.go:86 +#: mgradm/shared/utils/exec.go:100 #, javascript-format msgid "failed to generate %s" msgstr "" -#: mgradm/shared/utils/exec.go:106 +#: mgradm/shared/utils/exec.go:110 msgid "error running the migration script" msgstr "" -#: mgradm/shared/utils/exec.go:155 +#: mgradm/shared/utils/exec.go:159 #, javascript-format msgid "Image is: %s" msgstr "" -#: mgradm/shared/utils/exec.go:169 +#: mgradm/shared/utils/exec.go:173 #, fuzzy msgid "cannot check server release" msgstr "impossibile abilitare il servizio: %s" -#: mgradm/shared/utils/exec.go:176 +#: mgradm/shared/utils/exec.go:180 #, javascript-format msgid "currently SUSE Manager %s is installed, instead the image is Uyuni. Upgrade is not supported" msgstr "" -#: mgradm/shared/utils/exec.go:183 +#: mgradm/shared/utils/exec.go:187 #, javascript-format msgid "currently Uyuni %s is installed, instead the image is SUSE Manager. Upgrade is not supported" msgstr "" -#: mgradm/shared/utils/exec.go:192 +#: mgradm/shared/utils/exec.go:196 msgid "failed to read current uyuni release" msgstr "" -#: mgradm/shared/utils/exec.go:196 mgradm/shared/utils/exec.go:213 +#: mgradm/shared/utils/exec.go:200 mgradm/shared/utils/exec.go:217 #, javascript-format msgid "cannot fetch release from image %s" msgstr "" -#: mgradm/shared/utils/exec.go:201 mgradm/shared/utils/exec.go:218 +#: mgradm/shared/utils/exec.go:205 mgradm/shared/utils/exec.go:222 msgid "cannot downgrade from version %[1]s to %[2]s" msgstr "" -#: mgradm/shared/utils/exec.go:209 +#: mgradm/shared/utils/exec.go:213 msgid "failed to read current susemanager release" msgstr "" -#: mgradm/shared/utils/exec.go:225 +#: mgradm/shared/utils/exec.go:229 #, javascript-format msgid "cannot fetch postgresql version from %s" msgstr "" -#: mgradm/shared/utils/exec.go:229 +#: mgradm/shared/utils/exec.go:233 msgid "posgresql is not installed in the current deployment" msgstr "" -#: mgradm/shared/utils/exec.go:243 -msgid "cannot find neither /etc/uyuni-release nor /etc/susemanagere-release" +#: mgradm/shared/utils/exec.go:247 +msgid "cannot find either /etc/uyuni-release or /etc/susemanagere-release" msgstr "" #, fuzzy @@ -1723,10 +1755,6 @@ msgstr "" #~ msgid "failed to run supportconfig on the host" #~ msgstr "impossibile determinare l'URL dell'immagine: %s" -#, javascript-format -#~ msgid "cannot delete volume %s" -#~ msgstr "impossible eliminare il volume %s" - #, fuzzy #~ msgid "PostgreSQL is not installed in the current deployment" #~ msgstr "URL immagine. Lasciare vuoto per analizzare l'installazione corrente" diff --git a/locale/mgradm/ja.po b/locale/mgradm/ja.po index 333b0637c..2717572de 100644 --- a/locale/mgradm/ja.po +++ b/locale/mgradm/ja.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" -"PO-Revision-Date: 2024-07-04 02:46+0000\n" -"Last-Translator: Carina Hagl \n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" +"PO-Revision-Date: 2024-09-26 12:48+0000\n" +"Last-Translator: Valentina Leonardi \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.7.2\n" #: mgradm/cmd/cmd.go:40 msgid "Uyuni administration tool" @@ -28,31 +28,31 @@ msgstr "Uyuniサーバのコンテナ管理を支援するツール" #: mgradm/cmd/cmd.go:48 msgid "Server Deployment:" -msgstr "サーバの配備" +msgstr "サーバ配備:" #: mgradm/cmd/cmd.go:52 msgid "Server Management:" -msgstr "サーバ管理" +msgstr "サーバ管理:" #: mgradm/cmd/cmd.go:56 msgid "Administrator tools:" msgstr "管理者ツール:" -#: mgradm/cmd/cmd.go:67 +#: mgradm/cmd/cmd.go:66 #, javascript-format msgid "Welcome to %s" msgstr "%s へようこそ" -#: mgradm/cmd/cmd.go:68 +#: mgradm/cmd/cmd.go:67 #, javascript-format msgid "Executing command: %s" msgstr "コマンドの実行中: %s" -#: mgradm/cmd/cmd.go:72 +#: mgradm/cmd/cmd.go:71 msgid "configuration file path" msgstr "設定ファイルパス" -#: mgradm/cmd/cmd.go:73 +#: mgradm/cmd/cmd.go:72 msgid "application log level" msgstr "アプリケーションログレベル" @@ -66,66 +66,66 @@ msgstr "ISOイメージをアンマウントできません。%s はそのまま msgid "unable to remove temporary directory, leaving %s intact" msgstr "一時ディレクトリを削除できません。%s はそのまま残ります" -#: mgradm/cmd/distro/cp.go:48 +#: mgradm/cmd/distro/cp.go:51 msgid "unable to login and register the distribution. Manual distro registration is required" msgstr "ログインしてディストリビューションを登録できません。手動ディストリビューション登録が必要です" -#: mgradm/cmd/distro/cp.go:59 +#: mgradm/cmd/distro/cp.go:63 msgid "unable to register the distribution. Manual distro registration is required" msgstr "ディストリビューションを登録できません。手動ディストリビューション登録が必要です" -#: mgradm/cmd/distro/cp.go:61 +#: mgradm/cmd/distro/cp.go:65 #, javascript-format msgid "Distribution %s successfully registered" msgstr "ディストリビューション %s が正常に登録されました" -#: mgradm/cmd/distro/cp.go:70 mgradm/cmd/support/sql/sql.go:34 +#: mgradm/cmd/distro/cp.go:74 mgradm/cmd/support/sql/sql.go:34 #, javascript-format msgid "source %s does not exists" msgstr "ソース %s が存在しません" -#: mgradm/cmd/distro/cp.go:89 +#: mgradm/cmd/distro/cp.go:93 #, javascript-format msgid "unable to mount ISO image: %s" msgstr "ISOイメージをマウントできません: %s" -#: mgradm/cmd/distro/cp.go:98 +#: mgradm/cmd/distro/cp.go:102 msgid "Missing TreeLabel. Please specify distribution name" -msgstr "" +msgstr "TreeLabelがありません。ディストリビューション名を指定してください" -#: mgradm/cmd/distro/cp.go:107 +#: mgradm/cmd/distro/cp.go:111 #, javascript-format msgid "distribution with same name already exists: %s" msgstr "同じ名前のディストリビューションがすでに存在します: %s" -#: mgradm/cmd/distro/cp.go:111 +#: mgradm/cmd/distro/cp.go:115 #, javascript-format msgid "cannot create %s path in container" msgstr "コンテナ内に %s パスを作成できません" -#: mgradm/cmd/distro/cp.go:114 +#: mgradm/cmd/distro/cp.go:118 #, javascript-format msgid "Copying distribution %s" msgstr "ディストリビューション %s をコピーしています" -#: mgradm/cmd/distro/cp.go:116 mgradm/shared/podman/podman.go:120 -#: mgradm/shared/podman/podman.go:123 mgradm/shared/podman/podman.go:126 -#: mgradm/shared/podman/podman.go:134 +#: mgradm/cmd/distro/cp.go:120 mgradm/shared/podman/podman.go:122 +#: mgradm/shared/podman/podman.go:125 mgradm/shared/podman/podman.go:128 +#: mgradm/shared/podman/podman.go:136 #, javascript-format msgid "cannot copy %s" msgstr "%s をコピーできません" -#: mgradm/cmd/distro/cp.go:118 +#: mgradm/cmd/distro/cp.go:122 #, javascript-format msgid "Distribution has been copied into %s" msgstr "ディストリビューションが %s にコピーされました" -#: mgradm/cmd/distro/cp.go:172 +#: mgradm/cmd/distro/cp.go:176 #, javascript-format msgid "Auto-detected distribution %s" msgstr "自動検出されたディストリビューション %s" -#: mgradm/cmd/distro/cp.go:183 +#: mgradm/cmd/distro/cp.go:187 msgid "Continue by registering autoinstallation distribution" msgstr "自動インストールディストリビューションを登録して続行します" @@ -218,7 +218,6 @@ msgid "Copy distribution files from iso to the container" msgstr "ディストリビューションファイルをisoからコンテナにコピーする" #: mgradm/cmd/distro/distro.go:79 -#, fuzzy msgid "" "Takes a path to source iso file or directory with mounted iso and copies it into the container.\n" "\n" @@ -232,7 +231,11 @@ msgid "" msgstr "" "ソースisoファイルまたはisoがマウントされているディレクトリへのパスを取得し、それをコンテナにコピーします。\n" "\n" -"オプションのパラメータ「distribution-name」、「version」 および「arch」は、カスタムディストリビューションを指定します。設定されていない場合、ディストリビューション名は自動検出されます。\n" +"オプションのパラメータ「distribution-name」、「version」 および「arch」は、カスタムディストリビューションを指定します。\n" +"設定されていない場合、ディストリビューション名は自動検出が試みられます。\n" +"\n" +"- 「.treeinfo」ファイルが存在する場合はそのファイルの名前を使用する\n" +"- ISOまたは渡されたディレクトリの名前を使用する\n" "\n" "メモ: 自動登録にはAPIの詳細が必要です。" @@ -266,13 +269,13 @@ msgstr "フォルダ %s の作成に失敗しました" msgid "failed to create keyring %s" msgstr "キーリング %s の作成に失敗しました" -#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:154 -#: mgradm/cmd/support/config/extractor.go:29 +#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:153 +#: mgradm/cmd/support/config/extractor.go:30 #: mgradm/shared/kubernetes/certificates.go:26 #: mgradm/shared/kubernetes/certificates.go:64 -#: mgradm/shared/kubernetes/install.go:175 mgradm/shared/podman/podman.go:222 -#: mgradm/shared/podman/podman.go:271 mgradm/shared/podman/podman.go:298 -#: mgradm/shared/podman/podman.go:414 mgradm/shared/utils/exec.go:115 +#: mgradm/shared/kubernetes/install.go:180 mgradm/shared/podman/podman.go:236 +#: mgradm/shared/podman/podman.go:285 mgradm/shared/podman/podman.go:312 +#: mgradm/shared/podman/podman.go:428 mgradm/shared/utils/exec.go:119 msgid "failed to create temporary directory" msgstr "一時ディレクトリの作成に失敗しました" @@ -300,7 +303,7 @@ msgid "failed to copy %[1]s to %[2]s" msgstr "%[1]s を %[2]s にコピーできませんでした" #: mgradm/cmd/gpg/add/gpg.go:120 mgradm/cmd/gpg/add/gpg.go:127 -#: mgradm/cmd/support/sql/sql.go:187 mgradm/cmd/uninstall/kubernetes.go:65 +#: mgradm/cmd/support/sql/sql.go:191 mgradm/cmd/uninstall/kubernetes.go:65 #: mgradm/cmd/uninstall/kubernetes.go:70 #, javascript-format msgid "Running %s" @@ -334,44 +337,44 @@ msgstr "登録" msgid "Register this peripheral server to Hub API" msgstr "この周辺機器サーバをハブAPIに登録する" -#: mgradm/cmd/hub/register/register.go:79 +#: mgradm/cmd/hub/register/register.go:77 #, javascript-format msgid "invalid line format: %s" msgstr "無効な行のフォーマット: %s" -#: mgradm/cmd/hub/register/register.go:93 +#: mgradm/cmd/hub/register/register.go:91 #, javascript-format msgid "mandatory %s entry missing in config" msgstr "configに必須 %s エントリがありません" -#: mgradm/cmd/hub/register/register.go:96 +#: mgradm/cmd/hub/register/register.go:94 #, javascript-format msgid "Hub API server: %s" msgstr "ハブAPIサーバ: %s" -#: mgradm/cmd/hub/register/register.go:99 +#: mgradm/cmd/hub/register/register.go:100 msgid "failed to connect to the Hub server" msgstr "ハブサーバへの接続に失敗しました" -#: mgradm/cmd/hub/register/register.go:107 +#: mgradm/cmd/hub/register/register.go:109 msgid "failed to register this peripheral server" msgstr "この周辺機器サーバの登録に失敗しました" -#: mgradm/cmd/hub/register/register.go:110 +#: mgradm/cmd/hub/register/register.go:112 #, javascript-format msgid "failed to register this peripheral server: %s" msgstr "この周辺機器サーバの登録に失敗しました: %s" -#: mgradm/cmd/hub/register/register.go:124 +#: mgradm/cmd/hub/register/register.go:126 msgid "failed to update peripheral server info" msgstr "周辺機器サーバ情報の更新に失敗しました" -#: mgradm/cmd/hub/register/register.go:128 +#: mgradm/cmd/hub/register/register.go:130 #, javascript-format msgid "failed to update peripheral server info: %s" msgstr "周辺機器サーバ情報の更新に失敗しました: %s" -#: mgradm/cmd/hub/register/register.go:130 +#: mgradm/cmd/hub/register/register.go:132 msgid "Registered peripheral server: %[1]s, ID: %[2]d" msgstr "登録された周辺機器サーバ: %[1]s、ID: %[2]d" @@ -383,20 +386,29 @@ msgstr "検査" msgid "Extract information from image and deployment" msgstr "イメージと配備から情報を抽出する" -#: mgradm/cmd/inspect/kubernetes.go:32 mgradm/cmd/inspect/podman.go:29 +#: mgradm/cmd/inspect/kubernetes.go:33 mgradm/cmd/inspect/podman.go:30 msgid "failed to determine image" msgstr "イメージの決定に失敗しました" -#: mgradm/cmd/inspect/kubernetes.go:41 mgradm/cmd/inspect/podman.go:38 +#: mgradm/cmd/inspect/kubernetes.go:42 mgradm/cmd/inspect/podman.go:39 #, javascript-format msgid "failed to find the image of the currently running server container: %s" msgstr "現在実行中のサーバコンテナのイメージが見つかりませんでした: %s" -#: mgradm/cmd/inspect/kubernetes.go:47 mgradm/cmd/inspect/podman.go:43 +#: mgradm/cmd/inspect/kubernetes.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:44 +#: mgradm/cmd/restart/kubernetes.go:27 mgradm/cmd/start/kubernetes.go:27 +#: mgradm/cmd/stop/kubernetes.go:27 mgradm/shared/kubernetes/install.go:148 +#: mgradm/shared/utils/exec.go:41 +#, fuzzy +msgid "failed retrieving namespace" +msgstr "イメージの決定に失敗しました" + +#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:44 msgid "inspect command failed" msgstr "検査コマンドが失敗しました" -#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:47 +#: mgradm/cmd/inspect/kubernetes.go:57 mgradm/cmd/inspect/podman.go:48 msgid "cannot print inspect result" msgstr "検査結果を出力できません" @@ -404,11 +416,6 @@ msgstr "検査結果を出力できません" msgid "Install a new server" msgstr "新しいサーバのインストール" -#: mgradm/cmd/install/install.go:23 mgradm/cmd/migrate/migrate.go:23 -#: mgradm/cmd/upgrade/upgrade.go:22 -msgid "specify a private registry" -msgstr "プライベートレジストリを指定してください" - #: mgradm/cmd/install/kubernetes/kubernetes.go:27 msgid "Install a new server on a kubernetes cluster" msgstr "Kubernetesクラスタに新しいサーバをインストールする" @@ -443,7 +450,7 @@ msgid "install %s before running this command" msgstr "このコマンドを実行する前に %s をインストールする" #: mgradm/cmd/install/kubernetes/utils.go:67 -#: mgradm/cmd/migrate/kubernetes/utils.go:208 +#: mgradm/cmd/migrate/kubernetes/utils.go:212 msgid "cannot deploy certificate" msgstr "証明書を配備できません" @@ -451,12 +458,13 @@ msgstr "証明書を配備できません" msgid "cannot deploy uyuni" msgstr "uyuniを配備できません" -#: mgradm/cmd/install/kubernetes/utils.go:85 -#: mgradm/cmd/install/podman/utils.go:109 -msgid "Failed to stop service: %v" +#: mgradm/cmd/install/kubernetes/utils.go:86 +#: mgradm/cmd/install/kubernetes/utils.go:89 +#, fuzzy +msgid "failed to stop service" msgstr "サービスを停止できませんでした: %v" -#: mgradm/cmd/install/kubernetes/utils.go:94 +#: mgradm/cmd/install/kubernetes/utils.go:98 msgid "error storing the SSL CA certificate in database" msgstr "SSL CA証明書をデータベースに保存中にエラーが発生しました" @@ -478,23 +486,23 @@ msgstr "" "\n" "メモ: リモートのpodmanへのインストールはまだサポートされていません。\n" -#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:392 +#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:406 msgid "Waiting for the server to start…" msgstr "サーバが起動するのを待機中…" -#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:55 +#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:71 msgid "cannot enable service" msgstr "サービスを有効にできません" #: mgradm/cmd/install/podman/utils.go:54 mgradm/cmd/migrate/podman/utils.go:47 -#: mgradm/cmd/support/ptf/podman/utils.go:40 +#: mgradm/cmd/support/ptf/podman/utils.go:43 #: mgradm/cmd/upgrade/podman/utils.go:24 msgid "failed to login to registry.suse.com" -msgstr "" +msgstr "registry.suse.comへのログインに失敗しました" #: mgradm/cmd/install/podman/utils.go:59 msgid "Server is already initialized! Uninstall before attempting new installation or use upgrade command" -msgstr "" +msgstr "サーバはすでに初期化されています。新規インストールを試みる前、またはアップグレードコマンドを使用する前にアンインストールします" #: mgradm/cmd/install/podman/utils.go:64 mgradm/cmd/migrate/podman/utils.go:28 msgid "install podman before running this command" @@ -506,11 +514,11 @@ msgid "Setting up the server with the FQDN '%s'" msgstr "FQDN「%s」を使用してサーバを設定しています" #: mgradm/cmd/install/podman/utils.go:75 -#: mgradm/cmd/migrate/kubernetes/utils.go:45 mgradm/shared/coco/coco.go:56 -#: mgradm/shared/hub/xmlrpcapi.go:30 mgradm/shared/kubernetes/install.go:52 -#: mgradm/shared/kubernetes/install.go:148 mgradm/shared/kubernetes/k3s.go:47 -#: mgradm/shared/kubernetes/k3s.go:52 mgradm/shared/podman/podman.go:236 -#: mgradm/shared/podman/podman.go:241 mgradm/shared/podman/podman.go:332 +#: mgradm/cmd/migrate/kubernetes/utils.go:49 mgradm/shared/coco/coco.go:68 +#: mgradm/shared/hub/xmlrpcapi.go:43 mgradm/shared/kubernetes/install.go:52 +#: mgradm/shared/kubernetes/install.go:153 mgradm/shared/kubernetes/k3s.go:55 +#: mgradm/shared/kubernetes/k3s.go:60 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/podman/podman.go:255 mgradm/shared/podman/podman.go:346 msgid "failed to compute image URL" msgstr "イメージURLの計算に失敗しました" @@ -522,6 +530,10 @@ msgstr "システムの起動を待機できません" msgid "Run setup command in the container" msgstr "コンテナ内でsetupコマンドを実行する" +#: mgradm/cmd/install/podman/utils.go:109 +msgid "Failed to stop service: %v" +msgstr "サービスを停止できませんでした: %v" + #: mgradm/cmd/install/podman/utils.go:118 msgid "failed to extract payg data" msgstr "paygデータの抽出に失敗しました" @@ -531,197 +543,185 @@ msgid "cannot update SSL certificate" msgstr "SSL証明書を更新できません" #: mgradm/cmd/install/podman/utils.go:146 -#: mgradm/cmd/migrate/podman/utils.go:136 +#: mgradm/cmd/migrate/podman/utils.go:137 msgid "cannot enable podman socket" msgstr "podmanソケットを有効にできません" -#: mgradm/cmd/install/shared/flags.go:79 +#: mgradm/cmd/install/shared/flags.go:67 msgid "Can only contain letters, digits . _ and -" msgstr "文字、数字 ._ -のみを含めることができます" -#: mgradm/cmd/install/shared/flags.go:87 +#: mgradm/cmd/install/shared/flags.go:75 msgid "Not a valid email address" msgstr "有効な電子メールアドレスではありません" -#: mgradm/cmd/install/shared/flags.go:130 +#: mgradm/cmd/install/shared/flags.go:124 msgid "Time zone to set on the server. Defaults to the host timezone" msgstr "サーバに設定するタイムゾーン。デフォルトはホストのタイムゾーンです" -#: mgradm/cmd/install/shared/flags.go:131 +#: mgradm/cmd/install/shared/flags.go:125 msgid "Administrator e-mail" msgstr "管理者の電子メール" -#: mgradm/cmd/install/shared/flags.go:132 +#: mgradm/cmd/install/shared/flags.go:126 msgid "E-Mail sending the notifications" msgstr "通知を送信する電子メール" -#: mgradm/cmd/install/shared/flags.go:133 +#: mgradm/cmd/install/shared/flags.go:127 msgid "InterServerSync v1 parent FQDN" msgstr "InterServerSync v1の親FQDN" -#: mgradm/cmd/install/shared/flags.go:135 +#: mgradm/cmd/install/shared/flags.go:129 msgid "Database user" msgstr "データベースユーザ" -#: mgradm/cmd/install/shared/flags.go:136 +#: mgradm/cmd/install/shared/flags.go:130 msgid "Database password. Randomly generated by default" msgstr "データベースのパスワード。デフォルトでランダムに生成されます" -#: mgradm/cmd/install/shared/flags.go:137 +#: mgradm/cmd/install/shared/flags.go:131 msgid "Database name" msgstr "データベース名" -#: mgradm/cmd/install/shared/flags.go:138 +#: mgradm/cmd/install/shared/flags.go:132 msgid "Database host" msgstr "データベースホスト" -#: mgradm/cmd/install/shared/flags.go:139 +#: mgradm/cmd/install/shared/flags.go:133 msgid "Database port" msgstr "データベースポート" -#: mgradm/cmd/install/shared/flags.go:140 +#: mgradm/cmd/install/shared/flags.go:134 msgid "Database protocol" msgstr "データベースプロトコル" -#: mgradm/cmd/install/shared/flags.go:141 +#: mgradm/cmd/install/shared/flags.go:135 msgid "External database admin user name" msgstr "外部データベース管理者のユーザ名" -#: mgradm/cmd/install/shared/flags.go:142 +#: mgradm/cmd/install/shared/flags.go:136 msgid "External database admin password" msgstr "外部データベース管理者のパスワード" -#: mgradm/cmd/install/shared/flags.go:143 +#: mgradm/cmd/install/shared/flags.go:137 msgid "External database provider. Possible values 'aws'" msgstr "外部データベースプロバイダ。指定可能な値「 aws」" -#: mgradm/cmd/install/shared/flags.go:145 +#: mgradm/cmd/install/shared/flags.go:139 msgid "Database Flags" msgstr "データベースフラグ" -#: mgradm/cmd/install/shared/flags.go:156 +#: mgradm/cmd/install/shared/flags.go:150 msgid "Enable TFTP" msgstr "TFTPを有効にする" -#: mgradm/cmd/install/shared/flags.go:157 +#: mgradm/cmd/install/shared/flags.go:151 msgid "Report database name" msgstr "レポートデータベース名" -#: mgradm/cmd/install/shared/flags.go:158 +#: mgradm/cmd/install/shared/flags.go:152 msgid "Report database host" msgstr "レポートデータベースホスト" -#: mgradm/cmd/install/shared/flags.go:159 +#: mgradm/cmd/install/shared/flags.go:153 msgid "Report database port" msgstr "レポートデータベースポート" -#: mgradm/cmd/install/shared/flags.go:160 +#: mgradm/cmd/install/shared/flags.go:154 msgid "Report Database username" msgstr "レポートデータベースユーザ名" -#: mgradm/cmd/install/shared/flags.go:161 +#: mgradm/cmd/install/shared/flags.go:155 msgid "Report database password. Randomly generated by default" msgstr "レポートデータベースパスワード。デフォルトでランダムに生成されます" -#: mgradm/cmd/install/shared/flags.go:163 +#: mgradm/cmd/install/shared/flags.go:157 msgid "Report DB Flags" msgstr "レポートDBフラグ" -#: mgradm/cmd/install/shared/flags.go:171 +#: mgradm/cmd/install/shared/flags.go:165 msgid "SSL certificate cnames separated by commas" msgstr "カンマで区切られたSSL証明書のcnames" -#: mgradm/cmd/install/shared/flags.go:172 +#: mgradm/cmd/install/shared/flags.go:166 msgid "SSL certificate country" msgstr "SSL証明書の国" -#: mgradm/cmd/install/shared/flags.go:173 +#: mgradm/cmd/install/shared/flags.go:167 msgid "SSL certificate state" msgstr "SSL証明書の都道府県" -#: mgradm/cmd/install/shared/flags.go:174 +#: mgradm/cmd/install/shared/flags.go:168 msgid "SSL certificate city" msgstr "SSL証明書の市町村" -#: mgradm/cmd/install/shared/flags.go:175 +#: mgradm/cmd/install/shared/flags.go:169 msgid "SSL certificate organization" msgstr "SSL証明書の組織" -#: mgradm/cmd/install/shared/flags.go:176 +#: mgradm/cmd/install/shared/flags.go:170 msgid "SSL certificate organization unit" msgstr "SSL証明書の組織単位" -#: mgradm/cmd/install/shared/flags.go:177 +#: mgradm/cmd/install/shared/flags.go:171 msgid "Password for the CA key to generate" msgstr "生成するCAキーのパスワード" -#: mgradm/cmd/install/shared/flags.go:179 +#: mgradm/cmd/install/shared/flags.go:173 msgid "SSL Certificate Flags" msgstr "SSL証明書フラグ" -#: mgradm/cmd/install/shared/flags.go:189 +#: mgradm/cmd/install/shared/flags.go:183 msgid "Intermediate CA certificate path" msgstr "中間CA証明書のパス" -#: mgradm/cmd/install/shared/flags.go:190 +#: mgradm/cmd/install/shared/flags.go:184 msgid "Root CA certificate path" msgstr "ルートCA証明書のパス" -#: mgradm/cmd/install/shared/flags.go:191 +#: mgradm/cmd/install/shared/flags.go:185 msgid "Server certificate path" msgstr "サーバ証明書のパス" -#: mgradm/cmd/install/shared/flags.go:192 +#: mgradm/cmd/install/shared/flags.go:186 msgid "Server key path" msgstr "サーバキーのパス" -#: mgradm/cmd/install/shared/flags.go:194 +#: mgradm/cmd/install/shared/flags.go:188 msgid "3rd Party SSL Certificate Flags" msgstr "サードパーティSSL証明書のフラグ" -#: mgradm/cmd/install/shared/flags.go:200 -msgid "SUSE Customer Center username" -msgstr "SUSEカスタマーセンターのユーザ名" - -#: mgradm/cmd/install/shared/flags.go:201 -msgid "SUSE Customer Center password" -msgstr "SUSEカスタマーセンターのパスワード" - -#: mgradm/cmd/install/shared/flags.go:203 -msgid "SUSE Customer Center Flags" -msgstr "SUSE カスタマーセンターのフラグ" - -#: mgradm/cmd/install/shared/flags.go:207 +#: mgradm/cmd/install/shared/flags.go:196 msgid "Enable tomcat and taskomatic remote debugging" msgstr "tomcatとtaskomaticのリモートデバッグを有効にする" -#: mgradm/cmd/install/shared/flags.go:214 +#: mgradm/cmd/install/shared/flags.go:203 msgid "Administrator user name" msgstr "管理者ユーザ名" -#: mgradm/cmd/install/shared/flags.go:215 +#: mgradm/cmd/install/shared/flags.go:204 msgid "Administrator password" msgstr "管理者パスワード" -#: mgradm/cmd/install/shared/flags.go:216 +#: mgradm/cmd/install/shared/flags.go:205 msgid "First name of the administrator" msgstr "管理者の名" -#: mgradm/cmd/install/shared/flags.go:217 +#: mgradm/cmd/install/shared/flags.go:206 msgid "Last name of the administrator" msgstr "管理者の姓" -#: mgradm/cmd/install/shared/flags.go:218 +#: mgradm/cmd/install/shared/flags.go:207 msgid "First organization name" msgstr "最初の組織名" -#: mgradm/cmd/install/shared/flags.go:220 +#: mgradm/cmd/install/shared/flags.go:209 msgid "First User Flags" msgstr "最初のユーザのフラグ" #: mgradm/cmd/install/shared/shared.go:32 msgid "Server appears to be already configured. Installation will continue, but installation options may be ignored." -msgstr "" +msgstr "サーバはすでに設定されているようです。インストールは続行されますが、インストールオプションは無視される場合があります。" #: mgradm/cmd/install/shared/shared.go:40 msgid "cannot copy /tmp/setup.sh" @@ -731,30 +731,34 @@ msgstr "/tmp/setup.shをコピーできません" msgid "error running the setup script" msgstr "セットアップスクリプトの実行中にエラーが発生しました" -#: mgradm/cmd/install/shared/shared.go:49 -#: mgradm/cmd/migrate/kubernetes/utils.go:182 -#: mgradm/cmd/migrate/podman/utils.go:146 +#: mgradm/cmd/install/shared/shared.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:186 +#: mgradm/cmd/migrate/podman/utils.go:147 msgid "failed to add SSL CA certificate to host trusted certificates" msgstr "SSL CA証明書をホストの信頼済み証明書に追加できませんでした" -#: mgradm/cmd/install/shared/shared.go:65 -msgid "Server organization already exists, reusing" +#: mgradm/cmd/install/shared/shared.go:64 +msgid "unable to prepare API client" msgstr "" #: mgradm/cmd/install/shared/shared.go:68 +msgid "Server organization already exists, reusing" +msgstr "サーバ組織はすでに存在しており、再利用しています" + +#: mgradm/cmd/install/shared/shared.go:71 #, javascript-format msgid "Administration user already exists, but organization %s could not be found" -msgstr "" +msgstr "管理ユーザはすでに存在しますが、組織 %s が見つかりませんでした" -#: mgradm/cmd/install/shared/shared.go:84 +#: mgradm/cmd/install/shared/shared.go:83 msgid "Administration user already exists, but provided credentials are not valid" -msgstr "" +msgstr "管理ユーザはすでに存在しますが、指定された資格情報は無効です" -#: mgradm/cmd/install/shared/shared.go:92 +#: mgradm/cmd/install/shared/shared.go:91 msgid "Server set up, login on https://%[1]s with %[2]s user" msgstr "サーバ設定、%[2]s ユーザでhttps://%[1]s にログイン" -#: mgradm/cmd/install/shared/shared.go:164 +#: mgradm/cmd/install/shared/shared.go:163 msgid "Failed to generate setup script" msgstr "セットアップスクリプトの生成に失敗しました" @@ -798,80 +802,79 @@ msgstr "" msgid "SSL CA generated private key password" msgstr "SSL CAが生成した機密鍵のパスワード" -#: mgradm/cmd/migrate/kubernetes/utils.go:60 mgradm/shared/utils/exec.go:128 +#: mgradm/cmd/migrate/kubernetes/utils.go:64 mgradm/shared/utils/exec.go:132 msgid "failed to generate migration script" msgstr "移行スクリプトの生成に失敗しました" -#: mgradm/cmd/migrate/kubernetes/utils.go:84 +#: mgradm/cmd/migrate/kubernetes/utils.go:88 msgid "cannot run deploy" msgstr "配備を実行できません" -#: mgradm/cmd/migrate/kubernetes/utils.go:91 -#: mgradm/shared/kubernetes/install.go:182 +#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/shared/kubernetes/install.go:187 msgid "cannot find node running uyuni" msgstr "uyuniを実行しているノードが見つかりません" -#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/cmd/migrate/kubernetes/utils.go:99 msgid "cannot run migration" msgstr "移行を実行できません" -#: mgradm/cmd/migrate/kubernetes/utils.go:100 +#: mgradm/cmd/migrate/kubernetes/utils.go:104 msgid "cannot read data from container" msgstr "コンテナからデータを読み込めません" -#: mgradm/cmd/migrate/kubernetes/utils.go:106 -#: mgradm/cmd/migrate/kubernetes/utils.go:149 +#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:153 msgid "cannot set replicas to 0" msgstr "レプリカを0に設定できません" -#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:114 #: mgradm/cmd/migrate/podman/utils.go:67 msgid "Migration prepared. Run the 'migrate' command without '--prepare' to finish the migration." -msgstr "" +msgstr "移行の準備ができました。移行を完了するには、「--prepare」を指定せずに「migrate」コマンドを実行します。" -#: mgradm/cmd/migrate/kubernetes/utils.go:123 +#: mgradm/cmd/migrate/kubernetes/utils.go:127 msgid "cannot setup SSL" msgstr "SSLを設定できません" -#: mgradm/cmd/migrate/kubernetes/utils.go:131 +#: mgradm/cmd/migrate/kubernetes/utils.go:135 #, javascript-format msgid "The mirror data will not be migrated, ensure it is available at %s" msgstr "ミラーデータは移行されません。%s に配置しておいてください" -#: mgradm/cmd/migrate/kubernetes/utils.go:140 +#: mgradm/cmd/migrate/kubernetes/utils.go:144 #, javascript-format msgid "cannot upgrade helm chart to image %s using new SSL certificate" msgstr "新しいSSL 証明書を使用してhelmチャートをイメージ %s にアップグレードできません" -#: mgradm/cmd/migrate/kubernetes/utils.go:144 +#: mgradm/cmd/migrate/kubernetes/utils.go:148 #, javascript-format msgid "cannot wait for deployment of %s" msgstr "%s の配備を待機できません" -#: mgradm/cmd/migrate/kubernetes/utils.go:159 +#: mgradm/cmd/migrate/kubernetes/utils.go:163 #: mgradm/cmd/migrate/podman/utils.go:78 -#: mgradm/shared/kubernetes/install.go:203 mgradm/shared/podman/podman.go:366 +#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:380 msgid "cannot run PostgreSQL version upgrade script" msgstr "PostgreSQLバージョンアップグレードスクリプトを実行できません" -#: mgradm/cmd/migrate/kubernetes/utils.go:165 -#, fuzzy +#: mgradm/cmd/migrate/kubernetes/utils.go:169 msgid "cannot run PostgreSQL finalisation script" msgstr "PostgreSQL終了処理スクリプトを実行できません" -#: mgradm/cmd/migrate/kubernetes/utils.go:169 +#: mgradm/cmd/migrate/kubernetes/utils.go:173 #: mgradm/cmd/migrate/podman/utils.go:88 -#: mgradm/shared/kubernetes/install.go:218 mgradm/shared/podman/podman.go:380 +#: mgradm/shared/kubernetes/install.go:223 mgradm/shared/podman/podman.go:394 msgid "cannot run post upgrade script" msgstr "アップグレード後のスクリプトを実行できません" -#: mgradm/cmd/migrate/kubernetes/utils.go:174 -#: mgradm/shared/kubernetes/install.go:223 +#: mgradm/cmd/migrate/kubernetes/utils.go:178 +#: mgradm/shared/kubernetes/install.go:228 #, javascript-format msgid "cannot upgrade to image %s" msgstr "イメージ %s にアップグレードできません" -#: mgradm/cmd/migrate/kubernetes/utils.go:199 +#: mgradm/cmd/migrate/kubernetes/utils.go:203 msgid "failed to strip text part from CA certificate" msgstr "CA証明書からテキスト部分を削除できませんでした" @@ -879,11 +882,11 @@ msgstr "CA証明書からテキスト部分を削除できませんでした" msgid "Migrate a remote server to containers" msgstr "リモートサーバをコンテナに移行する" -#: mgradm/cmd/migrate/podman/podman.go:25 +#: mgradm/cmd/migrate/podman/podman.go:26 msgid "Migrate a remote server to containers running on podman" msgstr "リモートサーバをpodman上で動作するコンテナに移行する" -#: mgradm/cmd/migrate/podman/podman.go:26 +#: mgradm/cmd/migrate/podman/podman.go:27 msgid "" "Migrate a remote server to containers running on podman\n" "\n" @@ -914,7 +917,7 @@ msgid "cannot run migration script" msgstr "移行スクリプトを実行できません" #: mgradm/cmd/migrate/podman/utils.go:84 -#: mgradm/shared/kubernetes/install.go:214 mgradm/shared/podman/podman.go:376 +#: mgradm/shared/kubernetes/install.go:219 mgradm/shared/podman/podman.go:390 msgid "cannot run PostgreSQL finalize script" msgstr "PostgreSQL終了処理スクリプトを実行できません" @@ -922,23 +925,21 @@ msgstr "PostgreSQL終了処理スクリプトを実行できません" msgid "cannot generate systemd service file" msgstr "systemdサービスファイルを生成できません" -#: mgradm/cmd/migrate/podman/utils.go:108 -#, fuzzy +#: mgradm/cmd/migrate/podman/utils.go:109 msgid "cannot setup confidential computing attestation service" -msgstr "コンフィデンシャルコンピューティング検証サービスの設定" +msgstr "コンフィデンシャルコンピューティング認証サービスを設定できません" -#: mgradm/cmd/migrate/podman/utils.go:126 -#, fuzzy +#: mgradm/cmd/migrate/podman/utils.go:120 msgid "Enabling Hub XML-RPC API since it is enabled on the migrated server" -msgstr "Hub XML-RPC APIコンテナを有効化しています。" +msgstr "移行先サーバでHub XML-RPC APIが有効になっているためこれを有効にする" -#: mgradm/cmd/migrate/podman/utils.go:133 +#: mgradm/cmd/migrate/podman/utils.go:134 msgid "Server migrated" msgstr "サーバが移行されました" -#: mgradm/cmd/migrate/shared/flags.go:28 +#: mgradm/cmd/migrate/shared/flags.go:27 msgid "Prepare the mgration - copy the data without stopping the source server." -msgstr "" +msgstr "移行の準備 - ソースサーバを停止せずにデータをコピーします。" #: mgradm/cmd/migrate/shared/flags.go:34 msgid "User on the source server. Non-root user must have passwordless sudo privileges (NOPASSWD tag in /etc/sudoers)." @@ -984,7 +985,6 @@ msgid "Adjust the replicas for services supporting it." msgstr "サポートしているサービス用にレプリカを調整します。" #: mgradm/cmd/scale/scale.go:30 -#, fuzzy msgid "" "Adjust the replicas for services supporting it.\n" "Supported services:\n" @@ -994,6 +994,7 @@ msgstr "" "サポートしているサービス用にレプリカを調整します。\n" "サポート対象サービス:\n" " - uyuni-server-attestation\n" +" - uyuni-hub-xmlrpc\n" #: mgradm/cmd/start/start.go:24 mgradm/cmd/start/start.go:25 msgid "Start the server" @@ -1040,18 +1041,18 @@ msgid "" "Extract the host or cluster configuration and logs as well as those from \n" "the containers for support to help debugging." msgstr "" -"ホストまたはクラスタの設定とログ、およびサポート用コンテナの設定とログを抽出し\n" -"デバッグに役立てます。" +"デバッグを支援するため、ホストまたはクラスタの設定とログ、および\n" +"コンテナから設定とログを抽出します。" #: mgradm/cmd/support/config/config.go:32 msgid "path where to extract the data" msgstr "データを抽出するパス" -#: mgradm/cmd/support/ptf/podman/podman.go:27 +#: mgradm/cmd/support/ptf/podman/podman.go:28 msgid "Install a PTF or Test package on podman" msgstr "PTFまたはTestパッケージをpodmanにインストールする" -#: mgradm/cmd/support/ptf/podman/podman.go:28 +#: mgradm/cmd/support/ptf/podman/podman.go:29 msgid "" "Install a PTF or Test package on podman\n" "\n" @@ -1067,19 +1068,19 @@ msgstr "" "\n" "メモ: 現時点では、リモートpodmanへのインストールはサポートされていません。\n" -#: mgradm/cmd/support/ptf/podman/utils.go:49 +#: mgradm/cmd/support/ptf/podman/utils.go:52 msgid "ptf and test flags cannot be set simultaneously " msgstr "ptfとtestフラグを同時に設定することはできません " -#: mgradm/cmd/support/ptf/podman/utils.go:52 +#: mgradm/cmd/support/ptf/podman/utils.go:55 msgid "ptf and test flags cannot be empty simultaneously " msgstr "ptfとtestフラグを同時に空にすることはできません " -#: mgradm/cmd/support/ptf/podman/utils.go:55 +#: mgradm/cmd/support/ptf/podman/utils.go:58 msgid "user flag cannot be empty" msgstr "ユーザフラグは空にできません" -#: mgradm/cmd/support/ptf/podman/utils.go:70 +#: mgradm/cmd/support/ptf/podman/utils.go:75 #, javascript-format msgid "The image computed is: %s" msgstr "計算されたイメージは次のとおりです: %s" @@ -1101,25 +1102,25 @@ msgstr "ソースファイルをクリーンアップできません" msgid "output file %s exists, use -f to force overwrite" msgstr "出力ファイル %s が存在します。強制的に上書きするには-fを使用します" -#: mgradm/cmd/support/sql/sql.go:111 +#: mgradm/cmd/support/sql/sql.go:115 msgid "interactive mode cannot work with a file output" msgstr "インタラクティブモードではファイル出力はできません" -#: mgradm/cmd/support/sql/sql.go:141 +#: mgradm/cmd/support/sql/sql.go:145 #, javascript-format msgid "unknown or unsupported database %s" msgstr "不明またはサポートされていないデータベース %s" -#: mgradm/cmd/support/sql/sql.go:154 +#: mgradm/cmd/support/sql/sql.go:158 msgid "Command failed" msgstr "コマンドが失敗しました" -#: mgradm/cmd/support/sql/sql.go:159 +#: mgradm/cmd/support/sql/sql.go:163 #, javascript-format msgid "Result is stored in the file '%s'" msgstr "結果はファイル「%s」に保存されます" -#: mgradm/cmd/support/sql/sql.go:173 +#: mgradm/cmd/support/sql/sql.go:177 msgid "cannot write" msgstr "書き込めません" @@ -1204,27 +1205,26 @@ msgstr "設定マップの削除に失敗しました" msgid "Failed deleting secret" msgstr "シークレットの削除に失敗しました" -#: mgradm/cmd/uninstall/kubernetes.go:108 +#: mgradm/cmd/uninstall/kubernetes.go:110 msgid "Nothing has been uninstalled, run with --force to actually uninstall" msgstr "何もアンインストールされていません。--forceを指定して実行することでアンインストールされるようにしてください" -#: mgradm/cmd/uninstall/kubernetes.go:110 +#: mgradm/cmd/uninstall/kubernetes.go:112 msgid "Volumes have not been touched. Depending on the storage class used, they may not have been removed" msgstr "ボリュームに何の操作も行われていません。使用したストレージクラスによっては、削除されていない可能性があります" #: mgradm/cmd/uninstall/podman.go:46 -#, fuzzy, javascript-format +#, javascript-format msgid "Failed to remove volume %s" -msgstr "フォルダ %s の作成に失敗しました" +msgstr "ボリューム %s の削除に失敗しました" #: mgradm/cmd/uninstall/podman.go:51 msgid "All volumes have been removed" msgstr "すべてのボリュームが削除されました" #: mgradm/cmd/uninstall/podman.go:53 -#, fuzzy msgid "Some volumes have not been removed completely" -msgstr "すべてのボリュームが削除されました" +msgstr "一部のボリュームは完全に削除されていません" #: mgradm/cmd/uninstall/podman.go:61 #, javascript-format @@ -1260,68 +1260,52 @@ msgstr "" msgid "Upgrade a local server on kubernetes" msgstr "Kubernetes上のローカルサーバをアップグレードする" -#: mgradm/cmd/upgrade/podman/podman.go:27 +#: mgradm/cmd/upgrade/podman/podman.go:28 msgid "Upgrade a local server on podman" msgstr "podman上のローカルサーバをアップグレードする" -#: mgradm/cmd/upgrade/podman/podman.go:39 -#, fuzzy +#: mgradm/cmd/upgrade/podman/podman.go:42 msgid "List available tags for an image" msgstr "イメージに使用可能なタグを一覧にする" -#: mgradm/cmd/upgrade/podman/podman.go:46 +#: mgradm/cmd/upgrade/podman/podman.go:49 msgid "failed to unmarshall configuration" msgstr "設定のアンマーシャルに失敗しました" -#: mgradm/cmd/upgrade/shared/flags.go:31 mgradm/shared/utils/cmd_utils.go:130 -msgid "Confidential Computing Flags" -msgstr "コンフィデンシャルコンピューティングのフラグ" - -#: mgradm/cmd/upgrade/shared/flags.go:33 mgradm/shared/utils/cmd_utils.go:131 -msgid "confidential computing attestation" -msgstr "コンフィデンシャルコンピューティングの検証" - -#: mgradm/cmd/upgrade/shared/flags.go:34 mgradm/cmd/upgrade/shared/flags.go:35 -#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:140 -msgid "Hub XML-RPC API" -msgstr "Hub XML-RPC API" - #: mgradm/cmd/upgrade/upgrade.go:19 mgradm/cmd/upgrade/upgrade.go:20 msgid "Upgrade local server" msgstr "ローカルサーバのアップグレード" -#: mgradm/shared/coco/coco.go:70 +#: mgradm/shared/coco/coco.go:84 msgid "Setting up confidential computing attestation service" msgstr "コンフィデンシャルコンピューティング検証サービスの設定" -#: mgradm/shared/coco/coco.go:74 mgradm/shared/hub/xmlrpcapi.go:86 -#: mgradm/shared/podman/podman.go:74 +#: mgradm/shared/coco/coco.go:88 mgradm/shared/hub/xmlrpcapi.go:102 +#: mgradm/shared/podman/podman.go:76 msgid "failed to generate systemd service unit file" msgstr "systemdサービスユニットファイルの生成に失敗しました" -#: mgradm/shared/coco/coco.go:85 mgradm/shared/hub/xmlrpcapi.go:91 -#: mgradm/shared/podman/podman.go:80 +#: mgradm/shared/coco/coco.go:99 mgradm/shared/hub/xmlrpcapi.go:107 +#: mgradm/shared/podman/podman.go:82 msgid "cannot generate systemd conf file" msgstr "systemd confファイルを生成できません" -#: mgradm/shared/hub/xmlrpcapi.go:27 -#, fuzzy -msgid "Setting Hub XML-RPC API service." -msgstr "Hub XML-RPC APIコンテナを有効化しています。" +#: mgradm/shared/hub/xmlrpcapi.go:35 +#, javascript-format +msgid "No changes requested for hub. Keep %d replicas." +msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:39 +#: mgradm/shared/hub/xmlrpcapi.go:52 msgid "cannot generate systemd service" msgstr "systemdサービスを生成できません" -#: mgradm/shared/hub/xmlrpcapi.go:49 -#, fuzzy +#: mgradm/shared/hub/xmlrpcapi.go:65 msgid "Multiple Hub XML-RPC container replicas are not currently supported, setting up only one." -msgstr "現在、複数のHub XML-RPCコンテナレプリカはサポートされていません。" +msgstr "現在、複数のHub XML-RPCコンテナレプリカはサポートされておらず、1つだけ設定できます。" -#: mgradm/shared/hub/xmlrpcapi.go:58 -#, fuzzy +#: mgradm/shared/hub/xmlrpcapi.go:74 msgid "Not starting Hub XML-RPC API service" -msgstr "Hub XML-RPC APIコンテナを有効化しています。" +msgstr "Hub XML-RPC APIサービスが起動しません" #: mgradm/shared/kubernetes/certificates.go:31 msgid "Creating SSL server certificate secret" @@ -1405,130 +1389,139 @@ msgstr "cert-managerと自己署名発行者をインストールできません msgid "Installing Uyuni" msgstr "Uyuniのインストール" -#: mgradm/shared/kubernetes/install.go:153 +#: mgradm/shared/kubernetes/install.go:158 msgid "cannot inspect kubernetes values" msgstr "kubernetesの値を検査できません" -#: mgradm/shared/kubernetes/install.go:163 +#: mgradm/shared/kubernetes/install.go:168 msgid "inspect function did non return fqdn value" msgstr "検査関数がfqdn値を返しませんでした" -#: mgradm/shared/kubernetes/install.go:187 +#: mgradm/shared/kubernetes/install.go:192 msgid "cannot set replica to 0" msgstr "レプリカを0に設定できません" -#: mgradm/shared/kubernetes/install.go:197 mgradm/shared/kubernetes/k3s.go:39 -#: mgradm/shared/podman/podman.go:217 +#: mgradm/shared/kubernetes/install.go:202 mgradm/shared/kubernetes/k3s.go:47 +#: mgradm/shared/podman/podman.go:231 msgid "Previous PostgreSQL is %[1]s, new one is %[2]s. Performing a DB version upgrade…" msgstr "以前のPostgreSQLは %[1]s、新しいPostgreSQLは %[2]s です。DBバージョンのアップグレードを実行中…" -#: mgradm/shared/kubernetes/install.go:206 mgradm/shared/podman/podman.go:369 +#: mgradm/shared/kubernetes/install.go:211 mgradm/shared/podman/podman.go:383 #, javascript-format msgid "Upgrading to %s without changing PostgreSQL version" msgstr "PostgreSQLバージョンを変更せずに %s にアップグレードしています" -#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:371 +#: mgradm/shared/kubernetes/install.go:213 mgradm/shared/podman/podman.go:385 msgid "trying to downgrade PostgreSQL from %[1]s to %[2]s" msgstr "PostgreSQLを %[1]s から %[2]s にダウングレードしようとしています" -#: mgradm/shared/kubernetes/k3s.go:36 mgradm/shared/kubernetes/k3s.go:106 -#: mgradm/shared/kubernetes/k3s.go:151 +#: mgradm/shared/kubernetes/k3s.go:44 mgradm/shared/kubernetes/k3s.go:114 +#: mgradm/shared/kubernetes/k3s.go:159 #, javascript-format msgid "failed to create temporary directory: %s" msgstr "一時ディレクトリの作成に失敗しました: %s" -#: mgradm/shared/kubernetes/k3s.go:56 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/podman/podman.go:264 #, javascript-format msgid "Using database upgrade image %s" msgstr "データベースのアップグレードイメージ %s を使用しています" -#: mgradm/shared/kubernetes/k3s.go:59 mgradm/shared/podman/podman.go:254 +#: mgradm/shared/kubernetes/k3s.go:67 mgradm/shared/podman/podman.go:268 msgid "cannot generate PostgreSQL database version upgrade script" msgstr "PostgreSQLデータベースのバージョンアップグレードスクリプトを生成できません" -#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/kubernetes/k3s.go:115 -#: mgradm/shared/kubernetes/k3s.go:161 +#: mgradm/shared/kubernetes/k3s.go:72 mgradm/shared/kubernetes/k3s.go:123 +#: mgradm/shared/kubernetes/k3s.go:169 #, javascript-format msgid "cannot delete %s" msgstr "%s を削除できません" -#: mgradm/shared/kubernetes/k3s.go:93 mgradm/shared/kubernetes/k3s.go:141 -#: mgradm/shared/kubernetes/k3s.go:188 +#: mgradm/shared/kubernetes/k3s.go:101 mgradm/shared/kubernetes/k3s.go:149 +#: mgradm/shared/kubernetes/k3s.go:196 #, javascript-format msgid "error running container %s" msgstr "コンテナ %s を実行中のエラー" -#: mgradm/shared/kubernetes/k3s.go:111 mgradm/shared/kubernetes/k3s.go:156 -#: mgradm/shared/podman/podman.go:283 mgradm/shared/podman/podman.go:307 +#: mgradm/shared/kubernetes/k3s.go:119 mgradm/shared/kubernetes/k3s.go:164 +#: mgradm/shared/podman/podman.go:297 mgradm/shared/podman/podman.go:321 msgid "cannot generate PostgreSQL finalization script" msgstr "PostgreSQL終了処理スクリプトを生成できません" -#: mgradm/shared/podman/podman.go:50 +#: mgradm/shared/podman/podman.go:51 msgid "cannot setup network" msgstr "ネットワークを設定できません" -#: mgradm/shared/podman/podman.go:53 +#: mgradm/shared/podman/podman.go:54 msgid "Enabling system service" msgstr "システムサービスの有効化" -#: mgradm/shared/podman/podman.go:88 -#, fuzzy +#: mgradm/shared/podman/podman.go:90 msgid "cannot generate systemd user configuration file" -msgstr "systemd confファイルを生成できません" +msgstr "systemdユーザ設定ファイルを生成できません" -#: mgradm/shared/podman/podman.go:100 +#: mgradm/shared/podman/podman.go:102 msgid "failed to create temporary folder on container to copy certificates to" msgstr "証明書をコピーするための一時フォルダをコンテナ上に作成できませんでした" -#: mgradm/shared/podman/podman.go:140 +#: mgradm/shared/podman/podman.go:142 msgid "failed to update SSL certificate" msgstr "SSL証明書の更新に失敗しました" -#: mgradm/shared/podman/podman.go:145 +#: mgradm/shared/podman/podman.go:147 msgid "failed to remove copied certificate files in the container" msgstr "コンテナ内にコピーされた証明書ファイルの削除に失敗しました" -#: mgradm/shared/podman/podman.go:151 +#: mgradm/shared/podman/podman.go:153 msgid "failed to remove now useless ssl-build folder in the container" msgstr "コンテナ内の不要なssl-buildフォルダの削除に失敗しました" -#: mgradm/shared/podman/podman.go:156 +#: mgradm/shared/podman/podman.go:158 msgid "Restarting services after updating the certificate" msgstr "証明書更新後のサービスの再起動" -#: mgradm/shared/podman/podman.go:175 +#: mgradm/shared/podman/podman.go:177 msgid "cannot generate migration script" msgstr "移行スクリプトを生成できません" -#: mgradm/shared/podman/podman.go:194 mgradm/shared/utils/exec.go:103 +#: mgradm/shared/podman/podman.go:196 mgradm/shared/utils/exec.go:107 msgid "Migrating server" msgstr "サーバの移行" -#: mgradm/shared/podman/podman.go:197 +#: mgradm/shared/podman/podman.go:199 msgid "cannot run uyuni migration container" msgstr "uyuni移行コンテナを実行できません" -#: mgradm/shared/podman/podman.go:202 +#: mgradm/shared/podman/podman.go:206 +#, javascript-format +msgid "cannot inspect volume %s" +msgstr "ボリューム %s を検査できません" + +#: mgradm/shared/podman/podman.go:209 +#, javascript-format +msgid "cannot restore %s SELinux permissions" +msgstr "%s のSELinuxパーミッションを復元できません" + +#: mgradm/shared/podman/podman.go:216 msgid "cannot read extracted data" msgstr "抽出されたデータを読み込めません" -#: mgradm/shared/podman/podman.go:342 +#: mgradm/shared/podman/podman.go:356 msgid "cannot inspect podman values" msgstr "podman値を検査できません" -#: mgradm/shared/podman/podman.go:352 +#: mgradm/shared/podman/podman.go:366 msgid "cannot stop service" msgstr "サービスを停止できません" -#: mgradm/shared/podman/podman.go:360 +#: mgradm/shared/podman/podman.go:374 msgid "Previous postgresql is %[1]s, instead new one is %[2]s. Performing a DB version upgrade…" msgstr "以前のpostgresqlは %[1]s、新しいpostgresqlは %[2]s です。DBバージョンのアップグレードを実行中…" -#: mgradm/shared/podman/podman.go:397 +#: mgradm/shared/podman/podman.go:411 msgid "error upgrading confidential computing service." msgstr "コンフィデンシャルコンピューティングサービスのアップグレード時のエラー" -#: mgradm/shared/podman/podman.go:435 +#: mgradm/shared/podman/podman.go:449 msgid "cannot inspect data" msgstr "データを検査できません" @@ -1636,7 +1629,7 @@ msgstr "Helmチャートフラグ" #: mgradm/shared/utils/cmd_utils.go:87 #, javascript-format msgid "Image for %s container" -msgstr "" +msgstr "%s コンテナのイメージ" #: mgradm/shared/utils/cmd_utils.go:89 #, javascript-format @@ -1644,108 +1637,159 @@ msgid "Tag for %s container, overrides the global value if set" msgstr "%s コンテナ用のタグ。設定されている場合はグローバル値を上書きします" #: mgradm/shared/utils/cmd_utils.go:99 +msgid "SUSE Customer Center username. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" +msgstr "SUSEカスタマーセンターのユーザ名。 これは、製品の同期とregistry.suse.comからのイメージの取得のためにSCC資格情報として使用されます" + +#: mgradm/shared/utils/cmd_utils.go:100 +msgid "SUSE Customer Center password. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" +msgstr "SUSEカスタマーセンターのパスワード。これは、製品の同期とregistry.suse.comからのイメージの取得のためにSCC資格情報として使用されます" + +#: mgradm/shared/utils/cmd_utils.go:102 +msgid "SUSE Customer Center Flags" +msgstr "SUSEカスタマーセンターのフラグ" + +#: mgradm/shared/utils/cmd_utils.go:109 msgid "Image" msgstr "イメージ" -#: mgradm/shared/utils/cmd_utils.go:100 +#: mgradm/shared/utils/cmd_utils.go:110 +#, fuzzy +msgid "Specify a private registry where pull the images" +msgstr "プライベートレジストリを指定してください" + +#: mgradm/shared/utils/cmd_utils.go:111 msgid "Tag Image" msgstr "タグイメージ" -#: mgradm/shared/utils/cmd_utils.go:104 +#: mgradm/shared/utils/cmd_utils.go:115 msgid "Image Flags" msgstr "イメージフラグ" -#: mgradm/shared/utils/cmd_utils.go:112 +#: mgradm/shared/utils/cmd_utils.go:124 msgid "Database upgrade image" msgstr "データベースのアップグレードイメージ" -#: mgradm/shared/utils/cmd_utils.go:113 +#: mgradm/shared/utils/cmd_utils.go:125 msgid "Database upgrade image tag" msgstr "データベースのアップグレードイメージタグ" -#: mgradm/shared/utils/cmd_utils.go:115 -msgid "set whether to pull the database upgrade images or not. The value can be one of 'Never', 'IfNotPresent' or 'Always'" -msgstr "データベースアップグレードイメージをプルするかどうかを設定します。値には 「Never」、「IfNotPresent」または「Always」のいずれかを指定します" - -#: mgradm/shared/utils/cmd_utils.go:117 +#: mgradm/shared/utils/cmd_utils.go:127 msgid "Database Upgrade Image Flags" msgstr "データベースアップグレードイメージのフラグ" -#: mgradm/shared/utils/cmd_utils.go:125 +#: mgradm/shared/utils/cmd_utils.go:134 msgid "Path to mirrored packages mounted on the host" msgstr "ホストにマウントされたミラーパッケージへのパス" -#: mgradm/shared/utils/cmd_utils.go:132 -msgid "How many replicas of the confidential computing container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:147 +msgid "Confidential Computing Flags" +msgstr "コンフィデンシャルコンピューティングのフラグ" + +#: mgradm/shared/utils/cmd_utils.go:140 mgradm/shared/utils/cmd_utils.go:148 +msgid "confidential computing attestation" +msgstr "コンフィデンシャルコンピューティングの検証" + +#: mgradm/shared/utils/cmd_utils.go:141 +#, fuzzy +msgid "How many replicas of the confidential computing container should be started" +msgstr "コンフィデンシャルコンピューティングコンテナのレプリカをいくつ起動する必要があるか(現時点では0または1のみサポート)" + +#: mgradm/shared/utils/cmd_utils.go:149 +#, fuzzy +msgid "How many replicas of the confidential computing container should be started. Leave it unset if you want to keep the previous number of replicas." msgstr "コンフィデンシャルコンピューティングコンテナのレプリカをいくつ起動する必要があるか(現時点では0または1のみサポート)" -#: mgradm/shared/utils/cmd_utils.go:142 -msgid "How many replicas of the Hub XML-RPC API service container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:155 mgradm/shared/utils/cmd_utils.go:156 +#: mgradm/shared/utils/cmd_utils.go:163 mgradm/shared/utils/cmd_utils.go:164 +msgid "Hub XML-RPC API" +msgstr "Hub XML-RPC API" + +#: mgradm/shared/utils/cmd_utils.go:157 +#, fuzzy +msgid "How many replicas of the Hub XML-RPC API service container should be started." +msgstr "Hub XML-RPC APIサービスコンテナのレプリカをいくつ起動する必要があるか(現時点では0または1のみサポート)" + +#: mgradm/shared/utils/cmd_utils.go:165 +#, fuzzy +msgid "How many replicas of the Hub XML-RPC API service container should be started. Leave it unset if you want to keep the previous number of replicas." msgstr "Hub XML-RPC APIサービスコンテナのレプリカをいくつ起動する必要があるか(現時点では0または1のみサポート)" #: mgradm/shared/utils/exec.go:28 msgid "exec command failed" msgstr "execコマンドが失敗しました" -#: mgradm/shared/utils/exec.go:62 mgradm/shared/utils/exec.go:82 -#: mgradm/shared/utils/exec.go:96 +#: mgradm/shared/utils/exec.go:66 mgradm/shared/utils/exec.go:86 +#: mgradm/shared/utils/exec.go:100 #, javascript-format msgid "failed to generate %s" msgstr "%s の生成に失敗しました" -#: mgradm/shared/utils/exec.go:106 +#: mgradm/shared/utils/exec.go:110 msgid "error running the migration script" msgstr "移行スクリプトの実行中にエラーが発生しました" -#: mgradm/shared/utils/exec.go:155 +#: mgradm/shared/utils/exec.go:159 #, javascript-format msgid "Image is: %s" msgstr "イメージは %s です" -#: mgradm/shared/utils/exec.go:169 +#: mgradm/shared/utils/exec.go:173 msgid "cannot check server release" msgstr "サーバのリリースを確認できません" -#: mgradm/shared/utils/exec.go:176 +#: mgradm/shared/utils/exec.go:180 #, javascript-format msgid "currently SUSE Manager %s is installed, instead the image is Uyuni. Upgrade is not supported" msgstr "現在SUSE Manager %s がインストールされていますが、イメージはUyuniです。アップグレードはサポートされていません" -#: mgradm/shared/utils/exec.go:183 +#: mgradm/shared/utils/exec.go:187 #, javascript-format msgid "currently Uyuni %s is installed, instead the image is SUSE Manager. Upgrade is not supported" msgstr "現在Uyuni %s がインストールされていますが、イメージはSUSE Managerです。アップグレードはサポートされていません" -#: mgradm/shared/utils/exec.go:192 +#: mgradm/shared/utils/exec.go:196 msgid "failed to read current uyuni release" msgstr "現在のuyuniリリースの読み込みに失敗しました" -#: mgradm/shared/utils/exec.go:196 mgradm/shared/utils/exec.go:213 +#: mgradm/shared/utils/exec.go:200 mgradm/shared/utils/exec.go:217 #, javascript-format msgid "cannot fetch release from image %s" msgstr "イメージ %s からリリースをフェッチできません" -#: mgradm/shared/utils/exec.go:201 mgradm/shared/utils/exec.go:218 +#: mgradm/shared/utils/exec.go:205 mgradm/shared/utils/exec.go:222 msgid "cannot downgrade from version %[1]s to %[2]s" msgstr "バージョン %[1]s から %[2]s にダウングレードできません" -#: mgradm/shared/utils/exec.go:209 +#: mgradm/shared/utils/exec.go:213 msgid "failed to read current susemanager release" msgstr "現在のsusemanagerリリースを読み込めませんでした" -#: mgradm/shared/utils/exec.go:225 +#: mgradm/shared/utils/exec.go:229 #, javascript-format msgid "cannot fetch postgresql version from %s" msgstr "%s からpostgresqlバージョンをフェッチできません" -#: mgradm/shared/utils/exec.go:229 +#: mgradm/shared/utils/exec.go:233 msgid "posgresql is not installed in the current deployment" msgstr "posgresqlが現在の配備にインストールされていません" -#: mgradm/shared/utils/exec.go:243 -msgid "cannot find neither /etc/uyuni-release nor /etc/susemanagere-release" +#: mgradm/shared/utils/exec.go:247 +#, fuzzy +msgid "cannot find either /etc/uyuni-release or /etc/susemanagere-release" msgstr "etc/uyuni-releaseも/etc/susemanagere-releaseも見つかりません" +#~ msgid "Setting Hub XML-RPC API service." +#~ msgstr "Hub XML-RPC APIサービスを設定しています。" + +#~ msgid "set whether to pull the database upgrade images or not. The value can be one of 'Never', 'IfNotPresent' or 'Always'" +#~ msgstr "データベースアップグレードイメージをプルするかどうかを設定します。値には 「Never」、「IfNotPresent」または「Always」のいずれかを指定します" + +#~ msgid "SUSE Customer Center username" +#~ msgstr "SUSEカスタマーセンターのユーザ名" + +#~ msgid "SUSE Customer Center password" +#~ msgstr "SUSEカスタマーセンターのパスワード" + #~ msgid "cannot inspect host values" #~ msgstr "ホスト値を検査できません" @@ -1799,10 +1843,6 @@ msgstr "etc/uyuni-releaseも/etc/susemanagere-releaseも見つかりません" #~ msgid "Unable to detect hostname, using localhost" #~ msgstr "ローカルホストを使用してホスト名を検出できません" -#, javascript-format -#~ msgid "cannot delete volume %s" -#~ msgstr "ボリューム %s を削除できません" - #, javascript-format #~ msgid "Available Tags for image: %s" #~ msgstr "イメージに使用できるタグ: %s" @@ -1830,9 +1870,6 @@ msgstr "etc/uyuni-releaseも/etc/susemanagere-releaseも見つかりません" #~ msgid "cannot retrieve timezone" #~ msgstr "タイムゾーンを取得できません" -#~ msgid "cannot retrieve source PostgreSQL version" -#~ msgstr "ソースPostgreSQLのバージョンを取得できません" - #~ msgid "cannot retrieve image PostgreSQL version" #~ msgstr "イメージPostgreSQLのバージョンを取得できません" diff --git a/locale/mgradm/ko.po b/locale/mgradm/ko.po index 41c6de4d4..dbb61a09a 100644 --- a/locale/mgradm/ko.po +++ b/locale/mgradm/ko.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" -"PO-Revision-Date: 2024-07-16 05:47+0000\n" -"Last-Translator: Seeun Lee \n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" +"PO-Revision-Date: 2024-09-26 12:48+0000\n" +"Last-Translator: Valentina Leonardi \n" "Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.7.2\n" #: mgradm/cmd/cmd.go:40 msgid "Uyuni administration tool" @@ -38,21 +38,21 @@ msgstr "서버 관리:" msgid "Administrator tools:" msgstr "관리자 도구:" -#: mgradm/cmd/cmd.go:67 +#: mgradm/cmd/cmd.go:66 #, javascript-format msgid "Welcome to %s" msgstr "%s 시작" -#: mgradm/cmd/cmd.go:68 +#: mgradm/cmd/cmd.go:67 #, javascript-format msgid "Executing command: %s" msgstr "실행 중 명령: %s" -#: mgradm/cmd/cmd.go:72 +#: mgradm/cmd/cmd.go:71 msgid "configuration file path" msgstr "구성 파일 경로" -#: mgradm/cmd/cmd.go:73 +#: mgradm/cmd/cmd.go:72 msgid "application log level" msgstr "애플리케이션 로그 수준" @@ -66,66 +66,66 @@ msgstr "ISO 이미지를 마운트 해제할 수 없어 %s이(가) 그대로 유 msgid "unable to remove temporary directory, leaving %s intact" msgstr "임시 디렉토리를 제거할 수 없어 %s이(가) 그대로 유지됩니다." -#: mgradm/cmd/distro/cp.go:48 +#: mgradm/cmd/distro/cp.go:51 msgid "unable to login and register the distribution. Manual distro registration is required" msgstr "로그인하여 배포를 등록할 수 없습니다. 배포를 수동으로 등록해야 함" -#: mgradm/cmd/distro/cp.go:59 +#: mgradm/cmd/distro/cp.go:63 msgid "unable to register the distribution. Manual distro registration is required" msgstr "배포를 등록할 수 없습니다. 배포를 수동으로 등록해야 함" -#: mgradm/cmd/distro/cp.go:61 +#: mgradm/cmd/distro/cp.go:65 #, javascript-format msgid "Distribution %s successfully registered" msgstr "%s 배포가 등록되었습니다." -#: mgradm/cmd/distro/cp.go:70 mgradm/cmd/support/sql/sql.go:34 +#: mgradm/cmd/distro/cp.go:74 mgradm/cmd/support/sql/sql.go:34 #, javascript-format msgid "source %s does not exists" msgstr "%s 소스가 없습니다." -#: mgradm/cmd/distro/cp.go:89 +#: mgradm/cmd/distro/cp.go:93 #, javascript-format msgid "unable to mount ISO image: %s" msgstr "ISO 이미지를 마운트할 수 없음: %s" -#: mgradm/cmd/distro/cp.go:98 +#: mgradm/cmd/distro/cp.go:102 msgid "Missing TreeLabel. Please specify distribution name" -msgstr "" +msgstr "TreeLabel이 누락되었습니다. 배포 이름을 지정하십시오." -#: mgradm/cmd/distro/cp.go:107 +#: mgradm/cmd/distro/cp.go:111 #, javascript-format msgid "distribution with same name already exists: %s" msgstr "이름이 동일한 배포가 이미 있음: %s" -#: mgradm/cmd/distro/cp.go:111 +#: mgradm/cmd/distro/cp.go:115 #, javascript-format msgid "cannot create %s path in container" msgstr "컨테이너에 %s 경로를 만들 수 없음" -#: mgradm/cmd/distro/cp.go:114 +#: mgradm/cmd/distro/cp.go:118 #, javascript-format msgid "Copying distribution %s" msgstr "%s 배포 복사 중" -#: mgradm/cmd/distro/cp.go:116 mgradm/shared/podman/podman.go:120 -#: mgradm/shared/podman/podman.go:123 mgradm/shared/podman/podman.go:126 -#: mgradm/shared/podman/podman.go:134 +#: mgradm/cmd/distro/cp.go:120 mgradm/shared/podman/podman.go:122 +#: mgradm/shared/podman/podman.go:125 mgradm/shared/podman/podman.go:128 +#: mgradm/shared/podman/podman.go:136 #, javascript-format msgid "cannot copy %s" msgstr "%s을(를) 복사할 수 없음" -#: mgradm/cmd/distro/cp.go:118 +#: mgradm/cmd/distro/cp.go:122 #, javascript-format msgid "Distribution has been copied into %s" msgstr "배포가 %s에 복사되었습니다." -#: mgradm/cmd/distro/cp.go:172 +#: mgradm/cmd/distro/cp.go:176 #, javascript-format msgid "Auto-detected distribution %s" msgstr "자동으로 감지된 배포 %s" -#: mgradm/cmd/distro/cp.go:183 +#: mgradm/cmd/distro/cp.go:187 msgid "Continue by registering autoinstallation distribution" msgstr "자동 설치 배포를 등록하여 계속 진행" @@ -217,7 +217,6 @@ msgid "Copy distribution files from iso to the container" msgstr "ISO에서 컨테이너로 배포 파일 복사" #: mgradm/cmd/distro/distro.go:79 -#, fuzzy msgid "" "Takes a path to source iso file or directory with mounted iso and copies it into the container.\n" "\n" @@ -229,9 +228,13 @@ msgid "" "\n" "Note: API details are required for auto registration." msgstr "" -"소스 ISO 파일 또는 마운트된 ISO가 있는 디렉토리의 경로를 가져와 컨테이너에 복사합니다.\n" +"소스 ISO 파일 또는 마운트된 ISO가 있는 디렉토리의 경로를 가져와 컨테이너에 복사하십시오.\n" "\n" -"선택적 파라미터 'distribution-name', 'version' 및 'arch'는 사용자 지정 배포를 지정합니다. 설정하지 않으면 배포 이름이 자동으로 감지됩니다.\n" +"선택적 파라미터 ''distribution-name'', ''version'' 및 ''arch''는 사용자 지정 배포를 지정합니다.\n" +"설정하지 않으면 배포 이름이 자동으로 감지됩니다.\n" +"\n" +"- 있는 경우 ''.treeinfo'' 파일의 이름 사용\n" +"- ISO 또는 전달된 디렉토리의 이름 사용\n" "\n" "참고: 자동 등록을 위해서는 API 세부 정보가 필요합니다." @@ -265,13 +268,13 @@ msgstr "%s 폴더를 생성할 수 없음" msgid "failed to create keyring %s" msgstr "%s 키링을 생성할 수 없음" -#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:154 -#: mgradm/cmd/support/config/extractor.go:29 +#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:153 +#: mgradm/cmd/support/config/extractor.go:30 #: mgradm/shared/kubernetes/certificates.go:26 #: mgradm/shared/kubernetes/certificates.go:64 -#: mgradm/shared/kubernetes/install.go:175 mgradm/shared/podman/podman.go:222 -#: mgradm/shared/podman/podman.go:271 mgradm/shared/podman/podman.go:298 -#: mgradm/shared/podman/podman.go:414 mgradm/shared/utils/exec.go:115 +#: mgradm/shared/kubernetes/install.go:180 mgradm/shared/podman/podman.go:236 +#: mgradm/shared/podman/podman.go:285 mgradm/shared/podman/podman.go:312 +#: mgradm/shared/podman/podman.go:428 mgradm/shared/utils/exec.go:119 msgid "failed to create temporary directory" msgstr "임시 디렉토리를 만들지 못함" @@ -299,7 +302,7 @@ msgid "failed to copy %[1]s to %[2]s" msgstr "%[1]s을(를) %[2]s(으)로 복사하지 못함" #: mgradm/cmd/gpg/add/gpg.go:120 mgradm/cmd/gpg/add/gpg.go:127 -#: mgradm/cmd/support/sql/sql.go:187 mgradm/cmd/uninstall/kubernetes.go:65 +#: mgradm/cmd/support/sql/sql.go:191 mgradm/cmd/uninstall/kubernetes.go:65 #: mgradm/cmd/uninstall/kubernetes.go:70 #, javascript-format msgid "Running %s" @@ -333,44 +336,44 @@ msgstr "등록" msgid "Register this peripheral server to Hub API" msgstr "이 주변 장치 서버를 Hub API에 등록" -#: mgradm/cmd/hub/register/register.go:79 +#: mgradm/cmd/hub/register/register.go:77 #, javascript-format msgid "invalid line format: %s" msgstr "잘못된 줄 형식: %s" -#: mgradm/cmd/hub/register/register.go:93 +#: mgradm/cmd/hub/register/register.go:91 #, javascript-format msgid "mandatory %s entry missing in config" msgstr "구성에 필수 %s 항목 누락" -#: mgradm/cmd/hub/register/register.go:96 +#: mgradm/cmd/hub/register/register.go:94 #, javascript-format msgid "Hub API server: %s" msgstr "Hub API 서버: %s" -#: mgradm/cmd/hub/register/register.go:99 +#: mgradm/cmd/hub/register/register.go:100 msgid "failed to connect to the Hub server" msgstr "Hub 서버에 연결할 수 없음" -#: mgradm/cmd/hub/register/register.go:107 +#: mgradm/cmd/hub/register/register.go:109 msgid "failed to register this peripheral server" msgstr "이 주변 장치 서버에 등록할 수 없음" -#: mgradm/cmd/hub/register/register.go:110 +#: mgradm/cmd/hub/register/register.go:112 #, javascript-format msgid "failed to register this peripheral server: %s" msgstr "이 주변 장치 서버에 등록 실패: %s" -#: mgradm/cmd/hub/register/register.go:124 +#: mgradm/cmd/hub/register/register.go:126 msgid "failed to update peripheral server info" msgstr "주변 장치 서버 정보를 업데이트하지 못함" -#: mgradm/cmd/hub/register/register.go:128 +#: mgradm/cmd/hub/register/register.go:130 #, javascript-format msgid "failed to update peripheral server info: %s" msgstr "주변 장치 서버 정보 업데이트 실패: %s" -#: mgradm/cmd/hub/register/register.go:130 +#: mgradm/cmd/hub/register/register.go:132 msgid "Registered peripheral server: %[1]s, ID: %[2]d" msgstr "등록된 주변 장치 서버: %[1]s, ID: %[2]d" @@ -382,20 +385,29 @@ msgstr "검사" msgid "Extract information from image and deployment" msgstr "이미지 및 배포에서 정보 추출" -#: mgradm/cmd/inspect/kubernetes.go:32 mgradm/cmd/inspect/podman.go:29 +#: mgradm/cmd/inspect/kubernetes.go:33 mgradm/cmd/inspect/podman.go:30 msgid "failed to determine image" msgstr "이미지를 결정하지 못함" -#: mgradm/cmd/inspect/kubernetes.go:41 mgradm/cmd/inspect/podman.go:38 +#: mgradm/cmd/inspect/kubernetes.go:42 mgradm/cmd/inspect/podman.go:39 #, javascript-format msgid "failed to find the image of the currently running server container: %s" msgstr "현재 실행 중인 서버 컨테이너의 이미지 찾기 실패: %s" -#: mgradm/cmd/inspect/kubernetes.go:47 mgradm/cmd/inspect/podman.go:43 +#: mgradm/cmd/inspect/kubernetes.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:44 +#: mgradm/cmd/restart/kubernetes.go:27 mgradm/cmd/start/kubernetes.go:27 +#: mgradm/cmd/stop/kubernetes.go:27 mgradm/shared/kubernetes/install.go:148 +#: mgradm/shared/utils/exec.go:41 +#, fuzzy +msgid "failed retrieving namespace" +msgstr "이미지를 결정하지 못함" + +#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:44 msgid "inspect command failed" msgstr "검사 명령 실패" -#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:47 +#: mgradm/cmd/inspect/kubernetes.go:57 mgradm/cmd/inspect/podman.go:48 msgid "cannot print inspect result" msgstr "검사 결과를 인쇄하지 못함" @@ -403,11 +415,6 @@ msgstr "검사 결과를 인쇄하지 못함" msgid "Install a new server" msgstr "새 서버 설치" -#: mgradm/cmd/install/install.go:23 mgradm/cmd/migrate/migrate.go:23 -#: mgradm/cmd/upgrade/upgrade.go:22 -msgid "specify a private registry" -msgstr "개인 레지스트리 지정" - #: mgradm/cmd/install/kubernetes/kubernetes.go:27 msgid "Install a new server on a kubernetes cluster" msgstr "Kubernetes 클러스터에 새 서버 설치" @@ -442,7 +449,7 @@ msgid "install %s before running this command" msgstr "이 명령을 실행하기 전 %s 설치" #: mgradm/cmd/install/kubernetes/utils.go:67 -#: mgradm/cmd/migrate/kubernetes/utils.go:208 +#: mgradm/cmd/migrate/kubernetes/utils.go:212 msgid "cannot deploy certificate" msgstr "인증서를 배포할 수 없음" @@ -450,12 +457,13 @@ msgstr "인증서를 배포할 수 없음" msgid "cannot deploy uyuni" msgstr "uyuni를 배포할 수 없음" -#: mgradm/cmd/install/kubernetes/utils.go:85 -#: mgradm/cmd/install/podman/utils.go:109 -msgid "Failed to stop service: %v" +#: mgradm/cmd/install/kubernetes/utils.go:86 +#: mgradm/cmd/install/kubernetes/utils.go:89 +#, fuzzy +msgid "failed to stop service" msgstr "서비스 중지 실패: %v" -#: mgradm/cmd/install/kubernetes/utils.go:94 +#: mgradm/cmd/install/kubernetes/utils.go:98 msgid "error storing the SSL CA certificate in database" msgstr "SSL CA 인증서를 데이터베이스에 저장하는 중 오류 발생" @@ -477,23 +485,23 @@ msgstr "" "\n" "참고: 원격 podman에 설치하는 기능은 아직 지원되지 않습니다!\n" -#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:392 +#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:406 msgid "Waiting for the server to start…" msgstr "서버가 시작되기를 기다리는 중…" -#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:55 +#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:71 msgid "cannot enable service" msgstr "서비스를 활성할 수 없음" #: mgradm/cmd/install/podman/utils.go:54 mgradm/cmd/migrate/podman/utils.go:47 -#: mgradm/cmd/support/ptf/podman/utils.go:40 +#: mgradm/cmd/support/ptf/podman/utils.go:43 #: mgradm/cmd/upgrade/podman/utils.go:24 msgid "failed to login to registry.suse.com" -msgstr "" +msgstr "registry.suse.com에 로그인하지 못했습니다." #: mgradm/cmd/install/podman/utils.go:59 msgid "Server is already initialized! Uninstall before attempting new installation or use upgrade command" -msgstr "" +msgstr "서버가 이미 초기화되었습니다! 새 설치를 시도하기 전 제거하거나 upgrade 명령을 사용하십시오." #: mgradm/cmd/install/podman/utils.go:64 mgradm/cmd/migrate/podman/utils.go:28 msgid "install podman before running this command" @@ -505,11 +513,11 @@ msgid "Setting up the server with the FQDN '%s'" msgstr "FQDN '%s'(으)로 서버 설정" #: mgradm/cmd/install/podman/utils.go:75 -#: mgradm/cmd/migrate/kubernetes/utils.go:45 mgradm/shared/coco/coco.go:56 -#: mgradm/shared/hub/xmlrpcapi.go:30 mgradm/shared/kubernetes/install.go:52 -#: mgradm/shared/kubernetes/install.go:148 mgradm/shared/kubernetes/k3s.go:47 -#: mgradm/shared/kubernetes/k3s.go:52 mgradm/shared/podman/podman.go:236 -#: mgradm/shared/podman/podman.go:241 mgradm/shared/podman/podman.go:332 +#: mgradm/cmd/migrate/kubernetes/utils.go:49 mgradm/shared/coco/coco.go:68 +#: mgradm/shared/hub/xmlrpcapi.go:43 mgradm/shared/kubernetes/install.go:52 +#: mgradm/shared/kubernetes/install.go:153 mgradm/shared/kubernetes/k3s.go:55 +#: mgradm/shared/kubernetes/k3s.go:60 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/podman/podman.go:255 mgradm/shared/podman/podman.go:346 msgid "failed to compute image URL" msgstr "이미지 URL을 계산하지 못함" @@ -521,6 +529,10 @@ msgstr "시스템 시작을 기다릴 수 없음" msgid "Run setup command in the container" msgstr "컨테이너에서 설정 명령 실행" +#: mgradm/cmd/install/podman/utils.go:109 +msgid "Failed to stop service: %v" +msgstr "서비스 중지 실패: %v" + #: mgradm/cmd/install/podman/utils.go:118 msgid "failed to extract payg data" msgstr "payg 데이터를 추출하지 못함" @@ -530,197 +542,185 @@ msgid "cannot update SSL certificate" msgstr "SSL 인증서를 업데이트하지 못함" #: mgradm/cmd/install/podman/utils.go:146 -#: mgradm/cmd/migrate/podman/utils.go:136 +#: mgradm/cmd/migrate/podman/utils.go:137 msgid "cannot enable podman socket" msgstr "podman 소켓을 활성화할 수 없음" -#: mgradm/cmd/install/shared/flags.go:79 +#: mgradm/cmd/install/shared/flags.go:67 msgid "Can only contain letters, digits . _ and -" msgstr "문자, 숫자 . _ 및 -만 포함할 수 있음" -#: mgradm/cmd/install/shared/flags.go:87 +#: mgradm/cmd/install/shared/flags.go:75 msgid "Not a valid email address" msgstr "유효한 전자 메일 주소 아님" -#: mgradm/cmd/install/shared/flags.go:130 +#: mgradm/cmd/install/shared/flags.go:124 msgid "Time zone to set on the server. Defaults to the host timezone" msgstr "서버에서 설정할 표준 시간대입니다. 기본값은 호스트 표준 시간대입니다." -#: mgradm/cmd/install/shared/flags.go:131 +#: mgradm/cmd/install/shared/flags.go:125 msgid "Administrator e-mail" msgstr "관리자 전자 메일" -#: mgradm/cmd/install/shared/flags.go:132 +#: mgradm/cmd/install/shared/flags.go:126 msgid "E-Mail sending the notifications" msgstr "알림을 보내는 전자 메일" -#: mgradm/cmd/install/shared/flags.go:133 +#: mgradm/cmd/install/shared/flags.go:127 msgid "InterServerSync v1 parent FQDN" msgstr "InterServerSync v1 상위 FQDN" -#: mgradm/cmd/install/shared/flags.go:135 +#: mgradm/cmd/install/shared/flags.go:129 msgid "Database user" msgstr "데이터베이스 사용자" -#: mgradm/cmd/install/shared/flags.go:136 +#: mgradm/cmd/install/shared/flags.go:130 msgid "Database password. Randomly generated by default" msgstr "데이터베이스 비밀번호. 기본적으로 무작위로 생성됨" -#: mgradm/cmd/install/shared/flags.go:137 +#: mgradm/cmd/install/shared/flags.go:131 msgid "Database name" msgstr "데이터베이스 이름" -#: mgradm/cmd/install/shared/flags.go:138 +#: mgradm/cmd/install/shared/flags.go:132 msgid "Database host" msgstr "데이터베이스 호스트" -#: mgradm/cmd/install/shared/flags.go:139 +#: mgradm/cmd/install/shared/flags.go:133 msgid "Database port" msgstr "데이터베이스 포트" -#: mgradm/cmd/install/shared/flags.go:140 +#: mgradm/cmd/install/shared/flags.go:134 msgid "Database protocol" msgstr "데이터베이스 프로토콜" -#: mgradm/cmd/install/shared/flags.go:141 +#: mgradm/cmd/install/shared/flags.go:135 msgid "External database admin user name" msgstr "외부 데이터베이스 관리자 사용자 이름" -#: mgradm/cmd/install/shared/flags.go:142 +#: mgradm/cmd/install/shared/flags.go:136 msgid "External database admin password" msgstr "외부 데이터베이스 관리자 비밀번호" -#: mgradm/cmd/install/shared/flags.go:143 +#: mgradm/cmd/install/shared/flags.go:137 msgid "External database provider. Possible values 'aws'" msgstr "외부 데이터베이스 공급자. 가능한 값 'aws'" -#: mgradm/cmd/install/shared/flags.go:145 +#: mgradm/cmd/install/shared/flags.go:139 msgid "Database Flags" msgstr "데이터베이스 플래그" -#: mgradm/cmd/install/shared/flags.go:156 +#: mgradm/cmd/install/shared/flags.go:150 msgid "Enable TFTP" msgstr "TFTP 활성화" -#: mgradm/cmd/install/shared/flags.go:157 +#: mgradm/cmd/install/shared/flags.go:151 msgid "Report database name" msgstr "데이터베이스 이름 보고" -#: mgradm/cmd/install/shared/flags.go:158 +#: mgradm/cmd/install/shared/flags.go:152 msgid "Report database host" msgstr "데이터베이스 호스트 보고" -#: mgradm/cmd/install/shared/flags.go:159 +#: mgradm/cmd/install/shared/flags.go:153 msgid "Report database port" msgstr "데이터베이스 포트 보고" -#: mgradm/cmd/install/shared/flags.go:160 +#: mgradm/cmd/install/shared/flags.go:154 msgid "Report Database username" msgstr "데이터베이스 사용자 이름 보고" -#: mgradm/cmd/install/shared/flags.go:161 +#: mgradm/cmd/install/shared/flags.go:155 msgid "Report database password. Randomly generated by default" msgstr "데이터베이스 비밀번호를 보고합니다. 기본적으로 무작위로 생성됨" -#: mgradm/cmd/install/shared/flags.go:163 +#: mgradm/cmd/install/shared/flags.go:157 msgid "Report DB Flags" msgstr "DB 플래그 보고" -#: mgradm/cmd/install/shared/flags.go:171 +#: mgradm/cmd/install/shared/flags.go:165 msgid "SSL certificate cnames separated by commas" msgstr "쉼표로 구분된 SSL 인증서 이름" -#: mgradm/cmd/install/shared/flags.go:172 +#: mgradm/cmd/install/shared/flags.go:166 msgid "SSL certificate country" msgstr "SSL 인증서 국가" -#: mgradm/cmd/install/shared/flags.go:173 +#: mgradm/cmd/install/shared/flags.go:167 msgid "SSL certificate state" msgstr "SSL 인증서 시/도" -#: mgradm/cmd/install/shared/flags.go:174 +#: mgradm/cmd/install/shared/flags.go:168 msgid "SSL certificate city" msgstr "SSL 인증서 구/군/시" -#: mgradm/cmd/install/shared/flags.go:175 +#: mgradm/cmd/install/shared/flags.go:169 msgid "SSL certificate organization" msgstr "SSL 인증서 조직" -#: mgradm/cmd/install/shared/flags.go:176 +#: mgradm/cmd/install/shared/flags.go:170 msgid "SSL certificate organization unit" msgstr "SSL 인증서 조직 단위" -#: mgradm/cmd/install/shared/flags.go:177 +#: mgradm/cmd/install/shared/flags.go:171 msgid "Password for the CA key to generate" msgstr "생성할 CA 키의 비밀번호" -#: mgradm/cmd/install/shared/flags.go:179 +#: mgradm/cmd/install/shared/flags.go:173 msgid "SSL Certificate Flags" msgstr "SSL 인증서 플래그" -#: mgradm/cmd/install/shared/flags.go:189 +#: mgradm/cmd/install/shared/flags.go:183 msgid "Intermediate CA certificate path" msgstr "임시 CA 인증서 경로" -#: mgradm/cmd/install/shared/flags.go:190 +#: mgradm/cmd/install/shared/flags.go:184 msgid "Root CA certificate path" msgstr "루트 CA 인증서 경로" -#: mgradm/cmd/install/shared/flags.go:191 +#: mgradm/cmd/install/shared/flags.go:185 msgid "Server certificate path" msgstr "서버 인증서 경로" -#: mgradm/cmd/install/shared/flags.go:192 +#: mgradm/cmd/install/shared/flags.go:186 msgid "Server key path" msgstr "서버 키 경로" -#: mgradm/cmd/install/shared/flags.go:194 +#: mgradm/cmd/install/shared/flags.go:188 msgid "3rd Party SSL Certificate Flags" msgstr "타사 SSL 인증서 플래그" -#: mgradm/cmd/install/shared/flags.go:200 -msgid "SUSE Customer Center username" -msgstr "SUSE Customer Center 사용자 이름" - -#: mgradm/cmd/install/shared/flags.go:201 -msgid "SUSE Customer Center password" -msgstr "SUSE Customer Center 비밀번호" - -#: mgradm/cmd/install/shared/flags.go:203 -msgid "SUSE Customer Center Flags" -msgstr "SUSE Customer Center 플래그" - -#: mgradm/cmd/install/shared/flags.go:207 +#: mgradm/cmd/install/shared/flags.go:196 msgid "Enable tomcat and taskomatic remote debugging" msgstr "Tomcat 및 Taskomatic 원격 디버깅 활성화" -#: mgradm/cmd/install/shared/flags.go:214 +#: mgradm/cmd/install/shared/flags.go:203 msgid "Administrator user name" msgstr "관리자 사용자 이름" -#: mgradm/cmd/install/shared/flags.go:215 +#: mgradm/cmd/install/shared/flags.go:204 msgid "Administrator password" msgstr "관리자 비밀번호" -#: mgradm/cmd/install/shared/flags.go:216 +#: mgradm/cmd/install/shared/flags.go:205 msgid "First name of the administrator" msgstr "관리자의 이름" -#: mgradm/cmd/install/shared/flags.go:217 +#: mgradm/cmd/install/shared/flags.go:206 msgid "Last name of the administrator" msgstr "관리자의 성" -#: mgradm/cmd/install/shared/flags.go:218 +#: mgradm/cmd/install/shared/flags.go:207 msgid "First organization name" msgstr "첫 번째 조직 이름" -#: mgradm/cmd/install/shared/flags.go:220 +#: mgradm/cmd/install/shared/flags.go:209 msgid "First User Flags" msgstr "첫 번째 사용자 플래그" #: mgradm/cmd/install/shared/shared.go:32 msgid "Server appears to be already configured. Installation will continue, but installation options may be ignored." -msgstr "" +msgstr "서버가 이미 구성된 것 같습니다. 설치가 계속 진행되지만, 설치 옵션이 무시될 수 있습니다." #: mgradm/cmd/install/shared/shared.go:40 msgid "cannot copy /tmp/setup.sh" @@ -730,30 +730,34 @@ msgstr "/tmp/setup.sh 복사할 수 없음" msgid "error running the setup script" msgstr "설정 스크립트를 실행하는 중 오류 발생" -#: mgradm/cmd/install/shared/shared.go:49 -#: mgradm/cmd/migrate/kubernetes/utils.go:182 -#: mgradm/cmd/migrate/podman/utils.go:146 +#: mgradm/cmd/install/shared/shared.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:186 +#: mgradm/cmd/migrate/podman/utils.go:147 msgid "failed to add SSL CA certificate to host trusted certificates" msgstr "SSL CA 인증서를 호스트의 신뢰할 수 있는 인증서에 추가하지 못했습니다." -#: mgradm/cmd/install/shared/shared.go:65 -msgid "Server organization already exists, reusing" +#: mgradm/cmd/install/shared/shared.go:64 +msgid "unable to prepare API client" msgstr "" #: mgradm/cmd/install/shared/shared.go:68 +msgid "Server organization already exists, reusing" +msgstr "서버 조직 이미 있음, 재사용" + +#: mgradm/cmd/install/shared/shared.go:71 #, javascript-format msgid "Administration user already exists, but organization %s could not be found" -msgstr "" +msgstr "관리 사용자가 이미 있지만, %s 조직을 찾을 수 없음" -#: mgradm/cmd/install/shared/shared.go:84 +#: mgradm/cmd/install/shared/shared.go:83 msgid "Administration user already exists, but provided credentials are not valid" -msgstr "" +msgstr "관리 사용자가 이미 있지만, 제공된 자격 증명이 유효하지 않음" -#: mgradm/cmd/install/shared/shared.go:92 +#: mgradm/cmd/install/shared/shared.go:91 msgid "Server set up, login on https://%[1]s with %[2]s user" msgstr "서버 설정, https://%[1]s에 %[2]s 사용자로 로그인" -#: mgradm/cmd/install/shared/shared.go:164 +#: mgradm/cmd/install/shared/shared.go:163 msgid "Failed to generate setup script" msgstr "설치 스크립트를 생성하지 못함" @@ -797,80 +801,79 @@ msgstr "" msgid "SSL CA generated private key password" msgstr "SSL CA 생성 개인 키 비밀번호" -#: mgradm/cmd/migrate/kubernetes/utils.go:60 mgradm/shared/utils/exec.go:128 +#: mgradm/cmd/migrate/kubernetes/utils.go:64 mgradm/shared/utils/exec.go:132 msgid "failed to generate migration script" msgstr "마이그레이션 스크립트를 생성하지 못함" -#: mgradm/cmd/migrate/kubernetes/utils.go:84 +#: mgradm/cmd/migrate/kubernetes/utils.go:88 msgid "cannot run deploy" msgstr "배포를 실행할 수 없음" -#: mgradm/cmd/migrate/kubernetes/utils.go:91 -#: mgradm/shared/kubernetes/install.go:182 +#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/shared/kubernetes/install.go:187 msgid "cannot find node running uyuni" msgstr "uyuni를 실행하는 노드를 찾을 수 없음" -#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/cmd/migrate/kubernetes/utils.go:99 msgid "cannot run migration" msgstr "마이그레이션을 실행할 수 없음" -#: mgradm/cmd/migrate/kubernetes/utils.go:100 +#: mgradm/cmd/migrate/kubernetes/utils.go:104 msgid "cannot read data from container" msgstr "컨테이너에서 데이터를 읽을 수 없음" -#: mgradm/cmd/migrate/kubernetes/utils.go:106 -#: mgradm/cmd/migrate/kubernetes/utils.go:149 +#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:153 msgid "cannot set replicas to 0" msgstr "복제본을 0으로 설정할 수 없음" -#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:114 #: mgradm/cmd/migrate/podman/utils.go:67 msgid "Migration prepared. Run the 'migrate' command without '--prepare' to finish the migration." -msgstr "" +msgstr "마이그레이션이 준비되었습니다. 마이그레이션을 마치려면 ''--prepare''를 제외하고 ''migrate'' 명령을 실행하십시오." -#: mgradm/cmd/migrate/kubernetes/utils.go:123 +#: mgradm/cmd/migrate/kubernetes/utils.go:127 msgid "cannot setup SSL" msgstr "SSL을 설정할 수 없음" -#: mgradm/cmd/migrate/kubernetes/utils.go:131 +#: mgradm/cmd/migrate/kubernetes/utils.go:135 #, javascript-format msgid "The mirror data will not be migrated, ensure it is available at %s" msgstr "미러 데이터는 마이그레이션되지 않으므로 %s에서 사용할 수 있는지 확인하십시오." -#: mgradm/cmd/migrate/kubernetes/utils.go:140 +#: mgradm/cmd/migrate/kubernetes/utils.go:144 #, javascript-format msgid "cannot upgrade helm chart to image %s using new SSL certificate" msgstr "새 SSL 인증서를 사용하여 helm 차트를 %s 이미지로 업그레이드할 수 없음" -#: mgradm/cmd/migrate/kubernetes/utils.go:144 +#: mgradm/cmd/migrate/kubernetes/utils.go:148 #, javascript-format msgid "cannot wait for deployment of %s" msgstr "%s의 배포를 기다릴 수 없음" -#: mgradm/cmd/migrate/kubernetes/utils.go:159 +#: mgradm/cmd/migrate/kubernetes/utils.go:163 #: mgradm/cmd/migrate/podman/utils.go:78 -#: mgradm/shared/kubernetes/install.go:203 mgradm/shared/podman/podman.go:366 +#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:380 msgid "cannot run PostgreSQL version upgrade script" msgstr "PostgreSQL 버전 업그레이드 스크립트를 실행할 수 없음" -#: mgradm/cmd/migrate/kubernetes/utils.go:165 -#, fuzzy +#: mgradm/cmd/migrate/kubernetes/utils.go:169 msgid "cannot run PostgreSQL finalisation script" msgstr "PostgreSQL 최종 스크립트를 실행할 수 없음" -#: mgradm/cmd/migrate/kubernetes/utils.go:169 +#: mgradm/cmd/migrate/kubernetes/utils.go:173 #: mgradm/cmd/migrate/podman/utils.go:88 -#: mgradm/shared/kubernetes/install.go:218 mgradm/shared/podman/podman.go:380 +#: mgradm/shared/kubernetes/install.go:223 mgradm/shared/podman/podman.go:394 msgid "cannot run post upgrade script" msgstr "업그레이드 후 스크립트를 실행할 수 없음" -#: mgradm/cmd/migrate/kubernetes/utils.go:174 -#: mgradm/shared/kubernetes/install.go:223 +#: mgradm/cmd/migrate/kubernetes/utils.go:178 +#: mgradm/shared/kubernetes/install.go:228 #, javascript-format msgid "cannot upgrade to image %s" msgstr "%s 이미지로 업그레이드할 수 없음" -#: mgradm/cmd/migrate/kubernetes/utils.go:199 +#: mgradm/cmd/migrate/kubernetes/utils.go:203 msgid "failed to strip text part from CA certificate" msgstr "CA 인증서에서 텍스트 부분 제거하지 못함" @@ -878,11 +881,11 @@ msgstr "CA 인증서에서 텍스트 부분 제거하지 못함" msgid "Migrate a remote server to containers" msgstr "원격 서버를 컨테이너로 마이그레이션" -#: mgradm/cmd/migrate/podman/podman.go:25 +#: mgradm/cmd/migrate/podman/podman.go:26 msgid "Migrate a remote server to containers running on podman" msgstr "원격 서버를 podman에서 실행되는 컨테이너로 마이그레이션" -#: mgradm/cmd/migrate/podman/podman.go:26 +#: mgradm/cmd/migrate/podman/podman.go:27 msgid "" "Migrate a remote server to containers running on podman\n" "\n" @@ -913,7 +916,7 @@ msgid "cannot run migration script" msgstr "마이그레이션 스크립트를 실행할 수 없음" #: mgradm/cmd/migrate/podman/utils.go:84 -#: mgradm/shared/kubernetes/install.go:214 mgradm/shared/podman/podman.go:376 +#: mgradm/shared/kubernetes/install.go:219 mgradm/shared/podman/podman.go:390 msgid "cannot run PostgreSQL finalize script" msgstr "PostgreSQL 최종 스크립트를 실행할 수 없음" @@ -921,23 +924,21 @@ msgstr "PostgreSQL 최종 스크립트를 실행할 수 없음" msgid "cannot generate systemd service file" msgstr "systemd 서비스 파일을 생성할 수 없음" -#: mgradm/cmd/migrate/podman/utils.go:108 -#, fuzzy +#: mgradm/cmd/migrate/podman/utils.go:109 msgid "cannot setup confidential computing attestation service" -msgstr "기밀 컴퓨팅 증명 서비스 설정" +msgstr "기밀 컴퓨팅 증명 서비스를 설정할 수 없음" -#: mgradm/cmd/migrate/podman/utils.go:126 -#, fuzzy +#: mgradm/cmd/migrate/podman/utils.go:120 msgid "Enabling Hub XML-RPC API since it is enabled on the migrated server" -msgstr "Hub XML-RPC API 컨테이너 활성화." +msgstr "마이그레이션된 서버에서 활성화되어 있으므로 Hub XML-RPC API 컨테이너 활성화" -#: mgradm/cmd/migrate/podman/utils.go:133 +#: mgradm/cmd/migrate/podman/utils.go:134 msgid "Server migrated" msgstr "서버 마이그레이션됨" -#: mgradm/cmd/migrate/shared/flags.go:28 +#: mgradm/cmd/migrate/shared/flags.go:27 msgid "Prepare the mgration - copy the data without stopping the source server." -msgstr "" +msgstr "마이그레이션 준비 - 원본 서버를 정지하지 않고 데이터를 복사합니다." #: mgradm/cmd/migrate/shared/flags.go:34 msgid "User on the source server. Non-root user must have passwordless sudo privileges (NOPASSWD tag in /etc/sudoers)." @@ -983,16 +984,16 @@ msgid "Adjust the replicas for services supporting it." msgstr "이를 지원하는 서비스에 대한 복제본을 조정합니다." #: mgradm/cmd/scale/scale.go:30 -#, fuzzy msgid "" "Adjust the replicas for services supporting it.\n" "Supported services:\n" " - uyuni-server-attestation\n" " - uyuni-hub-xmlrpc\n" msgstr "" -"이를 지원하는 서비스에 대한 복제본을 조정합니다.\n" +"이를 지원하는 서비스에 대한 복제본을 조정하십시오.\n" "지원되는 서비스:\n" " - uyuni-server-attestation\n" +" - uyuni-hub-xmlrpc\n" #: mgradm/cmd/start/start.go:24 mgradm/cmd/start/start.go:25 msgid "Start the server" @@ -1039,18 +1040,18 @@ msgid "" "Extract the host or cluster configuration and logs as well as those from \n" "the containers for support to help debugging." msgstr "" -"호스트 또는 클러스터 구성과 로그는 물론 컨테이너에서 로그를 추출하여\n" -"디버깅에 도움이 되도록 지원하십시오." +"호스트 또는 클러스터의 구성 및 로그와 컨테이너의 구성 및 로그를 \n" +"추출하여 디버깅에 도움이 되도록 지원하십시오." #: mgradm/cmd/support/config/config.go:32 msgid "path where to extract the data" -msgstr "경로 데이터를 추출할 위치" +msgstr "데이터 추출 경로" -#: mgradm/cmd/support/ptf/podman/podman.go:27 +#: mgradm/cmd/support/ptf/podman/podman.go:28 msgid "Install a PTF or Test package on podman" msgstr "podman에 PTF 또는 테스트 패키지 설치" -#: mgradm/cmd/support/ptf/podman/podman.go:28 +#: mgradm/cmd/support/ptf/podman/podman.go:29 msgid "" "Install a PTF or Test package on podman\n" "\n" @@ -1066,19 +1067,19 @@ msgstr "" "\n" "참고: 현재 원격 podman에 설치하는 기능은 지원되지 않습니다!\n" -#: mgradm/cmd/support/ptf/podman/utils.go:49 +#: mgradm/cmd/support/ptf/podman/utils.go:52 msgid "ptf and test flags cannot be set simultaneously " msgstr "ptf와 테스트 플래그를 동시에 설정할 수 없음 " -#: mgradm/cmd/support/ptf/podman/utils.go:52 +#: mgradm/cmd/support/ptf/podman/utils.go:55 msgid "ptf and test flags cannot be empty simultaneously " msgstr "ptf와 테스트 플래그를 동시에 비워둘 수없음 " -#: mgradm/cmd/support/ptf/podman/utils.go:55 +#: mgradm/cmd/support/ptf/podman/utils.go:58 msgid "user flag cannot be empty" msgstr "사용자 플래그를 비워둘 수 없습니다." -#: mgradm/cmd/support/ptf/podman/utils.go:70 +#: mgradm/cmd/support/ptf/podman/utils.go:75 #, javascript-format msgid "The image computed is: %s" msgstr "계산된 이미지: %s" @@ -1100,25 +1101,25 @@ msgstr "소스 파일을 정리할 수 없음" msgid "output file %s exists, use -f to force overwrite" msgstr "출력 파일 %s이(가) 있습니다. -f를 사용하여 강제로 덮어씁니다." -#: mgradm/cmd/support/sql/sql.go:111 +#: mgradm/cmd/support/sql/sql.go:115 msgid "interactive mode cannot work with a file output" msgstr "대화형 모드는 파일 출력에서 작동하지 않습니다." -#: mgradm/cmd/support/sql/sql.go:141 +#: mgradm/cmd/support/sql/sql.go:145 #, javascript-format msgid "unknown or unsupported database %s" msgstr "알 수 없거나 지원되지 않는 데이터베이스 %s" -#: mgradm/cmd/support/sql/sql.go:154 +#: mgradm/cmd/support/sql/sql.go:158 msgid "Command failed" msgstr "명령 실패" -#: mgradm/cmd/support/sql/sql.go:159 +#: mgradm/cmd/support/sql/sql.go:163 #, javascript-format msgid "Result is stored in the file '%s'" msgstr "결과는 '%s' 파일에 저장됩니다." -#: mgradm/cmd/support/sql/sql.go:173 +#: mgradm/cmd/support/sql/sql.go:177 msgid "cannot write" msgstr "쓸 수 없음" @@ -1203,27 +1204,26 @@ msgstr "구성 맵 삭제 실패" msgid "Failed deleting secret" msgstr "비밀 삭제 실패" -#: mgradm/cmd/uninstall/kubernetes.go:108 +#: mgradm/cmd/uninstall/kubernetes.go:110 msgid "Nothing has been uninstalled, run with --force to actually uninstall" msgstr "설치 제거된 항목이 없습니다. 실제로 설치를 제거하려면 --force를 실행하십시오." -#: mgradm/cmd/uninstall/kubernetes.go:110 +#: mgradm/cmd/uninstall/kubernetes.go:112 msgid "Volumes have not been touched. Depending on the storage class used, they may not have been removed" msgstr "볼륨과 관련한 작업은 수행되지 않았습니다. 사용된 스토리지 클래스에 따라 제거되지 않았을 수 있습니다." #: mgradm/cmd/uninstall/podman.go:46 -#, fuzzy, javascript-format +#, javascript-format msgid "Failed to remove volume %s" -msgstr "%s 폴더를 생성할 수 없음" +msgstr "%s 폴더 제거 실패" #: mgradm/cmd/uninstall/podman.go:51 msgid "All volumes have been removed" msgstr "모든 볼륨 제거됨" #: mgradm/cmd/uninstall/podman.go:53 -#, fuzzy msgid "Some volumes have not been removed completely" -msgstr "모든 볼륨 제거됨" +msgstr "일부 볼륨이 완전히 제거되지 않았습니다." #: mgradm/cmd/uninstall/podman.go:61 #, javascript-format @@ -1259,68 +1259,52 @@ msgstr "" msgid "Upgrade a local server on kubernetes" msgstr "Kubernetes에서 로컬 서버 업그레이드" -#: mgradm/cmd/upgrade/podman/podman.go:27 +#: mgradm/cmd/upgrade/podman/podman.go:28 msgid "Upgrade a local server on podman" msgstr "podman에서 로컬 서버 업그레이드" -#: mgradm/cmd/upgrade/podman/podman.go:39 -#, fuzzy +#: mgradm/cmd/upgrade/podman/podman.go:42 msgid "List available tags for an image" msgstr "이미지에 사용 가능한 태그 나열" -#: mgradm/cmd/upgrade/podman/podman.go:46 +#: mgradm/cmd/upgrade/podman/podman.go:49 msgid "failed to unmarshall configuration" msgstr "구성을 마샬링 해제하지 못했습니다." -#: mgradm/cmd/upgrade/shared/flags.go:31 mgradm/shared/utils/cmd_utils.go:130 -msgid "Confidential Computing Flags" -msgstr "기밀 컴퓨팅 플래그" - -#: mgradm/cmd/upgrade/shared/flags.go:33 mgradm/shared/utils/cmd_utils.go:131 -msgid "confidential computing attestation" -msgstr "기밀 컴퓨팅 증명" - -#: mgradm/cmd/upgrade/shared/flags.go:34 mgradm/cmd/upgrade/shared/flags.go:35 -#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:140 -msgid "Hub XML-RPC API" -msgstr "Hub XML-RPC API" - #: mgradm/cmd/upgrade/upgrade.go:19 mgradm/cmd/upgrade/upgrade.go:20 msgid "Upgrade local server" msgstr "로컬 서버 업그레이드" -#: mgradm/shared/coco/coco.go:70 +#: mgradm/shared/coco/coco.go:84 msgid "Setting up confidential computing attestation service" msgstr "기밀 컴퓨팅 증명 서비스 설정" -#: mgradm/shared/coco/coco.go:74 mgradm/shared/hub/xmlrpcapi.go:86 -#: mgradm/shared/podman/podman.go:74 +#: mgradm/shared/coco/coco.go:88 mgradm/shared/hub/xmlrpcapi.go:102 +#: mgradm/shared/podman/podman.go:76 msgid "failed to generate systemd service unit file" msgstr "systemd 서비스 단위 파일을 생성하지 못함" -#: mgradm/shared/coco/coco.go:85 mgradm/shared/hub/xmlrpcapi.go:91 -#: mgradm/shared/podman/podman.go:80 +#: mgradm/shared/coco/coco.go:99 mgradm/shared/hub/xmlrpcapi.go:107 +#: mgradm/shared/podman/podman.go:82 msgid "cannot generate systemd conf file" msgstr "systemd conf 파일을 생성할 수 없음" -#: mgradm/shared/hub/xmlrpcapi.go:27 -#, fuzzy -msgid "Setting Hub XML-RPC API service." -msgstr "Hub XML-RPC API 컨테이너 활성화." +#: mgradm/shared/hub/xmlrpcapi.go:35 +#, javascript-format +msgid "No changes requested for hub. Keep %d replicas." +msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:39 +#: mgradm/shared/hub/xmlrpcapi.go:52 msgid "cannot generate systemd service" msgstr "systemd 서비스를 생성할 수 없음" -#: mgradm/shared/hub/xmlrpcapi.go:49 -#, fuzzy +#: mgradm/shared/hub/xmlrpcapi.go:65 msgid "Multiple Hub XML-RPC container replicas are not currently supported, setting up only one." -msgstr "다중 Hub XML-RPC 컨테이너 복제본은 현재 지원되지 않습니다." +msgstr "다중 Hub XML-RPC 컨테이너 복제본은 현재 지원되지 않습니다. 하나만 설정하십시오." -#: mgradm/shared/hub/xmlrpcapi.go:58 -#, fuzzy +#: mgradm/shared/hub/xmlrpcapi.go:74 msgid "Not starting Hub XML-RPC API service" -msgstr "Hub XML-RPC API 컨테이너 활성화." +msgstr "Hub XML-RPC API 서비스를 시작할 수 없음" #: mgradm/shared/kubernetes/certificates.go:31 msgid "Creating SSL server certificate secret" @@ -1404,130 +1388,139 @@ msgstr "인증서 관리자 및 자체 서명 발급자를 설치할 수 없음" msgid "Installing Uyuni" msgstr "Uyuni 설치" -#: mgradm/shared/kubernetes/install.go:153 +#: mgradm/shared/kubernetes/install.go:158 msgid "cannot inspect kubernetes values" msgstr "Kubernetes 값을 검사할 수 없음" -#: mgradm/shared/kubernetes/install.go:163 +#: mgradm/shared/kubernetes/install.go:168 msgid "inspect function did non return fqdn value" msgstr "검사 함수가 FQDN 값을 반환하지 않음" -#: mgradm/shared/kubernetes/install.go:187 +#: mgradm/shared/kubernetes/install.go:192 msgid "cannot set replica to 0" msgstr "복제본을 0으로 설정할 수 없음" -#: mgradm/shared/kubernetes/install.go:197 mgradm/shared/kubernetes/k3s.go:39 -#: mgradm/shared/podman/podman.go:217 +#: mgradm/shared/kubernetes/install.go:202 mgradm/shared/kubernetes/k3s.go:47 +#: mgradm/shared/podman/podman.go:231 msgid "Previous PostgreSQL is %[1]s, new one is %[2]s. Performing a DB version upgrade…" msgstr "이전 PostgreSQL은 %[1]s(이)고 새 버전은 %[2]s입니다. DB 버전 업그레이드 중…" -#: mgradm/shared/kubernetes/install.go:206 mgradm/shared/podman/podman.go:369 +#: mgradm/shared/kubernetes/install.go:211 mgradm/shared/podman/podman.go:383 #, javascript-format msgid "Upgrading to %s without changing PostgreSQL version" msgstr "PostgreSQL 버전을 변경하지 않고 %s(으)로 업그레이드" -#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:371 +#: mgradm/shared/kubernetes/install.go:213 mgradm/shared/podman/podman.go:385 msgid "trying to downgrade PostgreSQL from %[1]s to %[2]s" msgstr "PostgreSQL을 %[1]s에서 %[2]s(으)로 다운그레이드 시도 중" -#: mgradm/shared/kubernetes/k3s.go:36 mgradm/shared/kubernetes/k3s.go:106 -#: mgradm/shared/kubernetes/k3s.go:151 +#: mgradm/shared/kubernetes/k3s.go:44 mgradm/shared/kubernetes/k3s.go:114 +#: mgradm/shared/kubernetes/k3s.go:159 #, javascript-format msgid "failed to create temporary directory: %s" msgstr "임시 디렉토리를 만들지 못함: %s" -#: mgradm/shared/kubernetes/k3s.go:56 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/podman/podman.go:264 #, javascript-format msgid "Using database upgrade image %s" msgstr "데이터베이스 업그레이드 이미지 %s 사용" -#: mgradm/shared/kubernetes/k3s.go:59 mgradm/shared/podman/podman.go:254 +#: mgradm/shared/kubernetes/k3s.go:67 mgradm/shared/podman/podman.go:268 msgid "cannot generate PostgreSQL database version upgrade script" msgstr "PostgreSQL 데이터베이스 버전 업그레이드 스크립트를 생성할 수 없습니다." -#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/kubernetes/k3s.go:115 -#: mgradm/shared/kubernetes/k3s.go:161 +#: mgradm/shared/kubernetes/k3s.go:72 mgradm/shared/kubernetes/k3s.go:123 +#: mgradm/shared/kubernetes/k3s.go:169 #, javascript-format msgid "cannot delete %s" msgstr "%s을(를) 삭제할 수 없음" -#: mgradm/shared/kubernetes/k3s.go:93 mgradm/shared/kubernetes/k3s.go:141 -#: mgradm/shared/kubernetes/k3s.go:188 +#: mgradm/shared/kubernetes/k3s.go:101 mgradm/shared/kubernetes/k3s.go:149 +#: mgradm/shared/kubernetes/k3s.go:196 #, javascript-format msgid "error running container %s" msgstr "%s 컨테이너 실행 중 오류 발생" -#: mgradm/shared/kubernetes/k3s.go:111 mgradm/shared/kubernetes/k3s.go:156 -#: mgradm/shared/podman/podman.go:283 mgradm/shared/podman/podman.go:307 +#: mgradm/shared/kubernetes/k3s.go:119 mgradm/shared/kubernetes/k3s.go:164 +#: mgradm/shared/podman/podman.go:297 mgradm/shared/podman/podman.go:321 msgid "cannot generate PostgreSQL finalization script" msgstr "PostgreSQL 마무리 스크립트를 생성할 수 없습니다." -#: mgradm/shared/podman/podman.go:50 +#: mgradm/shared/podman/podman.go:51 msgid "cannot setup network" msgstr "네트워크를 설정할 수 없음" -#: mgradm/shared/podman/podman.go:53 +#: mgradm/shared/podman/podman.go:54 msgid "Enabling system service" msgstr "시스템 서비스 활성화" -#: mgradm/shared/podman/podman.go:88 -#, fuzzy +#: mgradm/shared/podman/podman.go:90 msgid "cannot generate systemd user configuration file" -msgstr "systemd conf 파일을 생성할 수 없음" +msgstr "systemd 사용자 구성 파일을 생성할 수 없음" -#: mgradm/shared/podman/podman.go:100 +#: mgradm/shared/podman/podman.go:102 msgid "failed to create temporary folder on container to copy certificates to" msgstr "인증서를 복사할 컨테이너에 임시 폴더를 만들지 못했습니다." -#: mgradm/shared/podman/podman.go:140 +#: mgradm/shared/podman/podman.go:142 msgid "failed to update SSL certificate" msgstr "SSL 인증서를 업데이트하지 못했습니다." -#: mgradm/shared/podman/podman.go:145 +#: mgradm/shared/podman/podman.go:147 msgid "failed to remove copied certificate files in the container" msgstr "컨테이너에서 복사한 인증서 파일을 제거하지 못했습니다." -#: mgradm/shared/podman/podman.go:151 +#: mgradm/shared/podman/podman.go:153 msgid "failed to remove now useless ssl-build folder in the container" msgstr "컨테이너에서 더 이상 사용되지 않는 ssl-build 폴더를 제거하지 못했습니다." -#: mgradm/shared/podman/podman.go:156 +#: mgradm/shared/podman/podman.go:158 msgid "Restarting services after updating the certificate" msgstr "인증서 업데이트 후 서비스 다시 시작" -#: mgradm/shared/podman/podman.go:175 +#: mgradm/shared/podman/podman.go:177 msgid "cannot generate migration script" msgstr "마이그레이션 스크립트를 생성할 수 없음" -#: mgradm/shared/podman/podman.go:194 mgradm/shared/utils/exec.go:103 +#: mgradm/shared/podman/podman.go:196 mgradm/shared/utils/exec.go:107 msgid "Migrating server" msgstr "서버 마이그레이션" -#: mgradm/shared/podman/podman.go:197 +#: mgradm/shared/podman/podman.go:199 msgid "cannot run uyuni migration container" msgstr "uyuni 마이그레이션 컨테이너를 실행할 수 없음" -#: mgradm/shared/podman/podman.go:202 +#: mgradm/shared/podman/podman.go:206 +#, javascript-format +msgid "cannot inspect volume %s" +msgstr "%s 볼륨을 검사할 수 없음" + +#: mgradm/shared/podman/podman.go:209 +#, javascript-format +msgid "cannot restore %s SELinux permissions" +msgstr "%s SELinux 권한을 복구할 수 없음" + +#: mgradm/shared/podman/podman.go:216 msgid "cannot read extracted data" msgstr "추출된 데이터를 읽을 수 없음" -#: mgradm/shared/podman/podman.go:342 +#: mgradm/shared/podman/podman.go:356 msgid "cannot inspect podman values" msgstr "podman 값을 검사할 수 없음" -#: mgradm/shared/podman/podman.go:352 +#: mgradm/shared/podman/podman.go:366 msgid "cannot stop service" msgstr "서비스를 중지하지 못함" -#: mgradm/shared/podman/podman.go:360 +#: mgradm/shared/podman/podman.go:374 msgid "Previous postgresql is %[1]s, instead new one is %[2]s. Performing a DB version upgrade…" msgstr "이전 postgresql은 %[1]s(이)고 대신 새 버전은 %[2]s입니다. DB 버전 업그레이드를 수행하는 중…" -#: mgradm/shared/podman/podman.go:397 +#: mgradm/shared/podman/podman.go:411 msgid "error upgrading confidential computing service." msgstr "기밀 컴퓨팅 서비스를 업그레이드하는 중 오류가 발생했습니다." -#: mgradm/shared/podman/podman.go:435 +#: mgradm/shared/podman/podman.go:449 msgid "cannot inspect data" msgstr "데이터를 검사할 수 없음" @@ -1635,7 +1628,7 @@ msgstr "Helm 차트 플래그" #: mgradm/shared/utils/cmd_utils.go:87 #, javascript-format msgid "Image for %s container" -msgstr "" +msgstr "%s 컨테이너용 이미지" #: mgradm/shared/utils/cmd_utils.go:89 #, javascript-format @@ -1643,108 +1636,159 @@ msgid "Tag for %s container, overrides the global value if set" msgstr "%s 컨테이너에 대한 태그, 설정된 경우 전역 값 재정의" #: mgradm/shared/utils/cmd_utils.go:99 +msgid "SUSE Customer Center username. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" +msgstr "SUSE 고객 센터 사용자 이름. 제품을 동기화하고 registry.suse.com에서 이미지를 가져오기 위한 SCC 자격 증명으로 사용됩니다." + +#: mgradm/shared/utils/cmd_utils.go:100 +msgid "SUSE Customer Center password. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" +msgstr "SUSE 고객 센터 암호. 제품을 동기화하고 registry.suse.com에서 이미지를 가져오기 위한 SCC 자격 증명으로 사용됩니다." + +#: mgradm/shared/utils/cmd_utils.go:102 +msgid "SUSE Customer Center Flags" +msgstr "SUSE 고객 센터 플래그" + +#: mgradm/shared/utils/cmd_utils.go:109 msgid "Image" msgstr "이미지" -#: mgradm/shared/utils/cmd_utils.go:100 +#: mgradm/shared/utils/cmd_utils.go:110 +#, fuzzy +msgid "Specify a private registry where pull the images" +msgstr "개인 레지스트리 지정" + +#: mgradm/shared/utils/cmd_utils.go:111 msgid "Tag Image" msgstr "태그 이미지" -#: mgradm/shared/utils/cmd_utils.go:104 +#: mgradm/shared/utils/cmd_utils.go:115 msgid "Image Flags" msgstr "이미지 플래그" -#: mgradm/shared/utils/cmd_utils.go:112 +#: mgradm/shared/utils/cmd_utils.go:124 msgid "Database upgrade image" msgstr "데이터베이스 업그레이드 이미지" -#: mgradm/shared/utils/cmd_utils.go:113 +#: mgradm/shared/utils/cmd_utils.go:125 msgid "Database upgrade image tag" msgstr "데이터베이스 업그레이드 이미지 태그" -#: mgradm/shared/utils/cmd_utils.go:115 -msgid "set whether to pull the database upgrade images or not. The value can be one of 'Never', 'IfNotPresent' or 'Always'" -msgstr "데이터베이스 이미지를 가져올지 여부를 설정합니다. 값은 'Never', 'IfNotPresent' 또는 'Always' 중 하나를 사용할 수 있습니다." - -#: mgradm/shared/utils/cmd_utils.go:117 +#: mgradm/shared/utils/cmd_utils.go:127 msgid "Database Upgrade Image Flags" msgstr "데이터베이스 업그레이드 이미지 플래그" -#: mgradm/shared/utils/cmd_utils.go:125 +#: mgradm/shared/utils/cmd_utils.go:134 msgid "Path to mirrored packages mounted on the host" msgstr "호스트에 마운트된 미러링된 패키지의 경로" -#: mgradm/shared/utils/cmd_utils.go:132 -msgid "How many replicas of the confidential computing container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:147 +msgid "Confidential Computing Flags" +msgstr "기밀 컴퓨팅 플래그" + +#: mgradm/shared/utils/cmd_utils.go:140 mgradm/shared/utils/cmd_utils.go:148 +msgid "confidential computing attestation" +msgstr "기밀 컴퓨팅 증명" + +#: mgradm/shared/utils/cmd_utils.go:141 +#, fuzzy +msgid "How many replicas of the confidential computing container should be started" +msgstr "시작해야 하는 기밀 컴퓨팅 컨테이너의 복제본 수. (현재는 0 또는 1만 지원됨)" + +#: mgradm/shared/utils/cmd_utils.go:149 +#, fuzzy +msgid "How many replicas of the confidential computing container should be started. Leave it unset if you want to keep the previous number of replicas." msgstr "시작해야 하는 기밀 컴퓨팅 컨테이너의 복제본 수. (현재는 0 또는 1만 지원됨)" -#: mgradm/shared/utils/cmd_utils.go:142 -msgid "How many replicas of the Hub XML-RPC API service container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:155 mgradm/shared/utils/cmd_utils.go:156 +#: mgradm/shared/utils/cmd_utils.go:163 mgradm/shared/utils/cmd_utils.go:164 +msgid "Hub XML-RPC API" +msgstr "Hub XML-RPC API" + +#: mgradm/shared/utils/cmd_utils.go:157 +#, fuzzy +msgid "How many replicas of the Hub XML-RPC API service container should be started." +msgstr "시작해야 하는 Hub XML-RPC API 서비스 컨테이너의 복제본 수(현재는 0 또는 1만 지원됨)" + +#: mgradm/shared/utils/cmd_utils.go:165 +#, fuzzy +msgid "How many replicas of the Hub XML-RPC API service container should be started. Leave it unset if you want to keep the previous number of replicas." msgstr "시작해야 하는 Hub XML-RPC API 서비스 컨테이너의 복제본 수(현재는 0 또는 1만 지원됨)" #: mgradm/shared/utils/exec.go:28 msgid "exec command failed" msgstr "exec 명령 실패" -#: mgradm/shared/utils/exec.go:62 mgradm/shared/utils/exec.go:82 -#: mgradm/shared/utils/exec.go:96 +#: mgradm/shared/utils/exec.go:66 mgradm/shared/utils/exec.go:86 +#: mgradm/shared/utils/exec.go:100 #, javascript-format msgid "failed to generate %s" msgstr "%s을(를) 생성하지 못했습니다." -#: mgradm/shared/utils/exec.go:106 +#: mgradm/shared/utils/exec.go:110 msgid "error running the migration script" msgstr "마이그레이션 스크립트 실행 중 오류 발생" -#: mgradm/shared/utils/exec.go:155 +#: mgradm/shared/utils/exec.go:159 #, javascript-format msgid "Image is: %s" msgstr "이미지: %s" -#: mgradm/shared/utils/exec.go:169 +#: mgradm/shared/utils/exec.go:173 msgid "cannot check server release" msgstr "서버 릴리스를 확인할 수 없음" -#: mgradm/shared/utils/exec.go:176 +#: mgradm/shared/utils/exec.go:180 #, javascript-format msgid "currently SUSE Manager %s is installed, instead the image is Uyuni. Upgrade is not supported" msgstr "현재 SUSE Manager %s이(가) 설치되어 있지만, 이미지가 Uyuni입니다. 업그레이드가 지원되지 않습니다." -#: mgradm/shared/utils/exec.go:183 +#: mgradm/shared/utils/exec.go:187 #, javascript-format msgid "currently Uyuni %s is installed, instead the image is SUSE Manager. Upgrade is not supported" msgstr "현재 Uyuni %s가 설치되어 있지만, 이미지가 SUSE Manager입니다. 업그레이드가 지원되지 않습니다." -#: mgradm/shared/utils/exec.go:192 +#: mgradm/shared/utils/exec.go:196 msgid "failed to read current uyuni release" msgstr "현재 uyuni 릴리스를 읽지 못함" -#: mgradm/shared/utils/exec.go:196 mgradm/shared/utils/exec.go:213 +#: mgradm/shared/utils/exec.go:200 mgradm/shared/utils/exec.go:217 #, javascript-format msgid "cannot fetch release from image %s" msgstr "이미지 %s에서 릴리스를 가져올 수 없습니다." -#: mgradm/shared/utils/exec.go:201 mgradm/shared/utils/exec.go:218 +#: mgradm/shared/utils/exec.go:205 mgradm/shared/utils/exec.go:222 msgid "cannot downgrade from version %[1]s to %[2]s" msgstr "버전 %[1]s에서 %[2]s(으)로 다운그레이드할 수 없습니다." -#: mgradm/shared/utils/exec.go:209 +#: mgradm/shared/utils/exec.go:213 msgid "failed to read current susemanager release" msgstr "현재 susemanager 릴리스를 읽지 못함" -#: mgradm/shared/utils/exec.go:225 +#: mgradm/shared/utils/exec.go:229 #, javascript-format msgid "cannot fetch postgresql version from %s" msgstr "%s에서 postgresql 버전을 가져올 수 없습니다." -#: mgradm/shared/utils/exec.go:229 +#: mgradm/shared/utils/exec.go:233 msgid "posgresql is not installed in the current deployment" msgstr "현재 배포에 posgresql이 설치되어 있지 않습니다." -#: mgradm/shared/utils/exec.go:243 -msgid "cannot find neither /etc/uyuni-release nor /etc/susemanagere-release" +#: mgradm/shared/utils/exec.go:247 +#, fuzzy +msgid "cannot find either /etc/uyuni-release or /etc/susemanagere-release" msgstr "etc/uyuni-release 또는 / etc/susemanagere-release를 찾을 수 없습니다." +#~ msgid "Setting Hub XML-RPC API service." +#~ msgstr "Hub XML-RPC API 서비스 활성화" + +#~ msgid "set whether to pull the database upgrade images or not. The value can be one of 'Never', 'IfNotPresent' or 'Always'" +#~ msgstr "데이터베이스 이미지를 가져올지 여부를 설정합니다. 값은 'Never', 'IfNotPresent' 또는 'Always' 중 하나를 사용할 수 있습니다." + +#~ msgid "SUSE Customer Center username" +#~ msgstr "SUSE Customer Center 사용자 이름" + +#~ msgid "SUSE Customer Center password" +#~ msgstr "SUSE Customer Center 비밀번호" + #~ msgid "cannot inspect host values" #~ msgstr "호스트 값 검사할 수 없음" @@ -1798,10 +1842,6 @@ msgstr "etc/uyuni-release 또는 / etc/susemanagere-release를 찾을 수 없습 #~ msgid "Unable to detect hostname, using localhost" #~ msgstr "로컬호스트를 사용하여 호스트 이름을 감지할 수 없음" -#, javascript-format -#~ msgid "cannot delete volume %s" -#~ msgstr "%s 볼륨을 삭제할 수 없음" - #, javascript-format #~ msgid "Available Tags for image: %s" #~ msgstr "이미지에 사용 가능한 태그: %s" @@ -1829,9 +1869,6 @@ msgstr "etc/uyuni-release 또는 / etc/susemanagere-release를 찾을 수 없습 #~ msgid "cannot retrieve timezone" #~ msgstr "시간대를 검색할 수 없습니다." -#~ msgid "cannot retrieve source PostgreSQL version" -#~ msgstr "소스 PostgreSQL 버전을 검색할 수 없습니다." - #~ msgid "cannot retrieve image PostgreSQL version" #~ msgstr "이미지 PostgreSQL 버전을 검색할 수 없습니다." diff --git a/locale/mgradm/mgradm.pot b/locale/mgradm/mgradm.pot index 75a360330..b551903dc 100644 --- a/locale/mgradm/mgradm.pot +++ b/locale/mgradm/mgradm.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -37,21 +37,21 @@ msgstr "" msgid "Administrator tools:" msgstr "" -#: mgradm/cmd/cmd.go:67 +#: mgradm/cmd/cmd.go:66 #, javascript-format msgid "Welcome to %s" msgstr "" -#: mgradm/cmd/cmd.go:68 +#: mgradm/cmd/cmd.go:67 #, javascript-format msgid "Executing command: %s" msgstr "" -#: mgradm/cmd/cmd.go:72 +#: mgradm/cmd/cmd.go:71 msgid "configuration file path" msgstr "" -#: mgradm/cmd/cmd.go:73 +#: mgradm/cmd/cmd.go:72 msgid "application log level" msgstr "" @@ -65,66 +65,66 @@ msgstr "" msgid "unable to remove temporary directory, leaving %s intact" msgstr "" -#: mgradm/cmd/distro/cp.go:48 +#: mgradm/cmd/distro/cp.go:51 msgid "unable to login and register the distribution. Manual distro registration is required" msgstr "" -#: mgradm/cmd/distro/cp.go:59 +#: mgradm/cmd/distro/cp.go:63 msgid "unable to register the distribution. Manual distro registration is required" msgstr "" -#: mgradm/cmd/distro/cp.go:61 +#: mgradm/cmd/distro/cp.go:65 #, javascript-format msgid "Distribution %s successfully registered" msgstr "" -#: mgradm/cmd/distro/cp.go:70 mgradm/cmd/support/sql/sql.go:34 +#: mgradm/cmd/distro/cp.go:74 mgradm/cmd/support/sql/sql.go:34 #, javascript-format msgid "source %s does not exists" msgstr "" -#: mgradm/cmd/distro/cp.go:89 +#: mgradm/cmd/distro/cp.go:93 #, javascript-format msgid "unable to mount ISO image: %s" msgstr "" -#: mgradm/cmd/distro/cp.go:98 +#: mgradm/cmd/distro/cp.go:102 msgid "Missing TreeLabel. Please specify distribution name" msgstr "" -#: mgradm/cmd/distro/cp.go:107 +#: mgradm/cmd/distro/cp.go:111 #, javascript-format msgid "distribution with same name already exists: %s" msgstr "" -#: mgradm/cmd/distro/cp.go:111 +#: mgradm/cmd/distro/cp.go:115 #, javascript-format msgid "cannot create %s path in container" msgstr "" -#: mgradm/cmd/distro/cp.go:114 +#: mgradm/cmd/distro/cp.go:118 #, javascript-format msgid "Copying distribution %s" msgstr "" -#: mgradm/cmd/distro/cp.go:116 mgradm/shared/podman/podman.go:120 -#: mgradm/shared/podman/podman.go:123 mgradm/shared/podman/podman.go:126 -#: mgradm/shared/podman/podman.go:134 +#: mgradm/cmd/distro/cp.go:120 mgradm/shared/podman/podman.go:122 +#: mgradm/shared/podman/podman.go:125 mgradm/shared/podman/podman.go:128 +#: mgradm/shared/podman/podman.go:136 #, javascript-format msgid "cannot copy %s" msgstr "" -#: mgradm/cmd/distro/cp.go:118 +#: mgradm/cmd/distro/cp.go:122 #, javascript-format msgid "Distribution has been copied into %s" msgstr "" -#: mgradm/cmd/distro/cp.go:172 +#: mgradm/cmd/distro/cp.go:176 #, javascript-format msgid "Auto-detected distribution %s" msgstr "" -#: mgradm/cmd/distro/cp.go:183 +#: mgradm/cmd/distro/cp.go:187 msgid "Continue by registering autoinstallation distribution" msgstr "" @@ -229,13 +229,13 @@ msgstr "" msgid "failed to create keyring %s" msgstr "" -#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:154 -#: mgradm/cmd/support/config/extractor.go:29 +#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:153 +#: mgradm/cmd/support/config/extractor.go:30 #: mgradm/shared/kubernetes/certificates.go:26 #: mgradm/shared/kubernetes/certificates.go:64 -#: mgradm/shared/kubernetes/install.go:175 mgradm/shared/podman/podman.go:222 -#: mgradm/shared/podman/podman.go:271 mgradm/shared/podman/podman.go:298 -#: mgradm/shared/podman/podman.go:414 mgradm/shared/utils/exec.go:115 +#: mgradm/shared/kubernetes/install.go:180 mgradm/shared/podman/podman.go:236 +#: mgradm/shared/podman/podman.go:285 mgradm/shared/podman/podman.go:312 +#: mgradm/shared/podman/podman.go:428 mgradm/shared/utils/exec.go:119 msgid "failed to create temporary directory" msgstr "" @@ -263,7 +263,7 @@ msgid "failed to copy %[1]s to %[2]s" msgstr "" #: mgradm/cmd/gpg/add/gpg.go:120 mgradm/cmd/gpg/add/gpg.go:127 -#: mgradm/cmd/support/sql/sql.go:187 mgradm/cmd/uninstall/kubernetes.go:65 +#: mgradm/cmd/support/sql/sql.go:191 mgradm/cmd/uninstall/kubernetes.go:65 #: mgradm/cmd/uninstall/kubernetes.go:70 #, javascript-format msgid "Running %s" @@ -297,44 +297,44 @@ msgstr "" msgid "Register this peripheral server to Hub API" msgstr "" -#: mgradm/cmd/hub/register/register.go:79 +#: mgradm/cmd/hub/register/register.go:77 #, javascript-format msgid "invalid line format: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:93 +#: mgradm/cmd/hub/register/register.go:91 #, javascript-format msgid "mandatory %s entry missing in config" msgstr "" -#: mgradm/cmd/hub/register/register.go:96 +#: mgradm/cmd/hub/register/register.go:94 #, javascript-format msgid "Hub API server: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:99 +#: mgradm/cmd/hub/register/register.go:100 msgid "failed to connect to the Hub server" msgstr "" -#: mgradm/cmd/hub/register/register.go:107 +#: mgradm/cmd/hub/register/register.go:109 msgid "failed to register this peripheral server" msgstr "" -#: mgradm/cmd/hub/register/register.go:110 +#: mgradm/cmd/hub/register/register.go:112 #, javascript-format msgid "failed to register this peripheral server: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:124 +#: mgradm/cmd/hub/register/register.go:126 msgid "failed to update peripheral server info" msgstr "" -#: mgradm/cmd/hub/register/register.go:128 +#: mgradm/cmd/hub/register/register.go:130 #, javascript-format msgid "failed to update peripheral server info: %s" msgstr "" -#: mgradm/cmd/hub/register/register.go:130 +#: mgradm/cmd/hub/register/register.go:132 msgid "Registered peripheral server: %[1]s, ID: %[2]d" msgstr "" @@ -346,20 +346,28 @@ msgstr "" msgid "Extract information from image and deployment" msgstr "" -#: mgradm/cmd/inspect/kubernetes.go:32 mgradm/cmd/inspect/podman.go:29 +#: mgradm/cmd/inspect/kubernetes.go:33 mgradm/cmd/inspect/podman.go:30 msgid "failed to determine image" msgstr "" -#: mgradm/cmd/inspect/kubernetes.go:41 mgradm/cmd/inspect/podman.go:38 +#: mgradm/cmd/inspect/kubernetes.go:42 mgradm/cmd/inspect/podman.go:39 #, javascript-format msgid "failed to find the image of the currently running server container: %s" msgstr "" -#: mgradm/cmd/inspect/kubernetes.go:47 mgradm/cmd/inspect/podman.go:43 +#: mgradm/cmd/inspect/kubernetes.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:44 +#: mgradm/cmd/restart/kubernetes.go:27 mgradm/cmd/start/kubernetes.go:27 +#: mgradm/cmd/stop/kubernetes.go:27 mgradm/shared/kubernetes/install.go:148 +#: mgradm/shared/utils/exec.go:41 +msgid "failed retrieving namespace" +msgstr "" + +#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:44 msgid "inspect command failed" msgstr "" -#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:47 +#: mgradm/cmd/inspect/kubernetes.go:57 mgradm/cmd/inspect/podman.go:48 msgid "cannot print inspect result" msgstr "" @@ -367,11 +375,6 @@ msgstr "" msgid "Install a new server" msgstr "" -#: mgradm/cmd/install/install.go:23 mgradm/cmd/migrate/migrate.go:23 -#: mgradm/cmd/upgrade/upgrade.go:22 -msgid "specify a private registry" -msgstr "" - #: mgradm/cmd/install/kubernetes/kubernetes.go:27 msgid "Install a new server on a kubernetes cluster" msgstr "" @@ -397,7 +400,7 @@ msgid "install %s before running this command" msgstr "" #: mgradm/cmd/install/kubernetes/utils.go:67 -#: mgradm/cmd/migrate/kubernetes/utils.go:208 +#: mgradm/cmd/migrate/kubernetes/utils.go:212 msgid "cannot deploy certificate" msgstr "" @@ -405,12 +408,12 @@ msgstr "" msgid "cannot deploy uyuni" msgstr "" -#: mgradm/cmd/install/kubernetes/utils.go:85 -#: mgradm/cmd/install/podman/utils.go:109 -msgid "Failed to stop service: %v" +#: mgradm/cmd/install/kubernetes/utils.go:86 +#: mgradm/cmd/install/kubernetes/utils.go:89 +msgid "failed to stop service" msgstr "" -#: mgradm/cmd/install/kubernetes/utils.go:94 +#: mgradm/cmd/install/kubernetes/utils.go:98 msgid "error storing the SSL CA certificate in database" msgstr "" @@ -427,16 +430,16 @@ msgid "" "NOTE: installing on a remote podman is not supported yet!\n" msgstr "" -#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:392 +#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:406 msgid "Waiting for the server to start…" msgstr "" -#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:55 +#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:71 msgid "cannot enable service" msgstr "" #: mgradm/cmd/install/podman/utils.go:54 mgradm/cmd/migrate/podman/utils.go:47 -#: mgradm/cmd/support/ptf/podman/utils.go:40 +#: mgradm/cmd/support/ptf/podman/utils.go:43 #: mgradm/cmd/upgrade/podman/utils.go:24 msgid "failed to login to registry.suse.com" msgstr "" @@ -455,11 +458,11 @@ msgid "Setting up the server with the FQDN '%s'" msgstr "" #: mgradm/cmd/install/podman/utils.go:75 -#: mgradm/cmd/migrate/kubernetes/utils.go:45 mgradm/shared/coco/coco.go:56 -#: mgradm/shared/hub/xmlrpcapi.go:30 mgradm/shared/kubernetes/install.go:52 -#: mgradm/shared/kubernetes/install.go:148 mgradm/shared/kubernetes/k3s.go:47 -#: mgradm/shared/kubernetes/k3s.go:52 mgradm/shared/podman/podman.go:236 -#: mgradm/shared/podman/podman.go:241 mgradm/shared/podman/podman.go:332 +#: mgradm/cmd/migrate/kubernetes/utils.go:49 mgradm/shared/coco/coco.go:68 +#: mgradm/shared/hub/xmlrpcapi.go:43 mgradm/shared/kubernetes/install.go:52 +#: mgradm/shared/kubernetes/install.go:153 mgradm/shared/kubernetes/k3s.go:55 +#: mgradm/shared/kubernetes/k3s.go:60 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/podman/podman.go:255 mgradm/shared/podman/podman.go:346 msgid "failed to compute image URL" msgstr "" @@ -471,6 +474,10 @@ msgstr "" msgid "Run setup command in the container" msgstr "" +#: mgradm/cmd/install/podman/utils.go:109 +msgid "Failed to stop service: %v" +msgstr "" + #: mgradm/cmd/install/podman/utils.go:118 msgid "failed to extract payg data" msgstr "" @@ -480,191 +487,179 @@ msgid "cannot update SSL certificate" msgstr "" #: mgradm/cmd/install/podman/utils.go:146 -#: mgradm/cmd/migrate/podman/utils.go:136 +#: mgradm/cmd/migrate/podman/utils.go:137 msgid "cannot enable podman socket" msgstr "" -#: mgradm/cmd/install/shared/flags.go:79 +#: mgradm/cmd/install/shared/flags.go:67 msgid "Can only contain letters, digits . _ and -" msgstr "" -#: mgradm/cmd/install/shared/flags.go:87 +#: mgradm/cmd/install/shared/flags.go:75 msgid "Not a valid email address" msgstr "" -#: mgradm/cmd/install/shared/flags.go:130 +#: mgradm/cmd/install/shared/flags.go:124 msgid "Time zone to set on the server. Defaults to the host timezone" msgstr "" -#: mgradm/cmd/install/shared/flags.go:131 +#: mgradm/cmd/install/shared/flags.go:125 msgid "Administrator e-mail" msgstr "" -#: mgradm/cmd/install/shared/flags.go:132 +#: mgradm/cmd/install/shared/flags.go:126 msgid "E-Mail sending the notifications" msgstr "" -#: mgradm/cmd/install/shared/flags.go:133 +#: mgradm/cmd/install/shared/flags.go:127 msgid "InterServerSync v1 parent FQDN" msgstr "" -#: mgradm/cmd/install/shared/flags.go:135 +#: mgradm/cmd/install/shared/flags.go:129 msgid "Database user" msgstr "" -#: mgradm/cmd/install/shared/flags.go:136 +#: mgradm/cmd/install/shared/flags.go:130 msgid "Database password. Randomly generated by default" msgstr "" -#: mgradm/cmd/install/shared/flags.go:137 +#: mgradm/cmd/install/shared/flags.go:131 msgid "Database name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:138 +#: mgradm/cmd/install/shared/flags.go:132 msgid "Database host" msgstr "" -#: mgradm/cmd/install/shared/flags.go:139 +#: mgradm/cmd/install/shared/flags.go:133 msgid "Database port" msgstr "" -#: mgradm/cmd/install/shared/flags.go:140 +#: mgradm/cmd/install/shared/flags.go:134 msgid "Database protocol" msgstr "" -#: mgradm/cmd/install/shared/flags.go:141 +#: mgradm/cmd/install/shared/flags.go:135 msgid "External database admin user name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:142 +#: mgradm/cmd/install/shared/flags.go:136 msgid "External database admin password" msgstr "" -#: mgradm/cmd/install/shared/flags.go:143 +#: mgradm/cmd/install/shared/flags.go:137 msgid "External database provider. Possible values 'aws'" msgstr "" -#: mgradm/cmd/install/shared/flags.go:145 +#: mgradm/cmd/install/shared/flags.go:139 msgid "Database Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:156 +#: mgradm/cmd/install/shared/flags.go:150 msgid "Enable TFTP" msgstr "" -#: mgradm/cmd/install/shared/flags.go:157 +#: mgradm/cmd/install/shared/flags.go:151 msgid "Report database name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:158 +#: mgradm/cmd/install/shared/flags.go:152 msgid "Report database host" msgstr "" -#: mgradm/cmd/install/shared/flags.go:159 +#: mgradm/cmd/install/shared/flags.go:153 msgid "Report database port" msgstr "" -#: mgradm/cmd/install/shared/flags.go:160 +#: mgradm/cmd/install/shared/flags.go:154 msgid "Report Database username" msgstr "" -#: mgradm/cmd/install/shared/flags.go:161 +#: mgradm/cmd/install/shared/flags.go:155 msgid "Report database password. Randomly generated by default" msgstr "" -#: mgradm/cmd/install/shared/flags.go:163 +#: mgradm/cmd/install/shared/flags.go:157 msgid "Report DB Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:171 +#: mgradm/cmd/install/shared/flags.go:165 msgid "SSL certificate cnames separated by commas" msgstr "" -#: mgradm/cmd/install/shared/flags.go:172 +#: mgradm/cmd/install/shared/flags.go:166 msgid "SSL certificate country" msgstr "" -#: mgradm/cmd/install/shared/flags.go:173 +#: mgradm/cmd/install/shared/flags.go:167 msgid "SSL certificate state" msgstr "" -#: mgradm/cmd/install/shared/flags.go:174 +#: mgradm/cmd/install/shared/flags.go:168 msgid "SSL certificate city" msgstr "" -#: mgradm/cmd/install/shared/flags.go:175 +#: mgradm/cmd/install/shared/flags.go:169 msgid "SSL certificate organization" msgstr "" -#: mgradm/cmd/install/shared/flags.go:176 +#: mgradm/cmd/install/shared/flags.go:170 msgid "SSL certificate organization unit" msgstr "" -#: mgradm/cmd/install/shared/flags.go:177 +#: mgradm/cmd/install/shared/flags.go:171 msgid "Password for the CA key to generate" msgstr "" -#: mgradm/cmd/install/shared/flags.go:179 +#: mgradm/cmd/install/shared/flags.go:173 msgid "SSL Certificate Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:189 +#: mgradm/cmd/install/shared/flags.go:183 msgid "Intermediate CA certificate path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:190 +#: mgradm/cmd/install/shared/flags.go:184 msgid "Root CA certificate path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:191 +#: mgradm/cmd/install/shared/flags.go:185 msgid "Server certificate path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:192 +#: mgradm/cmd/install/shared/flags.go:186 msgid "Server key path" msgstr "" -#: mgradm/cmd/install/shared/flags.go:194 +#: mgradm/cmd/install/shared/flags.go:188 msgid "3rd Party SSL Certificate Flags" msgstr "" -#: mgradm/cmd/install/shared/flags.go:200 -msgid "SUSE Customer Center username" -msgstr "" - -#: mgradm/cmd/install/shared/flags.go:201 -msgid "SUSE Customer Center password" -msgstr "" - -#: mgradm/cmd/install/shared/flags.go:203 -msgid "SUSE Customer Center Flags" -msgstr "" - -#: mgradm/cmd/install/shared/flags.go:207 +#: mgradm/cmd/install/shared/flags.go:196 msgid "Enable tomcat and taskomatic remote debugging" msgstr "" -#: mgradm/cmd/install/shared/flags.go:214 +#: mgradm/cmd/install/shared/flags.go:203 msgid "Administrator user name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:215 +#: mgradm/cmd/install/shared/flags.go:204 msgid "Administrator password" msgstr "" -#: mgradm/cmd/install/shared/flags.go:216 +#: mgradm/cmd/install/shared/flags.go:205 msgid "First name of the administrator" msgstr "" -#: mgradm/cmd/install/shared/flags.go:217 +#: mgradm/cmd/install/shared/flags.go:206 msgid "Last name of the administrator" msgstr "" -#: mgradm/cmd/install/shared/flags.go:218 +#: mgradm/cmd/install/shared/flags.go:207 msgid "First organization name" msgstr "" -#: mgradm/cmd/install/shared/flags.go:220 +#: mgradm/cmd/install/shared/flags.go:209 msgid "First User Flags" msgstr "" @@ -680,30 +675,34 @@ msgstr "" msgid "error running the setup script" msgstr "" -#: mgradm/cmd/install/shared/shared.go:49 -#: mgradm/cmd/migrate/kubernetes/utils.go:182 -#: mgradm/cmd/migrate/podman/utils.go:146 +#: mgradm/cmd/install/shared/shared.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:186 +#: mgradm/cmd/migrate/podman/utils.go:147 msgid "failed to add SSL CA certificate to host trusted certificates" msgstr "" -#: mgradm/cmd/install/shared/shared.go:65 -msgid "Server organization already exists, reusing" +#: mgradm/cmd/install/shared/shared.go:64 +msgid "unable to prepare API client" msgstr "" #: mgradm/cmd/install/shared/shared.go:68 +msgid "Server organization already exists, reusing" +msgstr "" + +#: mgradm/cmd/install/shared/shared.go:71 #, javascript-format msgid "Administration user already exists, but organization %s could not be found" msgstr "" -#: mgradm/cmd/install/shared/shared.go:84 +#: mgradm/cmd/install/shared/shared.go:83 msgid "Administration user already exists, but provided credentials are not valid" msgstr "" -#: mgradm/cmd/install/shared/shared.go:92 +#: mgradm/cmd/install/shared/shared.go:91 msgid "Server set up, login on https://%[1]s with %[2]s user" msgstr "" -#: mgradm/cmd/install/shared/shared.go:164 +#: mgradm/cmd/install/shared/shared.go:163 msgid "Failed to generate setup script" msgstr "" @@ -733,79 +732,79 @@ msgstr "" msgid "SSL CA generated private key password" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:60 mgradm/shared/utils/exec.go:128 +#: mgradm/cmd/migrate/kubernetes/utils.go:64 mgradm/shared/utils/exec.go:132 msgid "failed to generate migration script" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:84 +#: mgradm/cmd/migrate/kubernetes/utils.go:88 msgid "cannot run deploy" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:91 -#: mgradm/shared/kubernetes/install.go:182 +#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/shared/kubernetes/install.go:187 msgid "cannot find node running uyuni" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/cmd/migrate/kubernetes/utils.go:99 msgid "cannot run migration" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:100 +#: mgradm/cmd/migrate/kubernetes/utils.go:104 msgid "cannot read data from container" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:106 -#: mgradm/cmd/migrate/kubernetes/utils.go:149 +#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:153 msgid "cannot set replicas to 0" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:114 #: mgradm/cmd/migrate/podman/utils.go:67 msgid "Migration prepared. Run the 'migrate' command without '--prepare' to finish the migration." msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:123 +#: mgradm/cmd/migrate/kubernetes/utils.go:127 msgid "cannot setup SSL" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:131 +#: mgradm/cmd/migrate/kubernetes/utils.go:135 #, javascript-format msgid "The mirror data will not be migrated, ensure it is available at %s" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:140 +#: mgradm/cmd/migrate/kubernetes/utils.go:144 #, javascript-format msgid "cannot upgrade helm chart to image %s using new SSL certificate" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:144 +#: mgradm/cmd/migrate/kubernetes/utils.go:148 #, javascript-format msgid "cannot wait for deployment of %s" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:159 +#: mgradm/cmd/migrate/kubernetes/utils.go:163 #: mgradm/cmd/migrate/podman/utils.go:78 -#: mgradm/shared/kubernetes/install.go:203 mgradm/shared/podman/podman.go:366 +#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:380 msgid "cannot run PostgreSQL version upgrade script" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:165 +#: mgradm/cmd/migrate/kubernetes/utils.go:169 msgid "cannot run PostgreSQL finalisation script" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:169 +#: mgradm/cmd/migrate/kubernetes/utils.go:173 #: mgradm/cmd/migrate/podman/utils.go:88 -#: mgradm/shared/kubernetes/install.go:218 mgradm/shared/podman/podman.go:380 +#: mgradm/shared/kubernetes/install.go:223 mgradm/shared/podman/podman.go:394 msgid "cannot run post upgrade script" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:174 -#: mgradm/shared/kubernetes/install.go:223 +#: mgradm/cmd/migrate/kubernetes/utils.go:178 +#: mgradm/shared/kubernetes/install.go:228 #, javascript-format msgid "cannot upgrade to image %s" msgstr "" -#: mgradm/cmd/migrate/kubernetes/utils.go:199 +#: mgradm/cmd/migrate/kubernetes/utils.go:203 msgid "failed to strip text part from CA certificate" msgstr "" @@ -813,11 +812,11 @@ msgstr "" msgid "Migrate a remote server to containers" msgstr "" -#: mgradm/cmd/migrate/podman/podman.go:25 +#: mgradm/cmd/migrate/podman/podman.go:26 msgid "Migrate a remote server to containers running on podman" msgstr "" -#: mgradm/cmd/migrate/podman/podman.go:26 +#: mgradm/cmd/migrate/podman/podman.go:27 msgid "" "Migrate a remote server to containers running on podman\n" "\n" @@ -839,7 +838,7 @@ msgid "cannot run migration script" msgstr "" #: mgradm/cmd/migrate/podman/utils.go:84 -#: mgradm/shared/kubernetes/install.go:214 mgradm/shared/podman/podman.go:376 +#: mgradm/shared/kubernetes/install.go:219 mgradm/shared/podman/podman.go:390 msgid "cannot run PostgreSQL finalize script" msgstr "" @@ -847,19 +846,19 @@ msgstr "" msgid "cannot generate systemd service file" msgstr "" -#: mgradm/cmd/migrate/podman/utils.go:108 +#: mgradm/cmd/migrate/podman/utils.go:109 msgid "cannot setup confidential computing attestation service" msgstr "" -#: mgradm/cmd/migrate/podman/utils.go:126 +#: mgradm/cmd/migrate/podman/utils.go:120 msgid "Enabling Hub XML-RPC API since it is enabled on the migrated server" msgstr "" -#: mgradm/cmd/migrate/podman/utils.go:133 +#: mgradm/cmd/migrate/podman/utils.go:134 msgid "Server migrated" msgstr "" -#: mgradm/cmd/migrate/shared/flags.go:28 +#: mgradm/cmd/migrate/shared/flags.go:27 msgid "Prepare the mgration - copy the data without stopping the source server." msgstr "" @@ -964,11 +963,11 @@ msgstr "" msgid "path where to extract the data" msgstr "" -#: mgradm/cmd/support/ptf/podman/podman.go:27 +#: mgradm/cmd/support/ptf/podman/podman.go:28 msgid "Install a PTF or Test package on podman" msgstr "" -#: mgradm/cmd/support/ptf/podman/podman.go:28 +#: mgradm/cmd/support/ptf/podman/podman.go:29 msgid "" "Install a PTF or Test package on podman\n" "\n" @@ -978,19 +977,19 @@ msgid "" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:49 +#: mgradm/cmd/support/ptf/podman/utils.go:52 msgid "ptf and test flags cannot be set simultaneously " msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:52 +#: mgradm/cmd/support/ptf/podman/utils.go:55 msgid "ptf and test flags cannot be empty simultaneously " msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:55 +#: mgradm/cmd/support/ptf/podman/utils.go:58 msgid "user flag cannot be empty" msgstr "" -#: mgradm/cmd/support/ptf/podman/utils.go:70 +#: mgradm/cmd/support/ptf/podman/utils.go:75 #, javascript-format msgid "The image computed is: %s" msgstr "" @@ -1012,25 +1011,25 @@ msgstr "" msgid "output file %s exists, use -f to force overwrite" msgstr "" -#: mgradm/cmd/support/sql/sql.go:111 +#: mgradm/cmd/support/sql/sql.go:115 msgid "interactive mode cannot work with a file output" msgstr "" -#: mgradm/cmd/support/sql/sql.go:141 +#: mgradm/cmd/support/sql/sql.go:145 #, javascript-format msgid "unknown or unsupported database %s" msgstr "" -#: mgradm/cmd/support/sql/sql.go:154 +#: mgradm/cmd/support/sql/sql.go:158 msgid "Command failed" msgstr "" -#: mgradm/cmd/support/sql/sql.go:159 +#: mgradm/cmd/support/sql/sql.go:163 #, javascript-format msgid "Result is stored in the file '%s'" msgstr "" -#: mgradm/cmd/support/sql/sql.go:173 +#: mgradm/cmd/support/sql/sql.go:177 msgid "cannot write" msgstr "" @@ -1099,11 +1098,11 @@ msgstr "" msgid "Failed deleting secret" msgstr "" -#: mgradm/cmd/uninstall/kubernetes.go:108 +#: mgradm/cmd/uninstall/kubernetes.go:110 msgid "Nothing has been uninstalled, run with --force to actually uninstall" msgstr "" -#: mgradm/cmd/uninstall/kubernetes.go:110 +#: mgradm/cmd/uninstall/kubernetes.go:112 msgid "Volumes have not been touched. Depending on the storage class used, they may not have been removed" msgstr "" @@ -1152,62 +1151,50 @@ msgstr "" msgid "Upgrade a local server on kubernetes" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:27 +#: mgradm/cmd/upgrade/podman/podman.go:28 msgid "Upgrade a local server on podman" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:39 +#: mgradm/cmd/upgrade/podman/podman.go:42 msgid "List available tags for an image" msgstr "" -#: mgradm/cmd/upgrade/podman/podman.go:46 +#: mgradm/cmd/upgrade/podman/podman.go:49 msgid "failed to unmarshall configuration" msgstr "" -#: mgradm/cmd/upgrade/shared/flags.go:31 mgradm/shared/utils/cmd_utils.go:130 -msgid "Confidential Computing Flags" -msgstr "" - -#: mgradm/cmd/upgrade/shared/flags.go:33 mgradm/shared/utils/cmd_utils.go:131 -msgid "confidential computing attestation" -msgstr "" - -#: mgradm/cmd/upgrade/shared/flags.go:34 mgradm/cmd/upgrade/shared/flags.go:35 -#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:140 -msgid "Hub XML-RPC API" -msgstr "" - #: mgradm/cmd/upgrade/upgrade.go:19 mgradm/cmd/upgrade/upgrade.go:20 msgid "Upgrade local server" msgstr "" -#: mgradm/shared/coco/coco.go:70 +#: mgradm/shared/coco/coco.go:84 msgid "Setting up confidential computing attestation service" msgstr "" -#: mgradm/shared/coco/coco.go:74 mgradm/shared/hub/xmlrpcapi.go:86 -#: mgradm/shared/podman/podman.go:74 +#: mgradm/shared/coco/coco.go:88 mgradm/shared/hub/xmlrpcapi.go:102 +#: mgradm/shared/podman/podman.go:76 msgid "failed to generate systemd service unit file" msgstr "" -#: mgradm/shared/coco/coco.go:85 mgradm/shared/hub/xmlrpcapi.go:91 -#: mgradm/shared/podman/podman.go:80 +#: mgradm/shared/coco/coco.go:99 mgradm/shared/hub/xmlrpcapi.go:107 +#: mgradm/shared/podman/podman.go:82 msgid "cannot generate systemd conf file" msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:27 -msgid "Setting Hub XML-RPC API service." +#: mgradm/shared/hub/xmlrpcapi.go:35 +#, javascript-format +msgid "No changes requested for hub. Keep %d replicas." msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:39 +#: mgradm/shared/hub/xmlrpcapi.go:52 msgid "cannot generate systemd service" msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:49 +#: mgradm/shared/hub/xmlrpcapi.go:65 msgid "Multiple Hub XML-RPC container replicas are not currently supported, setting up only one." msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:58 +#: mgradm/shared/hub/xmlrpcapi.go:74 msgid "Not starting Hub XML-RPC API service" msgstr "" @@ -1293,129 +1280,139 @@ msgstr "" msgid "Installing Uyuni" msgstr "" -#: mgradm/shared/kubernetes/install.go:153 +#: mgradm/shared/kubernetes/install.go:158 msgid "cannot inspect kubernetes values" msgstr "" -#: mgradm/shared/kubernetes/install.go:163 +#: mgradm/shared/kubernetes/install.go:168 msgid "inspect function did non return fqdn value" msgstr "" -#: mgradm/shared/kubernetes/install.go:187 +#: mgradm/shared/kubernetes/install.go:192 msgid "cannot set replica to 0" msgstr "" -#: mgradm/shared/kubernetes/install.go:197 mgradm/shared/kubernetes/k3s.go:39 -#: mgradm/shared/podman/podman.go:217 +#: mgradm/shared/kubernetes/install.go:202 mgradm/shared/kubernetes/k3s.go:47 +#: mgradm/shared/podman/podman.go:231 msgid "Previous PostgreSQL is %[1]s, new one is %[2]s. Performing a DB version upgrade…" msgstr "" -#: mgradm/shared/kubernetes/install.go:206 mgradm/shared/podman/podman.go:369 +#: mgradm/shared/kubernetes/install.go:211 mgradm/shared/podman/podman.go:383 #, javascript-format msgid "Upgrading to %s without changing PostgreSQL version" msgstr "" -#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:371 +#: mgradm/shared/kubernetes/install.go:213 mgradm/shared/podman/podman.go:385 msgid "trying to downgrade PostgreSQL from %[1]s to %[2]s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:36 mgradm/shared/kubernetes/k3s.go:106 -#: mgradm/shared/kubernetes/k3s.go:151 +#: mgradm/shared/kubernetes/k3s.go:44 mgradm/shared/kubernetes/k3s.go:114 +#: mgradm/shared/kubernetes/k3s.go:159 #, javascript-format msgid "failed to create temporary directory: %s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:56 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/podman/podman.go:264 #, javascript-format msgid "Using database upgrade image %s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:59 mgradm/shared/podman/podman.go:254 +#: mgradm/shared/kubernetes/k3s.go:67 mgradm/shared/podman/podman.go:268 msgid "cannot generate PostgreSQL database version upgrade script" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/kubernetes/k3s.go:115 -#: mgradm/shared/kubernetes/k3s.go:161 +#: mgradm/shared/kubernetes/k3s.go:72 mgradm/shared/kubernetes/k3s.go:123 +#: mgradm/shared/kubernetes/k3s.go:169 #, javascript-format msgid "cannot delete %s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:93 mgradm/shared/kubernetes/k3s.go:141 -#: mgradm/shared/kubernetes/k3s.go:188 +#: mgradm/shared/kubernetes/k3s.go:101 mgradm/shared/kubernetes/k3s.go:149 +#: mgradm/shared/kubernetes/k3s.go:196 #, javascript-format msgid "error running container %s" msgstr "" -#: mgradm/shared/kubernetes/k3s.go:111 mgradm/shared/kubernetes/k3s.go:156 -#: mgradm/shared/podman/podman.go:283 mgradm/shared/podman/podman.go:307 +#: mgradm/shared/kubernetes/k3s.go:119 mgradm/shared/kubernetes/k3s.go:164 +#: mgradm/shared/podman/podman.go:297 mgradm/shared/podman/podman.go:321 msgid "cannot generate PostgreSQL finalization script" msgstr "" -#: mgradm/shared/podman/podman.go:50 +#: mgradm/shared/podman/podman.go:51 msgid "cannot setup network" msgstr "" -#: mgradm/shared/podman/podman.go:53 +#: mgradm/shared/podman/podman.go:54 msgid "Enabling system service" msgstr "" -#: mgradm/shared/podman/podman.go:88 +#: mgradm/shared/podman/podman.go:90 msgid "cannot generate systemd user configuration file" msgstr "" -#: mgradm/shared/podman/podman.go:100 +#: mgradm/shared/podman/podman.go:102 msgid "failed to create temporary folder on container to copy certificates to" msgstr "" -#: mgradm/shared/podman/podman.go:140 +#: mgradm/shared/podman/podman.go:142 msgid "failed to update SSL certificate" msgstr "" -#: mgradm/shared/podman/podman.go:145 +#: mgradm/shared/podman/podman.go:147 msgid "failed to remove copied certificate files in the container" msgstr "" -#: mgradm/shared/podman/podman.go:151 +#: mgradm/shared/podman/podman.go:153 msgid "failed to remove now useless ssl-build folder in the container" msgstr "" -#: mgradm/shared/podman/podman.go:156 +#: mgradm/shared/podman/podman.go:158 msgid "Restarting services after updating the certificate" msgstr "" -#: mgradm/shared/podman/podman.go:175 +#: mgradm/shared/podman/podman.go:177 msgid "cannot generate migration script" msgstr "" -#: mgradm/shared/podman/podman.go:194 mgradm/shared/utils/exec.go:103 +#: mgradm/shared/podman/podman.go:196 mgradm/shared/utils/exec.go:107 msgid "Migrating server" msgstr "" -#: mgradm/shared/podman/podman.go:197 +#: mgradm/shared/podman/podman.go:199 msgid "cannot run uyuni migration container" msgstr "" -#: mgradm/shared/podman/podman.go:202 +#: mgradm/shared/podman/podman.go:206 +#, javascript-format +msgid "cannot inspect volume %s" +msgstr "" + +#: mgradm/shared/podman/podman.go:209 +#, javascript-format +msgid "cannot restore %s SELinux permissions" +msgstr "" + +#: mgradm/shared/podman/podman.go:216 msgid "cannot read extracted data" msgstr "" -#: mgradm/shared/podman/podman.go:342 +#: mgradm/shared/podman/podman.go:356 msgid "cannot inspect podman values" msgstr "" -#: mgradm/shared/podman/podman.go:352 +#: mgradm/shared/podman/podman.go:366 msgid "cannot stop service" msgstr "" -#: mgradm/shared/podman/podman.go:360 +#: mgradm/shared/podman/podman.go:374 msgid "Previous postgresql is %[1]s, instead new one is %[2]s. Performing a DB version upgrade…" msgstr "" -#: mgradm/shared/podman/podman.go:397 +#: mgradm/shared/podman/podman.go:411 msgid "error upgrading confidential computing service." msgstr "" -#: mgradm/shared/podman/podman.go:435 +#: mgradm/shared/podman/podman.go:449 msgid "cannot inspect data" msgstr "" @@ -1531,104 +1528,137 @@ msgid "Tag for %s container, overrides the global value if set" msgstr "" #: mgradm/shared/utils/cmd_utils.go:99 -msgid "Image" +msgid "SUSE Customer Center username. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" msgstr "" #: mgradm/shared/utils/cmd_utils.go:100 +msgid "SUSE Customer Center password. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:102 +msgid "SUSE Customer Center Flags" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:109 +msgid "Image" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:110 +msgid "Specify a private registry where pull the images" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:111 msgid "Tag Image" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:104 +#: mgradm/shared/utils/cmd_utils.go:115 msgid "Image Flags" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:112 +#: mgradm/shared/utils/cmd_utils.go:124 msgid "Database upgrade image" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:113 +#: mgradm/shared/utils/cmd_utils.go:125 msgid "Database upgrade image tag" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:115 -msgid "set whether to pull the database upgrade images or not. The value can be one of 'Never', 'IfNotPresent' or 'Always'" -msgstr "" - -#: mgradm/shared/utils/cmd_utils.go:117 +#: mgradm/shared/utils/cmd_utils.go:127 msgid "Database Upgrade Image Flags" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:125 +#: mgradm/shared/utils/cmd_utils.go:134 msgid "Path to mirrored packages mounted on the host" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:132 -msgid "How many replicas of the confidential computing container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:147 +msgid "Confidential Computing Flags" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:140 mgradm/shared/utils/cmd_utils.go:148 +msgid "confidential computing attestation" msgstr "" -#: mgradm/shared/utils/cmd_utils.go:142 -msgid "How many replicas of the Hub XML-RPC API service container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:141 +msgid "How many replicas of the confidential computing container should be started" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:149 +msgid "How many replicas of the confidential computing container should be started. Leave it unset if you want to keep the previous number of replicas." +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:155 mgradm/shared/utils/cmd_utils.go:156 +#: mgradm/shared/utils/cmd_utils.go:163 mgradm/shared/utils/cmd_utils.go:164 +msgid "Hub XML-RPC API" +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:157 +msgid "How many replicas of the Hub XML-RPC API service container should be started." +msgstr "" + +#: mgradm/shared/utils/cmd_utils.go:165 +msgid "How many replicas of the Hub XML-RPC API service container should be started. Leave it unset if you want to keep the previous number of replicas." msgstr "" #: mgradm/shared/utils/exec.go:28 msgid "exec command failed" msgstr "" -#: mgradm/shared/utils/exec.go:62 mgradm/shared/utils/exec.go:82 -#: mgradm/shared/utils/exec.go:96 +#: mgradm/shared/utils/exec.go:66 mgradm/shared/utils/exec.go:86 +#: mgradm/shared/utils/exec.go:100 #, javascript-format msgid "failed to generate %s" msgstr "" -#: mgradm/shared/utils/exec.go:106 +#: mgradm/shared/utils/exec.go:110 msgid "error running the migration script" msgstr "" -#: mgradm/shared/utils/exec.go:155 +#: mgradm/shared/utils/exec.go:159 #, javascript-format msgid "Image is: %s" msgstr "" -#: mgradm/shared/utils/exec.go:169 +#: mgradm/shared/utils/exec.go:173 msgid "cannot check server release" msgstr "" -#: mgradm/shared/utils/exec.go:176 +#: mgradm/shared/utils/exec.go:180 #, javascript-format msgid "currently SUSE Manager %s is installed, instead the image is Uyuni. Upgrade is not supported" msgstr "" -#: mgradm/shared/utils/exec.go:183 +#: mgradm/shared/utils/exec.go:187 #, javascript-format msgid "currently Uyuni %s is installed, instead the image is SUSE Manager. Upgrade is not supported" msgstr "" -#: mgradm/shared/utils/exec.go:192 +#: mgradm/shared/utils/exec.go:196 msgid "failed to read current uyuni release" msgstr "" -#: mgradm/shared/utils/exec.go:196 mgradm/shared/utils/exec.go:213 +#: mgradm/shared/utils/exec.go:200 mgradm/shared/utils/exec.go:217 #, javascript-format msgid "cannot fetch release from image %s" msgstr "" -#: mgradm/shared/utils/exec.go:201 mgradm/shared/utils/exec.go:218 +#: mgradm/shared/utils/exec.go:205 mgradm/shared/utils/exec.go:222 msgid "cannot downgrade from version %[1]s to %[2]s" msgstr "" -#: mgradm/shared/utils/exec.go:209 +#: mgradm/shared/utils/exec.go:213 msgid "failed to read current susemanager release" msgstr "" -#: mgradm/shared/utils/exec.go:225 +#: mgradm/shared/utils/exec.go:229 #, javascript-format msgid "cannot fetch postgresql version from %s" msgstr "" -#: mgradm/shared/utils/exec.go:229 +#: mgradm/shared/utils/exec.go:233 msgid "posgresql is not installed in the current deployment" msgstr "" -#: mgradm/shared/utils/exec.go:243 -msgid "cannot find neither /etc/uyuni-release nor /etc/susemanagere-release" +#: mgradm/shared/utils/exec.go:247 +msgid "cannot find either /etc/uyuni-release or /etc/susemanagere-release" msgstr "" diff --git a/locale/mgradm/zh_CN.po b/locale/mgradm/zh_CN.po index 53a3e5c63..e8fdd3d6b 100644 --- a/locale/mgradm/zh_CN.po +++ b/locale/mgradm/zh_CN.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" -"PO-Revision-Date: 2024-07-15 05:47+0000\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" +"PO-Revision-Date: 2024-09-26 08:48+0000\n" "Last-Translator: Grace Yu \n" "Language-Team: Chinese (China) \n" "Language: zh_CN\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.7.2\n" #: mgradm/cmd/cmd.go:40 msgid "Uyuni administration tool" @@ -38,21 +38,21 @@ msgstr "服务器管理:" msgid "Administrator tools:" msgstr "管理员工具:" -#: mgradm/cmd/cmd.go:67 +#: mgradm/cmd/cmd.go:66 #, javascript-format msgid "Welcome to %s" msgstr "欢迎使用 %s" -#: mgradm/cmd/cmd.go:68 +#: mgradm/cmd/cmd.go:67 #, javascript-format msgid "Executing command: %s" msgstr "正在执行命令:%s" -#: mgradm/cmd/cmd.go:72 +#: mgradm/cmd/cmd.go:71 msgid "configuration file path" msgstr "配置文件路径" -#: mgradm/cmd/cmd.go:73 +#: mgradm/cmd/cmd.go:72 msgid "application log level" msgstr "应用程序日志级别" @@ -66,66 +66,66 @@ msgstr "无法卸载 ISO 映像,%s 将保持不变" msgid "unable to remove temporary directory, leaving %s intact" msgstr "无法去除临时目录,%s 将保持不变" -#: mgradm/cmd/distro/cp.go:48 +#: mgradm/cmd/distro/cp.go:51 msgid "unable to login and register the distribution. Manual distro registration is required" msgstr "无法登录并注册该发行套件。需要手动注册发行套件" -#: mgradm/cmd/distro/cp.go:59 +#: mgradm/cmd/distro/cp.go:63 msgid "unable to register the distribution. Manual distro registration is required" msgstr "无法注册该发行套件。需要手动注册发行套件" -#: mgradm/cmd/distro/cp.go:61 +#: mgradm/cmd/distro/cp.go:65 #, javascript-format msgid "Distribution %s successfully registered" msgstr "已成功注册发行套件 %s" -#: mgradm/cmd/distro/cp.go:70 mgradm/cmd/support/sql/sql.go:34 +#: mgradm/cmd/distro/cp.go:74 mgradm/cmd/support/sql/sql.go:34 #, javascript-format msgid "source %s does not exists" msgstr "源 %s 不存在" -#: mgradm/cmd/distro/cp.go:89 +#: mgradm/cmd/distro/cp.go:93 #, javascript-format msgid "unable to mount ISO image: %s" msgstr "无法挂载 ISO 映像:%s" -#: mgradm/cmd/distro/cp.go:98 +#: mgradm/cmd/distro/cp.go:102 msgid "Missing TreeLabel. Please specify distribution name" -msgstr "" +msgstr "缺少 TreeLabel。请指定发行套件名称" -#: mgradm/cmd/distro/cp.go:107 +#: mgradm/cmd/distro/cp.go:111 #, javascript-format msgid "distribution with same name already exists: %s" msgstr "已存在同名的发行套件:%s" -#: mgradm/cmd/distro/cp.go:111 +#: mgradm/cmd/distro/cp.go:115 #, javascript-format msgid "cannot create %s path in container" msgstr "无法在容器中创建 %s 路径" -#: mgradm/cmd/distro/cp.go:114 +#: mgradm/cmd/distro/cp.go:118 #, javascript-format msgid "Copying distribution %s" msgstr "正在复制发行套件 %s" -#: mgradm/cmd/distro/cp.go:116 mgradm/shared/podman/podman.go:120 -#: mgradm/shared/podman/podman.go:123 mgradm/shared/podman/podman.go:126 -#: mgradm/shared/podman/podman.go:134 +#: mgradm/cmd/distro/cp.go:120 mgradm/shared/podman/podman.go:122 +#: mgradm/shared/podman/podman.go:125 mgradm/shared/podman/podman.go:128 +#: mgradm/shared/podman/podman.go:136 #, javascript-format msgid "cannot copy %s" msgstr "无法复制 %s" -#: mgradm/cmd/distro/cp.go:118 +#: mgradm/cmd/distro/cp.go:122 #, javascript-format msgid "Distribution has been copied into %s" msgstr "已将发行套件复制到 %s 中" -#: mgradm/cmd/distro/cp.go:172 +#: mgradm/cmd/distro/cp.go:176 #, javascript-format msgid "Auto-detected distribution %s" msgstr "自动检测到发行套件 %s" -#: mgradm/cmd/distro/cp.go:183 +#: mgradm/cmd/distro/cp.go:187 msgid "Continue by registering autoinstallation distribution" msgstr "通过注册自动安装发行套件继续" @@ -217,7 +217,6 @@ msgid "Copy distribution files from iso to the container" msgstr "将 ISO 中的发行套件文件复制到容器" #: mgradm/cmd/distro/distro.go:79 -#, fuzzy msgid "" "Takes a path to source iso file or directory with mounted iso and copies it into the container.\n" "\n" @@ -231,7 +230,11 @@ msgid "" msgstr "" "接受源 ISO 文件或包含已挂载 ISO 的目录的路径,并将该文件复制到容器。\n" "\n" -"可选参数 'distribution-name'、'version' 和 'arch' 用于指定自定义发行套件。如果未设置,将会自动检测发行套件名称。\n" +"可选参数 'distribution-name'、'version' 和 'arch' 用于指定自定义发行套件。\n" +"如果未设置,系统会尝试自动检测发行套件名称。\n" +"\n" +"- 如果存在 '.treeinfo' 文件,则使用该文件中的名称\n" +"- 使用 ISO 或传递的目录的名称\n" "\n" "注意:要自动执行注册,需要提供 API 细节。" @@ -265,13 +268,13 @@ msgstr "无法创建文件夹 %s" msgid "failed to create keyring %s" msgstr "无法创建密钥环 %s" -#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:154 -#: mgradm/cmd/support/config/extractor.go:29 +#: mgradm/cmd/gpg/add/gpg.go:67 mgradm/cmd/install/shared/shared.go:153 +#: mgradm/cmd/support/config/extractor.go:30 #: mgradm/shared/kubernetes/certificates.go:26 #: mgradm/shared/kubernetes/certificates.go:64 -#: mgradm/shared/kubernetes/install.go:175 mgradm/shared/podman/podman.go:222 -#: mgradm/shared/podman/podman.go:271 mgradm/shared/podman/podman.go:298 -#: mgradm/shared/podman/podman.go:414 mgradm/shared/utils/exec.go:115 +#: mgradm/shared/kubernetes/install.go:180 mgradm/shared/podman/podman.go:236 +#: mgradm/shared/podman/podman.go:285 mgradm/shared/podman/podman.go:312 +#: mgradm/shared/podman/podman.go:428 mgradm/shared/utils/exec.go:119 msgid "failed to create temporary directory" msgstr "无法创建临时目录" @@ -299,7 +302,7 @@ msgid "failed to copy %[1]s to %[2]s" msgstr "无法将 %[1]s 复制到 %[2]s" #: mgradm/cmd/gpg/add/gpg.go:120 mgradm/cmd/gpg/add/gpg.go:127 -#: mgradm/cmd/support/sql/sql.go:187 mgradm/cmd/uninstall/kubernetes.go:65 +#: mgradm/cmd/support/sql/sql.go:191 mgradm/cmd/uninstall/kubernetes.go:65 #: mgradm/cmd/uninstall/kubernetes.go:70 #, javascript-format msgid "Running %s" @@ -333,44 +336,44 @@ msgstr "注册" msgid "Register this peripheral server to Hub API" msgstr "将此外设服务器注册到 Hub API" -#: mgradm/cmd/hub/register/register.go:79 +#: mgradm/cmd/hub/register/register.go:77 #, javascript-format msgid "invalid line format: %s" msgstr "命令行格式无效:%s" -#: mgradm/cmd/hub/register/register.go:93 +#: mgradm/cmd/hub/register/register.go:91 #, javascript-format msgid "mandatory %s entry missing in config" msgstr "配置中缺少必需的 %s 项" -#: mgradm/cmd/hub/register/register.go:96 +#: mgradm/cmd/hub/register/register.go:94 #, javascript-format msgid "Hub API server: %s" msgstr "Hub API 服务器:%s" -#: mgradm/cmd/hub/register/register.go:99 +#: mgradm/cmd/hub/register/register.go:100 msgid "failed to connect to the Hub server" msgstr "无法连接到 Hub 服务器" -#: mgradm/cmd/hub/register/register.go:107 +#: mgradm/cmd/hub/register/register.go:109 msgid "failed to register this peripheral server" msgstr "无法注册此外设服务器" -#: mgradm/cmd/hub/register/register.go:110 +#: mgradm/cmd/hub/register/register.go:112 #, javascript-format msgid "failed to register this peripheral server: %s" msgstr "无法注册此外设服务器:%s" -#: mgradm/cmd/hub/register/register.go:124 +#: mgradm/cmd/hub/register/register.go:126 msgid "failed to update peripheral server info" msgstr "无法更新外设服务器信息" -#: mgradm/cmd/hub/register/register.go:128 +#: mgradm/cmd/hub/register/register.go:130 #, javascript-format msgid "failed to update peripheral server info: %s" msgstr "无法更新外设服务器信息:%s" -#: mgradm/cmd/hub/register/register.go:130 +#: mgradm/cmd/hub/register/register.go:132 msgid "Registered peripheral server: %[1]s, ID: %[2]d" msgstr "已注册外设服务器:%[1]s,ID:%[2]d" @@ -382,20 +385,29 @@ msgstr "检查" msgid "Extract information from image and deployment" msgstr "从映像和部署提取信息" -#: mgradm/cmd/inspect/kubernetes.go:32 mgradm/cmd/inspect/podman.go:29 +#: mgradm/cmd/inspect/kubernetes.go:33 mgradm/cmd/inspect/podman.go:30 msgid "failed to determine image" msgstr "无法确定映像" -#: mgradm/cmd/inspect/kubernetes.go:41 mgradm/cmd/inspect/podman.go:38 +#: mgradm/cmd/inspect/kubernetes.go:42 mgradm/cmd/inspect/podman.go:39 #, javascript-format msgid "failed to find the image of the currently running server container: %s" msgstr "找不到目前正在运行的服务器容器的映像:%s" -#: mgradm/cmd/inspect/kubernetes.go:47 mgradm/cmd/inspect/podman.go:43 +#: mgradm/cmd/inspect/kubernetes.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:44 +#: mgradm/cmd/restart/kubernetes.go:27 mgradm/cmd/start/kubernetes.go:27 +#: mgradm/cmd/stop/kubernetes.go:27 mgradm/shared/kubernetes/install.go:148 +#: mgradm/shared/utils/exec.go:41 +#, fuzzy +msgid "failed retrieving namespace" +msgstr "无法确定映像" + +#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:44 msgid "inspect command failed" msgstr "检查命令失败" -#: mgradm/cmd/inspect/kubernetes.go:52 mgradm/cmd/inspect/podman.go:47 +#: mgradm/cmd/inspect/kubernetes.go:57 mgradm/cmd/inspect/podman.go:48 msgid "cannot print inspect result" msgstr "无法列显检查结果" @@ -403,11 +415,6 @@ msgstr "无法列显检查结果" msgid "Install a new server" msgstr "安装新服务器" -#: mgradm/cmd/install/install.go:23 mgradm/cmd/migrate/migrate.go:23 -#: mgradm/cmd/upgrade/upgrade.go:22 -msgid "specify a private registry" -msgstr "指定私用注册表" - #: mgradm/cmd/install/kubernetes/kubernetes.go:27 msgid "Install a new server on a kubernetes cluster" msgstr "在 kubernetes 群集上安装新服务器" @@ -442,7 +449,7 @@ msgid "install %s before running this command" msgstr "在运行此命令前安装 %s" #: mgradm/cmd/install/kubernetes/utils.go:67 -#: mgradm/cmd/migrate/kubernetes/utils.go:208 +#: mgradm/cmd/migrate/kubernetes/utils.go:212 msgid "cannot deploy certificate" msgstr "无法部署证书" @@ -450,12 +457,13 @@ msgstr "无法部署证书" msgid "cannot deploy uyuni" msgstr "无法部署 uyuni" -#: mgradm/cmd/install/kubernetes/utils.go:85 -#: mgradm/cmd/install/podman/utils.go:109 -msgid "Failed to stop service: %v" +#: mgradm/cmd/install/kubernetes/utils.go:86 +#: mgradm/cmd/install/kubernetes/utils.go:89 +#, fuzzy +msgid "failed to stop service" msgstr "无法停止服务:%v" -#: mgradm/cmd/install/kubernetes/utils.go:94 +#: mgradm/cmd/install/kubernetes/utils.go:98 msgid "error storing the SSL CA certificate in database" msgstr "在数据库中存储 SSL CA 证书时出错" @@ -477,23 +485,23 @@ msgstr "" "\n" "注意:目前不支持在远程 podman 上安装!\n" -#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:392 +#: mgradm/cmd/install/podman/utils.go:33 mgradm/shared/podman/podman.go:406 msgid "Waiting for the server to start…" msgstr "正在等待服务器启动…" -#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:55 +#: mgradm/cmd/install/podman/utils.go:35 mgradm/shared/hub/xmlrpcapi.go:71 msgid "cannot enable service" msgstr "无法启用服务" #: mgradm/cmd/install/podman/utils.go:54 mgradm/cmd/migrate/podman/utils.go:47 -#: mgradm/cmd/support/ptf/podman/utils.go:40 +#: mgradm/cmd/support/ptf/podman/utils.go:43 #: mgradm/cmd/upgrade/podman/utils.go:24 msgid "failed to login to registry.suse.com" -msgstr "" +msgstr "无法登录 registry.suse.com" #: mgradm/cmd/install/podman/utils.go:59 msgid "Server is already initialized! Uninstall before attempting new installation or use upgrade command" -msgstr "" +msgstr "服务器已初始化!请先将其卸装,再尝试进行全新安装或使用升级命令" #: mgradm/cmd/install/podman/utils.go:64 mgradm/cmd/migrate/podman/utils.go:28 msgid "install podman before running this command" @@ -505,11 +513,11 @@ msgid "Setting up the server with the FQDN '%s'" msgstr "正在使用 FQDN '%s' 设置服务器" #: mgradm/cmd/install/podman/utils.go:75 -#: mgradm/cmd/migrate/kubernetes/utils.go:45 mgradm/shared/coco/coco.go:56 -#: mgradm/shared/hub/xmlrpcapi.go:30 mgradm/shared/kubernetes/install.go:52 -#: mgradm/shared/kubernetes/install.go:148 mgradm/shared/kubernetes/k3s.go:47 -#: mgradm/shared/kubernetes/k3s.go:52 mgradm/shared/podman/podman.go:236 -#: mgradm/shared/podman/podman.go:241 mgradm/shared/podman/podman.go:332 +#: mgradm/cmd/migrate/kubernetes/utils.go:49 mgradm/shared/coco/coco.go:68 +#: mgradm/shared/hub/xmlrpcapi.go:43 mgradm/shared/kubernetes/install.go:52 +#: mgradm/shared/kubernetes/install.go:153 mgradm/shared/kubernetes/k3s.go:55 +#: mgradm/shared/kubernetes/k3s.go:60 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/podman/podman.go:255 mgradm/shared/podman/podman.go:346 msgid "failed to compute image URL" msgstr "无法计算映像 URL" @@ -521,6 +529,10 @@ msgstr "无法等待系统启动" msgid "Run setup command in the container" msgstr "在容器中运行设置命令" +#: mgradm/cmd/install/podman/utils.go:109 +msgid "Failed to stop service: %v" +msgstr "无法停止服务:%v" + #: mgradm/cmd/install/podman/utils.go:118 msgid "failed to extract payg data" msgstr "无法提取 payg 数据" @@ -530,197 +542,185 @@ msgid "cannot update SSL certificate" msgstr "无法更新 SSL 证书" #: mgradm/cmd/install/podman/utils.go:146 -#: mgradm/cmd/migrate/podman/utils.go:136 +#: mgradm/cmd/migrate/podman/utils.go:137 msgid "cannot enable podman socket" msgstr "无法启用 podman 套接字" -#: mgradm/cmd/install/shared/flags.go:79 +#: mgradm/cmd/install/shared/flags.go:67 msgid "Can only contain letters, digits . _ and -" msgstr "只能包含字母、数字 . _ 和 -" -#: mgradm/cmd/install/shared/flags.go:87 +#: mgradm/cmd/install/shared/flags.go:75 msgid "Not a valid email address" msgstr "不是有效的电子邮件地址" -#: mgradm/cmd/install/shared/flags.go:130 +#: mgradm/cmd/install/shared/flags.go:124 msgid "Time zone to set on the server. Defaults to the host timezone" msgstr "要在服务器上设置的时区。默认设为主机时区" -#: mgradm/cmd/install/shared/flags.go:131 +#: mgradm/cmd/install/shared/flags.go:125 msgid "Administrator e-mail" msgstr "管理员电子邮件地址" -#: mgradm/cmd/install/shared/flags.go:132 +#: mgradm/cmd/install/shared/flags.go:126 msgid "E-Mail sending the notifications" msgstr "发送通知的电子邮件地址" -#: mgradm/cmd/install/shared/flags.go:133 +#: mgradm/cmd/install/shared/flags.go:127 msgid "InterServerSync v1 parent FQDN" msgstr "InterServerSync v1 父 FQDN" -#: mgradm/cmd/install/shared/flags.go:135 +#: mgradm/cmd/install/shared/flags.go:129 msgid "Database user" msgstr "数据库用户" -#: mgradm/cmd/install/shared/flags.go:136 +#: mgradm/cmd/install/shared/flags.go:130 msgid "Database password. Randomly generated by default" msgstr "数据库口令。默认会随机生成" -#: mgradm/cmd/install/shared/flags.go:137 +#: mgradm/cmd/install/shared/flags.go:131 msgid "Database name" msgstr "数据库名称" -#: mgradm/cmd/install/shared/flags.go:138 +#: mgradm/cmd/install/shared/flags.go:132 msgid "Database host" msgstr "数据库主机" -#: mgradm/cmd/install/shared/flags.go:139 +#: mgradm/cmd/install/shared/flags.go:133 msgid "Database port" msgstr "数据库端口" -#: mgradm/cmd/install/shared/flags.go:140 +#: mgradm/cmd/install/shared/flags.go:134 msgid "Database protocol" msgstr "数据库协议" -#: mgradm/cmd/install/shared/flags.go:141 +#: mgradm/cmd/install/shared/flags.go:135 msgid "External database admin user name" msgstr "外部数据库管理员用户名" -#: mgradm/cmd/install/shared/flags.go:142 +#: mgradm/cmd/install/shared/flags.go:136 msgid "External database admin password" msgstr "外部数据库管理员口令" -#: mgradm/cmd/install/shared/flags.go:143 +#: mgradm/cmd/install/shared/flags.go:137 msgid "External database provider. Possible values 'aws'" msgstr "外部数据库提供商。可能的值为 \"aws\"" -#: mgradm/cmd/install/shared/flags.go:145 +#: mgradm/cmd/install/shared/flags.go:139 msgid "Database Flags" msgstr "数据库标志" -#: mgradm/cmd/install/shared/flags.go:156 +#: mgradm/cmd/install/shared/flags.go:150 msgid "Enable TFTP" msgstr "启用 TFTP" -#: mgradm/cmd/install/shared/flags.go:157 +#: mgradm/cmd/install/shared/flags.go:151 msgid "Report database name" msgstr "报告数据库名称" -#: mgradm/cmd/install/shared/flags.go:158 +#: mgradm/cmd/install/shared/flags.go:152 msgid "Report database host" msgstr "报告数据库主机" -#: mgradm/cmd/install/shared/flags.go:159 +#: mgradm/cmd/install/shared/flags.go:153 msgid "Report database port" msgstr "报告数据库端口" -#: mgradm/cmd/install/shared/flags.go:160 +#: mgradm/cmd/install/shared/flags.go:154 msgid "Report Database username" msgstr "报告数据库用户名" -#: mgradm/cmd/install/shared/flags.go:161 +#: mgradm/cmd/install/shared/flags.go:155 msgid "Report database password. Randomly generated by default" msgstr "报告数据库口令。默认会随机生成" -#: mgradm/cmd/install/shared/flags.go:163 +#: mgradm/cmd/install/shared/flags.go:157 msgid "Report DB Flags" msgstr "报告数据库标志" -#: mgradm/cmd/install/shared/flags.go:171 +#: mgradm/cmd/install/shared/flags.go:165 msgid "SSL certificate cnames separated by commas" msgstr "SSL 证书名称(各名称以逗号分隔)" -#: mgradm/cmd/install/shared/flags.go:172 +#: mgradm/cmd/install/shared/flags.go:166 msgid "SSL certificate country" msgstr "SSL 证书国家/地区" -#: mgradm/cmd/install/shared/flags.go:173 +#: mgradm/cmd/install/shared/flags.go:167 msgid "SSL certificate state" msgstr "SSL 证书州/省" -#: mgradm/cmd/install/shared/flags.go:174 +#: mgradm/cmd/install/shared/flags.go:168 msgid "SSL certificate city" msgstr "SSL 证书城市" -#: mgradm/cmd/install/shared/flags.go:175 +#: mgradm/cmd/install/shared/flags.go:169 msgid "SSL certificate organization" msgstr "SSL 证书组织" -#: mgradm/cmd/install/shared/flags.go:176 +#: mgradm/cmd/install/shared/flags.go:170 msgid "SSL certificate organization unit" msgstr "SSL 证书组织单位" -#: mgradm/cmd/install/shared/flags.go:177 +#: mgradm/cmd/install/shared/flags.go:171 msgid "Password for the CA key to generate" msgstr "要生成的 CA 密钥的口令" -#: mgradm/cmd/install/shared/flags.go:179 +#: mgradm/cmd/install/shared/flags.go:173 msgid "SSL Certificate Flags" msgstr "SSL 证书标志" -#: mgradm/cmd/install/shared/flags.go:189 +#: mgradm/cmd/install/shared/flags.go:183 msgid "Intermediate CA certificate path" msgstr "中间 CA 证书路径" -#: mgradm/cmd/install/shared/flags.go:190 +#: mgradm/cmd/install/shared/flags.go:184 msgid "Root CA certificate path" msgstr "根 CA 证书路径" -#: mgradm/cmd/install/shared/flags.go:191 +#: mgradm/cmd/install/shared/flags.go:185 msgid "Server certificate path" msgstr "服务器证书路径" -#: mgradm/cmd/install/shared/flags.go:192 +#: mgradm/cmd/install/shared/flags.go:186 msgid "Server key path" msgstr "服务器密钥路径" -#: mgradm/cmd/install/shared/flags.go:194 +#: mgradm/cmd/install/shared/flags.go:188 msgid "3rd Party SSL Certificate Flags" msgstr "第三方 SSL 证书标志" -#: mgradm/cmd/install/shared/flags.go:200 -msgid "SUSE Customer Center username" -msgstr "SUSE Customer Center 用户名" - -#: mgradm/cmd/install/shared/flags.go:201 -msgid "SUSE Customer Center password" -msgstr "SUSE Customer Center 口令" - -#: mgradm/cmd/install/shared/flags.go:203 -msgid "SUSE Customer Center Flags" -msgstr "SUSE Customer Center 标志" - -#: mgradm/cmd/install/shared/flags.go:207 +#: mgradm/cmd/install/shared/flags.go:196 msgid "Enable tomcat and taskomatic remote debugging" msgstr "启用 tomcat 和 taskomatic 远程调试" -#: mgradm/cmd/install/shared/flags.go:214 +#: mgradm/cmd/install/shared/flags.go:203 msgid "Administrator user name" msgstr "管理员用户名" -#: mgradm/cmd/install/shared/flags.go:215 +#: mgradm/cmd/install/shared/flags.go:204 msgid "Administrator password" msgstr "管理员口令" -#: mgradm/cmd/install/shared/flags.go:216 +#: mgradm/cmd/install/shared/flags.go:205 msgid "First name of the administrator" msgstr "管理员的名字" -#: mgradm/cmd/install/shared/flags.go:217 +#: mgradm/cmd/install/shared/flags.go:206 msgid "Last name of the administrator" msgstr "管理员的姓氏" -#: mgradm/cmd/install/shared/flags.go:218 +#: mgradm/cmd/install/shared/flags.go:207 msgid "First organization name" msgstr "第一个组织名称" -#: mgradm/cmd/install/shared/flags.go:220 +#: mgradm/cmd/install/shared/flags.go:209 msgid "First User Flags" msgstr "第一个用户标志" #: mgradm/cmd/install/shared/shared.go:32 msgid "Server appears to be already configured. Installation will continue, but installation options may be ignored." -msgstr "" +msgstr "服务器似乎已经过配置。安装将会继续,但可能会忽略安装选项。" #: mgradm/cmd/install/shared/shared.go:40 msgid "cannot copy /tmp/setup.sh" @@ -730,30 +730,34 @@ msgstr "无法复制 /tmp/setup.sh" msgid "error running the setup script" msgstr "运行设置脚本时出错" -#: mgradm/cmd/install/shared/shared.go:49 -#: mgradm/cmd/migrate/kubernetes/utils.go:182 -#: mgradm/cmd/migrate/podman/utils.go:146 +#: mgradm/cmd/install/shared/shared.go:48 +#: mgradm/cmd/migrate/kubernetes/utils.go:186 +#: mgradm/cmd/migrate/podman/utils.go:147 msgid "failed to add SSL CA certificate to host trusted certificates" msgstr "无法将 SSL CA 证书添加到主机信任的证书列表中" -#: mgradm/cmd/install/shared/shared.go:65 -msgid "Server organization already exists, reusing" +#: mgradm/cmd/install/shared/shared.go:64 +msgid "unable to prepare API client" msgstr "" #: mgradm/cmd/install/shared/shared.go:68 +msgid "Server organization already exists, reusing" +msgstr "服务器组织已存在,正在重新使用该组织" + +#: mgradm/cmd/install/shared/shared.go:71 #, javascript-format msgid "Administration user already exists, but organization %s could not be found" -msgstr "" +msgstr "管理用户已存在,但找不到组织 %s" -#: mgradm/cmd/install/shared/shared.go:84 +#: mgradm/cmd/install/shared/shared.go:83 msgid "Administration user already exists, but provided credentials are not valid" -msgstr "" +msgstr "管理用户已存在,但提供的身份凭证无效" -#: mgradm/cmd/install/shared/shared.go:92 +#: mgradm/cmd/install/shared/shared.go:91 msgid "Server set up, login on https://%[1]s with %[2]s user" msgstr "服务器设置,以 %[2]s 用户身份在 https://%[1]s 上登录" -#: mgradm/cmd/install/shared/shared.go:164 +#: mgradm/cmd/install/shared/shared.go:163 msgid "Failed to generate setup script" msgstr "无法生成设置脚本" @@ -797,80 +801,79 @@ msgstr "" msgid "SSL CA generated private key password" msgstr "生成的 SSL CA 私用密钥口令" -#: mgradm/cmd/migrate/kubernetes/utils.go:60 mgradm/shared/utils/exec.go:128 +#: mgradm/cmd/migrate/kubernetes/utils.go:64 mgradm/shared/utils/exec.go:132 msgid "failed to generate migration script" msgstr "无法生成迁移脚本" -#: mgradm/cmd/migrate/kubernetes/utils.go:84 +#: mgradm/cmd/migrate/kubernetes/utils.go:88 msgid "cannot run deploy" msgstr "无法运行部署作业" -#: mgradm/cmd/migrate/kubernetes/utils.go:91 -#: mgradm/shared/kubernetes/install.go:182 +#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/shared/kubernetes/install.go:187 msgid "cannot find node running uyuni" msgstr "找不到运行 uyuni 的节点" -#: mgradm/cmd/migrate/kubernetes/utils.go:95 +#: mgradm/cmd/migrate/kubernetes/utils.go:99 msgid "cannot run migration" msgstr "无法运行迁移作业" -#: mgradm/cmd/migrate/kubernetes/utils.go:100 +#: mgradm/cmd/migrate/kubernetes/utils.go:104 msgid "cannot read data from container" msgstr "无法从容器读取数据" -#: mgradm/cmd/migrate/kubernetes/utils.go:106 -#: mgradm/cmd/migrate/kubernetes/utils.go:149 +#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:153 msgid "cannot set replicas to 0" msgstr "无法将复本数设置为 0" -#: mgradm/cmd/migrate/kubernetes/utils.go:110 +#: mgradm/cmd/migrate/kubernetes/utils.go:114 #: mgradm/cmd/migrate/podman/utils.go:67 msgid "Migration prepared. Run the 'migrate' command without '--prepare' to finish the migration." -msgstr "" +msgstr "已完成迁移准备。请运行不含 '--prepare' 的 'migrate' 命令完成迁移。" -#: mgradm/cmd/migrate/kubernetes/utils.go:123 +#: mgradm/cmd/migrate/kubernetes/utils.go:127 msgid "cannot setup SSL" msgstr "无法设置 SSL" -#: mgradm/cmd/migrate/kubernetes/utils.go:131 +#: mgradm/cmd/migrate/kubernetes/utils.go:135 #, javascript-format msgid "The mirror data will not be migrated, ensure it is available at %s" msgstr "将不迁移镜像数据,请确保 %s 提供了该数据" -#: mgradm/cmd/migrate/kubernetes/utils.go:140 +#: mgradm/cmd/migrate/kubernetes/utils.go:144 #, javascript-format msgid "cannot upgrade helm chart to image %s using new SSL certificate" msgstr "无法使用新 SSL 证书将 helm 图表升级到映像 %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:144 +#: mgradm/cmd/migrate/kubernetes/utils.go:148 #, javascript-format msgid "cannot wait for deployment of %s" msgstr "无法等待 %s 部署" -#: mgradm/cmd/migrate/kubernetes/utils.go:159 +#: mgradm/cmd/migrate/kubernetes/utils.go:163 #: mgradm/cmd/migrate/podman/utils.go:78 -#: mgradm/shared/kubernetes/install.go:203 mgradm/shared/podman/podman.go:366 +#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:380 msgid "cannot run PostgreSQL version upgrade script" msgstr "无法运行 PostgreSQL 版本升级脚本" -#: mgradm/cmd/migrate/kubernetes/utils.go:165 -#, fuzzy +#: mgradm/cmd/migrate/kubernetes/utils.go:169 msgid "cannot run PostgreSQL finalisation script" msgstr "无法运行 PostgreSQL 完成脚本" -#: mgradm/cmd/migrate/kubernetes/utils.go:169 +#: mgradm/cmd/migrate/kubernetes/utils.go:173 #: mgradm/cmd/migrate/podman/utils.go:88 -#: mgradm/shared/kubernetes/install.go:218 mgradm/shared/podman/podman.go:380 +#: mgradm/shared/kubernetes/install.go:223 mgradm/shared/podman/podman.go:394 msgid "cannot run post upgrade script" msgstr "无法运行升级后脚本" -#: mgradm/cmd/migrate/kubernetes/utils.go:174 -#: mgradm/shared/kubernetes/install.go:223 +#: mgradm/cmd/migrate/kubernetes/utils.go:178 +#: mgradm/shared/kubernetes/install.go:228 #, javascript-format msgid "cannot upgrade to image %s" msgstr "无法升级到映像 %s" -#: mgradm/cmd/migrate/kubernetes/utils.go:199 +#: mgradm/cmd/migrate/kubernetes/utils.go:203 msgid "failed to strip text part from CA certificate" msgstr "无法剥离 CA 证书中的文本部分" @@ -878,11 +881,11 @@ msgstr "无法剥离 CA 证书中的文本部分" msgid "Migrate a remote server to containers" msgstr "将远程服务器迁移到容器" -#: mgradm/cmd/migrate/podman/podman.go:25 +#: mgradm/cmd/migrate/podman/podman.go:26 msgid "Migrate a remote server to containers running on podman" msgstr "将远程服务器迁移到正在 podman 上运行的容器" -#: mgradm/cmd/migrate/podman/podman.go:26 +#: mgradm/cmd/migrate/podman/podman.go:27 msgid "" "Migrate a remote server to containers running on podman\n" "\n" @@ -913,7 +916,7 @@ msgid "cannot run migration script" msgstr "无法运行迁移脚本" #: mgradm/cmd/migrate/podman/utils.go:84 -#: mgradm/shared/kubernetes/install.go:214 mgradm/shared/podman/podman.go:376 +#: mgradm/shared/kubernetes/install.go:219 mgradm/shared/podman/podman.go:390 msgid "cannot run PostgreSQL finalize script" msgstr "无法运行 PostgreSQL 完成脚本" @@ -921,23 +924,21 @@ msgstr "无法运行 PostgreSQL 完成脚本" msgid "cannot generate systemd service file" msgstr "无法生成 systemd 服务文件" -#: mgradm/cmd/migrate/podman/utils.go:108 -#, fuzzy +#: mgradm/cmd/migrate/podman/utils.go:109 msgid "cannot setup confidential computing attestation service" -msgstr "设置机密计算认证服务" +msgstr "无法设置机密计算认证服务" -#: mgradm/cmd/migrate/podman/utils.go:126 -#, fuzzy +#: mgradm/cmd/migrate/podman/utils.go:120 msgid "Enabling Hub XML-RPC API since it is enabled on the migrated server" -msgstr "正在启用 Hub XML-RPC API 容器。" +msgstr "正在启用 Hub XML-RPC API,因为迁移的服务器上启用了该 API" -#: mgradm/cmd/migrate/podman/utils.go:133 +#: mgradm/cmd/migrate/podman/utils.go:134 msgid "Server migrated" msgstr "服务器已迁移" -#: mgradm/cmd/migrate/shared/flags.go:28 +#: mgradm/cmd/migrate/shared/flags.go:27 msgid "Prepare the mgration - copy the data without stopping the source server." -msgstr "" +msgstr "准备迁移 - 在不停止源服务器的情况下复制数据。" #: mgradm/cmd/migrate/shared/flags.go:34 msgid "User on the source server. Non-root user must have passwordless sudo privileges (NOPASSWD tag in /etc/sudoers)." @@ -983,7 +984,6 @@ msgid "Adjust the replicas for services supporting it." msgstr "调整支持该功能的服务的复本数。" #: mgradm/cmd/scale/scale.go:30 -#, fuzzy msgid "" "Adjust the replicas for services supporting it.\n" "Supported services:\n" @@ -993,6 +993,7 @@ msgstr "" "调整支持该功能的服务的复本数。\n" "支持的服务:\n" " - uyuni-server-attestation\n" +" - uyuni-hub-xmlrpc\n" #: mgradm/cmd/start/start.go:24 mgradm/cmd/start/start.go:25 msgid "Start the server" @@ -1046,11 +1047,11 @@ msgstr "" msgid "path where to extract the data" msgstr "从中提取数据的路径" -#: mgradm/cmd/support/ptf/podman/podman.go:27 +#: mgradm/cmd/support/ptf/podman/podman.go:28 msgid "Install a PTF or Test package on podman" msgstr "在 podman 上安装 PTF 或测试软件包" -#: mgradm/cmd/support/ptf/podman/podman.go:28 +#: mgradm/cmd/support/ptf/podman/podman.go:29 msgid "" "Install a PTF or Test package on podman\n" "\n" @@ -1066,19 +1067,19 @@ msgstr "" "\n" "注意:目前不支持在远程 podman 上安装!\n" -#: mgradm/cmd/support/ptf/podman/utils.go:49 +#: mgradm/cmd/support/ptf/podman/utils.go:52 msgid "ptf and test flags cannot be set simultaneously " msgstr "不能同时设置 ptf 和 test 标志 " -#: mgradm/cmd/support/ptf/podman/utils.go:52 +#: mgradm/cmd/support/ptf/podman/utils.go:55 msgid "ptf and test flags cannot be empty simultaneously " msgstr "ptf 和 test 标志不能同时为空 " -#: mgradm/cmd/support/ptf/podman/utils.go:55 +#: mgradm/cmd/support/ptf/podman/utils.go:58 msgid "user flag cannot be empty" msgstr "user 标志不能为空" -#: mgradm/cmd/support/ptf/podman/utils.go:70 +#: mgradm/cmd/support/ptf/podman/utils.go:75 #, javascript-format msgid "The image computed is: %s" msgstr "计算出的映像为:%s" @@ -1100,25 +1101,25 @@ msgstr "无法清理源文件" msgid "output file %s exists, use -f to force overwrite" msgstr "输出文件 %s 已存在,使用 -f 可强制重写" -#: mgradm/cmd/support/sql/sql.go:111 +#: mgradm/cmd/support/sql/sql.go:115 msgid "interactive mode cannot work with a file output" msgstr "交互模式无法提供文件输出" -#: mgradm/cmd/support/sql/sql.go:141 +#: mgradm/cmd/support/sql/sql.go:145 #, javascript-format msgid "unknown or unsupported database %s" msgstr "数据库 %s 未知或不受支持" -#: mgradm/cmd/support/sql/sql.go:154 +#: mgradm/cmd/support/sql/sql.go:158 msgid "Command failed" msgstr "命令失败" -#: mgradm/cmd/support/sql/sql.go:159 +#: mgradm/cmd/support/sql/sql.go:163 #, javascript-format msgid "Result is stored in the file '%s'" msgstr "结果存储在文件 '%s' 中" -#: mgradm/cmd/support/sql/sql.go:173 +#: mgradm/cmd/support/sql/sql.go:177 msgid "cannot write" msgstr "无法写入" @@ -1203,27 +1204,26 @@ msgstr "检测配置映射失败" msgid "Failed deleting secret" msgstr "检测机密失败" -#: mgradm/cmd/uninstall/kubernetes.go:108 +#: mgradm/cmd/uninstall/kubernetes.go:110 msgid "Nothing has been uninstalled, run with --force to actually uninstall" msgstr "尚未卸装任何内容,带 --force 选项运行可真正执行卸装" -#: mgradm/cmd/uninstall/kubernetes.go:110 +#: mgradm/cmd/uninstall/kubernetes.go:112 msgid "Volumes have not been touched. Depending on the storage class used, they may not have been removed" msgstr "未更改任何卷。根据所用的存储类别,它们可能尚未去除" #: mgradm/cmd/uninstall/podman.go:46 -#, fuzzy, javascript-format +#, javascript-format msgid "Failed to remove volume %s" -msgstr "无法创建文件夹 %s" +msgstr "无法去除卷 %s" #: mgradm/cmd/uninstall/podman.go:51 msgid "All volumes have been removed" msgstr "所有卷均已去除" #: mgradm/cmd/uninstall/podman.go:53 -#, fuzzy msgid "Some volumes have not been removed completely" -msgstr "所有卷均已去除" +msgstr "部分卷未完全去除" #: mgradm/cmd/uninstall/podman.go:61 #, javascript-format @@ -1259,68 +1259,52 @@ msgstr "" msgid "Upgrade a local server on kubernetes" msgstr "在 kubernetes 上升级本地服务器" -#: mgradm/cmd/upgrade/podman/podman.go:27 +#: mgradm/cmd/upgrade/podman/podman.go:28 msgid "Upgrade a local server on podman" msgstr "在 podman 上升级本地服务器" -#: mgradm/cmd/upgrade/podman/podman.go:39 -#, fuzzy +#: mgradm/cmd/upgrade/podman/podman.go:42 msgid "List available tags for an image" msgstr "列出映像的可用标记" -#: mgradm/cmd/upgrade/podman/podman.go:46 +#: mgradm/cmd/upgrade/podman/podman.go:49 msgid "failed to unmarshall configuration" msgstr "无法解组配置" -#: mgradm/cmd/upgrade/shared/flags.go:31 mgradm/shared/utils/cmd_utils.go:130 -msgid "Confidential Computing Flags" -msgstr "机密计算标志" - -#: mgradm/cmd/upgrade/shared/flags.go:33 mgradm/shared/utils/cmd_utils.go:131 -msgid "confidential computing attestation" -msgstr "机密计算认证" - -#: mgradm/cmd/upgrade/shared/flags.go:34 mgradm/cmd/upgrade/shared/flags.go:35 -#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:140 -msgid "Hub XML-RPC API" -msgstr "Hub XML-RPC API" - #: mgradm/cmd/upgrade/upgrade.go:19 mgradm/cmd/upgrade/upgrade.go:20 msgid "Upgrade local server" msgstr "升级本地服务器" -#: mgradm/shared/coco/coco.go:70 +#: mgradm/shared/coco/coco.go:84 msgid "Setting up confidential computing attestation service" msgstr "设置机密计算认证服务" -#: mgradm/shared/coco/coco.go:74 mgradm/shared/hub/xmlrpcapi.go:86 -#: mgradm/shared/podman/podman.go:74 +#: mgradm/shared/coco/coco.go:88 mgradm/shared/hub/xmlrpcapi.go:102 +#: mgradm/shared/podman/podman.go:76 msgid "failed to generate systemd service unit file" msgstr "无法生成 systemd 服务单元文件" -#: mgradm/shared/coco/coco.go:85 mgradm/shared/hub/xmlrpcapi.go:91 -#: mgradm/shared/podman/podman.go:80 +#: mgradm/shared/coco/coco.go:99 mgradm/shared/hub/xmlrpcapi.go:107 +#: mgradm/shared/podman/podman.go:82 msgid "cannot generate systemd conf file" msgstr "无法生成 systemd 配置文件" -#: mgradm/shared/hub/xmlrpcapi.go:27 -#, fuzzy -msgid "Setting Hub XML-RPC API service." -msgstr "正在启用 Hub XML-RPC API 容器。" +#: mgradm/shared/hub/xmlrpcapi.go:35 +#, javascript-format +msgid "No changes requested for hub. Keep %d replicas." +msgstr "" -#: mgradm/shared/hub/xmlrpcapi.go:39 +#: mgradm/shared/hub/xmlrpcapi.go:52 msgid "cannot generate systemd service" msgstr "无法生成 systemd 服务" -#: mgradm/shared/hub/xmlrpcapi.go:49 -#, fuzzy +#: mgradm/shared/hub/xmlrpcapi.go:65 msgid "Multiple Hub XML-RPC container replicas are not currently supported, setting up only one." -msgstr "目前不支持多个 Hub XML-RPC 容器复本。" +msgstr "目前不支持多个 Hub XML-RPC 容器复本,将仅设置一个复本。" -#: mgradm/shared/hub/xmlrpcapi.go:58 -#, fuzzy +#: mgradm/shared/hub/xmlrpcapi.go:74 msgid "Not starting Hub XML-RPC API service" -msgstr "正在启用 Hub XML-RPC API 容器。" +msgstr "不启动 Hub XML-RPC API 服务" #: mgradm/shared/kubernetes/certificates.go:31 msgid "Creating SSL server certificate secret" @@ -1404,130 +1388,139 @@ msgstr "无法安装 cert-manager 和 self-sign issuer" msgid "Installing Uyuni" msgstr "正在安装 Uyuni" -#: mgradm/shared/kubernetes/install.go:153 +#: mgradm/shared/kubernetes/install.go:158 msgid "cannot inspect kubernetes values" msgstr "无法检查 kubernetes 值" -#: mgradm/shared/kubernetes/install.go:163 +#: mgradm/shared/kubernetes/install.go:168 msgid "inspect function did non return fqdn value" msgstr "检查函数未返回 fqdn 值" -#: mgradm/shared/kubernetes/install.go:187 +#: mgradm/shared/kubernetes/install.go:192 msgid "cannot set replica to 0" msgstr "无法将复本数设置为 0" -#: mgradm/shared/kubernetes/install.go:197 mgradm/shared/kubernetes/k3s.go:39 -#: mgradm/shared/podman/podman.go:217 +#: mgradm/shared/kubernetes/install.go:202 mgradm/shared/kubernetes/k3s.go:47 +#: mgradm/shared/podman/podman.go:231 msgid "Previous PostgreSQL is %[1]s, new one is %[2]s. Performing a DB version upgrade…" msgstr "旧 PostgreSQL 版本为 %[1]s,新版本为 %[2]s。正在执行数据库版本升级…" -#: mgradm/shared/kubernetes/install.go:206 mgradm/shared/podman/podman.go:369 +#: mgradm/shared/kubernetes/install.go:211 mgradm/shared/podman/podman.go:383 #, javascript-format msgid "Upgrading to %s without changing PostgreSQL version" msgstr "正在升级到 %s,PostgreSQL 版本将不更改" -#: mgradm/shared/kubernetes/install.go:208 mgradm/shared/podman/podman.go:371 +#: mgradm/shared/kubernetes/install.go:213 mgradm/shared/podman/podman.go:385 msgid "trying to downgrade PostgreSQL from %[1]s to %[2]s" msgstr "正在尝试将 PostgreSQL 从 %[1]s 降级到 %[2]s" -#: mgradm/shared/kubernetes/k3s.go:36 mgradm/shared/kubernetes/k3s.go:106 -#: mgradm/shared/kubernetes/k3s.go:151 +#: mgradm/shared/kubernetes/k3s.go:44 mgradm/shared/kubernetes/k3s.go:114 +#: mgradm/shared/kubernetes/k3s.go:159 #, javascript-format msgid "failed to create temporary directory: %s" msgstr "无法创建临时目录:%s" -#: mgradm/shared/kubernetes/k3s.go:56 mgradm/shared/podman/podman.go:250 +#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/podman/podman.go:264 #, javascript-format msgid "Using database upgrade image %s" msgstr "正在使用数据库升级映像 %s" -#: mgradm/shared/kubernetes/k3s.go:59 mgradm/shared/podman/podman.go:254 +#: mgradm/shared/kubernetes/k3s.go:67 mgradm/shared/podman/podman.go:268 msgid "cannot generate PostgreSQL database version upgrade script" msgstr "无法生成 PostgreSQL 数据库版本升级脚本" -#: mgradm/shared/kubernetes/k3s.go:64 mgradm/shared/kubernetes/k3s.go:115 -#: mgradm/shared/kubernetes/k3s.go:161 +#: mgradm/shared/kubernetes/k3s.go:72 mgradm/shared/kubernetes/k3s.go:123 +#: mgradm/shared/kubernetes/k3s.go:169 #, javascript-format msgid "cannot delete %s" msgstr "无法删除 %s" -#: mgradm/shared/kubernetes/k3s.go:93 mgradm/shared/kubernetes/k3s.go:141 -#: mgradm/shared/kubernetes/k3s.go:188 +#: mgradm/shared/kubernetes/k3s.go:101 mgradm/shared/kubernetes/k3s.go:149 +#: mgradm/shared/kubernetes/k3s.go:196 #, javascript-format msgid "error running container %s" msgstr "运行容器 %s 时出错" -#: mgradm/shared/kubernetes/k3s.go:111 mgradm/shared/kubernetes/k3s.go:156 -#: mgradm/shared/podman/podman.go:283 mgradm/shared/podman/podman.go:307 +#: mgradm/shared/kubernetes/k3s.go:119 mgradm/shared/kubernetes/k3s.go:164 +#: mgradm/shared/podman/podman.go:297 mgradm/shared/podman/podman.go:321 msgid "cannot generate PostgreSQL finalization script" msgstr "无法生成 PostgreSQL 完成脚本" -#: mgradm/shared/podman/podman.go:50 +#: mgradm/shared/podman/podman.go:51 msgid "cannot setup network" msgstr "无法设置网络" -#: mgradm/shared/podman/podman.go:53 +#: mgradm/shared/podman/podman.go:54 msgid "Enabling system service" msgstr "正在启用系统服务" -#: mgradm/shared/podman/podman.go:88 -#, fuzzy +#: mgradm/shared/podman/podman.go:90 msgid "cannot generate systemd user configuration file" -msgstr "无法生成 systemd 配置文件" +msgstr "无法生成 systemd 用户配置文件" -#: mgradm/shared/podman/podman.go:100 +#: mgradm/shared/podman/podman.go:102 msgid "failed to create temporary folder on container to copy certificates to" msgstr "无法在证书要复制到的容器上创建临时文件夹" -#: mgradm/shared/podman/podman.go:140 +#: mgradm/shared/podman/podman.go:142 msgid "failed to update SSL certificate" msgstr "无法更新 SSL 证书" -#: mgradm/shared/podman/podman.go:145 +#: mgradm/shared/podman/podman.go:147 msgid "failed to remove copied certificate files in the container" msgstr "无法去除容器中已复制的证书文件" -#: mgradm/shared/podman/podman.go:151 +#: mgradm/shared/podman/podman.go:153 msgid "failed to remove now useless ssl-build folder in the container" msgstr "无法去除容器中目前无用的 ssl-build 文件夹" -#: mgradm/shared/podman/podman.go:156 +#: mgradm/shared/podman/podman.go:158 msgid "Restarting services after updating the certificate" msgstr "正在重启动服务(证书已更新)" -#: mgradm/shared/podman/podman.go:175 +#: mgradm/shared/podman/podman.go:177 msgid "cannot generate migration script" msgstr "无法生成迁移脚本" -#: mgradm/shared/podman/podman.go:194 mgradm/shared/utils/exec.go:103 +#: mgradm/shared/podman/podman.go:196 mgradm/shared/utils/exec.go:107 msgid "Migrating server" msgstr "正在迁移服务器" -#: mgradm/shared/podman/podman.go:197 +#: mgradm/shared/podman/podman.go:199 msgid "cannot run uyuni migration container" msgstr "无法运行 uyuni 迁移容器" -#: mgradm/shared/podman/podman.go:202 +#: mgradm/shared/podman/podman.go:206 +#, javascript-format +msgid "cannot inspect volume %s" +msgstr "无法检查卷 %s" + +#: mgradm/shared/podman/podman.go:209 +#, javascript-format +msgid "cannot restore %s SELinux permissions" +msgstr "无法恢复 %s SELinux 权限" + +#: mgradm/shared/podman/podman.go:216 msgid "cannot read extracted data" msgstr "无法读取提取的数据" -#: mgradm/shared/podman/podman.go:342 +#: mgradm/shared/podman/podman.go:356 msgid "cannot inspect podman values" msgstr "无法检查 podman 值" -#: mgradm/shared/podman/podman.go:352 +#: mgradm/shared/podman/podman.go:366 msgid "cannot stop service" msgstr "无法停止服务" -#: mgradm/shared/podman/podman.go:360 +#: mgradm/shared/podman/podman.go:374 msgid "Previous postgresql is %[1]s, instead new one is %[2]s. Performing a DB version upgrade…" msgstr "旧 PostgreSQL 版本为 %[1]s,新版本为 %[2]s。正在执行数据库版本升级…" -#: mgradm/shared/podman/podman.go:397 +#: mgradm/shared/podman/podman.go:411 msgid "error upgrading confidential computing service." msgstr "升级机密计算服务时出错。" -#: mgradm/shared/podman/podman.go:435 +#: mgradm/shared/podman/podman.go:449 msgid "cannot inspect data" msgstr "无法检查数据" @@ -1635,7 +1628,7 @@ msgstr "Helm 图表标志" #: mgradm/shared/utils/cmd_utils.go:87 #, javascript-format msgid "Image for %s container" -msgstr "" +msgstr "%s 容器的映像" #: mgradm/shared/utils/cmd_utils.go:89 #, javascript-format @@ -1643,108 +1636,159 @@ msgid "Tag for %s container, overrides the global value if set" msgstr "%s 容器的标记,如果设置,将会覆盖全局值" #: mgradm/shared/utils/cmd_utils.go:99 +msgid "SUSE Customer Center username. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" +msgstr "SUSE Customer Center 用户名,将用作 SCC 身份凭证进行产品同步以及从 registry.suse.com 提取映像" + +#: mgradm/shared/utils/cmd_utils.go:100 +msgid "SUSE Customer Center password. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com" +msgstr "SUSE Customer Center 口令,将用作 SCC 身份凭证进行产品同步以及从 registry.suse.com 提取映像" + +#: mgradm/shared/utils/cmd_utils.go:102 +msgid "SUSE Customer Center Flags" +msgstr "SUSE Customer Center 标志" + +#: mgradm/shared/utils/cmd_utils.go:109 msgid "Image" msgstr "映像" -#: mgradm/shared/utils/cmd_utils.go:100 +#: mgradm/shared/utils/cmd_utils.go:110 +#, fuzzy +msgid "Specify a private registry where pull the images" +msgstr "指定私用注册表" + +#: mgradm/shared/utils/cmd_utils.go:111 msgid "Tag Image" msgstr "标记映像" -#: mgradm/shared/utils/cmd_utils.go:104 +#: mgradm/shared/utils/cmd_utils.go:115 msgid "Image Flags" msgstr "映像标志" -#: mgradm/shared/utils/cmd_utils.go:112 +#: mgradm/shared/utils/cmd_utils.go:124 msgid "Database upgrade image" msgstr "数据库升级映像" -#: mgradm/shared/utils/cmd_utils.go:113 +#: mgradm/shared/utils/cmd_utils.go:125 msgid "Database upgrade image tag" msgstr "数据库升级映像标记" -#: mgradm/shared/utils/cmd_utils.go:115 -msgid "set whether to pull the database upgrade images or not. The value can be one of 'Never', 'IfNotPresent' or 'Always'" -msgstr "设置是否拉取数据库升级映像。值可以是以下之一:'Never'、'IfNotPresent' 或 'Always'" - -#: mgradm/shared/utils/cmd_utils.go:117 +#: mgradm/shared/utils/cmd_utils.go:127 msgid "Database Upgrade Image Flags" msgstr "数据库升级映像标志" -#: mgradm/shared/utils/cmd_utils.go:125 +#: mgradm/shared/utils/cmd_utils.go:134 msgid "Path to mirrored packages mounted on the host" msgstr "主机上所挂载的已镜像软件包的路径" -#: mgradm/shared/utils/cmd_utils.go:132 -msgid "How many replicas of the confidential computing container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:139 mgradm/shared/utils/cmd_utils.go:147 +msgid "Confidential Computing Flags" +msgstr "机密计算标志" + +#: mgradm/shared/utils/cmd_utils.go:140 mgradm/shared/utils/cmd_utils.go:148 +msgid "confidential computing attestation" +msgstr "机密计算认证" + +#: mgradm/shared/utils/cmd_utils.go:141 +#, fuzzy +msgid "How many replicas of the confidential computing container should be started" +msgstr "应启动机密计算容器的多少复本。(目前仅支持 0 或 1 个)" + +#: mgradm/shared/utils/cmd_utils.go:149 +#, fuzzy +msgid "How many replicas of the confidential computing container should be started. Leave it unset if you want to keep the previous number of replicas." msgstr "应启动机密计算容器的多少复本。(目前仅支持 0 或 1 个)" -#: mgradm/shared/utils/cmd_utils.go:142 -msgid "How many replicas of the Hub XML-RPC API service container should be started. (only 0 or 1 supported for now)" +#: mgradm/shared/utils/cmd_utils.go:155 mgradm/shared/utils/cmd_utils.go:156 +#: mgradm/shared/utils/cmd_utils.go:163 mgradm/shared/utils/cmd_utils.go:164 +msgid "Hub XML-RPC API" +msgstr "Hub XML-RPC API" + +#: mgradm/shared/utils/cmd_utils.go:157 +#, fuzzy +msgid "How many replicas of the Hub XML-RPC API service container should be started." +msgstr "应启动 Hub XML-RPC API 服务容器的多少复本。(目前仅支持 0 或 1 个)" + +#: mgradm/shared/utils/cmd_utils.go:165 +#, fuzzy +msgid "How many replicas of the Hub XML-RPC API service container should be started. Leave it unset if you want to keep the previous number of replicas." msgstr "应启动 Hub XML-RPC API 服务容器的多少复本。(目前仅支持 0 或 1 个)" #: mgradm/shared/utils/exec.go:28 msgid "exec command failed" msgstr "执行命令失败" -#: mgradm/shared/utils/exec.go:62 mgradm/shared/utils/exec.go:82 -#: mgradm/shared/utils/exec.go:96 +#: mgradm/shared/utils/exec.go:66 mgradm/shared/utils/exec.go:86 +#: mgradm/shared/utils/exec.go:100 #, javascript-format msgid "failed to generate %s" msgstr "无法生成 %s" -#: mgradm/shared/utils/exec.go:106 +#: mgradm/shared/utils/exec.go:110 msgid "error running the migration script" msgstr "运行迁移脚本时出错" -#: mgradm/shared/utils/exec.go:155 +#: mgradm/shared/utils/exec.go:159 #, javascript-format msgid "Image is: %s" msgstr "映像为 %s" -#: mgradm/shared/utils/exec.go:169 +#: mgradm/shared/utils/exec.go:173 msgid "cannot check server release" msgstr "无法检查服务器版本" -#: mgradm/shared/utils/exec.go:176 +#: mgradm/shared/utils/exec.go:180 #, javascript-format msgid "currently SUSE Manager %s is installed, instead the image is Uyuni. Upgrade is not supported" msgstr "目前安装了 SUSE Manager %s,但映像为 Uyuni。不支持升级" -#: mgradm/shared/utils/exec.go:183 +#: mgradm/shared/utils/exec.go:187 #, javascript-format msgid "currently Uyuni %s is installed, instead the image is SUSE Manager. Upgrade is not supported" msgstr "目前安装了 Uyuni %s,但映像为 SUSE Manager。不支持升级" -#: mgradm/shared/utils/exec.go:192 +#: mgradm/shared/utils/exec.go:196 msgid "failed to read current uyuni release" msgstr "无法读取当前的 uyuni 版本" -#: mgradm/shared/utils/exec.go:196 mgradm/shared/utils/exec.go:213 +#: mgradm/shared/utils/exec.go:200 mgradm/shared/utils/exec.go:217 #, javascript-format msgid "cannot fetch release from image %s" msgstr "无法从映像 %s 中提取版本信息" -#: mgradm/shared/utils/exec.go:201 mgradm/shared/utils/exec.go:218 +#: mgradm/shared/utils/exec.go:205 mgradm/shared/utils/exec.go:222 msgid "cannot downgrade from version %[1]s to %[2]s" msgstr "无法从版本 %[1]s 降级到 %[2]s" -#: mgradm/shared/utils/exec.go:209 +#: mgradm/shared/utils/exec.go:213 msgid "failed to read current susemanager release" msgstr "无法读取当前的 susemanager 版本" -#: mgradm/shared/utils/exec.go:225 +#: mgradm/shared/utils/exec.go:229 #, javascript-format msgid "cannot fetch postgresql version from %s" msgstr "无法从 %s 提取 postgresql 版本信息" -#: mgradm/shared/utils/exec.go:229 +#: mgradm/shared/utils/exec.go:233 msgid "posgresql is not installed in the current deployment" msgstr "当前部署中未安装 posgresql" -#: mgradm/shared/utils/exec.go:243 -msgid "cannot find neither /etc/uyuni-release nor /etc/susemanagere-release" +#: mgradm/shared/utils/exec.go:247 +#, fuzzy +msgid "cannot find either /etc/uyuni-release or /etc/susemanagere-release" msgstr "找不到 /etc/uyuni-release 和 /etc/susemanagere-release" +#~ msgid "Setting Hub XML-RPC API service." +#~ msgstr "正在设置 Hub XML-RPC API 服务。" + +#~ msgid "set whether to pull the database upgrade images or not. The value can be one of 'Never', 'IfNotPresent' or 'Always'" +#~ msgstr "设置是否拉取数据库升级映像。值可以是以下之一:'Never'、'IfNotPresent' 或 'Always'" + +#~ msgid "SUSE Customer Center username" +#~ msgstr "SUSE Customer Center 用户名" + +#~ msgid "SUSE Customer Center password" +#~ msgstr "SUSE Customer Center 口令" + #~ msgid "cannot inspect host values" #~ msgstr "无法检查主机值" @@ -1798,10 +1842,6 @@ msgstr "找不到 /etc/uyuni-release 和 /etc/susemanagere-release" #~ msgid "Unable to detect hostname, using localhost" #~ msgstr "无法检测主机名,正在使用 localhost" -#, javascript-format -#~ msgid "cannot delete volume %s" -#~ msgstr "无法删除卷 %s" - #, javascript-format #~ msgid "Available Tags for image: %s" #~ msgstr "映像的可用标记:%s" @@ -1829,9 +1869,6 @@ msgstr "找不到 /etc/uyuni-release 和 /etc/susemanagere-release" #~ msgid "cannot retrieve timezone" #~ msgstr "无法检索时区" -#~ msgid "cannot retrieve source PostgreSQL version" -#~ msgstr "无法检索源 PostgreSQL 版本" - #~ msgid "cannot retrieve image PostgreSQL version" #~ msgstr "无法检索映像 PostgreSQL 版本" diff --git a/locale/mgrctl/de.po b/locale/mgrctl/de.po index b039d167d..66a99dca2 100644 --- a/locale/mgrctl/de.po +++ b/locale/mgrctl/de.po @@ -7,11 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-24 17:14+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: 2024-07-18 11:46+0000\n" "Last-Translator: Ettore Atalan \n" -"Language-Team: German \n" +"Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,33 +18,86 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.6.2\n" -#: mgrctl/cmd/api/api.go:25 +#: mgrctl/cmd/api/api.go:26 msgid "JSON over HTTP API helper tool" msgstr "" -#: mgrctl/cmd/api/api.go:30 +#: mgrctl/cmd/api/api.go:31 msgid "Call API GET request" msgstr "" -#: mgrctl/cmd/api/api.go:31 -msgid "Takes an API path and optional parameters and then issues GET request with them. If user and password are provided, calls login before API call" +#: mgrctl/cmd/api/api.go:32 +msgid "" +"Takes an API path and optional parameters and then issues GET request with them.\n" +"\n" +"Example:\n" +"# mgrctl api get user/getDetails login=test" msgstr "" -#: mgrctl/cmd/api/api.go:39 +#: mgrctl/cmd/api/api.go:43 msgid "Call API POST request" msgstr "" -#: mgrctl/cmd/api/api.go:40 -msgid "Takes an API path and parameters and then issues POST request with them. User and password are mandatory. Parameters can be either JSON encoded string or one or more key=value pairs." +#: mgrctl/cmd/api/api.go:44 +msgid "" +"Takes an API path and parameters and then issues POST request with them.\n" +"\n" +"Parameters can be either JSON encoded string or one or more key=value pairs.\n" +"\n" +"Key=Value pairs example:\n" +"# mgrctl api post user/create login=test password=testXX firstName=F lastName=L email=test@localhost\n" +"\n" +"JSON example:\n" +"# mgrctl api post user/create '{\"login\":\"test\", \"password\":\"testXX\", \"firstName\":\"F\", \"lastName\":\"L\", \"email\":\"test@localhost\"}'" +msgstr "" + +#: mgrctl/cmd/api/api.go:60 +msgid "Store login information for future API usage" +msgstr "" + +#: mgrctl/cmd/api/api.go:61 +msgid "" +"Login stores login information for next API calls.\n" +"\n" +"User name, password and remote host can be provided using flags or will be asked interactively.\n" +"Environment variables are also supported." +msgstr "" + +#: mgrctl/cmd/api/api.go:69 +msgid "Overwrite existing login if exists" msgstr "" -#: mgrctl/cmd/api/get.go:26 mgrctl/cmd/api/post.go:26 +#: mgrctl/cmd/api/api.go:73 +msgid "Remove stored login information" +msgstr "" + +#: mgrctl/cmd/api/api.go:74 +msgid "Logout removes stored login information." +msgstr "" + +#: mgrctl/cmd/api/get.go:28 mgrctl/cmd/api/post.go:28 msgid "unable to login to the server" msgstr "" -#: mgrctl/cmd/api/get.go:33 mgrctl/cmd/api/post.go:49 +#: mgrctl/cmd/api/get.go:35 mgrctl/cmd/api/post.go:51 #, javascript-format -msgid "error in query %s" +msgid "error in query '%s'" +msgstr "" + +#: mgrctl/cmd/api/login.go:23 +msgid "Refusing to overwrite existing login. Use --force to ignore this check." +msgstr "" + +#: mgrctl/cmd/api/login.go:35 +msgid "Failed to validate credentials." +msgstr "" + +#: mgrctl/cmd/api/login.go:41 +msgid "Login credentials verified." +msgstr "" + +#: mgrctl/cmd/api/login.go:51 +msgid "Successfully logged out" msgstr "" #: mgrctl/cmd/cmd.go:29 @@ -74,10 +126,6 @@ msgstr "Willkommen bei %s" msgid "Executing command: %s" msgstr "Befehl ausführen: %s" -#: mgrctl/cmd/cmd.go:53 -msgid "Failed to create api command" -msgstr "" - #: mgrctl/cmd/cp/cp.go:29 msgid "Copy files to and from the containers" msgstr "" @@ -116,19 +164,19 @@ msgstr "" msgid "Stdin is a TTY" msgstr "" -#: mgrctl/cmd/exec/exec.go:98 +#: mgrctl/cmd/exec/exec.go:102 msgid "Command failed" msgstr "" -#: mgrctl/cmd/exec/exec.go:102 +#: mgrctl/cmd/exec/exec.go:106 msgid "Command returned with exit code 0" msgstr "" -#: mgrctl/cmd/exec/exec.go:116 +#: mgrctl/cmd/exec/exec.go:120 msgid "cannot write" msgstr "" -#: mgrctl/cmd/exec/exec.go:132 +#: mgrctl/cmd/exec/exec.go:136 #, javascript-format msgid "Running %s" msgstr "%s wird ausgeführt" diff --git a/locale/mgrctl/es.po b/locale/mgrctl/es.po index 44f199e34..f5fd0231d 100644 --- a/locale/mgrctl/es.po +++ b/locale/mgrctl/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-24 17:14+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -16,33 +16,86 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: mgrctl/cmd/api/api.go:25 +#: mgrctl/cmd/api/api.go:26 msgid "JSON over HTTP API helper tool" msgstr "" -#: mgrctl/cmd/api/api.go:30 +#: mgrctl/cmd/api/api.go:31 msgid "Call API GET request" msgstr "" -#: mgrctl/cmd/api/api.go:31 -msgid "Takes an API path and optional parameters and then issues GET request with them. If user and password are provided, calls login before API call" +#: mgrctl/cmd/api/api.go:32 +msgid "" +"Takes an API path and optional parameters and then issues GET request with them.\n" +"\n" +"Example:\n" +"# mgrctl api get user/getDetails login=test" msgstr "" -#: mgrctl/cmd/api/api.go:39 +#: mgrctl/cmd/api/api.go:43 msgid "Call API POST request" msgstr "" -#: mgrctl/cmd/api/api.go:40 -msgid "Takes an API path and parameters and then issues POST request with them. User and password are mandatory. Parameters can be either JSON encoded string or one or more key=value pairs." +#: mgrctl/cmd/api/api.go:44 +msgid "" +"Takes an API path and parameters and then issues POST request with them.\n" +"\n" +"Parameters can be either JSON encoded string or one or more key=value pairs.\n" +"\n" +"Key=Value pairs example:\n" +"# mgrctl api post user/create login=test password=testXX firstName=F lastName=L email=test@localhost\n" +"\n" +"JSON example:\n" +"# mgrctl api post user/create '{\"login\":\"test\", \"password\":\"testXX\", \"firstName\":\"F\", \"lastName\":\"L\", \"email\":\"test@localhost\"}'" +msgstr "" + +#: mgrctl/cmd/api/api.go:60 +msgid "Store login information for future API usage" +msgstr "" + +#: mgrctl/cmd/api/api.go:61 +msgid "" +"Login stores login information for next API calls.\n" +"\n" +"User name, password and remote host can be provided using flags or will be asked interactively.\n" +"Environment variables are also supported." +msgstr "" + +#: mgrctl/cmd/api/api.go:69 +msgid "Overwrite existing login if exists" msgstr "" -#: mgrctl/cmd/api/get.go:26 mgrctl/cmd/api/post.go:26 +#: mgrctl/cmd/api/api.go:73 +msgid "Remove stored login information" +msgstr "" + +#: mgrctl/cmd/api/api.go:74 +msgid "Logout removes stored login information." +msgstr "" + +#: mgrctl/cmd/api/get.go:28 mgrctl/cmd/api/post.go:28 msgid "unable to login to the server" msgstr "" -#: mgrctl/cmd/api/get.go:33 mgrctl/cmd/api/post.go:49 +#: mgrctl/cmd/api/get.go:35 mgrctl/cmd/api/post.go:51 #, javascript-format -msgid "error in query %s" +msgid "error in query '%s'" +msgstr "" + +#: mgrctl/cmd/api/login.go:23 +msgid "Refusing to overwrite existing login. Use --force to ignore this check." +msgstr "" + +#: mgrctl/cmd/api/login.go:35 +msgid "Failed to validate credentials." +msgstr "" + +#: mgrctl/cmd/api/login.go:41 +msgid "Login credentials verified." +msgstr "" + +#: mgrctl/cmd/api/login.go:51 +msgid "Successfully logged out" msgstr "" #: mgrctl/cmd/cmd.go:29 @@ -71,10 +124,6 @@ msgstr "" msgid "Executing command: %s" msgstr "" -#: mgrctl/cmd/cmd.go:53 -msgid "Failed to create api command" -msgstr "" - #: mgrctl/cmd/cp/cp.go:29 msgid "Copy files to and from the containers" msgstr "" @@ -113,19 +162,19 @@ msgstr "" msgid "Stdin is a TTY" msgstr "" -#: mgrctl/cmd/exec/exec.go:98 +#: mgrctl/cmd/exec/exec.go:102 msgid "Command failed" msgstr "" -#: mgrctl/cmd/exec/exec.go:102 +#: mgrctl/cmd/exec/exec.go:106 msgid "Command returned with exit code 0" msgstr "" -#: mgrctl/cmd/exec/exec.go:116 +#: mgrctl/cmd/exec/exec.go:120 msgid "cannot write" msgstr "" -#: mgrctl/cmd/exec/exec.go:132 +#: mgrctl/cmd/exec/exec.go:136 #, javascript-format msgid "Running %s" msgstr "" diff --git a/locale/mgrctl/fr.po b/locale/mgrctl/fr.po index 732a1c026..723c533a7 100644 --- a/locale/mgrctl/fr.po +++ b/locale/mgrctl/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-24 17:14+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: 2024-04-08 14:10+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -18,36 +18,90 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.4.2\n" -#: mgrctl/cmd/api/api.go:25 +#: mgrctl/cmd/api/api.go:26 msgid "JSON over HTTP API helper tool" msgstr "Utilitaire pour l'API JSON sur HTTP" -#: mgrctl/cmd/api/api.go:30 +#: mgrctl/cmd/api/api.go:31 msgid "Call API GET request" msgstr "Appeler une requête API GET" -#: mgrctl/cmd/api/api.go:31 -msgid "Takes an API path and optional parameters and then issues GET request with them. If user and password are provided, calls login before API call" +#: mgrctl/cmd/api/api.go:32 +#, fuzzy +msgid "" +"Takes an API path and optional parameters and then issues GET request with them.\n" +"\n" +"Example:\n" +"# mgrctl api get user/getDetails login=test" msgstr "Effectue une requête GET avec un chemin d'API et des paramètres optionnels. Appelle login avant la requête de l'API si l'utilisateur et le mot de passe sont fournis" -#: mgrctl/cmd/api/api.go:39 +#: mgrctl/cmd/api/api.go:43 msgid "Call API POST request" msgstr "Appeler une requête API POST" -#: mgrctl/cmd/api/api.go:40 -msgid "Takes an API path and parameters and then issues POST request with them. User and password are mandatory. Parameters can be either JSON encoded string or one or more key=value pairs." -msgstr "Effectue une requête POST avec un chemin d'API et des paramètres. L'utilisateur et le mot de passe sont obligatoires. Les paramètres peuvent être soit une chaîne de caractères encodée en JSON ou une ou plusieurs paire clé=valeur." +#: mgrctl/cmd/api/api.go:44 +msgid "" +"Takes an API path and parameters and then issues POST request with them.\n" +"\n" +"Parameters can be either JSON encoded string or one or more key=value pairs.\n" +"\n" +"Key=Value pairs example:\n" +"# mgrctl api post user/create login=test password=testXX firstName=F lastName=L email=test@localhost\n" +"\n" +"JSON example:\n" +"# mgrctl api post user/create '{\"login\":\"test\", \"password\":\"testXX\", \"firstName\":\"F\", \"lastName\":\"L\", \"email\":\"test@localhost\"}'" +msgstr "" + +#: mgrctl/cmd/api/api.go:60 +msgid "Store login information for future API usage" +msgstr "" + +#: mgrctl/cmd/api/api.go:61 +msgid "" +"Login stores login information for next API calls.\n" +"\n" +"User name, password and remote host can be provided using flags or will be asked interactively.\n" +"Environment variables are also supported." +msgstr "" + +#: mgrctl/cmd/api/api.go:69 +msgid "Overwrite existing login if exists" +msgstr "" + +#: mgrctl/cmd/api/api.go:73 +msgid "Remove stored login information" +msgstr "" + +#: mgrctl/cmd/api/api.go:74 +msgid "Logout removes stored login information." +msgstr "" -#: mgrctl/cmd/api/get.go:26 mgrctl/cmd/api/post.go:26 +#: mgrctl/cmd/api/get.go:28 mgrctl/cmd/api/post.go:28 #, fuzzy msgid "unable to login to the server" msgstr "impossible de se connecter au serveur: %s" -#: mgrctl/cmd/api/get.go:33 mgrctl/cmd/api/post.go:49 +#: mgrctl/cmd/api/get.go:35 mgrctl/cmd/api/post.go:51 #, fuzzy, javascript-format -msgid "error in query %s" +msgid "error in query '%s'" msgstr "erreur dans la requête %s: %s" +#: mgrctl/cmd/api/login.go:23 +msgid "Refusing to overwrite existing login. Use --force to ignore this check." +msgstr "" + +#: mgrctl/cmd/api/login.go:35 +msgid "Failed to validate credentials." +msgstr "" + +#: mgrctl/cmd/api/login.go:41 +msgid "Login credentials verified." +msgstr "" + +#: mgrctl/cmd/api/login.go:51 +msgid "Successfully logged out" +msgstr "" + #: mgrctl/cmd/cmd.go:29 msgid "Uyuni control tool" msgstr "Outil de contrôle d'Uyuni" @@ -74,10 +128,6 @@ msgstr "Bienvenue à %s" msgid "Executing command: %s" msgstr "Exécution de la commande: %s" -#: mgrctl/cmd/cmd.go:53 -msgid "Failed to create api command" -msgstr "Echec lors de la création de la commande api" - #: mgrctl/cmd/cp/cp.go:29 msgid "Copy files to and from the containers" msgstr "Copie des fichiers vers et depuis les conteneurs" @@ -118,20 +168,20 @@ msgstr "Passer l'entrée standard au conteneur" msgid "Stdin is a TTY" msgstr "L'entrée standard est un TTY" -#: mgrctl/cmd/exec/exec.go:98 +#: mgrctl/cmd/exec/exec.go:102 msgid "Command failed" msgstr "La commande a échoué" -#: mgrctl/cmd/exec/exec.go:102 +#: mgrctl/cmd/exec/exec.go:106 msgid "Command returned with exit code 0" msgstr "La commande a été exécutée avec un code de retour de 0" -#: mgrctl/cmd/exec/exec.go:116 +#: mgrctl/cmd/exec/exec.go:120 #, fuzzy msgid "cannot write" msgstr "impossible d'écrire: %s" -#: mgrctl/cmd/exec/exec.go:132 +#: mgrctl/cmd/exec/exec.go:136 #, fuzzy, javascript-format msgid "Running %s" msgstr "Exécution: %s %s" @@ -140,6 +190,12 @@ msgstr "Exécution: %s %s" msgid "Run a terminal inside the server container" msgstr "Exécuter un terminal dans le conteneur du serveur" +#~ msgid "Takes an API path and parameters and then issues POST request with them. User and password are mandatory. Parameters can be either JSON encoded string or one or more key=value pairs." +#~ msgstr "Effectue une requête POST avec un chemin d'API et des paramètres. L'utilisateur et le mot de passe sont obligatoires. Les paramètres peuvent être soit une chaîne de caractères encodée en JSON ou une ou plusieurs paire clé=valeur." + +#~ msgid "Failed to create api command" +#~ msgstr "Echec lors de la création de la commande api" + #~ msgid "Failed to create org command" #~ msgstr "Echec lors de la création de la commande org" diff --git a/locale/mgrctl/it.po b/locale/mgrctl/it.po index 02740d970..b6c3e7a60 100644 --- a/locale/mgrctl/it.po +++ b/locale/mgrctl/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-24 17:14+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: 2024-05-16 09:49+0000\n" "Last-Translator: Marina Latini \n" "Language-Team: Italian \n" @@ -18,33 +18,86 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.5.5\n" -#: mgrctl/cmd/api/api.go:25 +#: mgrctl/cmd/api/api.go:26 msgid "JSON over HTTP API helper tool" msgstr "Strumento di supporto alle API JSON su HTTP" -#: mgrctl/cmd/api/api.go:30 +#: mgrctl/cmd/api/api.go:31 msgid "Call API GET request" msgstr "" -#: mgrctl/cmd/api/api.go:31 -msgid "Takes an API path and optional parameters and then issues GET request with them. If user and password are provided, calls login before API call" +#: mgrctl/cmd/api/api.go:32 +msgid "" +"Takes an API path and optional parameters and then issues GET request with them.\n" +"\n" +"Example:\n" +"# mgrctl api get user/getDetails login=test" msgstr "" -#: mgrctl/cmd/api/api.go:39 +#: mgrctl/cmd/api/api.go:43 msgid "Call API POST request" msgstr "" -#: mgrctl/cmd/api/api.go:40 -msgid "Takes an API path and parameters and then issues POST request with them. User and password are mandatory. Parameters can be either JSON encoded string or one or more key=value pairs." +#: mgrctl/cmd/api/api.go:44 +msgid "" +"Takes an API path and parameters and then issues POST request with them.\n" +"\n" +"Parameters can be either JSON encoded string or one or more key=value pairs.\n" +"\n" +"Key=Value pairs example:\n" +"# mgrctl api post user/create login=test password=testXX firstName=F lastName=L email=test@localhost\n" +"\n" +"JSON example:\n" +"# mgrctl api post user/create '{\"login\":\"test\", \"password\":\"testXX\", \"firstName\":\"F\", \"lastName\":\"L\", \"email\":\"test@localhost\"}'" +msgstr "" + +#: mgrctl/cmd/api/api.go:60 +msgid "Store login information for future API usage" +msgstr "" + +#: mgrctl/cmd/api/api.go:61 +msgid "" +"Login stores login information for next API calls.\n" +"\n" +"User name, password and remote host can be provided using flags or will be asked interactively.\n" +"Environment variables are also supported." +msgstr "" + +#: mgrctl/cmd/api/api.go:69 +msgid "Overwrite existing login if exists" msgstr "" -#: mgrctl/cmd/api/get.go:26 mgrctl/cmd/api/post.go:26 +#: mgrctl/cmd/api/api.go:73 +msgid "Remove stored login information" +msgstr "" + +#: mgrctl/cmd/api/api.go:74 +msgid "Logout removes stored login information." +msgstr "" + +#: mgrctl/cmd/api/get.go:28 mgrctl/cmd/api/post.go:28 msgid "unable to login to the server" msgstr "impossibile effettuare il login al server" -#: mgrctl/cmd/api/get.go:33 mgrctl/cmd/api/post.go:49 +#: mgrctl/cmd/api/get.go:35 mgrctl/cmd/api/post.go:51 #, javascript-format -msgid "error in query %s" +msgid "error in query '%s'" +msgstr "" + +#: mgrctl/cmd/api/login.go:23 +msgid "Refusing to overwrite existing login. Use --force to ignore this check." +msgstr "" + +#: mgrctl/cmd/api/login.go:35 +msgid "Failed to validate credentials." +msgstr "" + +#: mgrctl/cmd/api/login.go:41 +msgid "Login credentials verified." +msgstr "" + +#: mgrctl/cmd/api/login.go:51 +msgid "Successfully logged out" msgstr "" #: mgrctl/cmd/cmd.go:29 @@ -73,10 +126,6 @@ msgstr "Benvenuti su %s" msgid "Executing command: %s" msgstr "" -#: mgrctl/cmd/cmd.go:53 -msgid "Failed to create api command" -msgstr "" - #: mgrctl/cmd/cp/cp.go:29 msgid "Copy files to and from the containers" msgstr "" @@ -115,19 +164,19 @@ msgstr "" msgid "Stdin is a TTY" msgstr "" -#: mgrctl/cmd/exec/exec.go:98 +#: mgrctl/cmd/exec/exec.go:102 msgid "Command failed" msgstr "Comando non riuscito" -#: mgrctl/cmd/exec/exec.go:102 +#: mgrctl/cmd/exec/exec.go:106 msgid "Command returned with exit code 0" msgstr "" -#: mgrctl/cmd/exec/exec.go:116 +#: mgrctl/cmd/exec/exec.go:120 msgid "cannot write" msgstr "" -#: mgrctl/cmd/exec/exec.go:132 +#: mgrctl/cmd/exec/exec.go:136 #, javascript-format msgid "Running %s" msgstr "" diff --git a/locale/mgrctl/ja.po b/locale/mgrctl/ja.po index cf1d40db2..c46c94069 100644 --- a/locale/mgrctl/ja.po +++ b/locale/mgrctl/ja.po @@ -7,11 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-24 17:14+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: 2024-06-11 07:47+0000\n" "Last-Translator: Carina Hagl \n" -"Language-Team: Japanese \n" +"Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,35 +18,89 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.5.5\n" -#: mgrctl/cmd/api/api.go:25 +#: mgrctl/cmd/api/api.go:26 msgid "JSON over HTTP API helper tool" msgstr "JSON over HTTP APIヘルパーツール" -#: mgrctl/cmd/api/api.go:30 +#: mgrctl/cmd/api/api.go:31 msgid "Call API GET request" msgstr "API GET要求を呼び出す" -#: mgrctl/cmd/api/api.go:31 -msgid "Takes an API path and optional parameters and then issues GET request with them. If user and password are provided, calls login before API call" +#: mgrctl/cmd/api/api.go:32 +#, fuzzy +msgid "" +"Takes an API path and optional parameters and then issues GET request with them.\n" +"\n" +"Example:\n" +"# mgrctl api get user/getDetails login=test" msgstr "APIパスとオプションパラメータを受け取り、これらを使用してGET要求を発行します。ユーザとパスワードが指定された場合、APIコールの前にログインを呼び出します" -#: mgrctl/cmd/api/api.go:39 +#: mgrctl/cmd/api/api.go:43 msgid "Call API POST request" msgstr "API POST要求を呼び出す" -#: mgrctl/cmd/api/api.go:40 -msgid "Takes an API path and parameters and then issues POST request with them. User and password are mandatory. Parameters can be either JSON encoded string or one or more key=value pairs." -msgstr "APIパスとパラメータを受け取り、それらを使用してPOST要求を発行します。ユーザとパスワードは必須です。パラメータには、JSONでエンコードされた文字列か、1つ以上のkey=valueペアを指定できます。" +#: mgrctl/cmd/api/api.go:44 +msgid "" +"Takes an API path and parameters and then issues POST request with them.\n" +"\n" +"Parameters can be either JSON encoded string or one or more key=value pairs.\n" +"\n" +"Key=Value pairs example:\n" +"# mgrctl api post user/create login=test password=testXX firstName=F lastName=L email=test@localhost\n" +"\n" +"JSON example:\n" +"# mgrctl api post user/create '{\"login\":\"test\", \"password\":\"testXX\", \"firstName\":\"F\", \"lastName\":\"L\", \"email\":\"test@localhost\"}'" +msgstr "" + +#: mgrctl/cmd/api/api.go:60 +msgid "Store login information for future API usage" +msgstr "" + +#: mgrctl/cmd/api/api.go:61 +msgid "" +"Login stores login information for next API calls.\n" +"\n" +"User name, password and remote host can be provided using flags or will be asked interactively.\n" +"Environment variables are also supported." +msgstr "" + +#: mgrctl/cmd/api/api.go:69 +msgid "Overwrite existing login if exists" +msgstr "" + +#: mgrctl/cmd/api/api.go:73 +msgid "Remove stored login information" +msgstr "" + +#: mgrctl/cmd/api/api.go:74 +msgid "Logout removes stored login information." +msgstr "" -#: mgrctl/cmd/api/get.go:26 mgrctl/cmd/api/post.go:26 +#: mgrctl/cmd/api/get.go:28 mgrctl/cmd/api/post.go:28 msgid "unable to login to the server" msgstr "サーバにログインできません" -#: mgrctl/cmd/api/get.go:33 mgrctl/cmd/api/post.go:49 -#, javascript-format -msgid "error in query %s" +#: mgrctl/cmd/api/get.go:35 mgrctl/cmd/api/post.go:51 +#, fuzzy, javascript-format +msgid "error in query '%s'" msgstr "クエリ %s でエラーが発生しました" +#: mgrctl/cmd/api/login.go:23 +msgid "Refusing to overwrite existing login. Use --force to ignore this check." +msgstr "" + +#: mgrctl/cmd/api/login.go:35 +msgid "Failed to validate credentials." +msgstr "" + +#: mgrctl/cmd/api/login.go:41 +msgid "Login credentials verified." +msgstr "" + +#: mgrctl/cmd/api/login.go:51 +msgid "Successfully logged out" +msgstr "" + #: mgrctl/cmd/cmd.go:29 msgid "Uyuni control tool" msgstr "Uyuni制御ツール" @@ -74,10 +127,6 @@ msgstr "%s へようこそ" msgid "Executing command: %s" msgstr "コマンドの実行中: %s" -#: mgrctl/cmd/cmd.go:53 -msgid "Failed to create api command" -msgstr "apiコマンドの作成に失敗しました" - #: mgrctl/cmd/cp/cp.go:29 msgid "Copy files to and from the containers" msgstr "コンテナへのファイルのコピーとコンテナからのファイルのコピー" @@ -118,19 +167,19 @@ msgstr "コンテナにstdinを渡す" msgid "Stdin is a TTY" msgstr "StdinはTTYです" -#: mgrctl/cmd/exec/exec.go:98 +#: mgrctl/cmd/exec/exec.go:102 msgid "Command failed" msgstr "コマンドが失敗しました" -#: mgrctl/cmd/exec/exec.go:102 +#: mgrctl/cmd/exec/exec.go:106 msgid "Command returned with exit code 0" msgstr "コマンドは終了コード0で返されました" -#: mgrctl/cmd/exec/exec.go:116 +#: mgrctl/cmd/exec/exec.go:120 msgid "cannot write" msgstr "書き込めません" -#: mgrctl/cmd/exec/exec.go:132 +#: mgrctl/cmd/exec/exec.go:136 #, javascript-format msgid "Running %s" msgstr "%s を実行中" @@ -139,6 +188,12 @@ msgstr "%s を実行中" msgid "Run a terminal inside the server container" msgstr "サーバコンテナ内で端末を実行する" +#~ msgid "Takes an API path and parameters and then issues POST request with them. User and password are mandatory. Parameters can be either JSON encoded string or one or more key=value pairs." +#~ msgstr "APIパスとパラメータを受け取り、それらを使用してPOST要求を発行します。ユーザとパスワードは必須です。パラメータには、JSONでエンコードされた文字列か、1つ以上のkey=valueペアを指定できます。" + +#~ msgid "Failed to create api command" +#~ msgstr "apiコマンドの作成に失敗しました" + #~ msgid "Failed to create org command" #~ msgstr "orgコマンドの作成に失敗しました" diff --git a/locale/mgrctl/ko.po b/locale/mgrctl/ko.po index 55b3e4ca1..8357b3fa7 100644 --- a/locale/mgrctl/ko.po +++ b/locale/mgrctl/ko.po @@ -7,11 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-24 17:14+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: 2024-06-12 10:46+0000\n" "Last-Translator: Seeun Lee \n" -"Language-Team: Korean \n" +"Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,35 +18,89 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.5.5\n" -#: mgrctl/cmd/api/api.go:25 +#: mgrctl/cmd/api/api.go:26 msgid "JSON over HTTP API helper tool" msgstr "JSON over HTTP API 헬퍼 도구" -#: mgrctl/cmd/api/api.go:30 +#: mgrctl/cmd/api/api.go:31 msgid "Call API GET request" msgstr "API GET 요청 호출" -#: mgrctl/cmd/api/api.go:31 -msgid "Takes an API path and optional parameters and then issues GET request with them. If user and password are provided, calls login before API call" +#: mgrctl/cmd/api/api.go:32 +#, fuzzy +msgid "" +"Takes an API path and optional parameters and then issues GET request with them.\n" +"\n" +"Example:\n" +"# mgrctl api get user/getDetails login=test" msgstr "API 경로와 선택 사항 파라미터를 가져온 다음 이를 사용하여 GET 요청을 발급합니다. 사용자 및 비밀번호가 제공된 경우 API를 호출하기 전 로그인을 호출합니다." -#: mgrctl/cmd/api/api.go:39 +#: mgrctl/cmd/api/api.go:43 msgid "Call API POST request" msgstr "API POST 요청 호출" -#: mgrctl/cmd/api/api.go:40 -msgid "Takes an API path and parameters and then issues POST request with them. User and password are mandatory. Parameters can be either JSON encoded string or one or more key=value pairs." -msgstr "API 경로와 파라미터를 받은 가져온 이를 사용하여 POST 요청을 발급합니다. 사용자 및 비밀번호는 필수입니다. 파라미터는 JSON 인코딩된 문자열 또는 하나 이상의 키=값 쌍일 수 있습니다." +#: mgrctl/cmd/api/api.go:44 +msgid "" +"Takes an API path and parameters and then issues POST request with them.\n" +"\n" +"Parameters can be either JSON encoded string or one or more key=value pairs.\n" +"\n" +"Key=Value pairs example:\n" +"# mgrctl api post user/create login=test password=testXX firstName=F lastName=L email=test@localhost\n" +"\n" +"JSON example:\n" +"# mgrctl api post user/create '{\"login\":\"test\", \"password\":\"testXX\", \"firstName\":\"F\", \"lastName\":\"L\", \"email\":\"test@localhost\"}'" +msgstr "" + +#: mgrctl/cmd/api/api.go:60 +msgid "Store login information for future API usage" +msgstr "" + +#: mgrctl/cmd/api/api.go:61 +msgid "" +"Login stores login information for next API calls.\n" +"\n" +"User name, password and remote host can be provided using flags or will be asked interactively.\n" +"Environment variables are also supported." +msgstr "" + +#: mgrctl/cmd/api/api.go:69 +msgid "Overwrite existing login if exists" +msgstr "" + +#: mgrctl/cmd/api/api.go:73 +msgid "Remove stored login information" +msgstr "" + +#: mgrctl/cmd/api/api.go:74 +msgid "Logout removes stored login information." +msgstr "" -#: mgrctl/cmd/api/get.go:26 mgrctl/cmd/api/post.go:26 +#: mgrctl/cmd/api/get.go:28 mgrctl/cmd/api/post.go:28 msgid "unable to login to the server" msgstr "서버에 로그인할 수 없음" -#: mgrctl/cmd/api/get.go:33 mgrctl/cmd/api/post.go:49 -#, javascript-format -msgid "error in query %s" +#: mgrctl/cmd/api/get.go:35 mgrctl/cmd/api/post.go:51 +#, fuzzy, javascript-format +msgid "error in query '%s'" msgstr "%s 쿼리의 오류" +#: mgrctl/cmd/api/login.go:23 +msgid "Refusing to overwrite existing login. Use --force to ignore this check." +msgstr "" + +#: mgrctl/cmd/api/login.go:35 +msgid "Failed to validate credentials." +msgstr "" + +#: mgrctl/cmd/api/login.go:41 +msgid "Login credentials verified." +msgstr "" + +#: mgrctl/cmd/api/login.go:51 +msgid "Successfully logged out" +msgstr "" + #: mgrctl/cmd/cmd.go:29 msgid "Uyuni control tool" msgstr "Uyuni 제어 도구" @@ -74,10 +127,6 @@ msgstr "%s 시작" msgid "Executing command: %s" msgstr "실행 중 명령: %s" -#: mgrctl/cmd/cmd.go:53 -msgid "Failed to create api command" -msgstr "API 명령을 생성하지 못했습니다." - #: mgrctl/cmd/cp/cp.go:29 msgid "Copy files to and from the containers" msgstr "컨테이너에 파일 복사" @@ -118,19 +167,19 @@ msgstr "컨테이너에 stdin을 전달합니다." msgid "Stdin is a TTY" msgstr "Stdin은 TTY입니다." -#: mgrctl/cmd/exec/exec.go:98 +#: mgrctl/cmd/exec/exec.go:102 msgid "Command failed" msgstr "명령 실패" -#: mgrctl/cmd/exec/exec.go:102 +#: mgrctl/cmd/exec/exec.go:106 msgid "Command returned with exit code 0" msgstr "종료 코드 0으로 반환된 명령" -#: mgrctl/cmd/exec/exec.go:116 +#: mgrctl/cmd/exec/exec.go:120 msgid "cannot write" msgstr "쓸 수 없음" -#: mgrctl/cmd/exec/exec.go:132 +#: mgrctl/cmd/exec/exec.go:136 #, javascript-format msgid "Running %s" msgstr "%s 실행 중" @@ -139,6 +188,12 @@ msgstr "%s 실행 중" msgid "Run a terminal inside the server container" msgstr "서버 컨테이너 내에서 터미널 실행" +#~ msgid "Takes an API path and parameters and then issues POST request with them. User and password are mandatory. Parameters can be either JSON encoded string or one or more key=value pairs." +#~ msgstr "API 경로와 파라미터를 받은 가져온 이를 사용하여 POST 요청을 발급합니다. 사용자 및 비밀번호는 필수입니다. 파라미터는 JSON 인코딩된 문자열 또는 하나 이상의 키=값 쌍일 수 있습니다." + +#~ msgid "Failed to create api command" +#~ msgstr "API 명령을 생성하지 못했습니다." + #~ msgid "Failed to create org command" #~ msgstr "org 명령을 생성하지 못했습니다." diff --git a/locale/mgrctl/mgrctl.pot b/locale/mgrctl/mgrctl.pot index 3a80752a3..ad28788fa 100644 --- a/locale/mgrctl/mgrctl.pot +++ b/locale/mgrctl/mgrctl.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,33 +17,86 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: mgrctl/cmd/api/api.go:25 +#: mgrctl/cmd/api/api.go:26 msgid "JSON over HTTP API helper tool" msgstr "" -#: mgrctl/cmd/api/api.go:30 +#: mgrctl/cmd/api/api.go:31 msgid "Call API GET request" msgstr "" -#: mgrctl/cmd/api/api.go:31 -msgid "Takes an API path and optional parameters and then issues GET request with them. If user and password are provided, calls login before API call" +#: mgrctl/cmd/api/api.go:32 +msgid "" +"Takes an API path and optional parameters and then issues GET request with them.\n" +"\n" +"Example:\n" +"# mgrctl api get user/getDetails login=test" msgstr "" -#: mgrctl/cmd/api/api.go:39 +#: mgrctl/cmd/api/api.go:43 msgid "Call API POST request" msgstr "" -#: mgrctl/cmd/api/api.go:40 -msgid "Takes an API path and parameters and then issues POST request with them. User and password are mandatory. Parameters can be either JSON encoded string or one or more key=value pairs." +#: mgrctl/cmd/api/api.go:44 +msgid "" +"Takes an API path and parameters and then issues POST request with them.\n" +"\n" +"Parameters can be either JSON encoded string or one or more key=value pairs.\n" +"\n" +"Key=Value pairs example:\n" +"# mgrctl api post user/create login=test password=testXX firstName=F lastName=L email=test@localhost\n" +"\n" +"JSON example:\n" +"# mgrctl api post user/create '{\"login\":\"test\", \"password\":\"testXX\", \"firstName\":\"F\", \"lastName\":\"L\", \"email\":\"test@localhost\"}'" +msgstr "" + +#: mgrctl/cmd/api/api.go:60 +msgid "Store login information for future API usage" +msgstr "" + +#: mgrctl/cmd/api/api.go:61 +msgid "" +"Login stores login information for next API calls.\n" +"\n" +"User name, password and remote host can be provided using flags or will be asked interactively.\n" +"Environment variables are also supported." +msgstr "" + +#: mgrctl/cmd/api/api.go:69 +msgid "Overwrite existing login if exists" msgstr "" -#: mgrctl/cmd/api/get.go:26 mgrctl/cmd/api/post.go:26 +#: mgrctl/cmd/api/api.go:73 +msgid "Remove stored login information" +msgstr "" + +#: mgrctl/cmd/api/api.go:74 +msgid "Logout removes stored login information." +msgstr "" + +#: mgrctl/cmd/api/get.go:28 mgrctl/cmd/api/post.go:28 msgid "unable to login to the server" msgstr "" -#: mgrctl/cmd/api/get.go:33 mgrctl/cmd/api/post.go:49 +#: mgrctl/cmd/api/get.go:35 mgrctl/cmd/api/post.go:51 #, javascript-format -msgid "error in query %s" +msgid "error in query '%s'" +msgstr "" + +#: mgrctl/cmd/api/login.go:23 +msgid "Refusing to overwrite existing login. Use --force to ignore this check." +msgstr "" + +#: mgrctl/cmd/api/login.go:35 +msgid "Failed to validate credentials." +msgstr "" + +#: mgrctl/cmd/api/login.go:41 +msgid "Login credentials verified." +msgstr "" + +#: mgrctl/cmd/api/login.go:51 +msgid "Successfully logged out" msgstr "" #: mgrctl/cmd/cmd.go:29 @@ -72,10 +125,6 @@ msgstr "" msgid "Executing command: %s" msgstr "" -#: mgrctl/cmd/cmd.go:53 -msgid "Failed to create api command" -msgstr "" - #: mgrctl/cmd/cp/cp.go:29 msgid "Copy files to and from the containers" msgstr "" @@ -114,19 +163,19 @@ msgstr "" msgid "Stdin is a TTY" msgstr "" -#: mgrctl/cmd/exec/exec.go:98 +#: mgrctl/cmd/exec/exec.go:102 msgid "Command failed" msgstr "" -#: mgrctl/cmd/exec/exec.go:102 +#: mgrctl/cmd/exec/exec.go:106 msgid "Command returned with exit code 0" msgstr "" -#: mgrctl/cmd/exec/exec.go:116 +#: mgrctl/cmd/exec/exec.go:120 msgid "cannot write" msgstr "" -#: mgrctl/cmd/exec/exec.go:132 +#: mgrctl/cmd/exec/exec.go:136 #, javascript-format msgid "Running %s" msgstr "" diff --git a/locale/mgrctl/zh_CN.po b/locale/mgrctl/zh_CN.po index cd2fb4691..ac383cbda 100644 --- a/locale/mgrctl/zh_CN.po +++ b/locale/mgrctl/zh_CN.po @@ -7,11 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-24 17:14+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: 2024-06-11 07:46+0000\n" "Last-Translator: Grace Yu \n" -"Language-Team: Chinese (China) \n" +"Language-Team: Chinese (China) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,35 +18,89 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.5.5\n" -#: mgrctl/cmd/api/api.go:25 +#: mgrctl/cmd/api/api.go:26 msgid "JSON over HTTP API helper tool" msgstr "JSON over HTTP API 助手工具" -#: mgrctl/cmd/api/api.go:30 +#: mgrctl/cmd/api/api.go:31 msgid "Call API GET request" msgstr "Call API GET 请求" -#: mgrctl/cmd/api/api.go:31 -msgid "Takes an API path and optional parameters and then issues GET request with them. If user and password are provided, calls login before API call" +#: mgrctl/cmd/api/api.go:32 +#, fuzzy +msgid "" +"Takes an API path and optional parameters and then issues GET request with them.\n" +"\n" +"Example:\n" +"# mgrctl api get user/getDetails login=test" msgstr "接受 API 路径和可选参数,然后使用它们发出 GET 请求。如果提供了用户和口令,则会在调用 API 之前调用登录" -#: mgrctl/cmd/api/api.go:39 +#: mgrctl/cmd/api/api.go:43 msgid "Call API POST request" msgstr "Call API POST 请求" -#: mgrctl/cmd/api/api.go:40 -msgid "Takes an API path and parameters and then issues POST request with them. User and password are mandatory. Parameters can be either JSON encoded string or one or more key=value pairs." -msgstr "接受 API 路径和其他参数,然后使用它们发出 POST 请求。必须提供用户和口令。参数可以是 JSON 编码的字符串或一个或多个键值对。" +#: mgrctl/cmd/api/api.go:44 +msgid "" +"Takes an API path and parameters and then issues POST request with them.\n" +"\n" +"Parameters can be either JSON encoded string or one or more key=value pairs.\n" +"\n" +"Key=Value pairs example:\n" +"# mgrctl api post user/create login=test password=testXX firstName=F lastName=L email=test@localhost\n" +"\n" +"JSON example:\n" +"# mgrctl api post user/create '{\"login\":\"test\", \"password\":\"testXX\", \"firstName\":\"F\", \"lastName\":\"L\", \"email\":\"test@localhost\"}'" +msgstr "" + +#: mgrctl/cmd/api/api.go:60 +msgid "Store login information for future API usage" +msgstr "" + +#: mgrctl/cmd/api/api.go:61 +msgid "" +"Login stores login information for next API calls.\n" +"\n" +"User name, password and remote host can be provided using flags or will be asked interactively.\n" +"Environment variables are also supported." +msgstr "" + +#: mgrctl/cmd/api/api.go:69 +msgid "Overwrite existing login if exists" +msgstr "" + +#: mgrctl/cmd/api/api.go:73 +msgid "Remove stored login information" +msgstr "" + +#: mgrctl/cmd/api/api.go:74 +msgid "Logout removes stored login information." +msgstr "" -#: mgrctl/cmd/api/get.go:26 mgrctl/cmd/api/post.go:26 +#: mgrctl/cmd/api/get.go:28 mgrctl/cmd/api/post.go:28 msgid "unable to login to the server" msgstr "无法登录到服务器" -#: mgrctl/cmd/api/get.go:33 mgrctl/cmd/api/post.go:49 -#, javascript-format -msgid "error in query %s" +#: mgrctl/cmd/api/get.go:35 mgrctl/cmd/api/post.go:51 +#, fuzzy, javascript-format +msgid "error in query '%s'" msgstr "查询 %s 中存在错误" +#: mgrctl/cmd/api/login.go:23 +msgid "Refusing to overwrite existing login. Use --force to ignore this check." +msgstr "" + +#: mgrctl/cmd/api/login.go:35 +msgid "Failed to validate credentials." +msgstr "" + +#: mgrctl/cmd/api/login.go:41 +msgid "Login credentials verified." +msgstr "" + +#: mgrctl/cmd/api/login.go:51 +msgid "Successfully logged out" +msgstr "" + #: mgrctl/cmd/cmd.go:29 msgid "Uyuni control tool" msgstr "Uyuni 控制工具" @@ -74,10 +127,6 @@ msgstr "欢迎使用 %s" msgid "Executing command: %s" msgstr "正在执行命令:%s" -#: mgrctl/cmd/cmd.go:53 -msgid "Failed to create api command" -msgstr "无法创建 api 命令" - #: mgrctl/cmd/cp/cp.go:29 msgid "Copy files to and from the containers" msgstr "将文件复制到容器以及从中复制文件" @@ -118,19 +167,19 @@ msgstr "将 stdin 传递给容器" msgid "Stdin is a TTY" msgstr "Stdin 为 TTY" -#: mgrctl/cmd/exec/exec.go:98 +#: mgrctl/cmd/exec/exec.go:102 msgid "Command failed" msgstr "命令失败" -#: mgrctl/cmd/exec/exec.go:102 +#: mgrctl/cmd/exec/exec.go:106 msgid "Command returned with exit code 0" msgstr "命令返回退出码 0" -#: mgrctl/cmd/exec/exec.go:116 +#: mgrctl/cmd/exec/exec.go:120 msgid "cannot write" msgstr "无法写入" -#: mgrctl/cmd/exec/exec.go:132 +#: mgrctl/cmd/exec/exec.go:136 #, javascript-format msgid "Running %s" msgstr "正在运行 %s" @@ -139,6 +188,12 @@ msgstr "正在运行 %s" msgid "Run a terminal inside the server container" msgstr "在服务器容器内运行终端" +#~ msgid "Takes an API path and parameters and then issues POST request with them. User and password are mandatory. Parameters can be either JSON encoded string or one or more key=value pairs." +#~ msgstr "接受 API 路径和其他参数,然后使用它们发出 POST 请求。必须提供用户和口令。参数可以是 JSON 编码的字符串或一个或多个键值对。" + +#~ msgid "Failed to create api command" +#~ msgstr "无法创建 api 命令" + #~ msgid "Failed to create org command" #~ msgstr "无法创建 org 命令" diff --git a/locale/mgrpxy/de.po b/locale/mgrpxy/de.po index 2f408f7e2..def3fb313 100644 --- a/locale/mgrpxy/de.po +++ b/locale/mgrpxy/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: 2024-07-18 11:46+0000\n" "Last-Translator: Ettore Atalan \n" "Language-Team: German \n" @@ -22,11 +22,16 @@ msgstr "" msgid "Clear the cache" msgstr "" -#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/cache/podman.go:25 +#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/restart/kubernetes.go:25 +#: mgrpxy/cmd/start/kubernetes.go:25 mgrpxy/cmd/stop/kubernetes.go:25 +msgid "failed retrieving namespace" +msgstr "" + +#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:25 msgid "failed to remove cached data" msgstr "" -#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:29 +#: mgrpxy/cmd/cache/kubernetes.go:33 mgrpxy/cmd/cache/podman.go:29 msgid "failed to re-create the cache directories" msgstr "" @@ -76,10 +81,6 @@ msgstr "" msgid "Install a new proxy from scratch" msgstr "" -#: mgrpxy/cmd/install/install.go:23 mgrpxy/cmd/upgrade/upgrade.go:23 -msgid "specify a private registry" -msgstr "" - #: mgrpxy/cmd/install/kubernetes/kubernetes.go:25 msgid "Install a new proxy on a running kubernetes cluster" msgstr "" @@ -103,7 +104,7 @@ msgid "install %s before running this command" msgstr "" #: mgrpxy/cmd/install/kubernetes/utils.go:35 -#: mgrpxy/cmd/support/config/extractor.go:22 +#: mgrpxy/cmd/support/config/extractor.go:23 #: mgrpxy/shared/kubernetes/deploy.go:159 msgid "failed to create temporary directory" msgstr "" @@ -113,7 +114,7 @@ msgid "failed to extract configuration" msgstr "" #: mgrpxy/cmd/install/kubernetes/utils.go:62 -#: mgrpxy/shared/kubernetes/deploy.go:184 +#: mgrpxy/shared/kubernetes/deploy.go:189 msgid "cannot deploy proxy helm chart" msgstr "" @@ -133,7 +134,7 @@ msgid "" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" -#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:214 +#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:217 msgid "install podman before running this command" msgstr "" @@ -142,10 +143,18 @@ msgstr "" msgid "failed to extract proxy config from %s file" msgstr "" -#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:227 +#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:230 msgid "failed to login to registry.suse.com" msgstr "" +#: mgrpxy/cmd/logs/kubernetes.go:29 +msgid "failed to find proxy pod" +msgstr "" + +#: mgrpxy/cmd/logs/kubernetes.go:33 +msgid "failed to find proxy deployment namespace" +msgstr "" + #: mgrpxy/cmd/logs/logs.go:36 msgid "Get the proxy logs" msgstr "" @@ -258,7 +267,7 @@ msgid "" "Install a PTF or Test package on podman\n" "\n" "The support ptf podman command assumes podman is installed locally and\n" -"the host machine is register to SCC.\n" +"the host machine is registered to SCC.\n" "\n" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" @@ -275,27 +284,27 @@ msgstr "" msgid "user flag cannot be empty" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:54 +#: mgrpxy/cmd/support/ptf/podman/utils.go:56 #, javascript-format msgid "The httpd ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:64 +#: mgrpxy/cmd/support/ptf/podman/utils.go:66 #, javascript-format msgid "The ssh ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:74 +#: mgrpxy/cmd/support/ptf/podman/utils.go:76 #, javascript-format msgid "The tftpd ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:84 +#: mgrpxy/cmd/support/ptf/podman/utils.go:86 #, javascript-format msgid "The salt-broker ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:94 +#: mgrpxy/cmd/support/ptf/podman/utils.go:96 #, javascript-format msgid "The squid ptf image computed is: %s" msgstr "" @@ -429,57 +438,57 @@ msgstr "" msgid "failed to write in file %s" msgstr "" -#: mgrpxy/shared/podman/podman.go:35 +#: mgrpxy/shared/podman/podman.go:37 msgid "cannot setup network" msgstr "" -#: mgrpxy/shared/podman/podman.go:38 +#: mgrpxy/shared/podman/podman.go:40 msgid "Generating systemd services" msgstr "" -#: mgrpxy/shared/podman/podman.go:130 +#: mgrpxy/shared/podman/podman.go:133 #, javascript-format msgid "failed to generate systemd file '%s'" msgstr "" -#: mgrpxy/shared/podman/podman.go:136 +#: mgrpxy/shared/podman/podman.go:139 msgid "cannot generate systemd conf file" msgstr "" -#: mgrpxy/shared/podman/podman.go:142 +#: mgrpxy/shared/podman/podman.go:145 msgid "cannot generate systemd conf user configuration file" msgstr "" -#: mgrpxy/shared/podman/podman.go:172 +#: mgrpxy/shared/podman/podman.go:175 #, javascript-format msgid "Setting up proxy with configuration %s" msgstr "" -#: mgrpxy/shared/podman/podman.go:190 +#: mgrpxy/shared/podman/podman.go:193 msgid "/etc/uyuni/proxy directory has no read and write permissions for all users. Check your umask settings." msgstr "" -#: mgrpxy/shared/podman/podman.go:205 +#: mgrpxy/shared/podman/podman.go:208 msgid "/etc/uyuni/proxy/config.yaml has no read permissions for all users. Check your umask settings." msgstr "" -#: mgrpxy/shared/podman/podman.go:233 +#: mgrpxy/shared/podman/podman.go:236 msgid "cannot find httpd image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:237 +#: mgrpxy/shared/podman/podman.go:240 msgid "cannot find salt-broker image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:241 +#: mgrpxy/shared/podman/podman.go:244 msgid "cannot find squid image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:245 +#: mgrpxy/shared/podman/podman.go:248 msgid "cannot find ssh image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:249 +#: mgrpxy/shared/podman/podman.go:252 msgid "cannot find tftpd image: it will no be upgraded" msgstr "" @@ -498,23 +507,35 @@ msgid "failed to compute image URL" msgstr "" #: mgrpxy/shared/utils/flags.go:64 +msgid "SUSE Customer Center username. It will be used to pull images from registry.suse.com" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:65 +msgid "SUSE Customer Center password. It will be used to pull images from registry.suse.com" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:67 +msgid "SUSE Customer Center Flags" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:74 msgid "image tag" msgstr "" -#: mgrpxy/shared/utils/flags.go:73 +#: mgrpxy/shared/utils/flags.go:83 msgid "HTTPD tuning configuration file" msgstr "" -#: mgrpxy/shared/utils/flags.go:74 +#: mgrpxy/shared/utils/flags.go:84 msgid "Squid tuning configuration file" msgstr "" -#: mgrpxy/shared/utils/flags.go:80 +#: mgrpxy/shared/utils/flags.go:90 #, javascript-format msgid "Image for %s container" msgstr "" -#: mgrpxy/shared/utils/flags.go:82 +#: mgrpxy/shared/utils/flags.go:92 #, javascript-format msgid "Tag for %s container, overrides the global value if set" msgstr "" diff --git a/locale/mgrpxy/es.po b/locale/mgrpxy/es.po index a9a20847b..19921135b 100644 --- a/locale/mgrpxy/es.po +++ b/locale/mgrpxy/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -20,11 +20,16 @@ msgstr "" msgid "Clear the cache" msgstr "" -#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/cache/podman.go:25 +#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/restart/kubernetes.go:25 +#: mgrpxy/cmd/start/kubernetes.go:25 mgrpxy/cmd/stop/kubernetes.go:25 +msgid "failed retrieving namespace" +msgstr "" + +#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:25 msgid "failed to remove cached data" msgstr "" -#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:29 +#: mgrpxy/cmd/cache/kubernetes.go:33 mgrpxy/cmd/cache/podman.go:29 msgid "failed to re-create the cache directories" msgstr "" @@ -74,10 +79,6 @@ msgstr "" msgid "Install a new proxy from scratch" msgstr "" -#: mgrpxy/cmd/install/install.go:23 mgrpxy/cmd/upgrade/upgrade.go:23 -msgid "specify a private registry" -msgstr "" - #: mgrpxy/cmd/install/kubernetes/kubernetes.go:25 msgid "Install a new proxy on a running kubernetes cluster" msgstr "" @@ -101,7 +102,7 @@ msgid "install %s before running this command" msgstr "" #: mgrpxy/cmd/install/kubernetes/utils.go:35 -#: mgrpxy/cmd/support/config/extractor.go:22 +#: mgrpxy/cmd/support/config/extractor.go:23 #: mgrpxy/shared/kubernetes/deploy.go:159 msgid "failed to create temporary directory" msgstr "" @@ -111,7 +112,7 @@ msgid "failed to extract configuration" msgstr "" #: mgrpxy/cmd/install/kubernetes/utils.go:62 -#: mgrpxy/shared/kubernetes/deploy.go:184 +#: mgrpxy/shared/kubernetes/deploy.go:189 msgid "cannot deploy proxy helm chart" msgstr "" @@ -131,7 +132,7 @@ msgid "" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" -#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:214 +#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:217 msgid "install podman before running this command" msgstr "" @@ -140,10 +141,18 @@ msgstr "" msgid "failed to extract proxy config from %s file" msgstr "" -#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:227 +#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:230 msgid "failed to login to registry.suse.com" msgstr "" +#: mgrpxy/cmd/logs/kubernetes.go:29 +msgid "failed to find proxy pod" +msgstr "" + +#: mgrpxy/cmd/logs/kubernetes.go:33 +msgid "failed to find proxy deployment namespace" +msgstr "" + #: mgrpxy/cmd/logs/logs.go:36 msgid "Get the proxy logs" msgstr "" @@ -256,7 +265,7 @@ msgid "" "Install a PTF or Test package on podman\n" "\n" "The support ptf podman command assumes podman is installed locally and\n" -"the host machine is register to SCC.\n" +"the host machine is registered to SCC.\n" "\n" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" @@ -273,27 +282,27 @@ msgstr "" msgid "user flag cannot be empty" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:54 +#: mgrpxy/cmd/support/ptf/podman/utils.go:56 #, javascript-format msgid "The httpd ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:64 +#: mgrpxy/cmd/support/ptf/podman/utils.go:66 #, javascript-format msgid "The ssh ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:74 +#: mgrpxy/cmd/support/ptf/podman/utils.go:76 #, javascript-format msgid "The tftpd ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:84 +#: mgrpxy/cmd/support/ptf/podman/utils.go:86 #, javascript-format msgid "The salt-broker ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:94 +#: mgrpxy/cmd/support/ptf/podman/utils.go:96 #, javascript-format msgid "The squid ptf image computed is: %s" msgstr "" @@ -427,57 +436,57 @@ msgstr "" msgid "failed to write in file %s" msgstr "" -#: mgrpxy/shared/podman/podman.go:35 +#: mgrpxy/shared/podman/podman.go:37 msgid "cannot setup network" msgstr "" -#: mgrpxy/shared/podman/podman.go:38 +#: mgrpxy/shared/podman/podman.go:40 msgid "Generating systemd services" msgstr "" -#: mgrpxy/shared/podman/podman.go:130 +#: mgrpxy/shared/podman/podman.go:133 #, javascript-format msgid "failed to generate systemd file '%s'" msgstr "" -#: mgrpxy/shared/podman/podman.go:136 +#: mgrpxy/shared/podman/podman.go:139 msgid "cannot generate systemd conf file" msgstr "" -#: mgrpxy/shared/podman/podman.go:142 +#: mgrpxy/shared/podman/podman.go:145 msgid "cannot generate systemd conf user configuration file" msgstr "" -#: mgrpxy/shared/podman/podman.go:172 +#: mgrpxy/shared/podman/podman.go:175 #, javascript-format msgid "Setting up proxy with configuration %s" msgstr "" -#: mgrpxy/shared/podman/podman.go:190 +#: mgrpxy/shared/podman/podman.go:193 msgid "/etc/uyuni/proxy directory has no read and write permissions for all users. Check your umask settings." msgstr "" -#: mgrpxy/shared/podman/podman.go:205 +#: mgrpxy/shared/podman/podman.go:208 msgid "/etc/uyuni/proxy/config.yaml has no read permissions for all users. Check your umask settings." msgstr "" -#: mgrpxy/shared/podman/podman.go:233 +#: mgrpxy/shared/podman/podman.go:236 msgid "cannot find httpd image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:237 +#: mgrpxy/shared/podman/podman.go:240 msgid "cannot find salt-broker image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:241 +#: mgrpxy/shared/podman/podman.go:244 msgid "cannot find squid image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:245 +#: mgrpxy/shared/podman/podman.go:248 msgid "cannot find ssh image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:249 +#: mgrpxy/shared/podman/podman.go:252 msgid "cannot find tftpd image: it will no be upgraded" msgstr "" @@ -496,23 +505,35 @@ msgid "failed to compute image URL" msgstr "" #: mgrpxy/shared/utils/flags.go:64 +msgid "SUSE Customer Center username. It will be used to pull images from registry.suse.com" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:65 +msgid "SUSE Customer Center password. It will be used to pull images from registry.suse.com" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:67 +msgid "SUSE Customer Center Flags" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:74 msgid "image tag" msgstr "" -#: mgrpxy/shared/utils/flags.go:73 +#: mgrpxy/shared/utils/flags.go:83 msgid "HTTPD tuning configuration file" msgstr "" -#: mgrpxy/shared/utils/flags.go:74 +#: mgrpxy/shared/utils/flags.go:84 msgid "Squid tuning configuration file" msgstr "" -#: mgrpxy/shared/utils/flags.go:80 +#: mgrpxy/shared/utils/flags.go:90 #, javascript-format msgid "Image for %s container" msgstr "" -#: mgrpxy/shared/utils/flags.go:82 +#: mgrpxy/shared/utils/flags.go:92 #, javascript-format msgid "Tag for %s container, overrides the global value if set" msgstr "" diff --git a/locale/mgrpxy/fr.po b/locale/mgrpxy/fr.po index eb88f4bb5..e0ee0b837 100644 --- a/locale/mgrpxy/fr.po +++ b/locale/mgrpxy/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: 2024-04-08 11:17+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -22,11 +22,17 @@ msgstr "" msgid "Clear the cache" msgstr "" -#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/cache/podman.go:25 +#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/restart/kubernetes.go:25 +#: mgrpxy/cmd/start/kubernetes.go:25 mgrpxy/cmd/stop/kubernetes.go:25 +#, fuzzy +msgid "failed retrieving namespace" +msgstr "impossible de générer le fichier systemd: %s" + +#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:25 msgid "failed to remove cached data" msgstr "" -#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:29 +#: mgrpxy/cmd/cache/kubernetes.go:33 mgrpxy/cmd/cache/podman.go:29 #, fuzzy msgid "failed to re-create the cache directories" msgstr "impossible de créer le répertoire temporaire: %s" @@ -78,10 +84,6 @@ msgstr "niveau de verbosité de l'application" msgid "Install a new proxy from scratch" msgstr "Installer un nouveau proxy" -#: mgrpxy/cmd/install/install.go:23 mgrpxy/cmd/upgrade/upgrade.go:23 -msgid "specify a private registry" -msgstr "" - #: mgrpxy/cmd/install/kubernetes/kubernetes.go:25 msgid "Install a new proxy on a running kubernetes cluster" msgstr "Installer un nouveau proxy sur un cluster kubernetes existant" @@ -113,7 +115,7 @@ msgid "install %s before running this command" msgstr "installer %s avant d'exécuter cette commande" #: mgrpxy/cmd/install/kubernetes/utils.go:35 -#: mgrpxy/cmd/support/config/extractor.go:22 +#: mgrpxy/cmd/support/config/extractor.go:23 #: mgrpxy/shared/kubernetes/deploy.go:159 #, fuzzy msgid "failed to create temporary directory" @@ -124,7 +126,7 @@ msgid "failed to extract configuration" msgstr "impossible d'extraire la configuration" #: mgrpxy/cmd/install/kubernetes/utils.go:62 -#: mgrpxy/shared/kubernetes/deploy.go:184 +#: mgrpxy/shared/kubernetes/deploy.go:189 #, fuzzy msgid "cannot deploy proxy helm chart" msgstr "impossible de déployer le helm chart du proxy: %s" @@ -153,7 +155,7 @@ msgstr "" "\n" "NOTE: pour l'instant l'installation sur un podman distant n'est pas supportée!\n" -#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:214 +#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:217 msgid "install podman before running this command" msgstr "installer podman avant d'exécuter cette commande" @@ -162,10 +164,20 @@ msgstr "installer podman avant d'exécuter cette commande" msgid "failed to extract proxy config from %s file" msgstr "impossible d'extraire la configuration du proxy du fichier %s: %s" -#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:227 +#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:230 msgid "failed to login to registry.suse.com" msgstr "" +#: mgrpxy/cmd/logs/kubernetes.go:29 +#, fuzzy +msgid "failed to find proxy pod" +msgstr "impossible de trouver le namespace du déploiement de uyuni-proxy: %s" + +#: mgrpxy/cmd/logs/kubernetes.go:33 +#, fuzzy +msgid "failed to find proxy deployment namespace" +msgstr "impossible de trouver le namespace du déploiement de uyuni-proxy: %s" + #: mgrpxy/cmd/logs/logs.go:36 #, fuzzy msgid "Get the proxy logs" @@ -285,7 +297,7 @@ msgid "" "Install a PTF or Test package on podman\n" "\n" "The support ptf podman command assumes podman is installed locally and\n" -"the host machine is register to SCC.\n" +"the host machine is registered to SCC.\n" "\n" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" @@ -310,27 +322,27 @@ msgstr "" msgid "user flag cannot be empty" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:54 +#: mgrpxy/cmd/support/ptf/podman/utils.go:56 #, javascript-format msgid "The httpd ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:64 +#: mgrpxy/cmd/support/ptf/podman/utils.go:66 #, javascript-format msgid "The ssh ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:74 +#: mgrpxy/cmd/support/ptf/podman/utils.go:76 #, javascript-format msgid "The tftpd ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:84 +#: mgrpxy/cmd/support/ptf/podman/utils.go:86 #, javascript-format msgid "The salt-broker ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:94 +#: mgrpxy/cmd/support/ptf/podman/utils.go:96 #, javascript-format msgid "The squid ptf image computed is: %s" msgstr "" @@ -490,60 +502,60 @@ msgstr "impossible d'exécuter helm upgrade: %s" msgid "failed to write in file %s" msgstr "impossible de générer le fichier systemd: %s" -#: mgrpxy/shared/podman/podman.go:35 +#: mgrpxy/shared/podman/podman.go:37 #, fuzzy msgid "cannot setup network" msgstr "impossible de configurer le réseau: %s" -#: mgrpxy/shared/podman/podman.go:38 +#: mgrpxy/shared/podman/podman.go:40 msgid "Generating systemd services" msgstr "Génération de services systemd" -#: mgrpxy/shared/podman/podman.go:130 +#: mgrpxy/shared/podman/podman.go:133 #, fuzzy, javascript-format msgid "failed to generate systemd file '%s'" msgstr "impossible de générer le fichier systemd: %s" -#: mgrpxy/shared/podman/podman.go:136 +#: mgrpxy/shared/podman/podman.go:139 #, fuzzy msgid "cannot generate systemd conf file" msgstr "impossible de générer le fichier systemd: %s" -#: mgrpxy/shared/podman/podman.go:142 +#: mgrpxy/shared/podman/podman.go:145 #, fuzzy msgid "cannot generate systemd conf user configuration file" msgstr "impossible de générer le fichier systemd: %s" -#: mgrpxy/shared/podman/podman.go:172 +#: mgrpxy/shared/podman/podman.go:175 #, javascript-format msgid "Setting up proxy with configuration %s" msgstr "Installation du proxy avec la configuration %s" -#: mgrpxy/shared/podman/podman.go:190 +#: mgrpxy/shared/podman/podman.go:193 msgid "/etc/uyuni/proxy directory has no read and write permissions for all users. Check your umask settings." msgstr "" -#: mgrpxy/shared/podman/podman.go:205 +#: mgrpxy/shared/podman/podman.go:208 msgid "/etc/uyuni/proxy/config.yaml has no read permissions for all users. Check your umask settings." msgstr "" -#: mgrpxy/shared/podman/podman.go:233 +#: mgrpxy/shared/podman/podman.go:236 msgid "cannot find httpd image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:237 +#: mgrpxy/shared/podman/podman.go:240 msgid "cannot find salt-broker image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:241 +#: mgrpxy/shared/podman/podman.go:244 msgid "cannot find squid image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:245 +#: mgrpxy/shared/podman/podman.go:248 msgid "cannot find ssh image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:249 +#: mgrpxy/shared/podman/podman.go:252 msgid "cannot find tftpd image: it will no be upgraded" msgstr "" @@ -563,25 +575,37 @@ msgid "failed to compute image URL" msgstr "Impossible de calculer l'URL de l'image" #: mgrpxy/shared/utils/flags.go:64 +msgid "SUSE Customer Center username. It will be used to pull images from registry.suse.com" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:65 +msgid "SUSE Customer Center password. It will be used to pull images from registry.suse.com" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:67 +msgid "SUSE Customer Center Flags" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:74 msgid "image tag" msgstr "tag de l'image" -#: mgrpxy/shared/utils/flags.go:73 +#: mgrpxy/shared/utils/flags.go:83 #, fuzzy msgid "HTTPD tuning configuration file" msgstr "chemin vers le fichier de configuration" -#: mgrpxy/shared/utils/flags.go:74 +#: mgrpxy/shared/utils/flags.go:84 #, fuzzy msgid "Squid tuning configuration file" msgstr "chemin vers le fichier de configuration" -#: mgrpxy/shared/utils/flags.go:80 +#: mgrpxy/shared/utils/flags.go:90 #, javascript-format msgid "Image for %s container" msgstr "" -#: mgrpxy/shared/utils/flags.go:82 +#: mgrpxy/shared/utils/flags.go:92 #, javascript-format msgid "Tag for %s container, overrides the global value if set" msgstr "Tag pour le conteneur %sm remplace la valeur globale si définie" @@ -593,10 +617,6 @@ msgstr "Tag pour le conteneur %sm remplace la valeur globale si définie" #~ msgid "no uyuni-proxy helm release installed on the cluster" #~ msgstr "aucune release helm uyuni-proxy installée sur le cluster" -#, fuzzy -#~ msgid "failed to find the uyuni-proxy deployment namespace" -#~ msgstr "impossible de trouver le namespace du déploiement de uyuni-proxy: %s" - #, fuzzy #~ msgid "cannot inspect host values" #~ msgstr "impossible d'inspecter les valeurs de l'hôte: %s" diff --git a/locale/mgrpxy/it.po b/locale/mgrpxy/it.po index 41a967ba0..632fa6ca6 100644 --- a/locale/mgrpxy/it.po +++ b/locale/mgrpxy/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: 2024-05-16 09:23+0000\n" "Last-Translator: Marina Latini \n" "Language-Team: Italian \n" @@ -22,11 +22,17 @@ msgstr "" msgid "Clear the cache" msgstr "" -#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/cache/podman.go:25 +#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/restart/kubernetes.go:25 +#: mgrpxy/cmd/start/kubernetes.go:25 mgrpxy/cmd/stop/kubernetes.go:25 +#, fuzzy +msgid "failed retrieving namespace" +msgstr "mancata creazione della directory temporanea: %s" + +#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:25 msgid "failed to remove cached data" msgstr "" -#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:29 +#: mgrpxy/cmd/cache/kubernetes.go:33 mgrpxy/cmd/cache/podman.go:29 #, fuzzy msgid "failed to re-create the cache directories" msgstr "mancata creazione della directory temporanea: %s" @@ -77,10 +83,6 @@ msgstr "" msgid "Install a new proxy from scratch" msgstr "" -#: mgrpxy/cmd/install/install.go:23 mgrpxy/cmd/upgrade/upgrade.go:23 -msgid "specify a private registry" -msgstr "" - #: mgrpxy/cmd/install/kubernetes/kubernetes.go:25 msgid "Install a new proxy on a running kubernetes cluster" msgstr "" @@ -104,7 +106,7 @@ msgid "install %s before running this command" msgstr "installare %s prima di eseguire questo comando" #: mgrpxy/cmd/install/kubernetes/utils.go:35 -#: mgrpxy/cmd/support/config/extractor.go:22 +#: mgrpxy/cmd/support/config/extractor.go:23 #: mgrpxy/shared/kubernetes/deploy.go:159 #, fuzzy msgid "failed to create temporary directory" @@ -115,7 +117,7 @@ msgid "failed to extract configuration" msgstr "" #: mgrpxy/cmd/install/kubernetes/utils.go:62 -#: mgrpxy/shared/kubernetes/deploy.go:184 +#: mgrpxy/shared/kubernetes/deploy.go:189 msgid "cannot deploy proxy helm chart" msgstr "" @@ -135,7 +137,7 @@ msgid "" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" -#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:214 +#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:217 msgid "install podman before running this command" msgstr "installare podman prima di eseguire questo comando" @@ -144,10 +146,18 @@ msgstr "installare podman prima di eseguire questo comando" msgid "failed to extract proxy config from %s file" msgstr "" -#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:227 +#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:230 msgid "failed to login to registry.suse.com" msgstr "" +#: mgrpxy/cmd/logs/kubernetes.go:29 +msgid "failed to find proxy pod" +msgstr "" + +#: mgrpxy/cmd/logs/kubernetes.go:33 +msgid "failed to find proxy deployment namespace" +msgstr "" + #: mgrpxy/cmd/logs/logs.go:36 msgid "Get the proxy logs" msgstr "" @@ -260,7 +270,7 @@ msgid "" "Install a PTF or Test package on podman\n" "\n" "The support ptf podman command assumes podman is installed locally and\n" -"the host machine is register to SCC.\n" +"the host machine is registered to SCC.\n" "\n" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" @@ -277,27 +287,27 @@ msgstr "" msgid "user flag cannot be empty" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:54 +#: mgrpxy/cmd/support/ptf/podman/utils.go:56 #, javascript-format msgid "The httpd ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:64 +#: mgrpxy/cmd/support/ptf/podman/utils.go:66 #, javascript-format msgid "The ssh ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:74 +#: mgrpxy/cmd/support/ptf/podman/utils.go:76 #, javascript-format msgid "The tftpd ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:84 +#: mgrpxy/cmd/support/ptf/podman/utils.go:86 #, javascript-format msgid "The salt-broker ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:94 +#: mgrpxy/cmd/support/ptf/podman/utils.go:96 #, javascript-format msgid "The squid ptf image computed is: %s" msgstr "" @@ -431,60 +441,60 @@ msgstr "" msgid "failed to write in file %s" msgstr "mancata creazione della directory temporanea: %s" -#: mgrpxy/shared/podman/podman.go:35 +#: mgrpxy/shared/podman/podman.go:37 #, fuzzy msgid "cannot setup network" msgstr "impossibile impostare la rete: %s" -#: mgrpxy/shared/podman/podman.go:38 +#: mgrpxy/shared/podman/podman.go:40 msgid "Generating systemd services" msgstr "" -#: mgrpxy/shared/podman/podman.go:130 +#: mgrpxy/shared/podman/podman.go:133 #, fuzzy, javascript-format msgid "failed to generate systemd file '%s'" msgstr "mancata creazione della directory temporanea: %s" -#: mgrpxy/shared/podman/podman.go:136 +#: mgrpxy/shared/podman/podman.go:139 #, fuzzy msgid "cannot generate systemd conf file" msgstr "mancata creazione della directory temporanea: %s" -#: mgrpxy/shared/podman/podman.go:142 +#: mgrpxy/shared/podman/podman.go:145 #, fuzzy msgid "cannot generate systemd conf user configuration file" msgstr "mancata creazione della directory temporanea: %s" -#: mgrpxy/shared/podman/podman.go:172 +#: mgrpxy/shared/podman/podman.go:175 #, javascript-format msgid "Setting up proxy with configuration %s" msgstr "" -#: mgrpxy/shared/podman/podman.go:190 +#: mgrpxy/shared/podman/podman.go:193 msgid "/etc/uyuni/proxy directory has no read and write permissions for all users. Check your umask settings." msgstr "" -#: mgrpxy/shared/podman/podman.go:205 +#: mgrpxy/shared/podman/podman.go:208 msgid "/etc/uyuni/proxy/config.yaml has no read permissions for all users. Check your umask settings." msgstr "" -#: mgrpxy/shared/podman/podman.go:233 +#: mgrpxy/shared/podman/podman.go:236 msgid "cannot find httpd image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:237 +#: mgrpxy/shared/podman/podman.go:240 msgid "cannot find salt-broker image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:241 +#: mgrpxy/shared/podman/podman.go:244 msgid "cannot find squid image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:245 +#: mgrpxy/shared/podman/podman.go:248 msgid "cannot find ssh image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:249 +#: mgrpxy/shared/podman/podman.go:252 msgid "cannot find tftpd image: it will no be upgraded" msgstr "" @@ -503,23 +513,35 @@ msgid "failed to compute image URL" msgstr "impossibile determinare l'URL dell'immagine" #: mgrpxy/shared/utils/flags.go:64 +msgid "SUSE Customer Center username. It will be used to pull images from registry.suse.com" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:65 +msgid "SUSE Customer Center password. It will be used to pull images from registry.suse.com" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:67 +msgid "SUSE Customer Center Flags" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:74 msgid "image tag" msgstr "" -#: mgrpxy/shared/utils/flags.go:73 +#: mgrpxy/shared/utils/flags.go:83 msgid "HTTPD tuning configuration file" msgstr "" -#: mgrpxy/shared/utils/flags.go:74 +#: mgrpxy/shared/utils/flags.go:84 msgid "Squid tuning configuration file" msgstr "" -#: mgrpxy/shared/utils/flags.go:80 +#: mgrpxy/shared/utils/flags.go:90 #, javascript-format msgid "Image for %s container" msgstr "" -#: mgrpxy/shared/utils/flags.go:82 +#: mgrpxy/shared/utils/flags.go:92 #, javascript-format msgid "Tag for %s container, overrides the global value if set" msgstr "" diff --git a/locale/mgrpxy/ja.po b/locale/mgrpxy/ja.po index 57d45e814..cc955043a 100644 --- a/locale/mgrpxy/ja.po +++ b/locale/mgrpxy/ja.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" -"PO-Revision-Date: 2024-07-15 22:47+0000\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" +"PO-Revision-Date: 2024-09-26 02:48+0000\n" "Last-Translator: Carina Hagl \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -16,24 +16,29 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.7.2\n" #: mgrpxy/cmd/cache/clear.go:22 mgrpxy/cmd/cache/clear.go:23 msgid "Clear the cache" -msgstr "" +msgstr "キャッシュのクリア" + +#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/restart/kubernetes.go:25 +#: mgrpxy/cmd/start/kubernetes.go:25 mgrpxy/cmd/stop/kubernetes.go:25 +#, fuzzy +msgid "failed retrieving namespace" +msgstr "ファイル %s への書き込みに失敗しました" -#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/cache/podman.go:25 +#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:25 msgid "failed to remove cached data" -msgstr "" +msgstr "キャッシュされたデータを削除できませんでした" -#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:29 -#, fuzzy +#: mgrpxy/cmd/cache/kubernetes.go:33 mgrpxy/cmd/cache/podman.go:29 msgid "failed to re-create the cache directories" -msgstr "一時ディレクトリの作成に失敗しました" +msgstr "キャッシュディレクトリを再作成できませんでした" #: mgrpxy/cmd/cache/squid.go:18 mgrpxy/cmd/cache/squid.go:19 msgid "Manage proxy cache" -msgstr "" +msgstr "プロキシキャッシュの管理" #: mgrpxy/cmd/cmd.go:35 msgid "Uyuni proxy administration tool" @@ -45,16 +50,15 @@ msgstr "Uyuniプロキシのコンテナ管理を支援するツール" #: mgrpxy/cmd/cmd.go:43 msgid "Server Deployment:" -msgstr "" +msgstr "サーバ配備:" #: mgrpxy/cmd/cmd.go:47 msgid "Server Management:" -msgstr "" +msgstr "サーバ管理:" #: mgrpxy/cmd/cmd.go:51 -#, fuzzy msgid "Administrator tools:" -msgstr "Uyuniプロキシ管理ツール" +msgstr "管理者ツール:" #: mgrpxy/cmd/cmd.go:62 #, javascript-format @@ -78,10 +82,6 @@ msgstr "アプリケーションログレベル" msgid "Install a new proxy from scratch" msgstr "最初から新しいプロキシをインストールする" -#: mgrpxy/cmd/install/install.go:23 mgrpxy/cmd/upgrade/upgrade.go:23 -msgid "specify a private registry" -msgstr "プライベートレジストリを指定してください" - #: mgrpxy/cmd/install/kubernetes/kubernetes.go:25 msgid "Install a new proxy on a running kubernetes cluster" msgstr "実行中のkubernetesクラスタに新しいプロキシをインストールする" @@ -112,7 +112,7 @@ msgid "install %s before running this command" msgstr "このコマンドを実行する前に %s をインストールする" #: mgrpxy/cmd/install/kubernetes/utils.go:35 -#: mgrpxy/cmd/support/config/extractor.go:22 +#: mgrpxy/cmd/support/config/extractor.go:23 #: mgrpxy/shared/kubernetes/deploy.go:159 msgid "failed to create temporary directory" msgstr "一時ディレクトリの作成に失敗しました" @@ -122,7 +122,7 @@ msgid "failed to extract configuration" msgstr "設定の抽出に失敗しました" #: mgrpxy/cmd/install/kubernetes/utils.go:62 -#: mgrpxy/shared/kubernetes/deploy.go:184 +#: mgrpxy/shared/kubernetes/deploy.go:189 msgid "cannot deploy proxy helm chart" msgstr "プロキシhelmチャートを配備できません" @@ -149,7 +149,7 @@ msgstr "" "\n" "メモ: 現時点では、リモートpodmanへのインストールはサポートされていません。\n" -#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:214 +#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:217 msgid "install podman before running this command" msgstr "このコマンドを実行する前にpodmanをインストールする" @@ -158,9 +158,19 @@ msgstr "このコマンドを実行する前にpodmanをインストールする msgid "failed to extract proxy config from %s file" msgstr "プロキシ設定を %s ファイルから抽出できませんでした" -#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:227 +#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:230 msgid "failed to login to registry.suse.com" -msgstr "" +msgstr "registry.suse.comへのログインに失敗しました" + +#: mgrpxy/cmd/logs/kubernetes.go:29 +#, fuzzy +msgid "failed to find proxy pod" +msgstr "uyuni-proxy配備ネームスペースが見つかりませんでした" + +#: mgrpxy/cmd/logs/kubernetes.go:33 +#, fuzzy +msgid "failed to find proxy deployment namespace" +msgstr "uyuni-proxy配備ネームスペースが見つかりませんでした" #: mgrpxy/cmd/logs/logs.go:36 msgid "Get the proxy logs" @@ -238,19 +248,20 @@ msgid "Stop the proxy" msgstr "プロキシの停止" #: mgrpxy/cmd/support/config/config.go:23 -#, fuzzy msgid "Extract configuration and logs" -msgstr "設定の抽出に失敗しました" +msgstr "設定とログの抽出" #: mgrpxy/cmd/support/config/config.go:24 msgid "" "Extract the host or cluster configuration and logs as well as those from \n" "the containers for support to help debugging." msgstr "" +"デバッグを支援するため、ホストまたはクラスタの設定とログ、および\n" +"コンテナから設定とログを抽出します。" #: mgrpxy/cmd/support/config/config.go:32 msgid "path where to extract the data" -msgstr "" +msgstr "データを抽出するパス" #: mgrpxy/cmd/support/ptf/kubernetes/kubernetes.go:25 msgid "Install a PTF or Test package on a kubernetes cluster" @@ -287,7 +298,7 @@ msgid "" "Install a PTF or Test package on podman\n" "\n" "The support ptf podman command assumes podman is installed locally and\n" -"the host machine is register to SCC.\n" +"the host machine is registered to SCC.\n" "\n" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" @@ -310,27 +321,27 @@ msgstr "ptfとtestフラグを同時に空にすることはできません " msgid "user flag cannot be empty" msgstr "ユーザフラグは空にできません" -#: mgrpxy/cmd/support/ptf/podman/utils.go:54 +#: mgrpxy/cmd/support/ptf/podman/utils.go:56 #, javascript-format msgid "The httpd ptf image computed is: %s" msgstr "計算されたhttpd ptfイメージは %s です" -#: mgrpxy/cmd/support/ptf/podman/utils.go:64 +#: mgrpxy/cmd/support/ptf/podman/utils.go:66 #, javascript-format msgid "The ssh ptf image computed is: %s" msgstr "計算されたssh ptfイメージは %s です" -#: mgrpxy/cmd/support/ptf/podman/utils.go:74 +#: mgrpxy/cmd/support/ptf/podman/utils.go:76 #, javascript-format msgid "The tftpd ptf image computed is: %s" msgstr "計算されたtftpd ptfイメージは %s です" -#: mgrpxy/cmd/support/ptf/podman/utils.go:84 +#: mgrpxy/cmd/support/ptf/podman/utils.go:86 #, javascript-format msgid "The salt-broker ptf image computed is: %s" msgstr "計算されたsalt-broker ptfイメージは %s です" -#: mgrpxy/cmd/support/ptf/podman/utils.go:94 +#: mgrpxy/cmd/support/ptf/podman/utils.go:96 #, javascript-format msgid "The squid ptf image computed is: %s" msgstr "計算されたsquid ptfイメージは %s です" @@ -476,58 +487,57 @@ msgstr "helmアップグレードを実行できません" msgid "failed to write in file %s" msgstr "ファイル %s への書き込みに失敗しました" -#: mgrpxy/shared/podman/podman.go:35 +#: mgrpxy/shared/podman/podman.go:37 msgid "cannot setup network" msgstr "ネットワークを設定できません" -#: mgrpxy/shared/podman/podman.go:38 +#: mgrpxy/shared/podman/podman.go:40 msgid "Generating systemd services" msgstr "systemdサービスの生成" -#: mgrpxy/shared/podman/podman.go:130 +#: mgrpxy/shared/podman/podman.go:133 #, javascript-format msgid "failed to generate systemd file '%s'" msgstr "systemdファイル「%s」の生成に失敗しました" -#: mgrpxy/shared/podman/podman.go:136 +#: mgrpxy/shared/podman/podman.go:139 msgid "cannot generate systemd conf file" msgstr "systemd confファイルを生成できません" -#: mgrpxy/shared/podman/podman.go:142 -#, fuzzy +#: mgrpxy/shared/podman/podman.go:145 msgid "cannot generate systemd conf user configuration file" -msgstr "systemd confファイルを生成できません" +msgstr "systemd confユーザ設定ファイルを生成できません" -#: mgrpxy/shared/podman/podman.go:172 +#: mgrpxy/shared/podman/podman.go:175 #, javascript-format msgid "Setting up proxy with configuration %s" msgstr "設定 %s でプロキシを設定しています" -#: mgrpxy/shared/podman/podman.go:190 +#: mgrpxy/shared/podman/podman.go:193 msgid "/etc/uyuni/proxy directory has no read and write permissions for all users. Check your umask settings." msgstr "/etc/uyuni/proxyディレクトリには、すべてのユーザーに読み取りおよび書き込み権限がありません。umask設定を確認してください。" -#: mgrpxy/shared/podman/podman.go:205 +#: mgrpxy/shared/podman/podman.go:208 msgid "/etc/uyuni/proxy/config.yaml has no read permissions for all users. Check your umask settings." msgstr "/etc/uyuni/proxy/config.yamlには、すべてのユーザーに読み取り権限がありません。umask設定を確認してください。" -#: mgrpxy/shared/podman/podman.go:233 +#: mgrpxy/shared/podman/podman.go:236 msgid "cannot find httpd image: it will no be upgraded" msgstr "httpdイメージが見つかりません: アップグレードされません" -#: mgrpxy/shared/podman/podman.go:237 +#: mgrpxy/shared/podman/podman.go:240 msgid "cannot find salt-broker image: it will no be upgraded" msgstr "salt-brokerイメージが見つかりません: アップグレードされません" -#: mgrpxy/shared/podman/podman.go:241 +#: mgrpxy/shared/podman/podman.go:244 msgid "cannot find squid image: it will no be upgraded" msgstr "squidイメージが見つかりません: アップグレードされません" -#: mgrpxy/shared/podman/podman.go:245 +#: mgrpxy/shared/podman/podman.go:248 msgid "cannot find ssh image: it will no be upgraded" msgstr "sshイメージが見つかりません: アップグレードされません" -#: mgrpxy/shared/podman/podman.go:249 +#: mgrpxy/shared/podman/podman.go:252 msgid "cannot find tftpd image: it will no be upgraded" msgstr "tftpdイメージが見つかりません: アップグレードされません" @@ -546,36 +556,48 @@ msgid "failed to compute image URL" msgstr "イメージURLの計算に失敗しました" #: mgrpxy/shared/utils/flags.go:64 +msgid "SUSE Customer Center username. It will be used to pull images from registry.suse.com" +msgstr "SUSEカスタマーセンターのユーザ名。これは、registry.suse.comからイメージを取得するために使用されます" + +#: mgrpxy/shared/utils/flags.go:65 +msgid "SUSE Customer Center password. It will be used to pull images from registry.suse.com" +msgstr "SUSEカスタマーセンターのパスワード。これは、registry.suse.comからイメージを取得するために使用されます" + +#: mgrpxy/shared/utils/flags.go:67 +msgid "SUSE Customer Center Flags" +msgstr "SUSEカスタマーセンターのフラグ" + +#: mgrpxy/shared/utils/flags.go:74 msgid "image tag" msgstr "イメージタグ" -#: mgrpxy/shared/utils/flags.go:73 +#: mgrpxy/shared/utils/flags.go:83 msgid "HTTPD tuning configuration file" msgstr "HTTPDチューニング設定ファイル" -#: mgrpxy/shared/utils/flags.go:74 +#: mgrpxy/shared/utils/flags.go:84 msgid "Squid tuning configuration file" msgstr "Squidチューニング設定ファイル" -#: mgrpxy/shared/utils/flags.go:80 +#: mgrpxy/shared/utils/flags.go:90 #, javascript-format msgid "Image for %s container" -msgstr "" +msgstr "%s コンテナのイメージ" -#: mgrpxy/shared/utils/flags.go:82 +#: mgrpxy/shared/utils/flags.go:92 #, javascript-format msgid "Tag for %s container, overrides the global value if set" msgstr "%s コンテナ用のタグ。設定されている場合はグローバル値を上書きします" +#~ msgid "specify a private registry" +#~ msgstr "プライベートレジストリを指定してください" + #~ msgid "failed to discover the cluster type" #~ msgstr "クラスタタイプの検出に失敗しました" #~ msgid "no uyuni-proxy helm release installed on the cluster" #~ msgstr "クラスタにuyuni-proxy helmリリースがインストールされていません" -#~ msgid "failed to find the uyuni-proxy deployment namespace" -#~ msgstr "uyuni-proxy配備ネームスペースが見つかりませんでした" - #~ msgid "cannot inspect host values" #~ msgstr "ホスト値を検査できません" diff --git a/locale/mgrpxy/ko.po b/locale/mgrpxy/ko.po index eac421d20..9b50fccbe 100644 --- a/locale/mgrpxy/ko.po +++ b/locale/mgrpxy/ko.po @@ -7,33 +7,38 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" -"PO-Revision-Date: 2024-07-16 05:47+0000\n" -"Last-Translator: Seeun Lee \n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" +"PO-Revision-Date: 2024-09-26 12:48+0000\n" +"Last-Translator: Valentina Leonardi \n" "Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.7.2\n" #: mgrpxy/cmd/cache/clear.go:22 mgrpxy/cmd/cache/clear.go:23 msgid "Clear the cache" -msgstr "" +msgstr "캐시 지우기" + +#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/restart/kubernetes.go:25 +#: mgrpxy/cmd/start/kubernetes.go:25 mgrpxy/cmd/stop/kubernetes.go:25 +#, fuzzy +msgid "failed retrieving namespace" +msgstr "%s 파일에 쓰지 못함" -#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/cache/podman.go:25 +#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:25 msgid "failed to remove cached data" -msgstr "" +msgstr "캐시 데이터 제거 실패" -#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:29 -#, fuzzy +#: mgrpxy/cmd/cache/kubernetes.go:33 mgrpxy/cmd/cache/podman.go:29 msgid "failed to re-create the cache directories" -msgstr "임시 디렉토리를 만들지 못함" +msgstr "캐시 디렉토리 재생성 실패" #: mgrpxy/cmd/cache/squid.go:18 mgrpxy/cmd/cache/squid.go:19 msgid "Manage proxy cache" -msgstr "" +msgstr "프록시 캐시 관리" #: mgrpxy/cmd/cmd.go:35 msgid "Uyuni proxy administration tool" @@ -45,16 +50,15 @@ msgstr "컨테이너에서 Uyuni 프록시를 관리하는 데 유용한 도구" #: mgrpxy/cmd/cmd.go:43 msgid "Server Deployment:" -msgstr "" +msgstr "서버 배포:" #: mgrpxy/cmd/cmd.go:47 msgid "Server Management:" -msgstr "" +msgstr "서버 관리:" #: mgrpxy/cmd/cmd.go:51 -#, fuzzy msgid "Administrator tools:" -msgstr "Uyuni 프록시 관리 도구" +msgstr "관리자 도구:" #: mgrpxy/cmd/cmd.go:62 #, javascript-format @@ -78,10 +82,6 @@ msgstr "애플리케이션 로그 수준" msgid "Install a new proxy from scratch" msgstr "처음부터 새 프록시 설치" -#: mgrpxy/cmd/install/install.go:23 mgrpxy/cmd/upgrade/upgrade.go:23 -msgid "specify a private registry" -msgstr "개인 레지스트리 지정" - #: mgrpxy/cmd/install/kubernetes/kubernetes.go:25 msgid "Install a new proxy on a running kubernetes cluster" msgstr "실행 중인 Kubernetes 클러스터에 새 프록시 설치" @@ -113,7 +113,7 @@ msgid "install %s before running this command" msgstr "이 명령을 실행하기 전 %s 설치" #: mgrpxy/cmd/install/kubernetes/utils.go:35 -#: mgrpxy/cmd/support/config/extractor.go:22 +#: mgrpxy/cmd/support/config/extractor.go:23 #: mgrpxy/shared/kubernetes/deploy.go:159 msgid "failed to create temporary directory" msgstr "임시 디렉토리를 만들지 못함" @@ -123,7 +123,7 @@ msgid "failed to extract configuration" msgstr "구성을 추출하지 못했습니다." #: mgrpxy/cmd/install/kubernetes/utils.go:62 -#: mgrpxy/shared/kubernetes/deploy.go:184 +#: mgrpxy/shared/kubernetes/deploy.go:189 msgid "cannot deploy proxy helm chart" msgstr "프록시 helm 차트를 배포할 수 없음" @@ -151,7 +151,7 @@ msgstr "" "\n" "참고: 현재 원격 podman에 설치하는 기능은 지원되지 않습니다.\n" -#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:214 +#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:217 msgid "install podman before running this command" msgstr "이 명령을 실행하기 전 podman 설치" @@ -160,9 +160,19 @@ msgstr "이 명령을 실행하기 전 podman 설치" msgid "failed to extract proxy config from %s file" msgstr "%s 파일에서 프록시 구성을 추출하지 못함" -#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:227 +#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:230 msgid "failed to login to registry.suse.com" -msgstr "" +msgstr "registry.suse.com에 로그인하지 못했습니다." + +#: mgrpxy/cmd/logs/kubernetes.go:29 +#, fuzzy +msgid "failed to find proxy pod" +msgstr "uyuni-proxy 배포 네임스페이스를 찾지 못함" + +#: mgrpxy/cmd/logs/kubernetes.go:33 +#, fuzzy +msgid "failed to find proxy deployment namespace" +msgstr "uyuni-proxy 배포 네임스페이스를 찾지 못함" #: mgrpxy/cmd/logs/logs.go:36 msgid "Get the proxy logs" @@ -240,19 +250,20 @@ msgid "Stop the proxy" msgstr "프록시 중지" #: mgrpxy/cmd/support/config/config.go:23 -#, fuzzy msgid "Extract configuration and logs" -msgstr "구성을 추출하지 못했습니다." +msgstr "구성 및 로그 추출" #: mgrpxy/cmd/support/config/config.go:24 msgid "" "Extract the host or cluster configuration and logs as well as those from \n" "the containers for support to help debugging." msgstr "" +"호스트 또는 클러스터의 구성 및 로그와 컨테이너의 구성 및 로그를 \n" +"추출하여 디버깅에 도움이 되도록 지원하십시오." #: mgrpxy/cmd/support/config/config.go:32 msgid "path where to extract the data" -msgstr "" +msgstr "데이터 추출 경로" #: mgrpxy/cmd/support/ptf/kubernetes/kubernetes.go:25 msgid "Install a PTF or Test package on a kubernetes cluster" @@ -290,7 +301,7 @@ msgid "" "Install a PTF or Test package on podman\n" "\n" "The support ptf podman command assumes podman is installed locally and\n" -"the host machine is register to SCC.\n" +"the host machine is registered to SCC.\n" "\n" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" @@ -313,27 +324,27 @@ msgstr "ptf와 테스트 플래그를 동시에 비워둘 수없음 " msgid "user flag cannot be empty" msgstr "사용자 플래그를 비워둘 수 없습니다." -#: mgrpxy/cmd/support/ptf/podman/utils.go:54 +#: mgrpxy/cmd/support/ptf/podman/utils.go:56 #, javascript-format msgid "The httpd ptf image computed is: %s" msgstr "계산된 httpd ptf 이미지: %s" -#: mgrpxy/cmd/support/ptf/podman/utils.go:64 +#: mgrpxy/cmd/support/ptf/podman/utils.go:66 #, javascript-format msgid "The ssh ptf image computed is: %s" msgstr "계산된 ssh ptf 이미지: %s" -#: mgrpxy/cmd/support/ptf/podman/utils.go:74 +#: mgrpxy/cmd/support/ptf/podman/utils.go:76 #, javascript-format msgid "The tftpd ptf image computed is: %s" msgstr "계산된 tftpd ptf 이미지: %s" -#: mgrpxy/cmd/support/ptf/podman/utils.go:84 +#: mgrpxy/cmd/support/ptf/podman/utils.go:86 #, javascript-format msgid "The salt-broker ptf image computed is: %s" msgstr "계산된 salt-broker ptf 이미지: %s" -#: mgrpxy/cmd/support/ptf/podman/utils.go:94 +#: mgrpxy/cmd/support/ptf/podman/utils.go:96 #, javascript-format msgid "The squid ptf image computed is: %s" msgstr "계산된 squid ptf 이미지: %s" @@ -479,58 +490,57 @@ msgstr "helm 업그레이드를 실행할 수 없음" msgid "failed to write in file %s" msgstr "%s 파일에 쓰지 못함" -#: mgrpxy/shared/podman/podman.go:35 +#: mgrpxy/shared/podman/podman.go:37 msgid "cannot setup network" msgstr "네트워크를 설정할 수 없음" -#: mgrpxy/shared/podman/podman.go:38 +#: mgrpxy/shared/podman/podman.go:40 msgid "Generating systemd services" msgstr "systemd 서비스 생성" -#: mgrpxy/shared/podman/podman.go:130 +#: mgrpxy/shared/podman/podman.go:133 #, javascript-format msgid "failed to generate systemd file '%s'" msgstr "systemd 파일 '%s' 생성 실패" -#: mgrpxy/shared/podman/podman.go:136 +#: mgrpxy/shared/podman/podman.go:139 msgid "cannot generate systemd conf file" msgstr "systemd conf 파일을 생성할 수 없음" -#: mgrpxy/shared/podman/podman.go:142 -#, fuzzy +#: mgrpxy/shared/podman/podman.go:145 msgid "cannot generate systemd conf user configuration file" -msgstr "systemd conf 파일을 생성할 수 없음" +msgstr "systemd conf 사용자 구성 파일을 생성할 수 없음" -#: mgrpxy/shared/podman/podman.go:172 +#: mgrpxy/shared/podman/podman.go:175 #, javascript-format msgid "Setting up proxy with configuration %s" msgstr "구성 %s(으)로 프록시 설정" -#: mgrpxy/shared/podman/podman.go:190 +#: mgrpxy/shared/podman/podman.go:193 msgid "/etc/uyuni/proxy directory has no read and write permissions for all users. Check your umask settings." msgstr "/etc/uyuni/proxy 디렉토리에는 모든 사용자에 대한 읽기 및 쓰기 권한이 없습니다. umask 설정을 확인하십시오." -#: mgrpxy/shared/podman/podman.go:205 +#: mgrpxy/shared/podman/podman.go:208 msgid "/etc/uyuni/proxy/config.yaml has no read permissions for all users. Check your umask settings." msgstr "/etc/uyuni/proxy/config.yaml에는 모든 사용자에 대한 읽기 권한이 없습니다. umask 설정을 확인하십시오." -#: mgrpxy/shared/podman/podman.go:233 +#: mgrpxy/shared/podman/podman.go:236 msgid "cannot find httpd image: it will no be upgraded" msgstr "httpd 이미지를 찾을 수 없음: 업그레이드되지 않습니다." -#: mgrpxy/shared/podman/podman.go:237 +#: mgrpxy/shared/podman/podman.go:240 msgid "cannot find salt-broker image: it will no be upgraded" msgstr "salt-broker 이미지를 찾을 수 없음 : 업그레이드되지 않습니다." -#: mgrpxy/shared/podman/podman.go:241 +#: mgrpxy/shared/podman/podman.go:244 msgid "cannot find squid image: it will no be upgraded" msgstr "squid 이미지를 찾을 수 없음: 업그레이드되지 않습니다." -#: mgrpxy/shared/podman/podman.go:245 +#: mgrpxy/shared/podman/podman.go:248 msgid "cannot find ssh image: it will no be upgraded" msgstr "ssh 이미지를 찾을 수 없음: 업그레이드되지 않습니다." -#: mgrpxy/shared/podman/podman.go:249 +#: mgrpxy/shared/podman/podman.go:252 msgid "cannot find tftpd image: it will no be upgraded" msgstr "tftpd 이미지를 찾을 수 없음: 업그레이드되지 않습니다." @@ -549,36 +559,48 @@ msgid "failed to compute image URL" msgstr "이미지 URL을 계산하지 못함" #: mgrpxy/shared/utils/flags.go:64 +msgid "SUSE Customer Center username. It will be used to pull images from registry.suse.com" +msgstr "SUSE 고객 센터 사용자 이름. registry.suse.com에서 이미지를 가져오는 데 사용됩니다." + +#: mgrpxy/shared/utils/flags.go:65 +msgid "SUSE Customer Center password. It will be used to pull images from registry.suse.com" +msgstr "SUSE 고객 센터 암호. registry.suse.com에서 이미지를 가져오는 데 사용됩니다." + +#: mgrpxy/shared/utils/flags.go:67 +msgid "SUSE Customer Center Flags" +msgstr "SUSE 고객 센터 플래그" + +#: mgrpxy/shared/utils/flags.go:74 msgid "image tag" msgstr "이미지 태그" -#: mgrpxy/shared/utils/flags.go:73 +#: mgrpxy/shared/utils/flags.go:83 msgid "HTTPD tuning configuration file" msgstr "HTTPD 튜닝 구성 파일" -#: mgrpxy/shared/utils/flags.go:74 +#: mgrpxy/shared/utils/flags.go:84 msgid "Squid tuning configuration file" msgstr "Squid 튜닝 구성 파일" -#: mgrpxy/shared/utils/flags.go:80 +#: mgrpxy/shared/utils/flags.go:90 #, javascript-format msgid "Image for %s container" -msgstr "" +msgstr "%s 컨테이너용 이미지" -#: mgrpxy/shared/utils/flags.go:82 +#: mgrpxy/shared/utils/flags.go:92 #, javascript-format msgid "Tag for %s container, overrides the global value if set" msgstr "%s 컨테이너에 대한 태그, 설정된 경우 전역 값 재정의" +#~ msgid "specify a private registry" +#~ msgstr "개인 레지스트리 지정" + #~ msgid "failed to discover the cluster type" #~ msgstr "클러스터 유형을 검색하지 못함" #~ msgid "no uyuni-proxy helm release installed on the cluster" #~ msgstr "클러스터에 설치된 uyuni-proxy helm 릴리스 없음" -#~ msgid "failed to find the uyuni-proxy deployment namespace" -#~ msgstr "uyuni-proxy 배포 네임스페이스를 찾지 못함" - #~ msgid "cannot inspect host values" #~ msgstr "호스트 값 검사할 수 없음" diff --git a/locale/mgrpxy/mgrpxy.pot b/locale/mgrpxy/mgrpxy.pot index d778564d3..3d9bc0098 100644 --- a/locale/mgrpxy/mgrpxy.pot +++ b/locale/mgrpxy/mgrpxy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,11 +21,16 @@ msgstr "" msgid "Clear the cache" msgstr "" -#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/cache/podman.go:25 +#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/restart/kubernetes.go:25 +#: mgrpxy/cmd/start/kubernetes.go:25 mgrpxy/cmd/stop/kubernetes.go:25 +msgid "failed retrieving namespace" +msgstr "" + +#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:25 msgid "failed to remove cached data" msgstr "" -#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:29 +#: mgrpxy/cmd/cache/kubernetes.go:33 mgrpxy/cmd/cache/podman.go:29 msgid "failed to re-create the cache directories" msgstr "" @@ -75,10 +80,6 @@ msgstr "" msgid "Install a new proxy from scratch" msgstr "" -#: mgrpxy/cmd/install/install.go:23 mgrpxy/cmd/upgrade/upgrade.go:23 -msgid "specify a private registry" -msgstr "" - #: mgrpxy/cmd/install/kubernetes/kubernetes.go:25 msgid "Install a new proxy on a running kubernetes cluster" msgstr "" @@ -102,7 +103,7 @@ msgid "install %s before running this command" msgstr "" #: mgrpxy/cmd/install/kubernetes/utils.go:35 -#: mgrpxy/cmd/support/config/extractor.go:22 +#: mgrpxy/cmd/support/config/extractor.go:23 #: mgrpxy/shared/kubernetes/deploy.go:159 msgid "failed to create temporary directory" msgstr "" @@ -112,7 +113,7 @@ msgid "failed to extract configuration" msgstr "" #: mgrpxy/cmd/install/kubernetes/utils.go:62 -#: mgrpxy/shared/kubernetes/deploy.go:184 +#: mgrpxy/shared/kubernetes/deploy.go:189 msgid "cannot deploy proxy helm chart" msgstr "" @@ -132,7 +133,7 @@ msgid "" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" -#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:214 +#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:217 msgid "install podman before running this command" msgstr "" @@ -141,10 +142,18 @@ msgstr "" msgid "failed to extract proxy config from %s file" msgstr "" -#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:227 +#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:230 msgid "failed to login to registry.suse.com" msgstr "" +#: mgrpxy/cmd/logs/kubernetes.go:29 +msgid "failed to find proxy pod" +msgstr "" + +#: mgrpxy/cmd/logs/kubernetes.go:33 +msgid "failed to find proxy deployment namespace" +msgstr "" + #: mgrpxy/cmd/logs/logs.go:36 msgid "Get the proxy logs" msgstr "" @@ -257,7 +266,7 @@ msgid "" "Install a PTF or Test package on podman\n" "\n" "The support ptf podman command assumes podman is installed locally and\n" -"the host machine is register to SCC.\n" +"the host machine is registered to SCC.\n" "\n" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" @@ -274,27 +283,27 @@ msgstr "" msgid "user flag cannot be empty" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:54 +#: mgrpxy/cmd/support/ptf/podman/utils.go:56 #, javascript-format msgid "The httpd ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:64 +#: mgrpxy/cmd/support/ptf/podman/utils.go:66 #, javascript-format msgid "The ssh ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:74 +#: mgrpxy/cmd/support/ptf/podman/utils.go:76 #, javascript-format msgid "The tftpd ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:84 +#: mgrpxy/cmd/support/ptf/podman/utils.go:86 #, javascript-format msgid "The salt-broker ptf image computed is: %s" msgstr "" -#: mgrpxy/cmd/support/ptf/podman/utils.go:94 +#: mgrpxy/cmd/support/ptf/podman/utils.go:96 #, javascript-format msgid "The squid ptf image computed is: %s" msgstr "" @@ -428,57 +437,57 @@ msgstr "" msgid "failed to write in file %s" msgstr "" -#: mgrpxy/shared/podman/podman.go:35 +#: mgrpxy/shared/podman/podman.go:37 msgid "cannot setup network" msgstr "" -#: mgrpxy/shared/podman/podman.go:38 +#: mgrpxy/shared/podman/podman.go:40 msgid "Generating systemd services" msgstr "" -#: mgrpxy/shared/podman/podman.go:130 +#: mgrpxy/shared/podman/podman.go:133 #, javascript-format msgid "failed to generate systemd file '%s'" msgstr "" -#: mgrpxy/shared/podman/podman.go:136 +#: mgrpxy/shared/podman/podman.go:139 msgid "cannot generate systemd conf file" msgstr "" -#: mgrpxy/shared/podman/podman.go:142 +#: mgrpxy/shared/podman/podman.go:145 msgid "cannot generate systemd conf user configuration file" msgstr "" -#: mgrpxy/shared/podman/podman.go:172 +#: mgrpxy/shared/podman/podman.go:175 #, javascript-format msgid "Setting up proxy with configuration %s" msgstr "" -#: mgrpxy/shared/podman/podman.go:190 +#: mgrpxy/shared/podman/podman.go:193 msgid "/etc/uyuni/proxy directory has no read and write permissions for all users. Check your umask settings." msgstr "" -#: mgrpxy/shared/podman/podman.go:205 +#: mgrpxy/shared/podman/podman.go:208 msgid "/etc/uyuni/proxy/config.yaml has no read permissions for all users. Check your umask settings." msgstr "" -#: mgrpxy/shared/podman/podman.go:233 +#: mgrpxy/shared/podman/podman.go:236 msgid "cannot find httpd image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:237 +#: mgrpxy/shared/podman/podman.go:240 msgid "cannot find salt-broker image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:241 +#: mgrpxy/shared/podman/podman.go:244 msgid "cannot find squid image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:245 +#: mgrpxy/shared/podman/podman.go:248 msgid "cannot find ssh image: it will no be upgraded" msgstr "" -#: mgrpxy/shared/podman/podman.go:249 +#: mgrpxy/shared/podman/podman.go:252 msgid "cannot find tftpd image: it will no be upgraded" msgstr "" @@ -497,23 +506,35 @@ msgid "failed to compute image URL" msgstr "" #: mgrpxy/shared/utils/flags.go:64 +msgid "SUSE Customer Center username. It will be used to pull images from registry.suse.com" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:65 +msgid "SUSE Customer Center password. It will be used to pull images from registry.suse.com" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:67 +msgid "SUSE Customer Center Flags" +msgstr "" + +#: mgrpxy/shared/utils/flags.go:74 msgid "image tag" msgstr "" -#: mgrpxy/shared/utils/flags.go:73 +#: mgrpxy/shared/utils/flags.go:83 msgid "HTTPD tuning configuration file" msgstr "" -#: mgrpxy/shared/utils/flags.go:74 +#: mgrpxy/shared/utils/flags.go:84 msgid "Squid tuning configuration file" msgstr "" -#: mgrpxy/shared/utils/flags.go:80 +#: mgrpxy/shared/utils/flags.go:90 #, javascript-format msgid "Image for %s container" msgstr "" -#: mgrpxy/shared/utils/flags.go:82 +#: mgrpxy/shared/utils/flags.go:92 #, javascript-format msgid "Tag for %s container, overrides the global value if set" msgstr "" diff --git a/locale/mgrpxy/zh_CN.po b/locale/mgrpxy/zh_CN.po index a63d1f072..0c9332c16 100644 --- a/locale/mgrpxy/zh_CN.po +++ b/locale/mgrpxy/zh_CN.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" -"PO-Revision-Date: 2024-07-15 05:47+0000\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" +"PO-Revision-Date: 2024-09-26 08:48+0000\n" "Last-Translator: Grace Yu \n" "Language-Team: Chinese (China) \n" "Language: zh_CN\n" @@ -16,24 +16,29 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.7.2\n" #: mgrpxy/cmd/cache/clear.go:22 mgrpxy/cmd/cache/clear.go:23 msgid "Clear the cache" -msgstr "" +msgstr "清除缓存" + +#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/restart/kubernetes.go:25 +#: mgrpxy/cmd/start/kubernetes.go:25 mgrpxy/cmd/stop/kubernetes.go:25 +#, fuzzy +msgid "failed retrieving namespace" +msgstr "无法在文件 %s 中写入数据" -#: mgrpxy/cmd/cache/kubernetes.go:25 mgrpxy/cmd/cache/podman.go:25 +#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:25 msgid "failed to remove cached data" -msgstr "" +msgstr "无法去除缓存的数据" -#: mgrpxy/cmd/cache/kubernetes.go:29 mgrpxy/cmd/cache/podman.go:29 -#, fuzzy +#: mgrpxy/cmd/cache/kubernetes.go:33 mgrpxy/cmd/cache/podman.go:29 msgid "failed to re-create the cache directories" -msgstr "无法创建临时目录" +msgstr "无法重新创建缓存目录" #: mgrpxy/cmd/cache/squid.go:18 mgrpxy/cmd/cache/squid.go:19 msgid "Manage proxy cache" -msgstr "" +msgstr "管理代理缓存" #: mgrpxy/cmd/cmd.go:35 msgid "Uyuni proxy administration tool" @@ -45,16 +50,15 @@ msgstr "用于帮助管理容器中的 Uyuni 代理的工具" #: mgrpxy/cmd/cmd.go:43 msgid "Server Deployment:" -msgstr "" +msgstr "服务器部署:" #: mgrpxy/cmd/cmd.go:47 msgid "Server Management:" -msgstr "" +msgstr "服务器管理:" #: mgrpxy/cmd/cmd.go:51 -#, fuzzy msgid "Administrator tools:" -msgstr "Uyuni 代理管理工具" +msgstr "管理员工具:" #: mgrpxy/cmd/cmd.go:62 #, javascript-format @@ -78,10 +82,6 @@ msgstr "应用程序日志级别" msgid "Install a new proxy from scratch" msgstr "从头开始安装新代理" -#: mgrpxy/cmd/install/install.go:23 mgrpxy/cmd/upgrade/upgrade.go:23 -msgid "specify a private registry" -msgstr "指定私用注册表" - #: mgrpxy/cmd/install/kubernetes/kubernetes.go:25 msgid "Install a new proxy on a running kubernetes cluster" msgstr "在正在运行的 kubernetes 群集上安装新代理" @@ -113,7 +113,7 @@ msgid "install %s before running this command" msgstr "在运行此命令前安装 %s" #: mgrpxy/cmd/install/kubernetes/utils.go:35 -#: mgrpxy/cmd/support/config/extractor.go:22 +#: mgrpxy/cmd/support/config/extractor.go:23 #: mgrpxy/shared/kubernetes/deploy.go:159 msgid "failed to create temporary directory" msgstr "无法创建临时目录" @@ -123,7 +123,7 @@ msgid "failed to extract configuration" msgstr "无法提取配置" #: mgrpxy/cmd/install/kubernetes/utils.go:62 -#: mgrpxy/shared/kubernetes/deploy.go:184 +#: mgrpxy/shared/kubernetes/deploy.go:189 msgid "cannot deploy proxy helm chart" msgstr "无法部署代理 helm 图表" @@ -151,7 +151,7 @@ msgstr "" "\n" "注意:目前不支持在远程 podman 上安装!\n" -#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:214 +#: mgrpxy/cmd/install/podman/utils.go:32 mgrpxy/shared/podman/podman.go:217 msgid "install podman before running this command" msgstr "在运行此命令前安装 podman" @@ -160,9 +160,19 @@ msgstr "在运行此命令前安装 podman" msgid "failed to extract proxy config from %s file" msgstr "无法从 %s 文件中提取代理配置" -#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:227 +#: mgrpxy/cmd/install/podman/utils.go:47 mgrpxy/shared/podman/podman.go:230 msgid "failed to login to registry.suse.com" -msgstr "" +msgstr "无法登录 registry.suse.com" + +#: mgrpxy/cmd/logs/kubernetes.go:29 +#, fuzzy +msgid "failed to find proxy pod" +msgstr "找不到 uyuni-proxy 部署名称空间" + +#: mgrpxy/cmd/logs/kubernetes.go:33 +#, fuzzy +msgid "failed to find proxy deployment namespace" +msgstr "找不到 uyuni-proxy 部署名称空间" #: mgrpxy/cmd/logs/logs.go:36 msgid "Get the proxy logs" @@ -240,19 +250,20 @@ msgid "Stop the proxy" msgstr "停止代理" #: mgrpxy/cmd/support/config/config.go:23 -#, fuzzy msgid "Extract configuration and logs" -msgstr "无法提取配置" +msgstr "提取配置和日志" #: mgrpxy/cmd/support/config/config.go:24 msgid "" "Extract the host or cluster configuration and logs as well as those from \n" "the containers for support to help debugging." msgstr "" +"提取主机或群集配置和日志以及容器中的这些信息,\n" +"以便在调试时提供帮助。" #: mgrpxy/cmd/support/config/config.go:32 msgid "path where to extract the data" -msgstr "" +msgstr "从中提取数据的路径" #: mgrpxy/cmd/support/ptf/kubernetes/kubernetes.go:25 msgid "Install a PTF or Test package on a kubernetes cluster" @@ -289,7 +300,7 @@ msgid "" "Install a PTF or Test package on podman\n" "\n" "The support ptf podman command assumes podman is installed locally and\n" -"the host machine is register to SCC.\n" +"the host machine is registered to SCC.\n" "\n" "NOTE: for now installing on a remote podman is not supported!\n" msgstr "" @@ -312,27 +323,27 @@ msgstr "ptf 和 test 标志不能同时为空 " msgid "user flag cannot be empty" msgstr "user 标志不能为空" -#: mgrpxy/cmd/support/ptf/podman/utils.go:54 +#: mgrpxy/cmd/support/ptf/podman/utils.go:56 #, javascript-format msgid "The httpd ptf image computed is: %s" msgstr "计算出的 httpd ptf 映像为:%s" -#: mgrpxy/cmd/support/ptf/podman/utils.go:64 +#: mgrpxy/cmd/support/ptf/podman/utils.go:66 #, javascript-format msgid "The ssh ptf image computed is: %s" msgstr "计算出的 ssh ptf 映像为:%s" -#: mgrpxy/cmd/support/ptf/podman/utils.go:74 +#: mgrpxy/cmd/support/ptf/podman/utils.go:76 #, javascript-format msgid "The tftpd ptf image computed is: %s" msgstr "计算出的 tftpd ptf 映像为:%s" -#: mgrpxy/cmd/support/ptf/podman/utils.go:84 +#: mgrpxy/cmd/support/ptf/podman/utils.go:86 #, javascript-format msgid "The salt-broker ptf image computed is: %s" msgstr "计算出的 salt-broker ptf 映像为:%s" -#: mgrpxy/cmd/support/ptf/podman/utils.go:94 +#: mgrpxy/cmd/support/ptf/podman/utils.go:96 #, javascript-format msgid "The squid ptf image computed is: %s" msgstr "计算出的 squid ptf 映像为:%s" @@ -478,58 +489,57 @@ msgstr "无法执行 helm 升级" msgid "failed to write in file %s" msgstr "无法在文件 %s 中写入数据" -#: mgrpxy/shared/podman/podman.go:35 +#: mgrpxy/shared/podman/podman.go:37 msgid "cannot setup network" msgstr "无法设置网络" -#: mgrpxy/shared/podman/podman.go:38 +#: mgrpxy/shared/podman/podman.go:40 msgid "Generating systemd services" msgstr "正在生成 systemd 服务" -#: mgrpxy/shared/podman/podman.go:130 +#: mgrpxy/shared/podman/podman.go:133 #, javascript-format msgid "failed to generate systemd file '%s'" msgstr "无法生成 systemd 文件 '%s'" -#: mgrpxy/shared/podman/podman.go:136 +#: mgrpxy/shared/podman/podman.go:139 msgid "cannot generate systemd conf file" msgstr "无法生成 systemd 配置文件" -#: mgrpxy/shared/podman/podman.go:142 -#, fuzzy +#: mgrpxy/shared/podman/podman.go:145 msgid "cannot generate systemd conf user configuration file" -msgstr "无法生成 systemd 配置文件" +msgstr "无法生成 systemd conf 用户配置文件" -#: mgrpxy/shared/podman/podman.go:172 +#: mgrpxy/shared/podman/podman.go:175 #, javascript-format msgid "Setting up proxy with configuration %s" msgstr "正在使用配置 %s 设置代理" -#: mgrpxy/shared/podman/podman.go:190 +#: mgrpxy/shared/podman/podman.go:193 msgid "/etc/uyuni/proxy directory has no read and write permissions for all users. Check your umask settings." msgstr "并非所有用户都具有 /etc/uyuni/proxy 目录的读写权限。请检查您的 umask 设置。" -#: mgrpxy/shared/podman/podman.go:205 +#: mgrpxy/shared/podman/podman.go:208 msgid "/etc/uyuni/proxy/config.yaml has no read permissions for all users. Check your umask settings." msgstr "并非所有用户都具有 /etc/uyuni/proxy/config.yaml 的读写权限。请检查您的 umask 设置。" -#: mgrpxy/shared/podman/podman.go:233 +#: mgrpxy/shared/podman/podman.go:236 msgid "cannot find httpd image: it will no be upgraded" msgstr "找不到 httpd 映像:将不升级该映像" -#: mgrpxy/shared/podman/podman.go:237 +#: mgrpxy/shared/podman/podman.go:240 msgid "cannot find salt-broker image: it will no be upgraded" msgstr "找不到 salt-broker 映像:将不升级该映像" -#: mgrpxy/shared/podman/podman.go:241 +#: mgrpxy/shared/podman/podman.go:244 msgid "cannot find squid image: it will no be upgraded" msgstr "找不到 squid 映像:将不升级该映像" -#: mgrpxy/shared/podman/podman.go:245 +#: mgrpxy/shared/podman/podman.go:248 msgid "cannot find ssh image: it will no be upgraded" msgstr "找不到 ssh 映像:将不升级该映像" -#: mgrpxy/shared/podman/podman.go:249 +#: mgrpxy/shared/podman/podman.go:252 msgid "cannot find tftpd image: it will no be upgraded" msgstr "找不到 tftpd 映像:将不升级该映像" @@ -548,36 +558,48 @@ msgid "failed to compute image URL" msgstr "无法计算映像 URL" #: mgrpxy/shared/utils/flags.go:64 +msgid "SUSE Customer Center username. It will be used to pull images from registry.suse.com" +msgstr "SUSE Customer Center 用户名,将用于从 registry.suse.com 提取映像" + +#: mgrpxy/shared/utils/flags.go:65 +msgid "SUSE Customer Center password. It will be used to pull images from registry.suse.com" +msgstr "SUSE Customer Center 口令,将用于从 registry.suse.com 提取映像" + +#: mgrpxy/shared/utils/flags.go:67 +msgid "SUSE Customer Center Flags" +msgstr "SUSE Customer Center 标志" + +#: mgrpxy/shared/utils/flags.go:74 msgid "image tag" msgstr "映像标记" -#: mgrpxy/shared/utils/flags.go:73 +#: mgrpxy/shared/utils/flags.go:83 msgid "HTTPD tuning configuration file" msgstr "HTTPD 微调配置文件" -#: mgrpxy/shared/utils/flags.go:74 +#: mgrpxy/shared/utils/flags.go:84 msgid "Squid tuning configuration file" msgstr "Squid 微调配置文件" -#: mgrpxy/shared/utils/flags.go:80 +#: mgrpxy/shared/utils/flags.go:90 #, javascript-format msgid "Image for %s container" -msgstr "" +msgstr "%s 容器的映像" -#: mgrpxy/shared/utils/flags.go:82 +#: mgrpxy/shared/utils/flags.go:92 #, javascript-format msgid "Tag for %s container, overrides the global value if set" msgstr "%s 容器的标记,如果设置,将会覆盖全局值" +#~ msgid "specify a private registry" +#~ msgstr "指定私用注册表" + #~ msgid "failed to discover the cluster type" #~ msgstr "无法发现群集类型" #~ msgid "no uyuni-proxy helm release installed on the cluster" #~ msgstr "群集上未安装 uyuni-proxy helm 版本" -#~ msgid "failed to find the uyuni-proxy deployment namespace" -#~ msgstr "找不到 uyuni-proxy 部署名称空间" - #~ msgid "cannot inspect host values" #~ msgstr "无法检查主机值" diff --git a/locale/shared/de.po b/locale/shared/de.po index f15855afe..ac2fd0d46 100644 --- a/locale/shared/de.po +++ b/locale/shared/de.po @@ -7,66 +7,139 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" +"PO-Revision-Date: 2024-08-25 15:47+0000\n" +"Last-Translator: Ettore Atalan \n" +"Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" -#: shared/api/api.go:72 +#: shared/api/api.go:28 msgid "FQDN of the server to connect to" msgstr "" -#: shared/api/api.go:73 +#: shared/api/api.go:29 msgid "API user username" msgstr "" -#: shared/api/api.go:74 +#: shared/api/api.go:30 msgid "Password for the API user" -msgstr "" +msgstr "Passwort für den API-Benutzer" -#: shared/api/api.go:75 +#: shared/api/api.go:31 msgid "Path to a cert file of the CA" msgstr "" -#: shared/api/api.go:76 +#: shared/api/api.go:32 msgid "If set, server certificate will not be checked for validity" msgstr "" -#: shared/api/api.go:125 +#: shared/api/api.go:67 +msgid "401: unauthorized" +msgstr "" + +#: shared/api/api.go:82 #, javascript-format msgid "unknown error: %d" +msgstr "unbekannter Fehler: %d" + +#: shared/api/api.go:114 +msgid "server URL is not provided" msgstr "" -#: shared/api/api.go:167 -msgid "API server password" +#: shared/api/api.go:146 +msgid "Cached session is expired." +msgstr "" + +#: shared/api/api.go:148 shared/api/credentials.go:70 +msgid "Failed to remove stored credentials!" msgstr "" -#: shared/api/api.go:182 +#: shared/api/api.go:166 msgid "Unable to create login data" msgstr "" -#: shared/api/api.go:212 +#: shared/api/api.go:196 msgid "auth cookie not found in login response" msgstr "" -#: shared/api/api.go:228 +#: shared/api/api.go:211 +msgid "failed to logout from the server" +msgstr "" + +#: shared/api/api.go:235 msgid "Unable to convert data to JSON" msgstr "" -#: shared/api/org/createFirst.go:21 shared/api/org/getDetails.go:21 -msgid "failed to connect to the server" +#: shared/api/credentials.go:21 +msgid "not logged in, session cookie is missing" +msgstr "" + +#: shared/api/credentials.go:34 +msgid "unable to create credentials json" +msgstr "" + +#: shared/api/credentials.go:39 +#, javascript-format +msgid "unable to write credentials store %s" +msgstr "" + +#: shared/api/credentials.go:53 +#, fuzzy +msgid "API server URL" +msgstr "API-Server-Passwort" + +#: shared/api/credentials.go:54 +#, fuzzy +msgid "API server user" +msgstr "API-Server-Passwort" + +#: shared/api/credentials.go:55 +msgid "API server password" +msgstr "API-Server-Passwort" + +#: shared/api/credentials.go:58 +msgid "No credentials provided" +msgstr "" + +#: shared/api/credentials.go:68 +msgid "Cannot load stored credentials" +msgstr "" + +#: shared/api/credentials.go:83 +#, javascript-format +msgid "unable to read credentials file %s" +msgstr "" + +#: shared/api/credentials.go:88 +msgid "unable to decode credentials file" +msgstr "" + +#: shared/api/credentials.go:92 +msgid "no credentials loaded" +msgstr "" + +#: shared/api/credentials.go:101 +msgid "specified api server does not match with stored credentials" +msgstr "" + +#: shared/api/org/createFirst.go:21 +msgid "unable to prepare API client" msgstr "" #: shared/api/org/createFirst.go:35 msgid "failed to create first user and organization" msgstr "" -#: shared/api/org/getDetails.go:25 +#: shared/api/org/getDetails.go:24 +msgid "failed to connect to the server" +msgstr "" + +#: shared/api/org/getDetails.go:28 msgid "failed to get organization details" msgstr "" @@ -129,7 +202,7 @@ msgstr "" #: shared/connection.go:209 #, javascript-format msgid "%s command not executed:" -msgstr "" +msgstr "Befehl %s nicht ausgeführt:" #: shared/connection.go:221 msgid "failed to retrieve namespace " @@ -139,68 +212,67 @@ msgstr "" msgid "container didn't start within 10s." msgstr "" -#: shared/connection.go:293 +#: shared/connection.go:298 msgid "server didn't start within 60s. Check for the service status" msgstr "" -#: shared/connection.go:323 shared/connection.go:362 +#: shared/connection.go:338 shared/connection.go:380 #, javascript-format msgid "unknown container kind: %s" msgstr "" -#: shared/connection.go:373 +#: shared/connection.go:391 msgid "Copying the SSL CA certificate to the host" msgstr "" -#: shared/connection.go:389 +#: shared/connection.go:410 msgid "Updating host trusted certificates" msgstr "" -#: shared/connection.go:429 -msgid "failed to determine suitable backend" +#: shared/connection.go:418 +msgid "Unable to update host trusted certificates." msgstr "" -#: shared/connection.go:439 -msgid "no supported backend found" +#: shared/connection.go:458 shared/connection.go:479 +msgid "failed to determine suitable backend" msgstr "" -#: shared/connection.go:455 shared/kubernetes/k3s.go:65 -#: shared/podman/hostinspector.go:60 shared/podman/utils.go:224 -msgid "failed to create temporary directory" +#: shared/connection.go:468 +msgid "no supported backend found" msgstr "" -#: shared/connection.go:460 +#: shared/connection.go:493 #, javascript-format msgid "Running supportconfig in %s" msgstr "" -#: shared/connection.go:463 +#: shared/connection.go:496 msgid "failed to run supportconfig" msgstr "" -#: shared/connection.go:467 +#: shared/connection.go:500 msgid "failed to find container supportconfig tarball from command output" msgstr "" -#: shared/connection.go:473 +#: shared/connection.go:506 msgid "cannot copy tarball" msgstr "" -#: shared/connection.go:479 +#: shared/connection.go:512 #, javascript-format msgid "failed to remove %s file in the container" msgstr "" -#: shared/connection.go:497 +#: shared/connection.go:531 #, javascript-format msgid "failed to detect %s's namespace using helm" msgstr "" -#: shared/connection.go:502 +#: shared/connection.go:536 msgid "helm provided an invalid JSON output" msgstr "" -#: shared/connection.go:508 +#: shared/connection.go:542 msgid "found no or more than one deployment" msgstr "" @@ -217,8 +289,8 @@ msgid "namespace is required" msgstr "" #: shared/kubernetes/helm.go:77 shared/podman/network.go:107 -#: shared/podman/systemd.go:79 shared/podman/systemd.go:155 -#: shared/podman/systemd.go:156 shared/podman/utils.go:132 +#: shared/podman/systemd.go:96 shared/podman/systemd.go:172 +#: shared/podman/systemd.go:173 shared/podman/utils.go:132 #: shared/podman/utils.go:158 #, javascript-format msgid "Would run %s" @@ -251,6 +323,11 @@ msgstr "" msgid "install %s before running this command" msgstr "" +#: shared/kubernetes/k3s.go:65 shared/podman/hostinspector.go:60 +#: shared/podman/utils.go:224 +msgid "failed to create temporary directory" +msgstr "" + #: shared/kubernetes/k3s.go:79 #, javascript-format msgid "cannot delete %s" @@ -306,43 +383,39 @@ msgstr "" msgid "Waiting for Nginx controller to be reloaded" msgstr "" -#: shared/kubernetes/support.go:32 +#: shared/kubernetes/support.go:27 msgid "cannot retrieve any configmap" msgstr "" -#: shared/kubernetes/support.go:39 +#: shared/kubernetes/support.go:34 msgid "cannot retrieve any pod" msgstr "" -#: shared/kubernetes/support.go:49 -msgid "cannot fetch namespace" -msgstr "" - -#: shared/kubernetes/support.go:57 +#: shared/kubernetes/support.go:45 #, javascript-format msgid "cannot create %s" msgstr "" -#: shared/kubernetes/support.go:62 +#: shared/kubernetes/support.go:50 msgid "cannot fetch configmap" msgstr "" -#: shared/kubernetes/support.go:75 +#: shared/kubernetes/support.go:63 #, javascript-format msgid "cannot check for pods in %s" msgstr "" -#: shared/kubernetes/support.go:82 +#: shared/kubernetes/support.go:70 #, javascript-format msgid "failed to create %s" msgstr "" -#: shared/kubernetes/support.go:88 +#: shared/kubernetes/support.go:76 #, javascript-format msgid "failed to fetch info for pod %s" msgstr "" -#: shared/kubernetes/support.go:94 +#: shared/kubernetes/support.go:82 #, javascript-format msgid "failed to write in %s" msgstr "" @@ -357,7 +430,7 @@ msgid "" "be automatically removed when deleting the deployment even if --purge-volumes argument is not used." msgstr "" -#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:92 +#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:93 msgid "failed to pull image" msgstr "" @@ -373,90 +446,90 @@ msgstr "" msgid "Waiting for image of %[1]s pod in %[2]s namespace to be pulled" msgstr "" -#: shared/kubernetes/utils.go:87 +#: shared/kubernetes/utils.go:88 #, javascript-format msgid "failed to get failed events for pod %s" msgstr "" -#: shared/kubernetes/utils.go:99 +#: shared/kubernetes/utils.go:100 #, javascript-format msgid "failed to get events for pod %s" msgstr "" -#: shared/kubernetes/utils.go:145 +#: shared/kubernetes/utils.go:146 msgid "failed to parse deployment status" msgstr "" -#: shared/kubernetes/utils.go:159 +#: shared/kubernetes/utils.go:160 #, javascript-format msgid "cannot run kubectl %s" msgstr "" -#: shared/kubernetes/utils.go:164 +#: shared/kubernetes/utils.go:165 #, javascript-format msgid "cannot get pods for %s" msgstr "" -#: shared/kubernetes/utils.go:171 +#: shared/kubernetes/utils.go:172 #, javascript-format msgid "replica to %d failed" msgstr "" -#: shared/kubernetes/utils.go:184 +#: shared/kubernetes/utils.go:185 msgid "cannot check if pod %[1]s is running in app %[2]s" msgstr "" -#: shared/kubernetes/utils.go:195 shared/kubernetes/utils.go:239 -#: shared/kubernetes/utils.go:332 +#: shared/kubernetes/utils.go:196 shared/kubernetes/utils.go:240 +#: shared/kubernetes/utils.go:333 #, javascript-format msgid "cannot execute %s" msgstr "" -#: shared/kubernetes/utils.go:216 +#: shared/kubernetes/utils.go:217 #, javascript-format msgid "cannot get pod informations %s" msgstr "" -#: shared/kubernetes/utils.go:225 +#: shared/kubernetes/utils.go:226 #, javascript-format msgid "cannot set replicas for %s to zero" msgstr "" -#: shared/kubernetes/utils.go:270 +#: shared/kubernetes/utils.go:271 #, javascript-format msgid "%s is not a valid image pull policy value" msgstr "" -#: shared/kubernetes/utils.go:291 +#: shared/kubernetes/utils.go:292 msgctxt "The first placeholder is a command" msgid "cannot run %[1]s using image %[2]s" msgstr "" -#: shared/kubernetes/utils.go:295 +#: shared/kubernetes/utils.go:296 #, javascript-format msgid "deleting pod %s. Status fails with error" msgstr "" -#: shared/kubernetes/utils.go:308 shared/kubernetes/utils.go:317 +#: shared/kubernetes/utils.go:309 shared/kubernetes/utils.go:318 #, javascript-format msgid "cannot delete pod %s" msgstr "" -#: shared/kubernetes/utils.go:339 +#: shared/kubernetes/utils.go:340 #, javascript-format msgid "error during execution of %s" msgstr "" -#: shared/kubernetes/utils.go:344 +#: shared/kubernetes/utils.go:345 msgid "pod %[1]s status is not %[2]s in %[3]d seconds" msgstr "" -#: shared/kubernetes/utils.go:361 +#: shared/kubernetes/utils.go:362 #, javascript-format msgid "cannot find node name matching filter %s" msgstr "" -#: shared/kubernetes/utils.go:370 +#: shared/kubernetes/utils.go:371 msgid "cannot serialize pod definition override" msgstr "" @@ -473,85 +546,89 @@ msgstr "" msgid "Ensure image %s is available" msgstr "" -#: shared/podman/images.go:44 +#: shared/podman/images.go:46 msgid "Pull Policy is always. Presence of RPM image will be checked and if it's not present it will be pulled from registry" msgstr "" -#: shared/podman/images.go:53 +#: shared/podman/images.go:55 #, javascript-format msgid "Cannot use RPM image for %s" msgstr "" -#: shared/podman/images.go:55 +#: shared/podman/images.go:57 msgid "Using the %[1]s image loaded from the RPM instead of its online version %[2]s" msgstr "" -#: shared/podman/images.go:60 +#: shared/podman/images.go:62 #, javascript-format msgid "Cannot find RPM image for %s" msgstr "" -#: shared/podman/images.go:68 +#: shared/podman/images.go:75 #, javascript-format msgid "image %s is missing and cannot be fetched" msgstr "" -#: shared/podman/images.go:79 +#: shared/podman/images.go:86 #, javascript-format msgid "Cannot correctly parse image name '%s', local image cannot be used" msgstr "" -#: shared/podman/images.go:97 +#: shared/podman/images.go:104 msgid "cannot unmarshal image RPM metadata" msgstr "" -#: shared/podman/images.go:142 +#: shared/podman/images.go:149 #, javascript-format msgid "Cannot unmarshal metadata file %s" msgstr "" -#: shared/podman/images.go:164 +#: shared/podman/images.go:171 #, javascript-format msgid "error parsing: %s" msgstr "" -#: shared/podman/images.go:172 shared/podman/images.go:186 -#: shared/podman/images.go:201 +#: shared/podman/images.go:179 shared/podman/images.go:193 +#: shared/podman/images.go:208 #, javascript-format msgid "failed to check if image %s has already been pulled" msgstr "" -#: shared/podman/images.go:208 +#: shared/podman/images.go:215 #, javascript-format msgid "%s should contains just lower case character, otherwise podman pull would fails" msgstr "" -#: shared/podman/images.go:210 +#: shared/podman/images.go:217 #, javascript-format msgid "Running podman pull %s" msgstr "" -#: shared/podman/images.go:222 +#: shared/podman/images.go:229 #, javascript-format msgid "Running podman image search --list-tags %s --format={{.Tag}}" msgstr "" -#: shared/podman/images.go:230 +#: shared/podman/images.go:237 #, javascript-format msgid "cannot find any tag for image %s" msgstr "" -#: shared/podman/images.go:238 +#: shared/podman/images.go:245 #, javascript-format msgid "Running podman ps --filter=name=%s --format={{ .Image }}" msgstr "" -#: shared/podman/images.go:242 +#: shared/podman/images.go:249 #, javascript-format msgid "cannot find any running image for container %s" msgstr "" -#: shared/podman/login.go:41 +#: shared/podman/login.go:23 +msgid "SCC credentials parameters will be used. SCC credentials from host will be ignored." +msgstr "" + +#: shared/podman/login.go:50 msgid "failed to close the temporary auth file" msgstr "" @@ -647,117 +724,117 @@ msgstr "" msgid "failed to disable %s systemd service" msgstr "" -#: shared/podman/systemd.go:76 +#: shared/podman/systemd.go:93 #, javascript-format msgid "Systemd has no %s.service unit" msgstr "" -#: shared/podman/systemd.go:81 +#: shared/podman/systemd.go:98 #, javascript-format msgid "Disable %s service" msgstr "" -#: shared/podman/systemd.go:85 shared/podman/systemd.go:144 +#: shared/podman/systemd.go:102 shared/podman/systemd.go:161 #, javascript-format msgid "Failed to disable %s service" msgstr "" -#: shared/podman/systemd.go:97 shared/podman/systemd.go:114 +#: shared/podman/systemd.go:114 shared/podman/systemd.go:131 #, javascript-format msgid "Would remove %s" msgstr "" -#: shared/podman/systemd.go:100 shared/podman/systemd.go:116 +#: shared/podman/systemd.go:117 shared/podman/systemd.go:133 #, javascript-format msgid "Remove %s" msgstr "" -#: shared/podman/systemd.go:102 +#: shared/podman/systemd.go:119 #, javascript-format msgid "Failed to remove %s.service file" msgstr "" -#: shared/podman/systemd.go:118 +#: shared/podman/systemd.go:135 #, javascript-format msgid "Failed to remove %s file" msgstr "" -#: shared/podman/systemd.go:125 +#: shared/podman/systemd.go:142 #, javascript-format msgid "Would remove %s if empty" msgstr "" -#: shared/podman/systemd.go:131 +#: shared/podman/systemd.go:148 #, javascript-format msgid "%s folder contains file created by the user. Please remove them when uninstallation is completed." msgstr "" -#: shared/podman/systemd.go:141 +#: shared/podman/systemd.go:158 #, javascript-format msgid "Would scale %s to 0 replicas" msgstr "" -#: shared/podman/systemd.go:160 +#: shared/podman/systemd.go:177 msgid "failed to reset-failed systemd" msgstr "" -#: shared/podman/systemd.go:164 +#: shared/podman/systemd.go:181 msgid "failed to reload systemd daemon" msgstr "" -#: shared/podman/systemd.go:182 +#: shared/podman/systemd.go:199 #, javascript-format msgid "failed to restart systemd %s.service" msgstr "" -#: shared/podman/systemd.go:190 +#: shared/podman/systemd.go:207 #, javascript-format msgid "failed to start systemd %s.service" msgstr "" -#: shared/podman/systemd.go:198 +#: shared/podman/systemd.go:215 #, javascript-format msgid "failed to stop systemd %s.service" msgstr "" -#: shared/podman/systemd.go:206 +#: shared/podman/systemd.go:223 #, javascript-format msgid "failed to enable %s systemd service" msgstr "" -#: shared/podman/systemd.go:253 +#: shared/podman/systemd.go:270 #, javascript-format msgid "failed to create %s folder" msgstr "" -#: shared/podman/systemd.go:263 +#: shared/podman/systemd.go:280 #, javascript-format msgid "cannot write %s file" msgstr "" -#: shared/podman/systemd.go:308 +#: shared/podman/systemd.go:325 #, javascript-format msgid "failed to write %s file" msgstr "" -#: shared/podman/systemd.go:313 +#: shared/podman/systemd.go:330 #, javascript-format msgid "failed to remove old %s systemd service configuration file" msgstr "" -#: shared/podman/systemd.go:335 +#: shared/podman/systemd.go:352 msgid "Service %[1]s already has %[2]d replicas." msgstr "" -#: shared/podman/systemd.go:338 +#: shared/podman/systemd.go:355 msgid "Scale %[1]s from %[2]d to %[3]d replicas." msgstr "" -#: shared/podman/systemd.go:342 +#: shared/podman/systemd.go:359 msgid "cannot enable service" msgstr "" -#: shared/podman/systemd.go:348 +#: shared/podman/systemd.go:365 msgid "cannot disable service" msgstr "" @@ -862,15 +939,15 @@ msgstr "" msgid "failed to parse configuration file %s" msgstr "" -#: shared/utils/config.go:62 +#: shared/utils/config.go:51 msgid "Failed to find home directory" msgstr "" -#: shared/utils/config.go:87 +#: shared/utils/config.go:94 msgid "failed to bind %[1]s config to parameter %[2]s" msgstr "" -#: shared/utils/config.go:99 +#: shared/utils/config.go:106 msgid "" "Usage:{{if .Runnable}}\n" " {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}}\n" @@ -903,7 +980,7 @@ msgid "" "Use \"{{.CommandPath}} [command] --help\" for more information about a command.{{end}}\n" msgstr "" -#: shared/utils/config.go:133 +#: shared/utils/config.go:140 msgid "" "\n" "Configuration:\n" @@ -940,11 +1017,11 @@ msgid "" " and '--ssl-password' flags to '{{ .EnvPrefix }}_SSL_PASSWORD' \n" msgstr "" -#: shared/utils/config.go:170 +#: shared/utils/config.go:177 msgid "Help on configuration file and environment variables" msgstr "" -#: shared/utils/config.go:179 +#: shared/utils/config.go:186 msgid "failed to compute config help command" msgstr "" @@ -1021,127 +1098,132 @@ msgstr "" msgid "failed to open %s for writing" msgstr "" -#: shared/utils/utils.go:53 +#: shared/utils/utils.go:54 #, javascript-format msgid "Has to be more than %d character long" msgid_plural "Has to be more than %d characters long" msgstr[0] "" msgstr[1] "" -#: shared/utils/utils.go:57 +#: shared/utils/utils.go:58 #, javascript-format msgid "Has to be less than %d character long" msgid_plural "Has to be less than %d characters long" msgstr[0] "" msgstr[1] "" -#: shared/utils/utils.go:68 +#: shared/utils/utils.go:69 msgid "Failed to read password" msgstr "" -#: shared/utils/utils.go:82 +#: shared/utils/utils.go:83 msgid "Cannot contain spaces or tabs" msgstr "" -#: shared/utils/utils.go:103 +#: shared/utils/utils.go:101 shared/utils/utils.go:125 +#: shared/utils/utils.go:138 +msgid "not an interactive device, not asking for missing value" +msgstr "" + +#: shared/utils/utils.go:110 msgid "Confirm the password" msgstr "" -#: shared/utils/utils.go:105 +#: shared/utils/utils.go:112 msgid "Two different passwords have been provided" msgstr "" -#: shared/utils/utils.go:121 -msgid "Failed to read input" +#: shared/utils/utils.go:148 +msgid "failed to read input" msgstr "" -#: shared/utils/utils.go:129 +#: shared/utils/utils.go:156 msgid "A value is required" msgstr "" -#: shared/utils/utils.go:173 +#: shared/utils/utils.go:200 msgid "Registry %[1]s would be used instead of namespace %[2]s" msgstr "" -#: shared/utils/utils.go:188 shared/utils/utils.go:214 +#: shared/utils/utils.go:215 shared/utils/utils.go:241 #, javascript-format msgid "invalid image name: %s" msgstr "" -#: shared/utils/utils.go:192 +#: shared/utils/utils.go:219 #, javascript-format msgid "tag missing on %s" msgstr "" -#: shared/utils/utils.go:200 shared/utils/utils.go:205 +#: shared/utils/utils.go:227 shared/utils/utils.go:232 #, javascript-format msgid "Computed image name is %s" msgstr "" -#: shared/utils/utils.go:224 +#: shared/utils/utils.go:251 #, javascript-format msgid "Failed to run %s" msgstr "" -#: shared/utils/utils.go:233 +#: shared/utils/utils.go:260 #, javascript-format msgid "cannot check content of %s" msgstr "" -#: shared/utils/utils.go:245 +#: shared/utils/utils.go:272 #, javascript-format msgid "Cannot remove %s folder" msgstr "" -#: shared/utils/utils.go:256 +#: shared/utils/utils.go:283 #, javascript-format msgid "Failed to get %s file informations" msgstr "" -#: shared/utils/utils.go:265 +#: shared/utils/utils.go:292 #, javascript-format msgid "Failed to read file %s" msgstr "" -#: shared/utils/utils.go:280 +#: shared/utils/utils.go:307 #, javascript-format msgid "Would remove file %s" msgstr "" -#: shared/utils/utils.go:282 +#: shared/utils/utils.go:309 #, javascript-format msgid "Removing file %s" msgstr "" -#: shared/utils/utils.go:284 +#: shared/utils/utils.go:311 #, javascript-format msgid "Failed to remove file %s" msgstr "" -#: shared/utils/utils.go:294 +#: shared/utils/utils.go:321 msgid "Failed to read random data" msgstr "" -#: shared/utils/utils.go:315 +#: shared/utils/utils.go:342 #, javascript-format msgid "error downloading from %s" msgstr "" -#: shared/utils/utils.go:321 +#: shared/utils/utils.go:348 #, javascript-format msgid "bad status: %s" msgstr "" -#: shared/utils/utils.go:399 +#: shared/utils/utils.go:426 msgid "failed to compute server FQDN" msgstr "" -#: shared/utils/utils.go:417 +#: shared/utils/utils.go:440 #, javascript-format -msgid "cannot resolve %s" +msgid "%s is not a valid FQDN" msgstr "" -#: shared/utils/utils.go:425 +#: shared/utils/utils.go:444 #, javascript-format -msgid "%s is not a valid FQDN" +msgid "cannot resolve %s" msgstr "" diff --git a/locale/shared/es.po b/locale/shared/es.po index e8b624ab8..81dda7454 100644 --- a/locale/shared/es.po +++ b/locale/shared/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -17,56 +17,126 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: shared/api/api.go:72 +#: shared/api/api.go:28 msgid "FQDN of the server to connect to" msgstr "" -#: shared/api/api.go:73 +#: shared/api/api.go:29 msgid "API user username" msgstr "" -#: shared/api/api.go:74 +#: shared/api/api.go:30 msgid "Password for the API user" msgstr "" -#: shared/api/api.go:75 +#: shared/api/api.go:31 msgid "Path to a cert file of the CA" msgstr "" -#: shared/api/api.go:76 +#: shared/api/api.go:32 msgid "If set, server certificate will not be checked for validity" msgstr "" -#: shared/api/api.go:125 +#: shared/api/api.go:67 +msgid "401: unauthorized" +msgstr "" + +#: shared/api/api.go:82 #, javascript-format msgid "unknown error: %d" msgstr "" -#: shared/api/api.go:167 -msgid "API server password" +#: shared/api/api.go:114 +msgid "server URL is not provided" +msgstr "" + +#: shared/api/api.go:146 +msgid "Cached session is expired." msgstr "" -#: shared/api/api.go:182 +#: shared/api/api.go:148 shared/api/credentials.go:70 +msgid "Failed to remove stored credentials!" +msgstr "" + +#: shared/api/api.go:166 msgid "Unable to create login data" msgstr "" -#: shared/api/api.go:212 +#: shared/api/api.go:196 msgid "auth cookie not found in login response" msgstr "" -#: shared/api/api.go:228 +#: shared/api/api.go:211 +msgid "failed to logout from the server" +msgstr "" + +#: shared/api/api.go:235 msgid "Unable to convert data to JSON" msgstr "" -#: shared/api/org/createFirst.go:21 shared/api/org/getDetails.go:21 -msgid "failed to connect to the server" +#: shared/api/credentials.go:21 +msgid "not logged in, session cookie is missing" +msgstr "" + +#: shared/api/credentials.go:34 +msgid "unable to create credentials json" +msgstr "" + +#: shared/api/credentials.go:39 +#, javascript-format +msgid "unable to write credentials store %s" +msgstr "" + +#: shared/api/credentials.go:53 +msgid "API server URL" +msgstr "" + +#: shared/api/credentials.go:54 +msgid "API server user" +msgstr "" + +#: shared/api/credentials.go:55 +msgid "API server password" +msgstr "" + +#: shared/api/credentials.go:58 +msgid "No credentials provided" +msgstr "" + +#: shared/api/credentials.go:68 +msgid "Cannot load stored credentials" +msgstr "" + +#: shared/api/credentials.go:83 +#, javascript-format +msgid "unable to read credentials file %s" +msgstr "" + +#: shared/api/credentials.go:88 +msgid "unable to decode credentials file" +msgstr "" + +#: shared/api/credentials.go:92 +msgid "no credentials loaded" +msgstr "" + +#: shared/api/credentials.go:101 +msgid "specified api server does not match with stored credentials" +msgstr "" + +#: shared/api/org/createFirst.go:21 +msgid "unable to prepare API client" msgstr "" #: shared/api/org/createFirst.go:35 msgid "failed to create first user and organization" msgstr "" -#: shared/api/org/getDetails.go:25 +#: shared/api/org/getDetails.go:24 +msgid "failed to connect to the server" +msgstr "" + +#: shared/api/org/getDetails.go:28 msgid "failed to get organization details" msgstr "" @@ -139,68 +209,67 @@ msgstr "" msgid "container didn't start within 10s." msgstr "" -#: shared/connection.go:293 +#: shared/connection.go:298 msgid "server didn't start within 60s. Check for the service status" msgstr "" -#: shared/connection.go:323 shared/connection.go:362 +#: shared/connection.go:338 shared/connection.go:380 #, javascript-format msgid "unknown container kind: %s" msgstr "" -#: shared/connection.go:373 +#: shared/connection.go:391 msgid "Copying the SSL CA certificate to the host" msgstr "" -#: shared/connection.go:389 +#: shared/connection.go:410 msgid "Updating host trusted certificates" msgstr "" -#: shared/connection.go:429 -msgid "failed to determine suitable backend" +#: shared/connection.go:418 +msgid "Unable to update host trusted certificates." msgstr "" -#: shared/connection.go:439 -msgid "no supported backend found" +#: shared/connection.go:458 shared/connection.go:479 +msgid "failed to determine suitable backend" msgstr "" -#: shared/connection.go:455 shared/kubernetes/k3s.go:65 -#: shared/podman/hostinspector.go:60 shared/podman/utils.go:224 -msgid "failed to create temporary directory" +#: shared/connection.go:468 +msgid "no supported backend found" msgstr "" -#: shared/connection.go:460 +#: shared/connection.go:493 #, javascript-format msgid "Running supportconfig in %s" msgstr "" -#: shared/connection.go:463 +#: shared/connection.go:496 msgid "failed to run supportconfig" msgstr "" -#: shared/connection.go:467 +#: shared/connection.go:500 msgid "failed to find container supportconfig tarball from command output" msgstr "" -#: shared/connection.go:473 +#: shared/connection.go:506 msgid "cannot copy tarball" msgstr "" -#: shared/connection.go:479 +#: shared/connection.go:512 #, javascript-format msgid "failed to remove %s file in the container" msgstr "" -#: shared/connection.go:497 +#: shared/connection.go:531 #, javascript-format msgid "failed to detect %s's namespace using helm" msgstr "" -#: shared/connection.go:502 +#: shared/connection.go:536 msgid "helm provided an invalid JSON output" msgstr "" -#: shared/connection.go:508 +#: shared/connection.go:542 msgid "found no or more than one deployment" msgstr "" @@ -217,8 +286,8 @@ msgid "namespace is required" msgstr "" #: shared/kubernetes/helm.go:77 shared/podman/network.go:107 -#: shared/podman/systemd.go:79 shared/podman/systemd.go:155 -#: shared/podman/systemd.go:156 shared/podman/utils.go:132 +#: shared/podman/systemd.go:96 shared/podman/systemd.go:172 +#: shared/podman/systemd.go:173 shared/podman/utils.go:132 #: shared/podman/utils.go:158 #, javascript-format msgid "Would run %s" @@ -251,6 +320,11 @@ msgstr "" msgid "install %s before running this command" msgstr "" +#: shared/kubernetes/k3s.go:65 shared/podman/hostinspector.go:60 +#: shared/podman/utils.go:224 +msgid "failed to create temporary directory" +msgstr "" + #: shared/kubernetes/k3s.go:79 #, javascript-format msgid "cannot delete %s" @@ -306,43 +380,39 @@ msgstr "" msgid "Waiting for Nginx controller to be reloaded" msgstr "" -#: shared/kubernetes/support.go:32 +#: shared/kubernetes/support.go:27 msgid "cannot retrieve any configmap" msgstr "" -#: shared/kubernetes/support.go:39 +#: shared/kubernetes/support.go:34 msgid "cannot retrieve any pod" msgstr "" -#: shared/kubernetes/support.go:49 -msgid "cannot fetch namespace" -msgstr "" - -#: shared/kubernetes/support.go:57 +#: shared/kubernetes/support.go:45 #, javascript-format msgid "cannot create %s" msgstr "" -#: shared/kubernetes/support.go:62 +#: shared/kubernetes/support.go:50 msgid "cannot fetch configmap" msgstr "" -#: shared/kubernetes/support.go:75 +#: shared/kubernetes/support.go:63 #, javascript-format msgid "cannot check for pods in %s" msgstr "" -#: shared/kubernetes/support.go:82 +#: shared/kubernetes/support.go:70 #, javascript-format msgid "failed to create %s" msgstr "" -#: shared/kubernetes/support.go:88 +#: shared/kubernetes/support.go:76 #, javascript-format msgid "failed to fetch info for pod %s" msgstr "" -#: shared/kubernetes/support.go:94 +#: shared/kubernetes/support.go:82 #, javascript-format msgid "failed to write in %s" msgstr "" @@ -357,7 +427,7 @@ msgid "" "be automatically removed when deleting the deployment even if --purge-volumes argument is not used." msgstr "" -#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:92 +#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:93 msgid "failed to pull image" msgstr "" @@ -373,90 +443,90 @@ msgstr "" msgid "Waiting for image of %[1]s pod in %[2]s namespace to be pulled" msgstr "" -#: shared/kubernetes/utils.go:87 +#: shared/kubernetes/utils.go:88 #, javascript-format msgid "failed to get failed events for pod %s" msgstr "" -#: shared/kubernetes/utils.go:99 +#: shared/kubernetes/utils.go:100 #, javascript-format msgid "failed to get events for pod %s" msgstr "" -#: shared/kubernetes/utils.go:145 +#: shared/kubernetes/utils.go:146 msgid "failed to parse deployment status" msgstr "" -#: shared/kubernetes/utils.go:159 +#: shared/kubernetes/utils.go:160 #, javascript-format msgid "cannot run kubectl %s" msgstr "" -#: shared/kubernetes/utils.go:164 +#: shared/kubernetes/utils.go:165 #, javascript-format msgid "cannot get pods for %s" msgstr "" -#: shared/kubernetes/utils.go:171 +#: shared/kubernetes/utils.go:172 #, javascript-format msgid "replica to %d failed" msgstr "" -#: shared/kubernetes/utils.go:184 +#: shared/kubernetes/utils.go:185 msgid "cannot check if pod %[1]s is running in app %[2]s" msgstr "" -#: shared/kubernetes/utils.go:195 shared/kubernetes/utils.go:239 -#: shared/kubernetes/utils.go:332 +#: shared/kubernetes/utils.go:196 shared/kubernetes/utils.go:240 +#: shared/kubernetes/utils.go:333 #, javascript-format msgid "cannot execute %s" msgstr "" -#: shared/kubernetes/utils.go:216 +#: shared/kubernetes/utils.go:217 #, javascript-format msgid "cannot get pod informations %s" msgstr "" -#: shared/kubernetes/utils.go:225 +#: shared/kubernetes/utils.go:226 #, javascript-format msgid "cannot set replicas for %s to zero" msgstr "" -#: shared/kubernetes/utils.go:270 +#: shared/kubernetes/utils.go:271 #, javascript-format msgid "%s is not a valid image pull policy value" msgstr "" -#: shared/kubernetes/utils.go:291 +#: shared/kubernetes/utils.go:292 msgctxt "The first placeholder is a command" msgid "cannot run %[1]s using image %[2]s" msgstr "" -#: shared/kubernetes/utils.go:295 +#: shared/kubernetes/utils.go:296 #, javascript-format msgid "deleting pod %s. Status fails with error" msgstr "" -#: shared/kubernetes/utils.go:308 shared/kubernetes/utils.go:317 +#: shared/kubernetes/utils.go:309 shared/kubernetes/utils.go:318 #, javascript-format msgid "cannot delete pod %s" msgstr "" -#: shared/kubernetes/utils.go:339 +#: shared/kubernetes/utils.go:340 #, javascript-format msgid "error during execution of %s" msgstr "" -#: shared/kubernetes/utils.go:344 +#: shared/kubernetes/utils.go:345 msgid "pod %[1]s status is not %[2]s in %[3]d seconds" msgstr "" -#: shared/kubernetes/utils.go:361 +#: shared/kubernetes/utils.go:362 #, javascript-format msgid "cannot find node name matching filter %s" msgstr "" -#: shared/kubernetes/utils.go:370 +#: shared/kubernetes/utils.go:371 msgid "cannot serialize pod definition override" msgstr "" @@ -473,85 +543,89 @@ msgstr "" msgid "Ensure image %s is available" msgstr "" -#: shared/podman/images.go:44 +#: shared/podman/images.go:46 msgid "Pull Policy is always. Presence of RPM image will be checked and if it's not present it will be pulled from registry" msgstr "" -#: shared/podman/images.go:53 +#: shared/podman/images.go:55 #, javascript-format msgid "Cannot use RPM image for %s" msgstr "" -#: shared/podman/images.go:55 +#: shared/podman/images.go:57 msgid "Using the %[1]s image loaded from the RPM instead of its online version %[2]s" msgstr "" -#: shared/podman/images.go:60 +#: shared/podman/images.go:62 #, javascript-format msgid "Cannot find RPM image for %s" msgstr "" -#: shared/podman/images.go:68 +#: shared/podman/images.go:75 #, javascript-format msgid "image %s is missing and cannot be fetched" msgstr "" -#: shared/podman/images.go:79 +#: shared/podman/images.go:86 #, javascript-format msgid "Cannot correctly parse image name '%s', local image cannot be used" msgstr "" -#: shared/podman/images.go:97 +#: shared/podman/images.go:104 msgid "cannot unmarshal image RPM metadata" msgstr "" -#: shared/podman/images.go:142 +#: shared/podman/images.go:149 #, javascript-format msgid "Cannot unmarshal metadata file %s" msgstr "" -#: shared/podman/images.go:164 +#: shared/podman/images.go:171 #, javascript-format msgid "error parsing: %s" msgstr "" -#: shared/podman/images.go:172 shared/podman/images.go:186 -#: shared/podman/images.go:201 +#: shared/podman/images.go:179 shared/podman/images.go:193 +#: shared/podman/images.go:208 #, javascript-format msgid "failed to check if image %s has already been pulled" msgstr "" -#: shared/podman/images.go:208 +#: shared/podman/images.go:215 #, javascript-format msgid "%s should contains just lower case character, otherwise podman pull would fails" msgstr "" -#: shared/podman/images.go:210 +#: shared/podman/images.go:217 #, javascript-format msgid "Running podman pull %s" msgstr "" -#: shared/podman/images.go:222 +#: shared/podman/images.go:229 #, javascript-format msgid "Running podman image search --list-tags %s --format={{.Tag}}" msgstr "" -#: shared/podman/images.go:230 +#: shared/podman/images.go:237 #, javascript-format msgid "cannot find any tag for image %s" msgstr "" -#: shared/podman/images.go:238 +#: shared/podman/images.go:245 #, javascript-format msgid "Running podman ps --filter=name=%s --format={{ .Image }}" msgstr "" -#: shared/podman/images.go:242 +#: shared/podman/images.go:249 #, javascript-format msgid "cannot find any running image for container %s" msgstr "" -#: shared/podman/login.go:41 +#: shared/podman/login.go:23 +msgid "SCC credentials parameters will be used. SCC credentials from host will be ignored." +msgstr "" + +#: shared/podman/login.go:50 msgid "failed to close the temporary auth file" msgstr "" @@ -647,117 +721,117 @@ msgstr "" msgid "failed to disable %s systemd service" msgstr "" -#: shared/podman/systemd.go:76 +#: shared/podman/systemd.go:93 #, javascript-format msgid "Systemd has no %s.service unit" msgstr "" -#: shared/podman/systemd.go:81 +#: shared/podman/systemd.go:98 #, javascript-format msgid "Disable %s service" msgstr "" -#: shared/podman/systemd.go:85 shared/podman/systemd.go:144 +#: shared/podman/systemd.go:102 shared/podman/systemd.go:161 #, javascript-format msgid "Failed to disable %s service" msgstr "" -#: shared/podman/systemd.go:97 shared/podman/systemd.go:114 +#: shared/podman/systemd.go:114 shared/podman/systemd.go:131 #, javascript-format msgid "Would remove %s" msgstr "" -#: shared/podman/systemd.go:100 shared/podman/systemd.go:116 +#: shared/podman/systemd.go:117 shared/podman/systemd.go:133 #, javascript-format msgid "Remove %s" msgstr "" -#: shared/podman/systemd.go:102 +#: shared/podman/systemd.go:119 #, javascript-format msgid "Failed to remove %s.service file" msgstr "" -#: shared/podman/systemd.go:118 +#: shared/podman/systemd.go:135 #, javascript-format msgid "Failed to remove %s file" msgstr "" -#: shared/podman/systemd.go:125 +#: shared/podman/systemd.go:142 #, javascript-format msgid "Would remove %s if empty" msgstr "" -#: shared/podman/systemd.go:131 +#: shared/podman/systemd.go:148 #, javascript-format msgid "%s folder contains file created by the user. Please remove them when uninstallation is completed." msgstr "" -#: shared/podman/systemd.go:141 +#: shared/podman/systemd.go:158 #, javascript-format msgid "Would scale %s to 0 replicas" msgstr "" -#: shared/podman/systemd.go:160 +#: shared/podman/systemd.go:177 msgid "failed to reset-failed systemd" msgstr "" -#: shared/podman/systemd.go:164 +#: shared/podman/systemd.go:181 msgid "failed to reload systemd daemon" msgstr "" -#: shared/podman/systemd.go:182 +#: shared/podman/systemd.go:199 #, javascript-format msgid "failed to restart systemd %s.service" msgstr "" -#: shared/podman/systemd.go:190 +#: shared/podman/systemd.go:207 #, javascript-format msgid "failed to start systemd %s.service" msgstr "" -#: shared/podman/systemd.go:198 +#: shared/podman/systemd.go:215 #, javascript-format msgid "failed to stop systemd %s.service" msgstr "" -#: shared/podman/systemd.go:206 +#: shared/podman/systemd.go:223 #, javascript-format msgid "failed to enable %s systemd service" msgstr "" -#: shared/podman/systemd.go:253 +#: shared/podman/systemd.go:270 #, javascript-format msgid "failed to create %s folder" msgstr "" -#: shared/podman/systemd.go:263 +#: shared/podman/systemd.go:280 #, javascript-format msgid "cannot write %s file" msgstr "" -#: shared/podman/systemd.go:308 +#: shared/podman/systemd.go:325 #, javascript-format msgid "failed to write %s file" msgstr "" -#: shared/podman/systemd.go:313 +#: shared/podman/systemd.go:330 #, javascript-format msgid "failed to remove old %s systemd service configuration file" msgstr "" -#: shared/podman/systemd.go:335 +#: shared/podman/systemd.go:352 msgid "Service %[1]s already has %[2]d replicas." msgstr "" -#: shared/podman/systemd.go:338 +#: shared/podman/systemd.go:355 msgid "Scale %[1]s from %[2]d to %[3]d replicas." msgstr "" -#: shared/podman/systemd.go:342 +#: shared/podman/systemd.go:359 msgid "cannot enable service" msgstr "" -#: shared/podman/systemd.go:348 +#: shared/podman/systemd.go:365 msgid "cannot disable service" msgstr "" @@ -862,15 +936,15 @@ msgstr "" msgid "failed to parse configuration file %s" msgstr "" -#: shared/utils/config.go:62 +#: shared/utils/config.go:51 msgid "Failed to find home directory" msgstr "" -#: shared/utils/config.go:87 +#: shared/utils/config.go:94 msgid "failed to bind %[1]s config to parameter %[2]s" msgstr "" -#: shared/utils/config.go:99 +#: shared/utils/config.go:106 msgid "" "Usage:{{if .Runnable}}\n" " {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}}\n" @@ -903,7 +977,7 @@ msgid "" "Use \"{{.CommandPath}} [command] --help\" for more information about a command.{{end}}\n" msgstr "" -#: shared/utils/config.go:133 +#: shared/utils/config.go:140 msgid "" "\n" "Configuration:\n" @@ -940,11 +1014,11 @@ msgid "" " and '--ssl-password' flags to '{{ .EnvPrefix }}_SSL_PASSWORD' \n" msgstr "" -#: shared/utils/config.go:170 +#: shared/utils/config.go:177 msgid "Help on configuration file and environment variables" msgstr "" -#: shared/utils/config.go:179 +#: shared/utils/config.go:186 msgid "failed to compute config help command" msgstr "" @@ -1021,127 +1095,132 @@ msgstr "" msgid "failed to open %s for writing" msgstr "" -#: shared/utils/utils.go:53 +#: shared/utils/utils.go:54 #, javascript-format msgid "Has to be more than %d character long" msgid_plural "Has to be more than %d characters long" msgstr[0] "" msgstr[1] "" -#: shared/utils/utils.go:57 +#: shared/utils/utils.go:58 #, javascript-format msgid "Has to be less than %d character long" msgid_plural "Has to be less than %d characters long" msgstr[0] "" msgstr[1] "" -#: shared/utils/utils.go:68 +#: shared/utils/utils.go:69 msgid "Failed to read password" msgstr "" -#: shared/utils/utils.go:82 +#: shared/utils/utils.go:83 msgid "Cannot contain spaces or tabs" msgstr "" -#: shared/utils/utils.go:103 +#: shared/utils/utils.go:101 shared/utils/utils.go:125 +#: shared/utils/utils.go:138 +msgid "not an interactive device, not asking for missing value" +msgstr "" + +#: shared/utils/utils.go:110 msgid "Confirm the password" msgstr "" -#: shared/utils/utils.go:105 +#: shared/utils/utils.go:112 msgid "Two different passwords have been provided" msgstr "" -#: shared/utils/utils.go:121 -msgid "Failed to read input" +#: shared/utils/utils.go:148 +msgid "failed to read input" msgstr "" -#: shared/utils/utils.go:129 +#: shared/utils/utils.go:156 msgid "A value is required" msgstr "" -#: shared/utils/utils.go:173 +#: shared/utils/utils.go:200 msgid "Registry %[1]s would be used instead of namespace %[2]s" msgstr "" -#: shared/utils/utils.go:188 shared/utils/utils.go:214 +#: shared/utils/utils.go:215 shared/utils/utils.go:241 #, javascript-format msgid "invalid image name: %s" msgstr "" -#: shared/utils/utils.go:192 +#: shared/utils/utils.go:219 #, javascript-format msgid "tag missing on %s" msgstr "" -#: shared/utils/utils.go:200 shared/utils/utils.go:205 +#: shared/utils/utils.go:227 shared/utils/utils.go:232 #, javascript-format msgid "Computed image name is %s" msgstr "" -#: shared/utils/utils.go:224 +#: shared/utils/utils.go:251 #, javascript-format msgid "Failed to run %s" msgstr "" -#: shared/utils/utils.go:233 +#: shared/utils/utils.go:260 #, javascript-format msgid "cannot check content of %s" msgstr "" -#: shared/utils/utils.go:245 +#: shared/utils/utils.go:272 #, javascript-format msgid "Cannot remove %s folder" msgstr "" -#: shared/utils/utils.go:256 +#: shared/utils/utils.go:283 #, javascript-format msgid "Failed to get %s file informations" msgstr "" -#: shared/utils/utils.go:265 +#: shared/utils/utils.go:292 #, javascript-format msgid "Failed to read file %s" msgstr "" -#: shared/utils/utils.go:280 +#: shared/utils/utils.go:307 #, javascript-format msgid "Would remove file %s" msgstr "" -#: shared/utils/utils.go:282 +#: shared/utils/utils.go:309 #, javascript-format msgid "Removing file %s" msgstr "" -#: shared/utils/utils.go:284 +#: shared/utils/utils.go:311 #, javascript-format msgid "Failed to remove file %s" msgstr "" -#: shared/utils/utils.go:294 +#: shared/utils/utils.go:321 msgid "Failed to read random data" msgstr "" -#: shared/utils/utils.go:315 +#: shared/utils/utils.go:342 #, javascript-format msgid "error downloading from %s" msgstr "" -#: shared/utils/utils.go:321 +#: shared/utils/utils.go:348 #, javascript-format msgid "bad status: %s" msgstr "" -#: shared/utils/utils.go:399 +#: shared/utils/utils.go:426 msgid "failed to compute server FQDN" msgstr "" -#: shared/utils/utils.go:417 +#: shared/utils/utils.go:440 #, javascript-format -msgid "cannot resolve %s" +msgid "%s is not a valid FQDN" msgstr "" -#: shared/utils/utils.go:425 +#: shared/utils/utils.go:444 #, javascript-format -msgid "%s is not a valid FQDN" +msgid "cannot resolve %s" msgstr "" diff --git a/locale/shared/fr.po b/locale/shared/fr.po index a73efbcf4..1b7a495c1 100644 --- a/locale/shared/fr.po +++ b/locale/shared/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: 2024-04-08 14:09+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -19,58 +19,130 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 3.4.2\n" -#: shared/api/api.go:72 +#: shared/api/api.go:28 msgid "FQDN of the server to connect to" msgstr "" -#: shared/api/api.go:73 +#: shared/api/api.go:29 msgid "API user username" msgstr "" -#: shared/api/api.go:74 +#: shared/api/api.go:30 msgid "Password for the API user" msgstr "" -#: shared/api/api.go:75 +#: shared/api/api.go:31 msgid "Path to a cert file of the CA" msgstr "" -#: shared/api/api.go:76 +#: shared/api/api.go:32 msgid "If set, server certificate will not be checked for validity" msgstr "" -#: shared/api/api.go:125 +#: shared/api/api.go:67 +msgid "401: unauthorized" +msgstr "" + +#: shared/api/api.go:82 #, javascript-format msgid "unknown error: %d" msgstr "" -#: shared/api/api.go:167 -msgid "API server password" +#: shared/api/api.go:114 +msgid "server URL is not provided" +msgstr "" + +#: shared/api/api.go:146 +msgid "Cached session is expired." msgstr "" -#: shared/api/api.go:182 +#: shared/api/api.go:148 shared/api/credentials.go:70 +#, fuzzy +msgid "Failed to remove stored credentials!" +msgstr "Impossible de supprimer le fichier %s" + +#: shared/api/api.go:166 msgid "Unable to create login data" msgstr "" -#: shared/api/api.go:212 +#: shared/api/api.go:196 msgid "auth cookie not found in login response" msgstr "" -#: shared/api/api.go:228 +#: shared/api/api.go:211 +#, fuzzy +msgid "failed to logout from the server" +msgstr "impossible de se connecter au serveur: %s" + +#: shared/api/api.go:235 msgid "Unable to convert data to JSON" msgstr "" -#: shared/api/org/createFirst.go:21 shared/api/org/getDetails.go:21 -#, fuzzy -msgid "failed to connect to the server" -msgstr "impossible de se connecter au serveur: %s" +#: shared/api/credentials.go:21 +msgid "not logged in, session cookie is missing" +msgstr "" + +#: shared/api/credentials.go:34 +msgid "unable to create credentials json" +msgstr "" + +#: shared/api/credentials.go:39 +#, fuzzy, javascript-format +msgid "unable to write credentials store %s" +msgstr "impossible d'écrire l'archive tar.gz vers %s: %s" + +#: shared/api/credentials.go:53 +msgid "API server URL" +msgstr "" + +#: shared/api/credentials.go:54 +msgid "API server user" +msgstr "" + +#: shared/api/credentials.go:55 +msgid "API server password" +msgstr "" + +#: shared/api/credentials.go:58 +msgid "No credentials provided" +msgstr "" + +#: shared/api/credentials.go:68 +msgid "Cannot load stored credentials" +msgstr "" + +#: shared/api/credentials.go:83 +#, fuzzy, javascript-format +msgid "unable to read credentials file %s" +msgstr "Impossible de lire le fichier %s" + +#: shared/api/credentials.go:88 +msgid "unable to decode credentials file" +msgstr "" + +#: shared/api/credentials.go:92 +msgid "no credentials loaded" +msgstr "" + +#: shared/api/credentials.go:101 +msgid "specified api server does not match with stored credentials" +msgstr "" + +#: shared/api/org/createFirst.go:21 +msgid "unable to prepare API client" +msgstr "" #: shared/api/org/createFirst.go:35 #, fuzzy msgid "failed to create first user and organization" msgstr "impossible de créer les premiers utilisateur et organisation: %s" -#: shared/api/org/getDetails.go:25 +#: shared/api/org/getDetails.go:24 +#, fuzzy +msgid "failed to connect to the server" +msgstr "impossible de se connecter au serveur: %s" + +#: shared/api/org/getDetails.go:28 #, fuzzy msgid "failed to get organization details" msgstr "erreur d'analyse du fichier de configuration %s: %s" @@ -146,71 +218,69 @@ msgstr "Impossible de supprimer le fichier %s" msgid "container didn't start within 10s." msgstr "" -#: shared/connection.go:293 +#: shared/connection.go:298 msgid "server didn't start within 60s. Check for the service status" msgstr "" -#: shared/connection.go:323 shared/connection.go:362 +#: shared/connection.go:338 shared/connection.go:380 #, javascript-format msgid "unknown container kind: %s" msgstr "" -#: shared/connection.go:373 +#: shared/connection.go:391 msgid "Copying the SSL CA certificate to the host" msgstr "" -#: shared/connection.go:389 +#: shared/connection.go:410 msgid "Updating host trusted certificates" msgstr "" -#: shared/connection.go:429 +#: shared/connection.go:418 +msgid "Unable to update host trusted certificates." +msgstr "" + +#: shared/connection.go:458 shared/connection.go:479 msgid "failed to determine suitable backend" msgstr "" -#: shared/connection.go:439 +#: shared/connection.go:468 msgid "no supported backend found" msgstr "" -#: shared/connection.go:455 shared/kubernetes/k3s.go:65 -#: shared/podman/hostinspector.go:60 shared/podman/utils.go:224 -#, fuzzy -msgid "failed to create temporary directory" -msgstr "impossible de créer le répertoire %s: %s" - -#: shared/connection.go:460 +#: shared/connection.go:493 #, fuzzy, javascript-format msgid "Running supportconfig in %s" msgstr "Utilisation du fichier de configuration %s" -#: shared/connection.go:463 +#: shared/connection.go:496 #, fuzzy msgid "failed to run supportconfig" msgstr "impossible de créer le répertoire %s: %s" -#: shared/connection.go:467 +#: shared/connection.go:500 #, fuzzy msgid "failed to find container supportconfig tarball from command output" msgstr "impossible de créer la commande d'aide config" -#: shared/connection.go:473 +#: shared/connection.go:506 msgid "cannot copy tarball" msgstr "" -#: shared/connection.go:479 +#: shared/connection.go:512 #, fuzzy, javascript-format msgid "failed to remove %s file in the container" msgstr "impossible de créer le répertoire %s: %s" -#: shared/connection.go:497 +#: shared/connection.go:531 #, javascript-format msgid "failed to detect %s's namespace using helm" msgstr "" -#: shared/connection.go:502 +#: shared/connection.go:536 msgid "helm provided an invalid JSON output" msgstr "" -#: shared/connection.go:508 +#: shared/connection.go:542 msgid "found no or more than one deployment" msgstr "" @@ -228,8 +298,8 @@ msgid "namespace is required" msgstr "Une valeur est requise" #: shared/kubernetes/helm.go:77 shared/podman/network.go:107 -#: shared/podman/systemd.go:79 shared/podman/systemd.go:155 -#: shared/podman/systemd.go:156 shared/podman/utils.go:132 +#: shared/podman/systemd.go:96 shared/podman/systemd.go:172 +#: shared/podman/systemd.go:173 shared/podman/utils.go:132 #: shared/podman/utils.go:158 #, javascript-format msgid "Would run %s" @@ -262,6 +332,12 @@ msgstr "" msgid "install %s before running this command" msgstr "" +#: shared/kubernetes/k3s.go:65 shared/podman/hostinspector.go:60 +#: shared/podman/utils.go:224 +#, fuzzy +msgid "failed to create temporary directory" +msgstr "impossible de créer le répertoire %s: %s" + #: shared/kubernetes/k3s.go:79 #, fuzzy, javascript-format msgid "cannot delete %s" @@ -320,45 +396,40 @@ msgstr "Erreur lors de l'écriture de la configuration nginx pour RKE2" msgid "Waiting for Nginx controller to be reloaded" msgstr "" -#: shared/kubernetes/support.go:32 +#: shared/kubernetes/support.go:27 msgid "cannot retrieve any configmap" msgstr "" -#: shared/kubernetes/support.go:39 +#: shared/kubernetes/support.go:34 #, fuzzy msgid "cannot retrieve any pod" msgstr "erreur d'analyse du fichier de configuration %s: %s" -#: shared/kubernetes/support.go:49 -#, fuzzy -msgid "cannot fetch namespace" -msgstr "erreur d'analyse du fichier de configuration %s: %s" - -#: shared/kubernetes/support.go:57 +#: shared/kubernetes/support.go:45 #, fuzzy, javascript-format msgid "cannot create %s" msgstr "erreur d'analyse du fichier de configuration %s: %s" -#: shared/kubernetes/support.go:62 +#: shared/kubernetes/support.go:50 msgid "cannot fetch configmap" msgstr "" -#: shared/kubernetes/support.go:75 +#: shared/kubernetes/support.go:63 #, fuzzy, javascript-format msgid "cannot check for pods in %s" msgstr "erreur d'analyse du fichier de configuration %s: %s" -#: shared/kubernetes/support.go:82 +#: shared/kubernetes/support.go:70 #, fuzzy, javascript-format msgid "failed to create %s" msgstr "impossible de créer le répertoire %s: %s" -#: shared/kubernetes/support.go:88 +#: shared/kubernetes/support.go:76 #, fuzzy, javascript-format msgid "failed to fetch info for pod %s" msgstr "impossible de créer le répertoire des volumes %s: %s" -#: shared/kubernetes/support.go:94 +#: shared/kubernetes/support.go:82 #, fuzzy, javascript-format msgid "failed to write in %s" msgstr "impossible d'écrire l'archive tar.gz vers %s: %s" @@ -373,7 +444,7 @@ msgid "" "be automatically removed when deleting the deployment even if --purge-volumes argument is not used." msgstr "" -#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:92 +#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:93 msgid "failed to pull image" msgstr "" @@ -389,91 +460,91 @@ msgstr "" msgid "Waiting for image of %[1]s pod in %[2]s namespace to be pulled" msgstr "" -#: shared/kubernetes/utils.go:87 +#: shared/kubernetes/utils.go:88 #, javascript-format msgid "failed to get failed events for pod %s" msgstr "" -#: shared/kubernetes/utils.go:99 +#: shared/kubernetes/utils.go:100 #, javascript-format msgid "failed to get events for pod %s" msgstr "" -#: shared/kubernetes/utils.go:145 +#: shared/kubernetes/utils.go:146 #, fuzzy msgid "failed to parse deployment status" msgstr "erreur d'analyse de l'état du déploiement: %s" -#: shared/kubernetes/utils.go:159 +#: shared/kubernetes/utils.go:160 #, javascript-format msgid "cannot run kubectl %s" msgstr "" -#: shared/kubernetes/utils.go:164 +#: shared/kubernetes/utils.go:165 #, fuzzy, javascript-format msgid "cannot get pods for %s" msgstr "erreur d'analyse du fichier de configuration %s: %s" -#: shared/kubernetes/utils.go:171 +#: shared/kubernetes/utils.go:172 #, javascript-format msgid "replica to %d failed" msgstr "" -#: shared/kubernetes/utils.go:184 +#: shared/kubernetes/utils.go:185 msgid "cannot check if pod %[1]s is running in app %[2]s" msgstr "" -#: shared/kubernetes/utils.go:195 shared/kubernetes/utils.go:239 -#: shared/kubernetes/utils.go:332 +#: shared/kubernetes/utils.go:196 shared/kubernetes/utils.go:240 +#: shared/kubernetes/utils.go:333 #, javascript-format msgid "cannot execute %s" msgstr "" -#: shared/kubernetes/utils.go:216 +#: shared/kubernetes/utils.go:217 #, fuzzy, javascript-format msgid "cannot get pod informations %s" msgstr "Impossible d'obtenir les informations du fichier %s" -#: shared/kubernetes/utils.go:225 +#: shared/kubernetes/utils.go:226 #, javascript-format msgid "cannot set replicas for %s to zero" msgstr "" -#: shared/kubernetes/utils.go:270 +#: shared/kubernetes/utils.go:271 #, javascript-format msgid "%s is not a valid image pull policy value" msgstr "" -#: shared/kubernetes/utils.go:291 +#: shared/kubernetes/utils.go:292 msgctxt "The first placeholder is a command" msgid "cannot run %[1]s using image %[2]s" msgstr "" -#: shared/kubernetes/utils.go:295 +#: shared/kubernetes/utils.go:296 #, javascript-format msgid "deleting pod %s. Status fails with error" msgstr "" -#: shared/kubernetes/utils.go:308 shared/kubernetes/utils.go:317 +#: shared/kubernetes/utils.go:309 shared/kubernetes/utils.go:318 #, fuzzy, javascript-format msgid "cannot delete pod %s" msgstr "erreur d'analyse du fichier de configuration %s: %s" -#: shared/kubernetes/utils.go:339 +#: shared/kubernetes/utils.go:340 #, javascript-format msgid "error during execution of %s" msgstr "" -#: shared/kubernetes/utils.go:344 +#: shared/kubernetes/utils.go:345 msgid "pod %[1]s status is not %[2]s in %[3]d seconds" msgstr "" -#: shared/kubernetes/utils.go:361 +#: shared/kubernetes/utils.go:362 #, javascript-format msgid "cannot find node name matching filter %s" msgstr "" -#: shared/kubernetes/utils.go:370 +#: shared/kubernetes/utils.go:371 msgid "cannot serialize pod definition override" msgstr "" @@ -492,85 +563,89 @@ msgstr "Ne peut contenir d'espace ou de tabulation" msgid "Ensure image %s is available" msgstr "" -#: shared/podman/images.go:44 +#: shared/podman/images.go:46 msgid "Pull Policy is always. Presence of RPM image will be checked and if it's not present it will be pulled from registry" msgstr "" -#: shared/podman/images.go:53 +#: shared/podman/images.go:55 #, javascript-format msgid "Cannot use RPM image for %s" msgstr "" -#: shared/podman/images.go:55 +#: shared/podman/images.go:57 msgid "Using the %[1]s image loaded from the RPM instead of its online version %[2]s" msgstr "" -#: shared/podman/images.go:60 +#: shared/podman/images.go:62 #, javascript-format msgid "Cannot find RPM image for %s" msgstr "" -#: shared/podman/images.go:68 +#: shared/podman/images.go:75 #, javascript-format msgid "image %s is missing and cannot be fetched" msgstr "" -#: shared/podman/images.go:79 +#: shared/podman/images.go:86 #, javascript-format msgid "Cannot correctly parse image name '%s', local image cannot be used" msgstr "" -#: shared/podman/images.go:97 +#: shared/podman/images.go:104 msgid "cannot unmarshal image RPM metadata" msgstr "" -#: shared/podman/images.go:142 +#: shared/podman/images.go:149 #, fuzzy, javascript-format msgid "Cannot unmarshal metadata file %s" msgstr "erreur d'analyse du fichier de configuration %s: %s" -#: shared/podman/images.go:164 +#: shared/podman/images.go:171 #, javascript-format msgid "error parsing: %s" msgstr "" -#: shared/podman/images.go:172 shared/podman/images.go:186 -#: shared/podman/images.go:201 +#: shared/podman/images.go:179 shared/podman/images.go:193 +#: shared/podman/images.go:208 #, javascript-format msgid "failed to check if image %s has already been pulled" msgstr "" -#: shared/podman/images.go:208 +#: shared/podman/images.go:215 #, javascript-format msgid "%s should contains just lower case character, otherwise podman pull would fails" msgstr "" -#: shared/podman/images.go:210 +#: shared/podman/images.go:217 #, javascript-format msgid "Running podman pull %s" msgstr "" -#: shared/podman/images.go:222 +#: shared/podman/images.go:229 #, javascript-format msgid "Running podman image search --list-tags %s --format={{.Tag}}" msgstr "" -#: shared/podman/images.go:230 +#: shared/podman/images.go:237 #, javascript-format msgid "cannot find any tag for image %s" msgstr "" -#: shared/podman/images.go:238 +#: shared/podman/images.go:245 #, javascript-format msgid "Running podman ps --filter=name=%s --format={{ .Image }}" msgstr "" -#: shared/podman/images.go:242 +#: shared/podman/images.go:249 #, javascript-format msgid "cannot find any running image for container %s" msgstr "" -#: shared/podman/login.go:41 +#: shared/podman/login.go:23 +msgid "SCC credentials parameters will be used. SCC credentials from host will be ignored." +msgstr "" + +#: shared/podman/login.go:50 #, fuzzy msgid "failed to close the temporary auth file" msgstr "impossible de créer le répertoire %s: %s" @@ -669,118 +744,118 @@ msgstr "impossible d'exécuter helm %s: %s" msgid "failed to disable %s systemd service" msgstr "Impossible de tuer le serveur" -#: shared/podman/systemd.go:76 +#: shared/podman/systemd.go:93 #, javascript-format msgid "Systemd has no %s.service unit" msgstr "" -#: shared/podman/systemd.go:81 +#: shared/podman/systemd.go:98 #, javascript-format msgid "Disable %s service" msgstr "" -#: shared/podman/systemd.go:85 shared/podman/systemd.go:144 +#: shared/podman/systemd.go:102 shared/podman/systemd.go:161 #, javascript-format msgid "Failed to disable %s service" msgstr "" -#: shared/podman/systemd.go:97 shared/podman/systemd.go:114 +#: shared/podman/systemd.go:114 shared/podman/systemd.go:131 #, javascript-format msgid "Would remove %s" msgstr "" -#: shared/podman/systemd.go:100 shared/podman/systemd.go:116 +#: shared/podman/systemd.go:117 shared/podman/systemd.go:133 #, javascript-format msgid "Remove %s" msgstr "" -#: shared/podman/systemd.go:102 +#: shared/podman/systemd.go:119 #, javascript-format msgid "Failed to remove %s.service file" msgstr "" -#: shared/podman/systemd.go:118 +#: shared/podman/systemd.go:135 #, fuzzy, javascript-format msgid "Failed to remove %s file" msgstr "Impossible de supprimer le fichier %s" -#: shared/podman/systemd.go:125 +#: shared/podman/systemd.go:142 #, fuzzy, javascript-format msgid "Would remove %s if empty" msgstr "Supprimerait le fichier %s" -#: shared/podman/systemd.go:131 +#: shared/podman/systemd.go:148 #, javascript-format msgid "%s folder contains file created by the user. Please remove them when uninstallation is completed." msgstr "" -#: shared/podman/systemd.go:141 +#: shared/podman/systemd.go:158 #, javascript-format msgid "Would scale %s to 0 replicas" msgstr "" -#: shared/podman/systemd.go:160 +#: shared/podman/systemd.go:177 msgid "failed to reset-failed systemd" msgstr "" -#: shared/podman/systemd.go:164 +#: shared/podman/systemd.go:181 msgid "failed to reload systemd daemon" msgstr "" -#: shared/podman/systemd.go:182 +#: shared/podman/systemd.go:199 #, fuzzy, javascript-format msgid "failed to restart systemd %s.service" msgstr "impossible de se connecter au serveur: %s" -#: shared/podman/systemd.go:190 +#: shared/podman/systemd.go:207 #, fuzzy, javascript-format msgid "failed to start systemd %s.service" msgstr "impossible d'exécuter helm %s: %s" -#: shared/podman/systemd.go:198 +#: shared/podman/systemd.go:215 #, fuzzy, javascript-format msgid "failed to stop systemd %s.service" msgstr "Impossible de tuer le serveur" -#: shared/podman/systemd.go:206 +#: shared/podman/systemd.go:223 #, fuzzy, javascript-format msgid "failed to enable %s systemd service" msgstr "Impossible de tuer le serveur" -#: shared/podman/systemd.go:253 +#: shared/podman/systemd.go:270 #, fuzzy, javascript-format msgid "failed to create %s folder" msgstr "impossible de créer le répertoire %s: %s" -#: shared/podman/systemd.go:263 +#: shared/podman/systemd.go:280 #, fuzzy, javascript-format msgid "cannot write %s file" msgstr "erreur d'analyse du fichier de configuration %s: %s" -#: shared/podman/systemd.go:308 +#: shared/podman/systemd.go:325 #, fuzzy, javascript-format msgid "failed to write %s file" msgstr "impossible de créer le répertoire %s: %s" -#: shared/podman/systemd.go:313 +#: shared/podman/systemd.go:330 #, fuzzy, javascript-format msgid "failed to remove old %s systemd service configuration file" msgstr "erreur d'analyse du fichier de configuration %s: %s" -#: shared/podman/systemd.go:335 +#: shared/podman/systemd.go:352 msgid "Service %[1]s already has %[2]d replicas." msgstr "" -#: shared/podman/systemd.go:338 +#: shared/podman/systemd.go:355 msgid "Scale %[1]s from %[2]d to %[3]d replicas." msgstr "" -#: shared/podman/systemd.go:342 +#: shared/podman/systemd.go:359 #, fuzzy msgid "cannot enable service" msgstr "erreur d'analyse du fichier de configuration %s: %s" -#: shared/podman/systemd.go:348 +#: shared/podman/systemd.go:365 #, fuzzy msgid "cannot disable service" msgstr "erreur d'analyse du fichier de configuration %s: %s" @@ -887,16 +962,16 @@ msgstr "" msgid "failed to parse configuration file %s" msgstr "erreur d'analyse du fichier de configuration %s: %s" -#: shared/utils/config.go:62 +#: shared/utils/config.go:51 msgid "Failed to find home directory" msgstr "Impossible de trouver le repertoire home" -#: shared/utils/config.go:87 +#: shared/utils/config.go:94 #, fuzzy msgid "failed to bind %[1]s config to parameter %[2]s" msgstr "impossible de lier la configuration %s au paramètre %s: %s" -#: shared/utils/config.go:99 +#: shared/utils/config.go:106 #, fuzzy msgid "" "Usage:{{if .Runnable}}\n" @@ -953,7 +1028,7 @@ msgstr "" "\n" "Utiliser \"{{.CommandPath}} [command] --help\" pour plus d'informations à propos d'une commande.{{end}}\n" -#: shared/utils/config.go:133 +#: shared/utils/config.go:140 #, fuzzy msgid "" "\n" @@ -1022,11 +1097,11 @@ msgstr "" " Par exemple le paramètre '--tz CEST' sera associé à '{{ .EnvPrefix }}_TZ'\n" " et '--ssl-password' flags à '{{ .EnvPrefix }}_SSL_PASSWORD' \n" -#: shared/utils/config.go:170 +#: shared/utils/config.go:177 msgid "Help on configuration file and environment variables" msgstr "" -#: shared/utils/config.go:179 +#: shared/utils/config.go:186 msgid "failed to compute config help command" msgstr "impossible de créer la commande d'aide config" @@ -1107,132 +1182,142 @@ msgstr "Fichier %s déjà présent, pas remplacé" msgid "failed to open %s for writing" msgstr "impossible d'ouvrir %s en écriture: %s" -#: shared/utils/utils.go:53 +#: shared/utils/utils.go:54 #, fuzzy, javascript-format msgid "Has to be more than %d character long" msgid_plural "Has to be more than %d characters long" msgstr[0] "Doit contenir plus de %d caractère" msgstr[1] "Doit contenir plus de %d caractères" -#: shared/utils/utils.go:57 +#: shared/utils/utils.go:58 #, javascript-format msgid "Has to be less than %d character long" msgid_plural "Has to be less than %d characters long" msgstr[0] "Doit contenir moins de %d caractère" msgstr[1] "Doit contenir moins de %d caractères" -#: shared/utils/utils.go:68 +#: shared/utils/utils.go:69 msgid "Failed to read password" msgstr "Impossible de lecture du mot de passe" -#: shared/utils/utils.go:82 +#: shared/utils/utils.go:83 msgid "Cannot contain spaces or tabs" msgstr "Ne peut contenir d'espace ou de tabulation" -#: shared/utils/utils.go:103 +#: shared/utils/utils.go:101 shared/utils/utils.go:125 +#: shared/utils/utils.go:138 +msgid "not an interactive device, not asking for missing value" +msgstr "" + +#: shared/utils/utils.go:110 #, fuzzy msgid "Confirm the password" msgstr "Impossible de lecture du mot de passe" -#: shared/utils/utils.go:105 +#: shared/utils/utils.go:112 msgid "Two different passwords have been provided" msgstr "" -#: shared/utils/utils.go:121 -msgid "Failed to read input" +#: shared/utils/utils.go:148 +#, fuzzy +msgid "failed to read input" msgstr "Impossible de lire la saisie" -#: shared/utils/utils.go:129 +#: shared/utils/utils.go:156 msgid "A value is required" msgstr "Une valeur est requise" -#: shared/utils/utils.go:173 +#: shared/utils/utils.go:200 msgid "Registry %[1]s would be used instead of namespace %[2]s" msgstr "" -#: shared/utils/utils.go:188 shared/utils/utils.go:214 +#: shared/utils/utils.go:215 shared/utils/utils.go:241 #, javascript-format msgid "invalid image name: %s" msgstr "nom d'image invalid: %s" -#: shared/utils/utils.go:192 +#: shared/utils/utils.go:219 #, javascript-format msgid "tag missing on %s" msgstr "tag missing dans %s" -#: shared/utils/utils.go:200 shared/utils/utils.go:205 +#: shared/utils/utils.go:227 shared/utils/utils.go:232 #, fuzzy, javascript-format msgid "Computed image name is %s" msgstr "nom d'image invalid: %s" -#: shared/utils/utils.go:224 +#: shared/utils/utils.go:251 #, javascript-format msgid "Failed to run %s" msgstr "Erreur lors de l'exécution de %s" -#: shared/utils/utils.go:233 +#: shared/utils/utils.go:260 #, javascript-format msgid "cannot check content of %s" msgstr "" -#: shared/utils/utils.go:245 +#: shared/utils/utils.go:272 #, fuzzy, javascript-format msgid "Cannot remove %s folder" msgstr "impossible de créer le répertoire %s: %s" -#: shared/utils/utils.go:256 +#: shared/utils/utils.go:283 #, javascript-format msgid "Failed to get %s file informations" msgstr "Impossible d'obtenir les informations du fichier %s" -#: shared/utils/utils.go:265 +#: shared/utils/utils.go:292 #, javascript-format msgid "Failed to read file %s" msgstr "Impossible de lire le fichier %s" -#: shared/utils/utils.go:280 +#: shared/utils/utils.go:307 #, javascript-format msgid "Would remove file %s" msgstr "Supprimerait le fichier %s" -#: shared/utils/utils.go:282 +#: shared/utils/utils.go:309 #, javascript-format msgid "Removing file %s" msgstr "Suppression du fichier %s" -#: shared/utils/utils.go:284 +#: shared/utils/utils.go:311 #, javascript-format msgid "Failed to remove file %s" msgstr "Impossible de supprimer le fichier %s" -#: shared/utils/utils.go:294 +#: shared/utils/utils.go:321 msgid "Failed to read random data" msgstr "Impossible de lire des données aléatoires" -#: shared/utils/utils.go:315 +#: shared/utils/utils.go:342 #, javascript-format msgid "error downloading from %s" msgstr "" -#: shared/utils/utils.go:321 +#: shared/utils/utils.go:348 #, javascript-format msgid "bad status: %s" msgstr "" -#: shared/utils/utils.go:399 +#: shared/utils/utils.go:426 #, fuzzy msgid "failed to compute server FQDN" msgstr "impossible de se connecter au serveur: %s" -#: shared/utils/utils.go:417 +#: shared/utils/utils.go:440 +#, javascript-format +msgid "%s is not a valid FQDN" +msgstr "" + +#: shared/utils/utils.go:444 #, fuzzy, javascript-format msgid "cannot resolve %s" msgstr "erreur d'analyse du fichier de configuration %s: %s" -#: shared/utils/utils.go:425 -#, javascript-format -msgid "%s is not a valid FQDN" -msgstr "" +#, fuzzy +#~ msgid "cannot fetch namespace" +#~ msgstr "erreur d'analyse du fichier de configuration %s: %s" #, fuzzy #~ msgid "failed to link volume folder %[1]s to %[2]s" diff --git a/locale/shared/it.po b/locale/shared/it.po index b577de2aa..4fe43b626 100644 --- a/locale/shared/it.po +++ b/locale/shared/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: 2024-05-16 09:23+0000\n" "Last-Translator: Marina Latini \n" "Language-Team: Italian \n" @@ -18,56 +18,128 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.5.5\n" -#: shared/api/api.go:72 +#: shared/api/api.go:28 msgid "FQDN of the server to connect to" msgstr "" -#: shared/api/api.go:73 +#: shared/api/api.go:29 msgid "API user username" msgstr "" -#: shared/api/api.go:74 +#: shared/api/api.go:30 msgid "Password for the API user" msgstr "" -#: shared/api/api.go:75 +#: shared/api/api.go:31 msgid "Path to a cert file of the CA" msgstr "" -#: shared/api/api.go:76 +#: shared/api/api.go:32 msgid "If set, server certificate will not be checked for validity" msgstr "" -#: shared/api/api.go:125 +#: shared/api/api.go:67 +msgid "401: unauthorized" +msgstr "" + +#: shared/api/api.go:82 #, javascript-format msgid "unknown error: %d" msgstr "" -#: shared/api/api.go:167 -msgid "API server password" +#: shared/api/api.go:114 +msgid "server URL is not provided" +msgstr "" + +#: shared/api/api.go:146 +msgid "Cached session is expired." msgstr "" -#: shared/api/api.go:182 +#: shared/api/api.go:148 shared/api/credentials.go:70 +#, fuzzy +msgid "Failed to remove stored credentials!" +msgstr "mancata creazione della directory temporanea: %s" + +#: shared/api/api.go:166 msgid "Unable to create login data" msgstr "" -#: shared/api/api.go:212 +#: shared/api/api.go:196 msgid "auth cookie not found in login response" msgstr "" -#: shared/api/api.go:228 +#: shared/api/api.go:211 +#, fuzzy +msgid "failed to logout from the server" +msgstr "mancata creazione della directory temporanea: %s" + +#: shared/api/api.go:235 msgid "Unable to convert data to JSON" msgstr "" -#: shared/api/org/createFirst.go:21 shared/api/org/getDetails.go:21 -msgid "failed to connect to the server" +#: shared/api/credentials.go:21 +msgid "not logged in, session cookie is missing" +msgstr "" + +#: shared/api/credentials.go:34 +msgid "unable to create credentials json" +msgstr "" + +#: shared/api/credentials.go:39 +#, fuzzy, javascript-format +msgid "unable to write credentials store %s" +msgstr "mancata creazione della directory temporanea: %s" + +#: shared/api/credentials.go:53 +msgid "API server URL" +msgstr "" + +#: shared/api/credentials.go:54 +msgid "API server user" +msgstr "" + +#: shared/api/credentials.go:55 +msgid "API server password" +msgstr "" + +#: shared/api/credentials.go:58 +msgid "No credentials provided" +msgstr "" + +#: shared/api/credentials.go:68 +msgid "Cannot load stored credentials" +msgstr "" + +#: shared/api/credentials.go:83 +#, javascript-format +msgid "unable to read credentials file %s" +msgstr "" + +#: shared/api/credentials.go:88 +msgid "unable to decode credentials file" +msgstr "" + +#: shared/api/credentials.go:92 +msgid "no credentials loaded" +msgstr "" + +#: shared/api/credentials.go:101 +msgid "specified api server does not match with stored credentials" +msgstr "" + +#: shared/api/org/createFirst.go:21 +msgid "unable to prepare API client" msgstr "" #: shared/api/org/createFirst.go:35 msgid "failed to create first user and organization" msgstr "" -#: shared/api/org/getDetails.go:25 +#: shared/api/org/getDetails.go:24 +msgid "failed to connect to the server" +msgstr "" + +#: shared/api/org/getDetails.go:28 #, fuzzy msgid "failed to get organization details" msgstr "mancata creazione della directory temporanea: %s" @@ -143,70 +215,68 @@ msgstr "mancata creazione della directory temporanea: %s" msgid "container didn't start within 10s." msgstr "" -#: shared/connection.go:293 +#: shared/connection.go:298 msgid "server didn't start within 60s. Check for the service status" msgstr "" -#: shared/connection.go:323 shared/connection.go:362 +#: shared/connection.go:338 shared/connection.go:380 #, javascript-format msgid "unknown container kind: %s" msgstr "" -#: shared/connection.go:373 +#: shared/connection.go:391 msgid "Copying the SSL CA certificate to the host" msgstr "" -#: shared/connection.go:389 +#: shared/connection.go:410 msgid "Updating host trusted certificates" msgstr "" -#: shared/connection.go:429 +#: shared/connection.go:418 +msgid "Unable to update host trusted certificates." +msgstr "" + +#: shared/connection.go:458 shared/connection.go:479 msgid "failed to determine suitable backend" msgstr "" -#: shared/connection.go:439 +#: shared/connection.go:468 msgid "no supported backend found" msgstr "" -#: shared/connection.go:455 shared/kubernetes/k3s.go:65 -#: shared/podman/hostinspector.go:60 shared/podman/utils.go:224 -#, fuzzy -msgid "failed to create temporary directory" -msgstr "mancata creazione della directory temporanea: %s" - -#: shared/connection.go:460 +#: shared/connection.go:493 #, javascript-format msgid "Running supportconfig in %s" msgstr "" -#: shared/connection.go:463 +#: shared/connection.go:496 msgid "failed to run supportconfig" msgstr "" -#: shared/connection.go:467 +#: shared/connection.go:500 msgid "failed to find container supportconfig tarball from command output" msgstr "" -#: shared/connection.go:473 +#: shared/connection.go:506 #, fuzzy msgid "cannot copy tarball" msgstr "impossible eliminare %s: %s" -#: shared/connection.go:479 +#: shared/connection.go:512 #, fuzzy, javascript-format msgid "failed to remove %s file in the container" msgstr "mancata creazione della directory temporanea: %s" -#: shared/connection.go:497 +#: shared/connection.go:531 #, javascript-format msgid "failed to detect %s's namespace using helm" msgstr "" -#: shared/connection.go:502 +#: shared/connection.go:536 msgid "helm provided an invalid JSON output" msgstr "" -#: shared/connection.go:508 +#: shared/connection.go:542 msgid "found no or more than one deployment" msgstr "" @@ -223,8 +293,8 @@ msgid "namespace is required" msgstr "" #: shared/kubernetes/helm.go:77 shared/podman/network.go:107 -#: shared/podman/systemd.go:79 shared/podman/systemd.go:155 -#: shared/podman/systemd.go:156 shared/podman/utils.go:132 +#: shared/podman/systemd.go:96 shared/podman/systemd.go:172 +#: shared/podman/systemd.go:173 shared/podman/utils.go:132 #: shared/podman/utils.go:158 #, javascript-format msgid "Would run %s" @@ -257,6 +327,12 @@ msgstr "" msgid "install %s before running this command" msgstr "installare %s prima di eseguire questo comando" +#: shared/kubernetes/k3s.go:65 shared/podman/hostinspector.go:60 +#: shared/podman/utils.go:224 +#, fuzzy +msgid "failed to create temporary directory" +msgstr "mancata creazione della directory temporanea: %s" + #: shared/kubernetes/k3s.go:79 #, javascript-format msgid "cannot delete %s" @@ -315,47 +391,42 @@ msgstr "" msgid "Waiting for Nginx controller to be reloaded" msgstr "" -#: shared/kubernetes/support.go:32 +#: shared/kubernetes/support.go:27 #, fuzzy msgid "cannot retrieve any configmap" msgstr "impossibile leggere la configurazione: %s" -#: shared/kubernetes/support.go:39 +#: shared/kubernetes/support.go:34 #, fuzzy msgid "cannot retrieve any pod" msgstr "impossible eliminare %s: %s" -#: shared/kubernetes/support.go:49 -#, fuzzy -msgid "cannot fetch namespace" -msgstr "impossible eliminare %s" - -#: shared/kubernetes/support.go:57 +#: shared/kubernetes/support.go:45 #, fuzzy, javascript-format msgid "cannot create %s" msgstr "impossible eliminare %s" -#: shared/kubernetes/support.go:62 +#: shared/kubernetes/support.go:50 #, fuzzy msgid "cannot fetch configmap" msgstr "impossibile leggere la configurazione: %s" -#: shared/kubernetes/support.go:75 +#: shared/kubernetes/support.go:63 #, fuzzy, javascript-format msgid "cannot check for pods in %s" msgstr "impossibile leggere la configurazione: %s" -#: shared/kubernetes/support.go:82 +#: shared/kubernetes/support.go:70 #, fuzzy, javascript-format msgid "failed to create %s" msgstr "mancata creazione della directory temporanea: %s" -#: shared/kubernetes/support.go:88 +#: shared/kubernetes/support.go:76 #, fuzzy, javascript-format msgid "failed to fetch info for pod %s" msgstr "mancata creazione della directory temporanea: %s" -#: shared/kubernetes/support.go:94 +#: shared/kubernetes/support.go:82 #, fuzzy, javascript-format msgid "failed to write in %s" msgstr "mancata creazione della directory temporanea: %s" @@ -370,7 +441,7 @@ msgid "" "be automatically removed when deleting the deployment even if --purge-volumes argument is not used." msgstr "" -#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:92 +#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:93 msgid "failed to pull image" msgstr "" @@ -386,90 +457,90 @@ msgstr "" msgid "Waiting for image of %[1]s pod in %[2]s namespace to be pulled" msgstr "" -#: shared/kubernetes/utils.go:87 +#: shared/kubernetes/utils.go:88 #, javascript-format msgid "failed to get failed events for pod %s" msgstr "" -#: shared/kubernetes/utils.go:99 +#: shared/kubernetes/utils.go:100 #, javascript-format msgid "failed to get events for pod %s" msgstr "" -#: shared/kubernetes/utils.go:145 +#: shared/kubernetes/utils.go:146 msgid "failed to parse deployment status" msgstr "" -#: shared/kubernetes/utils.go:159 +#: shared/kubernetes/utils.go:160 #, fuzzy, javascript-format msgid "cannot run kubectl %s" msgstr "impossibile leggere la configurazione: %s" -#: shared/kubernetes/utils.go:164 +#: shared/kubernetes/utils.go:165 #, fuzzy, javascript-format msgid "cannot get pods for %s" msgstr "impossible eliminare %s: %s" -#: shared/kubernetes/utils.go:171 +#: shared/kubernetes/utils.go:172 #, javascript-format msgid "replica to %d failed" msgstr "" -#: shared/kubernetes/utils.go:184 +#: shared/kubernetes/utils.go:185 msgid "cannot check if pod %[1]s is running in app %[2]s" msgstr "" -#: shared/kubernetes/utils.go:195 shared/kubernetes/utils.go:239 -#: shared/kubernetes/utils.go:332 +#: shared/kubernetes/utils.go:196 shared/kubernetes/utils.go:240 +#: shared/kubernetes/utils.go:333 #, fuzzy, javascript-format msgid "cannot execute %s" msgstr "impossible eliminare %s: %s" -#: shared/kubernetes/utils.go:216 +#: shared/kubernetes/utils.go:217 #, fuzzy, javascript-format msgid "cannot get pod informations %s" msgstr "impossibile leggere la configurazione: %s" -#: shared/kubernetes/utils.go:225 +#: shared/kubernetes/utils.go:226 #, javascript-format msgid "cannot set replicas for %s to zero" msgstr "" -#: shared/kubernetes/utils.go:270 +#: shared/kubernetes/utils.go:271 #, javascript-format msgid "%s is not a valid image pull policy value" msgstr "" -#: shared/kubernetes/utils.go:291 +#: shared/kubernetes/utils.go:292 msgctxt "The first placeholder is a command" msgid "cannot run %[1]s using image %[2]s" msgstr "" -#: shared/kubernetes/utils.go:295 +#: shared/kubernetes/utils.go:296 #, javascript-format msgid "deleting pod %s. Status fails with error" msgstr "" -#: shared/kubernetes/utils.go:308 shared/kubernetes/utils.go:317 +#: shared/kubernetes/utils.go:309 shared/kubernetes/utils.go:318 #, fuzzy, javascript-format msgid "cannot delete pod %s" msgstr "impossible eliminare %s: %s" -#: shared/kubernetes/utils.go:339 +#: shared/kubernetes/utils.go:340 #, javascript-format msgid "error during execution of %s" msgstr "" -#: shared/kubernetes/utils.go:344 +#: shared/kubernetes/utils.go:345 msgid "pod %[1]s status is not %[2]s in %[3]d seconds" msgstr "" -#: shared/kubernetes/utils.go:361 +#: shared/kubernetes/utils.go:362 #, javascript-format msgid "cannot find node name matching filter %s" msgstr "" -#: shared/kubernetes/utils.go:370 +#: shared/kubernetes/utils.go:371 msgid "cannot serialize pod definition override" msgstr "" @@ -487,85 +558,89 @@ msgstr "impossibile ispezionare i valori dell'host: %s" msgid "Ensure image %s is available" msgstr "" -#: shared/podman/images.go:44 +#: shared/podman/images.go:46 msgid "Pull Policy is always. Presence of RPM image will be checked and if it's not present it will be pulled from registry" msgstr "" -#: shared/podman/images.go:53 +#: shared/podman/images.go:55 #, javascript-format msgid "Cannot use RPM image for %s" msgstr "" -#: shared/podman/images.go:55 +#: shared/podman/images.go:57 msgid "Using the %[1]s image loaded from the RPM instead of its online version %[2]s" msgstr "" -#: shared/podman/images.go:60 +#: shared/podman/images.go:62 #, javascript-format msgid "Cannot find RPM image for %s" msgstr "" -#: shared/podman/images.go:68 +#: shared/podman/images.go:75 #, javascript-format msgid "image %s is missing and cannot be fetched" msgstr "" -#: shared/podman/images.go:79 +#: shared/podman/images.go:86 #, javascript-format msgid "Cannot correctly parse image name '%s', local image cannot be used" msgstr "" -#: shared/podman/images.go:97 +#: shared/podman/images.go:104 msgid "cannot unmarshal image RPM metadata" msgstr "" -#: shared/podman/images.go:142 +#: shared/podman/images.go:149 #, javascript-format msgid "Cannot unmarshal metadata file %s" msgstr "" -#: shared/podman/images.go:164 +#: shared/podman/images.go:171 #, javascript-format msgid "error parsing: %s" msgstr "" -#: shared/podman/images.go:172 shared/podman/images.go:186 -#: shared/podman/images.go:201 +#: shared/podman/images.go:179 shared/podman/images.go:193 +#: shared/podman/images.go:208 #, javascript-format msgid "failed to check if image %s has already been pulled" msgstr "" -#: shared/podman/images.go:208 +#: shared/podman/images.go:215 #, javascript-format msgid "%s should contains just lower case character, otherwise podman pull would fails" msgstr "" -#: shared/podman/images.go:210 +#: shared/podman/images.go:217 #, javascript-format msgid "Running podman pull %s" msgstr "" -#: shared/podman/images.go:222 +#: shared/podman/images.go:229 #, javascript-format msgid "Running podman image search --list-tags %s --format={{.Tag}}" msgstr "" -#: shared/podman/images.go:230 +#: shared/podman/images.go:237 #, fuzzy, javascript-format msgid "cannot find any tag for image %s" msgstr "impossibile trovare il nodo che ha in esecuzione uyuni: %s" -#: shared/podman/images.go:238 +#: shared/podman/images.go:245 #, javascript-format msgid "Running podman ps --filter=name=%s --format={{ .Image }}" msgstr "" -#: shared/podman/images.go:242 +#: shared/podman/images.go:249 #, fuzzy, javascript-format msgid "cannot find any running image for container %s" msgstr "impossibile trovare il nodo che ha in esecuzione uyuni: %s" -#: shared/podman/login.go:41 +#: shared/podman/login.go:23 +msgid "SCC credentials parameters will be used. SCC credentials from host will be ignored." +msgstr "" + +#: shared/podman/login.go:50 #, fuzzy msgid "failed to close the temporary auth file" msgstr "mancata creazione della directory temporanea: %s" @@ -662,118 +737,118 @@ msgstr "" msgid "failed to disable %s systemd service" msgstr "mancata creazione della directory temporanea: %s" -#: shared/podman/systemd.go:76 +#: shared/podman/systemd.go:93 #, javascript-format msgid "Systemd has no %s.service unit" msgstr "" -#: shared/podman/systemd.go:81 +#: shared/podman/systemd.go:98 #, javascript-format msgid "Disable %s service" msgstr "" -#: shared/podman/systemd.go:85 shared/podman/systemd.go:144 +#: shared/podman/systemd.go:102 shared/podman/systemd.go:161 #, javascript-format msgid "Failed to disable %s service" msgstr "" -#: shared/podman/systemd.go:97 shared/podman/systemd.go:114 +#: shared/podman/systemd.go:114 shared/podman/systemd.go:131 #, javascript-format msgid "Would remove %s" msgstr "" -#: shared/podman/systemd.go:100 shared/podman/systemd.go:116 +#: shared/podman/systemd.go:117 shared/podman/systemd.go:133 #, javascript-format msgid "Remove %s" msgstr "" -#: shared/podman/systemd.go:102 +#: shared/podman/systemd.go:119 #, javascript-format msgid "Failed to remove %s.service file" msgstr "" -#: shared/podman/systemd.go:118 +#: shared/podman/systemd.go:135 #, javascript-format msgid "Failed to remove %s file" msgstr "" -#: shared/podman/systemd.go:125 +#: shared/podman/systemd.go:142 #, javascript-format msgid "Would remove %s if empty" msgstr "" -#: shared/podman/systemd.go:131 +#: shared/podman/systemd.go:148 #, javascript-format msgid "%s folder contains file created by the user. Please remove them when uninstallation is completed." msgstr "" -#: shared/podman/systemd.go:141 +#: shared/podman/systemd.go:158 #, javascript-format msgid "Would scale %s to 0 replicas" msgstr "" -#: shared/podman/systemd.go:160 +#: shared/podman/systemd.go:177 msgid "failed to reset-failed systemd" msgstr "" -#: shared/podman/systemd.go:164 +#: shared/podman/systemd.go:181 msgid "failed to reload systemd daemon" msgstr "" -#: shared/podman/systemd.go:182 +#: shared/podman/systemd.go:199 #, javascript-format msgid "failed to restart systemd %s.service" msgstr "" -#: shared/podman/systemd.go:190 +#: shared/podman/systemd.go:207 #, javascript-format msgid "failed to start systemd %s.service" msgstr "" -#: shared/podman/systemd.go:198 +#: shared/podman/systemd.go:215 #, javascript-format msgid "failed to stop systemd %s.service" msgstr "" -#: shared/podman/systemd.go:206 +#: shared/podman/systemd.go:223 #, javascript-format msgid "failed to enable %s systemd service" msgstr "" -#: shared/podman/systemd.go:253 +#: shared/podman/systemd.go:270 #, fuzzy, javascript-format msgid "failed to create %s folder" msgstr "mancata creazione della directory temporanea: %s" -#: shared/podman/systemd.go:263 +#: shared/podman/systemd.go:280 #, fuzzy, javascript-format msgid "cannot write %s file" msgstr "impossible eliminare %s: %s" -#: shared/podman/systemd.go:308 +#: shared/podman/systemd.go:325 #, fuzzy, javascript-format msgid "failed to write %s file" msgstr "mancata creazione della directory temporanea: %s" -#: shared/podman/systemd.go:313 +#: shared/podman/systemd.go:330 #, fuzzy, javascript-format msgid "failed to remove old %s systemd service configuration file" msgstr "mancata creazione della directory temporanea: %s" -#: shared/podman/systemd.go:335 +#: shared/podman/systemd.go:352 msgid "Service %[1]s already has %[2]d replicas." msgstr "" -#: shared/podman/systemd.go:338 +#: shared/podman/systemd.go:355 msgid "Scale %[1]s from %[2]d to %[3]d replicas." msgstr "" -#: shared/podman/systemd.go:342 +#: shared/podman/systemd.go:359 #, fuzzy msgid "cannot enable service" msgstr "impossible eliminare %s" -#: shared/podman/systemd.go:348 +#: shared/podman/systemd.go:365 #, fuzzy msgid "cannot disable service" msgstr "impossible eliminare %s" @@ -879,15 +954,15 @@ msgstr "" msgid "failed to parse configuration file %s" msgstr "" -#: shared/utils/config.go:62 +#: shared/utils/config.go:51 msgid "Failed to find home directory" msgstr "" -#: shared/utils/config.go:87 +#: shared/utils/config.go:94 msgid "failed to bind %[1]s config to parameter %[2]s" msgstr "" -#: shared/utils/config.go:99 +#: shared/utils/config.go:106 msgid "" "Usage:{{if .Runnable}}\n" " {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}}\n" @@ -920,7 +995,7 @@ msgid "" "Use \"{{.CommandPath}} [command] --help\" for more information about a command.{{end}}\n" msgstr "" -#: shared/utils/config.go:133 +#: shared/utils/config.go:140 msgid "" "\n" "Configuration:\n" @@ -957,11 +1032,11 @@ msgid "" " and '--ssl-password' flags to '{{ .EnvPrefix }}_SSL_PASSWORD' \n" msgstr "" -#: shared/utils/config.go:170 +#: shared/utils/config.go:177 msgid "Help on configuration file and environment variables" msgstr "" -#: shared/utils/config.go:179 +#: shared/utils/config.go:186 msgid "failed to compute config help command" msgstr "" @@ -1039,131 +1114,141 @@ msgstr "" msgid "failed to open %s for writing" msgstr "" -#: shared/utils/utils.go:53 +#: shared/utils/utils.go:54 #, javascript-format msgid "Has to be more than %d character long" msgid_plural "Has to be more than %d characters long" msgstr[0] "" msgstr[1] "" -#: shared/utils/utils.go:57 +#: shared/utils/utils.go:58 #, javascript-format msgid "Has to be less than %d character long" msgid_plural "Has to be less than %d characters long" msgstr[0] "" msgstr[1] "" -#: shared/utils/utils.go:68 +#: shared/utils/utils.go:69 msgid "Failed to read password" msgstr "" -#: shared/utils/utils.go:82 +#: shared/utils/utils.go:83 msgid "Cannot contain spaces or tabs" msgstr "" -#: shared/utils/utils.go:103 +#: shared/utils/utils.go:101 shared/utils/utils.go:125 +#: shared/utils/utils.go:138 +msgid "not an interactive device, not asking for missing value" +msgstr "" + +#: shared/utils/utils.go:110 msgid "Confirm the password" msgstr "" -#: shared/utils/utils.go:105 +#: shared/utils/utils.go:112 msgid "Two different passwords have been provided" msgstr "" -#: shared/utils/utils.go:121 -msgid "Failed to read input" -msgstr "" +#: shared/utils/utils.go:148 +#, fuzzy +msgid "failed to read input" +msgstr "mancata creazione della directory temporanea: %s" -#: shared/utils/utils.go:129 +#: shared/utils/utils.go:156 msgid "A value is required" msgstr "" -#: shared/utils/utils.go:173 +#: shared/utils/utils.go:200 msgid "Registry %[1]s would be used instead of namespace %[2]s" msgstr "" -#: shared/utils/utils.go:188 shared/utils/utils.go:214 +#: shared/utils/utils.go:215 shared/utils/utils.go:241 #, javascript-format msgid "invalid image name: %s" msgstr "" -#: shared/utils/utils.go:192 +#: shared/utils/utils.go:219 #, javascript-format msgid "tag missing on %s" msgstr "" -#: shared/utils/utils.go:200 shared/utils/utils.go:205 +#: shared/utils/utils.go:227 shared/utils/utils.go:232 #, javascript-format msgid "Computed image name is %s" msgstr "" -#: shared/utils/utils.go:224 +#: shared/utils/utils.go:251 #, javascript-format msgid "Failed to run %s" msgstr "" -#: shared/utils/utils.go:233 +#: shared/utils/utils.go:260 #, fuzzy, javascript-format msgid "cannot check content of %s" msgstr "impossibile leggere la configurazione: %s" -#: shared/utils/utils.go:245 +#: shared/utils/utils.go:272 #, javascript-format msgid "Cannot remove %s folder" msgstr "" -#: shared/utils/utils.go:256 +#: shared/utils/utils.go:283 #, javascript-format msgid "Failed to get %s file informations" msgstr "" -#: shared/utils/utils.go:265 +#: shared/utils/utils.go:292 #, javascript-format msgid "Failed to read file %s" msgstr "" -#: shared/utils/utils.go:280 +#: shared/utils/utils.go:307 #, javascript-format msgid "Would remove file %s" msgstr "" -#: shared/utils/utils.go:282 +#: shared/utils/utils.go:309 #, javascript-format msgid "Removing file %s" msgstr "" -#: shared/utils/utils.go:284 +#: shared/utils/utils.go:311 #, javascript-format msgid "Failed to remove file %s" msgstr "" -#: shared/utils/utils.go:294 +#: shared/utils/utils.go:321 msgid "Failed to read random data" msgstr "" -#: shared/utils/utils.go:315 +#: shared/utils/utils.go:342 #, javascript-format msgid "error downloading from %s" msgstr "" -#: shared/utils/utils.go:321 +#: shared/utils/utils.go:348 #, javascript-format msgid "bad status: %s" msgstr "" -#: shared/utils/utils.go:399 +#: shared/utils/utils.go:426 #, fuzzy msgid "failed to compute server FQDN" msgstr "mancata creazione della directory temporanea: %s" -#: shared/utils/utils.go:417 +#: shared/utils/utils.go:440 +#, javascript-format +msgid "%s is not a valid FQDN" +msgstr "" + +#: shared/utils/utils.go:444 #, fuzzy, javascript-format msgid "cannot resolve %s" msgstr "impossible eliminare %s" -#: shared/utils/utils.go:425 -#, javascript-format -msgid "%s is not a valid FQDN" -msgstr "" +#, fuzzy +#~ msgid "cannot fetch namespace" +#~ msgstr "impossible eliminare %s" #, fuzzy #~ msgid "cannot inspect host values" diff --git a/locale/shared/ja.po b/locale/shared/ja.po index ef0f178bf..e478dd6dc 100644 --- a/locale/shared/ja.po +++ b/locale/shared/ja.po @@ -7,70 +7,145 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" -"PO-Revision-Date: 2024-07-04 02:46+0000\n" -"Last-Translator: Carina Hagl \n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" +"PO-Revision-Date: 2024-09-26 12:48+0000\n" +"Last-Translator: Valentina Leonardi \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.7.2\n" -#: shared/api/api.go:72 +#: shared/api/api.go:28 msgid "FQDN of the server to connect to" msgstr "接続先サーバのFQDN" -#: shared/api/api.go:73 +#: shared/api/api.go:29 msgid "API user username" msgstr "APIユーザのユーザ名" -#: shared/api/api.go:74 +#: shared/api/api.go:30 msgid "Password for the API user" msgstr "APIユーザのパスワード" -#: shared/api/api.go:75 +#: shared/api/api.go:31 msgid "Path to a cert file of the CA" msgstr "CAの証明書ファイルへのパス" -#: shared/api/api.go:76 +#: shared/api/api.go:32 msgid "If set, server certificate will not be checked for validity" msgstr "設定されている場合、サーバ証明書は有効性をチェックされません" -#: shared/api/api.go:125 +#: shared/api/api.go:67 +msgid "401: unauthorized" +msgstr "" + +#: shared/api/api.go:82 #, javascript-format msgid "unknown error: %d" msgstr "不明なエラー: %d" -#: shared/api/api.go:167 -msgid "API server password" -msgstr "APIサーバのパスワード" +#: shared/api/api.go:114 +msgid "server URL is not provided" +msgstr "" + +#: shared/api/api.go:146 +msgid "Cached session is expired." +msgstr "" + +#: shared/api/api.go:148 shared/api/credentials.go:70 +#, fuzzy +msgid "Failed to remove stored credentials!" +msgstr "ファイル %s の削除に失敗しました" -#: shared/api/api.go:182 +#: shared/api/api.go:166 msgid "Unable to create login data" msgstr "ログインデータを作成できません" -#: shared/api/api.go:212 +#: shared/api/api.go:196 msgid "auth cookie not found in login response" msgstr "ログイン応答に認証クッキーが見つかりません" -#: shared/api/api.go:228 +#: shared/api/api.go:211 +#, fuzzy +msgid "failed to logout from the server" +msgstr "サーバへの接続に失敗しました" + +#: shared/api/api.go:235 msgid "Unable to convert data to JSON" msgstr "データをJSONに変換できません" -#: shared/api/org/createFirst.go:21 shared/api/org/getDetails.go:21 -msgid "failed to connect to the server" -msgstr "サーバへの接続に失敗しました" +#: shared/api/credentials.go:21 +msgid "not logged in, session cookie is missing" +msgstr "" + +#: shared/api/credentials.go:34 +#, fuzzy +msgid "unable to create credentials json" +msgstr "ログインデータを作成できません" + +#: shared/api/credentials.go:39 +#, fuzzy, javascript-format +msgid "unable to write credentials store %s" +msgstr "tar.gzの %s への書き込みに失敗しました" + +#: shared/api/credentials.go:53 +#, fuzzy +msgid "API server URL" +msgstr "APIサーバのパスワード" + +#: shared/api/credentials.go:54 +#, fuzzy +msgid "API server user" +msgstr "APIサーバのパスワード" + +#: shared/api/credentials.go:55 +msgid "API server password" +msgstr "APIサーバのパスワード" + +#: shared/api/credentials.go:58 +msgid "No credentials provided" +msgstr "" + +#: shared/api/credentials.go:68 +msgid "Cannot load stored credentials" +msgstr "" + +#: shared/api/credentials.go:83 +#, fuzzy, javascript-format +msgid "unable to read credentials file %s" +msgstr "ファイル %s の読み込みに失敗しました" + +#: shared/api/credentials.go:88 +msgid "unable to decode credentials file" +msgstr "" + +#: shared/api/credentials.go:92 +msgid "no credentials loaded" +msgstr "" + +#: shared/api/credentials.go:101 +msgid "specified api server does not match with stored credentials" +msgstr "" + +#: shared/api/org/createFirst.go:21 +#, fuzzy +msgid "unable to prepare API client" +msgstr "ログインデータを作成できません" #: shared/api/org/createFirst.go:35 msgid "failed to create first user and organization" msgstr "最初のユーザと組織の作成に失敗しました" -#: shared/api/org/getDetails.go:25 -#, fuzzy +#: shared/api/org/getDetails.go:24 +msgid "failed to connect to the server" +msgstr "サーバへの接続に失敗しました" + +#: shared/api/org/getDetails.go:28 msgid "failed to get organization details" -msgstr "設定ファイル %s の解析に失敗しました" +msgstr "組織の詳細の取得に失敗しました" #: shared/completion/completion.go:20 shared/completion/completion.go:21 msgid "Generate shell completion script" @@ -102,22 +177,21 @@ msgstr "サポートされていないバックエンド %s" #: shared/connection.go:146 msgid "coundn't find app name" -msgstr "" +msgstr "アプリ名が見つかりませんでした" #: shared/connection.go:153 -#, fuzzy msgid "failed to discover the cluster type" -msgstr "サーバへの接続に失敗しました" +msgstr "クラスタタイプの検出に失敗しました" #: shared/connection.go:158 #, javascript-format msgid "no %s helm release installed on the cluster" -msgstr "" +msgstr "クラスタに %s helmリリースがインストールされていません" #: shared/connection.go:164 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to find the %s deployment namespace" -msgstr "配備ステータスの解析に失敗しました" +msgstr "%s 配備ネームスペースが見つかりませんでした" #: shared/connection.go:185 #, javascript-format @@ -125,89 +199,85 @@ msgid "container %s is not running on podman" msgstr "コンテナ %s はpodmanで実行されていません" #: shared/connection.go:194 -#, fuzzy, javascript-format +#, javascript-format msgid "container labeled %s is not running on kubectl" -msgstr "コンテナ %s はpodmanで実行されていません" +msgstr "%s というラベルのコンテナはkubectlで実行されていません" #: shared/connection.go:209 -#, fuzzy, javascript-format +#, javascript-format msgid "%s command not executed:" -msgstr "%s を実行できません" +msgstr "%s コマンドは実行されませんでした:" #: shared/connection.go:221 -#, fuzzy msgid "failed to retrieve namespace " -msgstr "helmを使用して %s のネームスペースを検出できませんでした" +msgstr "ネームスペースを取得できませんでした " #: shared/connection.go:261 msgid "container didn't start within 10s." -msgstr "" +msgstr "コンテナが10秒以内に起動しませんでした。" -#: shared/connection.go:293 +#: shared/connection.go:298 msgid "server didn't start within 60s. Check for the service status" msgstr "サーバが60秒以内に起動しませんでした。サービスステータスを確認します" -#: shared/connection.go:323 shared/connection.go:362 +#: shared/connection.go:338 shared/connection.go:380 #, javascript-format msgid "unknown container kind: %s" msgstr "不明なコンテナの種類: %s" -#: shared/connection.go:373 +#: shared/connection.go:391 msgid "Copying the SSL CA certificate to the host" msgstr "ホストへのSSL CA証明書のコピー" -#: shared/connection.go:389 +#: shared/connection.go:410 msgid "Updating host trusted certificates" msgstr "ホストの信頼済み証明書の更新" -#: shared/connection.go:429 +#: shared/connection.go:418 +#, fuzzy +msgid "Unable to update host trusted certificates." +msgstr "ホストの信頼済み証明書の更新" + +#: shared/connection.go:458 shared/connection.go:479 msgid "failed to determine suitable backend" msgstr "適切なバックエンドを決定できませんでした" -#: shared/connection.go:439 +#: shared/connection.go:468 msgid "no supported backend found" msgstr "サポートされているバックエンドが見つかりません" -#: shared/connection.go:455 shared/kubernetes/k3s.go:65 -#: shared/podman/hostinspector.go:60 shared/podman/utils.go:224 -msgid "failed to create temporary directory" -msgstr "一時ディレクトリの作成に失敗しました" - -#: shared/connection.go:460 -#, fuzzy, javascript-format +#: shared/connection.go:493 +#, javascript-format msgid "Running supportconfig in %s" -msgstr "設定ファイル %s を使用中です" +msgstr "%s でsupportconfigを実行しています" -#: shared/connection.go:463 -#, fuzzy +#: shared/connection.go:496 msgid "failed to run supportconfig" -msgstr "%s コンテナの実行に失敗しました" +msgstr "supportconfigの実行に失敗しました" -#: shared/connection.go:467 -#, fuzzy +#: shared/connection.go:500 msgid "failed to find container supportconfig tarball from command output" -msgstr "config helpコマンドの計算に失敗しました" +msgstr "コマンド出力からコンテナのsupportconfig tarballが見つかりませんでした" -#: shared/connection.go:473 -#, fuzzy +#: shared/connection.go:506 msgid "cannot copy tarball" -msgstr "%s を停止できません" +msgstr "tarballをコピーできません" -#: shared/connection.go:479 -#, fuzzy, javascript-format +#: shared/connection.go:512 +#, javascript-format msgid "failed to remove %s file in the container" -msgstr "%s コンテナの実行に失敗しました" +msgstr "コンテナ内の %s ファイルの削除に失敗しました" -#: shared/connection.go:497 +#: shared/connection.go:531 #, javascript-format msgid "failed to detect %s's namespace using helm" msgstr "helmを使用して %s のネームスペースを検出できませんでした" -#: shared/connection.go:502 +#: shared/connection.go:536 msgid "helm provided an invalid JSON output" msgstr "helmは無効なJSON出力を提供しました" -#: shared/connection.go:508 +#: shared/connection.go:542 msgid "found no or more than one deployment" msgstr "配備が見つからないか、複数の配備があります" @@ -220,13 +290,12 @@ msgid "failed to install helm chart %[1]s in namespace %[2]s" msgstr "helmチャート %[1]s (ネームスペース %[2]s 内)のインストールに失敗しました" #: shared/kubernetes/helm.go:67 -#, fuzzy msgid "namespace is required" -msgstr "値が必要がです" +msgstr "ネームスペースが必要です" #: shared/kubernetes/helm.go:77 shared/podman/network.go:107 -#: shared/podman/systemd.go:79 shared/podman/systemd.go:155 -#: shared/podman/systemd.go:156 shared/podman/utils.go:132 +#: shared/podman/systemd.go:96 shared/podman/systemd.go:172 +#: shared/podman/systemd.go:173 shared/podman/utils.go:132 #: shared/podman/utils.go:158 #, javascript-format msgid "Would run %s" @@ -259,6 +328,11 @@ msgstr "Traefikの再ロードを待機中" msgid "install %s before running this command" msgstr "このコマンドを実行する前に %s をインストールする" +#: shared/kubernetes/k3s.go:65 shared/podman/hostinspector.go:60 +#: shared/podman/utils.go:224 +msgid "failed to create temporary directory" +msgstr "一時ディレクトリの作成に失敗しました" + #: shared/kubernetes/k3s.go:79 #, javascript-format msgid "cannot delete %s" @@ -314,50 +388,42 @@ msgstr "Rke2 nginx設定の書き込みに失敗しました" msgid "Waiting for Nginx controller to be reloaded" msgstr "Nginxコントローラが再ロードされるのを待機中" -#: shared/kubernetes/support.go:32 -#, fuzzy +#: shared/kubernetes/support.go:27 msgid "cannot retrieve any configmap" -msgstr "設定を読み込めません" +msgstr "configmapを取得できません" -#: shared/kubernetes/support.go:39 -#, fuzzy +#: shared/kubernetes/support.go:34 msgid "cannot retrieve any pod" -msgstr "ポッド %s を削除できません" +msgstr "ポッドを取得できません" -#: shared/kubernetes/support.go:49 -#, fuzzy -msgid "cannot fetch namespace" -msgstr "ネームスペースを推測できません" - -#: shared/kubernetes/support.go:57 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:45 +#, javascript-format msgid "cannot create %s" -msgstr "%s を削除できません" +msgstr "%s を作成できません" -#: shared/kubernetes/support.go:62 -#, fuzzy +#: shared/kubernetes/support.go:50 msgid "cannot fetch configmap" -msgstr "設定を読み込めません" +msgstr "configmapをフェッチできません" -#: shared/kubernetes/support.go:75 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:63 +#, javascript-format msgid "cannot check for pods in %s" -msgstr "%s の内容を確認できません" +msgstr "%s でポッドを確認できません" -#: shared/kubernetes/support.go:82 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:70 +#, javascript-format msgid "failed to create %s" -msgstr "%s フォルダの作成に失敗しました" +msgstr "%s の作成に失敗しました" -#: shared/kubernetes/support.go:88 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:76 +#, javascript-format msgid "failed to fetch info for pod %s" -msgstr "ポッド %s のイベントを取得できませんでした" +msgstr "ポッド %s の情報のフェッチに失敗しました" -#: shared/kubernetes/support.go:94 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:82 +#, javascript-format msgid "failed to write in %s" -msgstr "tar.gzの %s への書き込みに失敗しました" +msgstr "%s への書き込みに失敗しました" #: shared/kubernetes/uninstall.go:13 msgid "" @@ -375,7 +441,7 @@ msgstr "" "たとえば、デフォルトのK3Sインストールでは、local-path-providerストレージボリュームは、\n" "--purge-volumes引数が使用されていなくても、配備を削除するときに自動的に削除されます。" -#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:92 +#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:93 msgid "failed to pull image" msgstr "イメージをプルできませんでした" @@ -384,98 +450,97 @@ msgid "Waiting for %[1]s deployment to be ready in %[2]s namespace\n" msgstr "%[1]s 配備の準備を待機中( %[2]s ネームスペース内)\n" #: shared/kubernetes/utils.go:69 -#, fuzzy msgid "failed to find a ready replica for deployment %[1]s in namespace %[2]s after 120s" -msgstr "60秒後にネームスペース %[2]s で配備 %[1]s の準備ができたレプリカが見つかりませんでした" +msgstr "120秒後にネームスペース %[2]s で配備 %[1]s の準備ができたレプリカが見つかりませんでした" #: shared/kubernetes/utils.go:74 msgid "Waiting for image of %[1]s pod in %[2]s namespace to be pulled" msgstr "%[1]s ポッド(%[2]s ネームスペース内)のイメージが取得されるのを待機しています" -#: shared/kubernetes/utils.go:87 +#: shared/kubernetes/utils.go:88 #, javascript-format msgid "failed to get failed events for pod %s" msgstr "ポッド %s の失敗したイベントの取得に失敗しました" -#: shared/kubernetes/utils.go:99 +#: shared/kubernetes/utils.go:100 #, javascript-format msgid "failed to get events for pod %s" msgstr "ポッド %s のイベントを取得できませんでした" -#: shared/kubernetes/utils.go:145 +#: shared/kubernetes/utils.go:146 msgid "failed to parse deployment status" msgstr "配備ステータスの解析に失敗しました" -#: shared/kubernetes/utils.go:159 +#: shared/kubernetes/utils.go:160 #, javascript-format msgid "cannot run kubectl %s" msgstr "kubectl %s を実行できません" -#: shared/kubernetes/utils.go:164 +#: shared/kubernetes/utils.go:165 #, javascript-format msgid "cannot get pods for %s" msgstr "%s のポッドを取得できません" -#: shared/kubernetes/utils.go:171 +#: shared/kubernetes/utils.go:172 #, javascript-format msgid "replica to %d failed" msgstr "%d へのレプリカが失敗しました" -#: shared/kubernetes/utils.go:184 +#: shared/kubernetes/utils.go:185 msgid "cannot check if pod %[1]s is running in app %[2]s" msgstr "ポッド %[1]sがアプリ %[2]s で実行中かどうかを確認できません" -#: shared/kubernetes/utils.go:195 shared/kubernetes/utils.go:239 -#: shared/kubernetes/utils.go:332 +#: shared/kubernetes/utils.go:196 shared/kubernetes/utils.go:240 +#: shared/kubernetes/utils.go:333 #, javascript-format msgid "cannot execute %s" msgstr "%s を実行できません" -#: shared/kubernetes/utils.go:216 +#: shared/kubernetes/utils.go:217 #, javascript-format msgid "cannot get pod informations %s" msgstr "ポッド情報 %s を取得できません" -#: shared/kubernetes/utils.go:225 +#: shared/kubernetes/utils.go:226 #, javascript-format msgid "cannot set replicas for %s to zero" msgstr "%s のレプリカを0に設定できません" -#: shared/kubernetes/utils.go:270 +#: shared/kubernetes/utils.go:271 #, javascript-format msgid "%s is not a valid image pull policy value" msgstr "%s は有効なイメージプルポリシーの値ではありません" -#: shared/kubernetes/utils.go:291 +#: shared/kubernetes/utils.go:292 msgctxt "The first placeholder is a command" msgid "cannot run %[1]s using image %[2]s" msgstr "%[1]s を実行できません(イメージ %[2]s を使用)" -#: shared/kubernetes/utils.go:295 +#: shared/kubernetes/utils.go:296 #, javascript-format msgid "deleting pod %s. Status fails with error" msgstr "ポッド %s を削除しています。エラー でステータスが失敗します" -#: shared/kubernetes/utils.go:308 shared/kubernetes/utils.go:317 +#: shared/kubernetes/utils.go:309 shared/kubernetes/utils.go:318 #, javascript-format msgid "cannot delete pod %s" msgstr "ポッド %s を削除できません" -#: shared/kubernetes/utils.go:339 +#: shared/kubernetes/utils.go:340 #, javascript-format msgid "error during execution of %s" msgstr "%s の実行中にエラーが発生しました" -#: shared/kubernetes/utils.go:344 +#: shared/kubernetes/utils.go:345 msgid "pod %[1]s status is not %[2]s in %[3]d seconds" msgstr "ポッド %[1]s のステータスが %[2]s になっていません(%[3]d 秒後)" -#: shared/kubernetes/utils.go:361 +#: shared/kubernetes/utils.go:362 #, javascript-format msgid "cannot find node name matching filter %s" msgstr "フィルタ %s に一致するノード名が見つかりません" -#: shared/kubernetes/utils.go:370 +#: shared/kubernetes/utils.go:371 msgid "cannot serialize pod definition override" msgstr "ポッド定義の上書きをシリアライズできません" @@ -492,88 +557,91 @@ msgstr "ホストデータを検査できません" msgid "Ensure image %s is available" msgstr "イメージ %s が使用可能であることを確認します" -#: shared/podman/images.go:44 +#: shared/podman/images.go:46 msgid "Pull Policy is always. Presence of RPM image will be checked and if it's not present it will be pulled from registry" msgstr "プルポリシーが常に適用されます。RPMイメージがあるかどうかがチェックされ、存在しない場合はレジストリからプルされます" -#: shared/podman/images.go:53 +#: shared/podman/images.go:55 #, javascript-format msgid "Cannot use RPM image for %s" msgstr "%s のRPMイメージを使用できません" -#: shared/podman/images.go:55 +#: shared/podman/images.go:57 msgid "Using the %[1]s image loaded from the RPM instead of its online version %[2]s" msgstr "RPM からロードされた %[1]s イメージを使用(オンラインバージョン %[2]s ではない)" -#: shared/podman/images.go:60 +#: shared/podman/images.go:62 #, javascript-format msgid "Cannot find RPM image for %s" msgstr "%s のRPMイメージが見つかりません" -#: shared/podman/images.go:68 +#: shared/podman/images.go:75 #, javascript-format msgid "image %s is missing and cannot be fetched" msgstr "イメージ %s が見つからないのでフェッチできません" -#: shared/podman/images.go:79 +#: shared/podman/images.go:86 #, javascript-format msgid "Cannot correctly parse image name '%s', local image cannot be used" -msgstr "" +msgstr "イメージ名「%s」を正しく解析できません。ローカルイメージを使用できません" -#: shared/podman/images.go:97 +#: shared/podman/images.go:104 msgid "cannot unmarshal image RPM metadata" msgstr "イメージRPMメタデータをアンマーシャルできません" -#: shared/podman/images.go:142 +#: shared/podman/images.go:149 #, javascript-format msgid "Cannot unmarshal metadata file %s" msgstr "メタデータファイル %s をアンマーシャルできません" -#: shared/podman/images.go:164 +#: shared/podman/images.go:171 #, javascript-format msgid "error parsing: %s" msgstr "解析エラー: %s" -#: shared/podman/images.go:172 shared/podman/images.go:186 -#: shared/podman/images.go:201 +#: shared/podman/images.go:179 shared/podman/images.go:193 +#: shared/podman/images.go:208 #, javascript-format msgid "failed to check if image %s has already been pulled" msgstr "イメージ %s がすでにプルされているかどうかの確認に失敗しました" -#: shared/podman/images.go:208 +#: shared/podman/images.go:215 #, javascript-format msgid "%s should contains just lower case character, otherwise podman pull would fails" msgstr "%s には小文字のみを含める必要があります。含めない場合、podmanのプルは失敗します" -#: shared/podman/images.go:210 +#: shared/podman/images.go:217 #, javascript-format msgid "Running podman pull %s" msgstr "podmanのプル %s の実行中" -#: shared/podman/images.go:222 +#: shared/podman/images.go:229 #, javascript-format msgid "Running podman image search --list-tags %s --format={{.Tag}}" msgstr "podmanイメージ検索--list-tags %s --format={{.Tag}}の実行中" -#: shared/podman/images.go:230 +#: shared/podman/images.go:237 #, javascript-format msgid "cannot find any tag for image %s" msgstr "イメージ %s のタグが見つかりません" -#: shared/podman/images.go:238 +#: shared/podman/images.go:245 #, javascript-format msgid "Running podman ps --filter=name=%s --format={{ .Image }}" msgstr "podman ps --filter=name=%s --format={{ .Image }}の実行中" -#: shared/podman/images.go:242 +#: shared/podman/images.go:249 #, javascript-format msgid "cannot find any running image for container %s" msgstr "コンテナ %s に対して実行中のイメージが見つかりません" -#: shared/podman/login.go:41 -#, fuzzy +#: shared/podman/login.go:23 +msgid "SCC credentials parameters will be used. SCC credentials from host will be ignored." +msgstr "SCC資格情報パラメータが使用されます。ホストからのSCC資格情報は無視されます。" + +#: shared/podman/login.go:50 msgid "failed to close the temporary auth file" -msgstr "一時ディレクトリの作成に失敗しました" +msgstr "一時認証ファイルを閉じることができませんでした" #: shared/podman/network.go:31 #, javascript-format @@ -624,161 +692,160 @@ msgstr "ネットワークが削除されました" #: shared/podman/support.go:27 msgid "No systemd file to add to the archive" -msgstr "" +msgstr "アーカイブに追加するsystemdファイルはありません" #: shared/podman/support.go:40 shared/podman/support.go:90 #: shared/podman/support.go:113 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to run podman inspect %s" -msgstr "helm %s の実行に失敗しました" +msgstr "podman inspect %s の実行に失敗しました" #: shared/podman/support.go:46 #, javascript-format msgid "failed to fetch the config files bound to container %s" -msgstr "" +msgstr "コンテナ %s にバインドされた設定ファイルのフェッチに失敗しました" #: shared/podman/support.go:52 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to run podman logs %s" -msgstr "helm %s の実行に失敗しました" +msgstr "podman logs %sの実行に失敗しました" #: shared/podman/support.go:64 shared/podman/support.go:85 #: shared/podman/support.go:104 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to create %s file" -msgstr "%s フォルダの作成に失敗しました" +msgstr "%s ファイルの作成に失敗しました" #: shared/podman/support.go:69 -#, fuzzy msgid "failed to run systemctl cat uyuni-*" -msgstr "systemdデーモンの再ロードに失敗しました" +msgstr "systemctl cat uyuni-*の実行に失敗しました" #: shared/podman/support.go:149 -#, fuzzy, javascript-format +#, javascript-format msgid "failed create %s file" -msgstr "%s フォルダの作成に失敗しました" +msgstr "%s ファイルの作成に失敗しました" #: shared/podman/support.go:154 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to run journalctl -u %s" -msgstr "helm %s の実行に失敗しました" +msgstr "ournalctl -u %sの実行に失敗しました" #: shared/podman/systemd.go:52 #, javascript-format msgid "failed to disable %s systemd service" msgstr "%s systemdサービスを無効にできませんでした" -#: shared/podman/systemd.go:76 +#: shared/podman/systemd.go:93 #, javascript-format msgid "Systemd has no %s.service unit" msgstr "Systemdには %s.serviceユニットがありません" -#: shared/podman/systemd.go:81 +#: shared/podman/systemd.go:98 #, javascript-format msgid "Disable %s service" msgstr "%s サービスを無効にする" -#: shared/podman/systemd.go:85 shared/podman/systemd.go:144 +#: shared/podman/systemd.go:102 shared/podman/systemd.go:161 #, javascript-format msgid "Failed to disable %s service" msgstr "%s サービスを無効にできませんでした" -#: shared/podman/systemd.go:97 shared/podman/systemd.go:114 +#: shared/podman/systemd.go:114 shared/podman/systemd.go:131 #, javascript-format msgid "Would remove %s" msgstr "%s を削除します" -#: shared/podman/systemd.go:100 shared/podman/systemd.go:116 +#: shared/podman/systemd.go:117 shared/podman/systemd.go:133 #, javascript-format msgid "Remove %s" msgstr "%s の削除" -#: shared/podman/systemd.go:102 +#: shared/podman/systemd.go:119 #, javascript-format msgid "Failed to remove %s.service file" msgstr "%s.serviceファイルの削除に失敗しました" -#: shared/podman/systemd.go:118 +#: shared/podman/systemd.go:135 #, javascript-format msgid "Failed to remove %s file" msgstr "ファイル %s の削除に失敗しました" -#: shared/podman/systemd.go:125 +#: shared/podman/systemd.go:142 #, javascript-format msgid "Would remove %s if empty" msgstr "空の場合は、%s を削除します" -#: shared/podman/systemd.go:131 +#: shared/podman/systemd.go:148 #, javascript-format msgid "%s folder contains file created by the user. Please remove them when uninstallation is completed." msgstr "%s フォルダには、ユーザが作成したファイルが含まれます。アンインストール後にそれらのファイルを削除してください。" -#: shared/podman/systemd.go:141 +#: shared/podman/systemd.go:158 #, javascript-format msgid "Would scale %s to 0 replicas" msgstr "%s を0個のレプリカにスケールします" -#: shared/podman/systemd.go:160 +#: shared/podman/systemd.go:177 msgid "failed to reset-failed systemd" msgstr "systemdのreset-failedに失敗しました" -#: shared/podman/systemd.go:164 +#: shared/podman/systemd.go:181 msgid "failed to reload systemd daemon" msgstr "systemdデーモンの再ロードに失敗しました" -#: shared/podman/systemd.go:182 +#: shared/podman/systemd.go:199 #, javascript-format msgid "failed to restart systemd %s.service" msgstr "systemd %s.serviceの再起動に失敗しました" -#: shared/podman/systemd.go:190 +#: shared/podman/systemd.go:207 #, javascript-format msgid "failed to start systemd %s.service" msgstr "systemd %s.serviceの起動に失敗しました" -#: shared/podman/systemd.go:198 +#: shared/podman/systemd.go:215 #, javascript-format msgid "failed to stop systemd %s.service" msgstr "systemd %s.serviceの停止に失敗しました" -#: shared/podman/systemd.go:206 +#: shared/podman/systemd.go:223 #, javascript-format msgid "failed to enable %s systemd service" msgstr "%s systemdサービスを有効にできませんでした" -#: shared/podman/systemd.go:253 +#: shared/podman/systemd.go:270 #, javascript-format msgid "failed to create %s folder" msgstr "%s フォルダの作成に失敗しました" -#: shared/podman/systemd.go:263 +#: shared/podman/systemd.go:280 #, javascript-format msgid "cannot write %s file" msgstr "%s ファイルを書き込めません" -#: shared/podman/systemd.go:308 -#, fuzzy, javascript-format +#: shared/podman/systemd.go:325 +#, javascript-format msgid "failed to write %s file" -msgstr "%s フォルダの作成に失敗しました" +msgstr "%s ファイルの書き込みに失敗しました" -#: shared/podman/systemd.go:313 -#, fuzzy, javascript-format +#: shared/podman/systemd.go:330 +#, javascript-format msgid "failed to remove old %s systemd service configuration file" -msgstr "設定ファイル %s の解析に失敗しました" +msgstr "古い %s systemdサービス設定ファイルの削除に失敗しました" -#: shared/podman/systemd.go:335 +#: shared/podman/systemd.go:352 msgid "Service %[1]s already has %[2]d replicas." msgstr "サービス %[1]s にはすでに %[2]d 個のレプリカがあります。" -#: shared/podman/systemd.go:338 +#: shared/podman/systemd.go:355 msgid "Scale %[1]s from %[2]d to %[3]d replicas." msgstr "%[1]s を %[2]d から %[3]d レプリカにスケールします。" -#: shared/podman/systemd.go:342 +#: shared/podman/systemd.go:359 msgid "cannot enable service" msgstr "サービスを有効にできません" -#: shared/podman/systemd.go:348 +#: shared/podman/systemd.go:365 msgid "cannot disable service" msgstr "サービスを無効にできませんでした" @@ -836,11 +903,11 @@ msgstr "イメージ %s の削除に失敗しました" #: shared/podman/utils.go:172 #, javascript-format msgid "Volume %s is externally mounted, directory cannot be removed" -msgstr "" +msgstr "ボリューム %s は外部にマウントされているため、ディレクトリを削除できません" #: shared/podman/utils.go:234 msgid "failed to login to registry.suse.com" -msgstr "" +msgstr "registry.suse.comへのログインに失敗しました" #: shared/utils/cmd.go:51 shared/utils/cmd.go:52 msgid "failed to unmarshall configuration" @@ -883,15 +950,15 @@ msgstr "コンテナイメージも削除する" msgid "failed to parse configuration file %s" msgstr "設定ファイル %s の解析に失敗しました" -#: shared/utils/config.go:62 +#: shared/utils/config.go:51 msgid "Failed to find home directory" msgstr "ホームディレクトリの検索に失敗しました" -#: shared/utils/config.go:87 +#: shared/utils/config.go:94 msgid "failed to bind %[1]s config to parameter %[2]s" msgstr "%[1]s 設定をパラメータ %[2]s にバインドできませんでした" -#: shared/utils/config.go:99 +#: shared/utils/config.go:106 msgid "" "Usage:{{if .Runnable}}\n" " {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}}\n" @@ -953,8 +1020,7 @@ msgstr "" "\n" "コマンドの詳細については、「{{.CommandPath}} [command] --help」を使用してください。{{end}}\n" -#: shared/utils/config.go:133 -#, fuzzy +#: shared/utils/config.go:140 msgid "" "\n" "Configuration:\n" @@ -1006,6 +1072,7 @@ msgstr "" " パスワード: secret\n" " \n" " 設定ファイルは以下の場所と順序で検索されます:\n" +" · /etc/uyuni/uyuni-tools.yam\n" " · $XDG_CONFIG_HOME/{{ .Name }}/{{ .ConfigFile }}\n" " · $HOME/.config/{{ .Name }}/{{ .ConfigFile }}\n" " · $PWD/{{ .ConfigFile }}\n" @@ -1021,11 +1088,11 @@ msgstr "" " たとえば、「--tz CEST」フラグは「{{ .EnvPrefix }}_TZ」にマップされ、\n" " 「--ssl-password」フラグは「{{ .EnvPrefix }}_SSL_PASSWORD」にマップされます。 \n" -#: shared/utils/config.go:170 +#: shared/utils/config.go:177 msgid "Help on configuration file and environment variables" msgstr "設定ファイルと環境変数のヘルプ" -#: shared/utils/config.go:179 +#: shared/utils/config.go:186 msgid "failed to compute config help command" msgstr "config helpコマンドの計算に失敗しました" @@ -1042,49 +1109,46 @@ msgid "failed to generate inspect script" msgstr "検査スクリプトの生成に失敗しました" #: shared/utils/inspector.go:83 -#, fuzzy, javascript-format +#, javascript-format msgid "cannot read file %s" -msgstr "ファイル %s を解析できません" +msgstr "ファイル %s を読み込めません" #: shared/utils/inspector.go:88 msgid "cannot read config" msgstr "設定を読み込めません" #: shared/utils/inspector.go:93 -#, fuzzy msgid "failed to unmarshal the inspected data" -msgstr "検査スクリプトの生成に失敗しました" +msgstr "検査データのアンマーシャルに失敗しました" #: shared/utils/logUtils.go:96 msgid "Couldn't open %[1]s file for writing, writing log to %[2]s" -msgstr "" +msgstr "%[1]s ファイルを書き込み用に開けませんでした。ログを %[2]s に書き込みます" #: shared/utils/support.go:32 -#, fuzzy msgid "Unable to detect hostname, using localhost" -msgstr "helmを使用して %s のネームスペースを検出できませんでした" +msgstr "ホスト名を検出できません。localhostを使用しています" #: shared/utils/support.go:46 msgid "Preparing the tarball" -msgstr "" +msgstr "tarballの準備中" #: shared/utils/support.go:58 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to add %s to tarball" -msgstr "%s コンテナの実行に失敗しました" +msgstr "%s をtarballに追加できませんでした" #: shared/utils/support.go:88 -#, fuzzy msgid "failed to run supportconfig on the host" -msgstr "%s コンテナの実行に失敗しました" +msgstr "ホスト上でsupportconfigを実行できませんでした" #: shared/utils/support.go:98 msgid "failed to find host supportconfig tarball from command output" -msgstr "" +msgstr "コマンド出力からホストのsupportconfig tarballが見つかりませんでした" #: shared/utils/support.go:101 msgid "supportconfig is not available on the host, skipping it" -msgstr "" +msgstr "supportconfigはホストで利用できないため、スキップします" #: shared/utils/tar.go:47 msgid "Skipping extraction of %[1]s in %[2]s file as it resolves outside the target path" @@ -1105,130 +1169,137 @@ msgstr "%s ファイルはすでに存在します。上書きされません" msgid "failed to open %s for writing" msgstr "書き込みのために %s を開けませんでした" -#: shared/utils/utils.go:53 +#: shared/utils/utils.go:54 #, javascript-format msgid "Has to be more than %d character long" msgid_plural "Has to be more than %d characters long" msgstr[0] "%d 文字以上の長さである必要があります" -#: shared/utils/utils.go:57 +#: shared/utils/utils.go:58 #, javascript-format msgid "Has to be less than %d character long" msgid_plural "Has to be less than %d characters long" msgstr[0] "%d 文字未満である必要があります" -#: shared/utils/utils.go:68 +#: shared/utils/utils.go:69 msgid "Failed to read password" msgstr "パスワードの読み込みに失敗しました" -#: shared/utils/utils.go:82 +#: shared/utils/utils.go:83 msgid "Cannot contain spaces or tabs" msgstr "スペースやタブを含むことはできません" -#: shared/utils/utils.go:103 -#, fuzzy +#: shared/utils/utils.go:101 shared/utils/utils.go:125 +#: shared/utils/utils.go:138 +msgid "not an interactive device, not asking for missing value" +msgstr "" + +#: shared/utils/utils.go:110 msgid "Confirm the password" -msgstr "パスワードの読み込みに失敗しました" +msgstr "パスワードの確認" -#: shared/utils/utils.go:105 +#: shared/utils/utils.go:112 msgid "Two different passwords have been provided" msgstr "2つの異なるパスワードが指定されています" -#: shared/utils/utils.go:121 -msgid "Failed to read input" +#: shared/utils/utils.go:148 +#, fuzzy +msgid "failed to read input" msgstr "入力の読み込みに失敗しました" -#: shared/utils/utils.go:129 +#: shared/utils/utils.go:156 msgid "A value is required" msgstr "値が必要がです" -#: shared/utils/utils.go:173 +#: shared/utils/utils.go:200 msgid "Registry %[1]s would be used instead of namespace %[2]s" msgstr "ネームスペース %[2]s のかわりにレジストリ %[1]s が使用されます" -#: shared/utils/utils.go:188 shared/utils/utils.go:214 +#: shared/utils/utils.go:215 shared/utils/utils.go:241 #, javascript-format msgid "invalid image name: %s" msgstr "無効なイメージ名: %s" -#: shared/utils/utils.go:192 +#: shared/utils/utils.go:219 #, javascript-format msgid "tag missing on %s" msgstr "タグが %s で見つかりません" -#: shared/utils/utils.go:200 shared/utils/utils.go:205 -#, fuzzy, javascript-format +#: shared/utils/utils.go:227 shared/utils/utils.go:232 +#, javascript-format msgid "Computed image name is %s" -msgstr "無効なイメージ名: %s" +msgstr "計算されたイメージ名は %s です" -#: shared/utils/utils.go:224 +#: shared/utils/utils.go:251 #, javascript-format msgid "Failed to run %s" msgstr "%s の実行に失敗しました" -#: shared/utils/utils.go:233 +#: shared/utils/utils.go:260 #, javascript-format msgid "cannot check content of %s" msgstr "%s の内容を確認できません" -#: shared/utils/utils.go:245 +#: shared/utils/utils.go:272 #, javascript-format msgid "Cannot remove %s folder" msgstr "%s フォルダを削除できません" -#: shared/utils/utils.go:256 +#: shared/utils/utils.go:283 #, javascript-format msgid "Failed to get %s file informations" msgstr "%s ファイル情報の取得に失敗しました" -#: shared/utils/utils.go:265 +#: shared/utils/utils.go:292 #, javascript-format msgid "Failed to read file %s" msgstr "ファイル %s の読み込みに失敗しました" -#: shared/utils/utils.go:280 +#: shared/utils/utils.go:307 #, javascript-format msgid "Would remove file %s" msgstr "ファイル %s を削除します" -#: shared/utils/utils.go:282 +#: shared/utils/utils.go:309 #, javascript-format msgid "Removing file %s" msgstr "ファイル %s を削除中" -#: shared/utils/utils.go:284 +#: shared/utils/utils.go:311 #, javascript-format msgid "Failed to remove file %s" msgstr "ファイル %s の削除に失敗しました" -#: shared/utils/utils.go:294 +#: shared/utils/utils.go:321 msgid "Failed to read random data" msgstr "ランダムデータの読み込みに失敗しました" -#: shared/utils/utils.go:315 +#: shared/utils/utils.go:342 #, javascript-format msgid "error downloading from %s" msgstr "%s からのダウンロードでエラーが発生しました" -#: shared/utils/utils.go:321 +#: shared/utils/utils.go:348 #, javascript-format msgid "bad status: %s" msgstr "不良ステータス: %s" -#: shared/utils/utils.go:399 -#, fuzzy +#: shared/utils/utils.go:426 msgid "failed to compute server FQDN" -msgstr "サーバへの接続に失敗しました" - -#: shared/utils/utils.go:417 -#, fuzzy, javascript-format -msgid "cannot resolve %s" -msgstr "%s を削除できません" +msgstr "サーバFQDNの計算に失敗しました" -#: shared/utils/utils.go:425 +#: shared/utils/utils.go:440 #, javascript-format msgid "%s is not a valid FQDN" -msgstr "" +msgstr "%s は有効なFQDNではありません" + +#: shared/utils/utils.go:444 +#, javascript-format +msgid "cannot resolve %s" +msgstr "%s を解決できません" + +#~ msgid "cannot fetch namespace" +#~ msgstr "ネームスペースをフェッチできません" #, javascript-format #~ msgid "the container is not running, %s command not executed:" diff --git a/locale/shared/ko.po b/locale/shared/ko.po index 5c906a9e0..e5b9af924 100644 --- a/locale/shared/ko.po +++ b/locale/shared/ko.po @@ -7,70 +7,145 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" -"PO-Revision-Date: 2024-07-16 05:47+0000\n" -"Last-Translator: Seeun Lee \n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" +"PO-Revision-Date: 2024-09-26 12:48+0000\n" +"Last-Translator: Valentina Leonardi \n" "Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.7.2\n" -#: shared/api/api.go:72 +#: shared/api/api.go:28 msgid "FQDN of the server to connect to" msgstr "연결할 서버의 FQDN" -#: shared/api/api.go:73 +#: shared/api/api.go:29 msgid "API user username" msgstr "API 사용자 사용자 이름" -#: shared/api/api.go:74 +#: shared/api/api.go:30 msgid "Password for the API user" msgstr "API 사용자의 비밀번호" -#: shared/api/api.go:75 +#: shared/api/api.go:31 msgid "Path to a cert file of the CA" msgstr "CA의 인증서 파일 경로" -#: shared/api/api.go:76 +#: shared/api/api.go:32 msgid "If set, server certificate will not be checked for validity" msgstr "설정하면 서버 인증서의 유효성을 확인하지 않습니다." -#: shared/api/api.go:125 +#: shared/api/api.go:67 +msgid "401: unauthorized" +msgstr "" + +#: shared/api/api.go:82 #, javascript-format msgid "unknown error: %d" msgstr "알 수 없는 오류: %d" -#: shared/api/api.go:167 -msgid "API server password" -msgstr "API 서버 비밀번호" +#: shared/api/api.go:114 +msgid "server URL is not provided" +msgstr "" + +#: shared/api/api.go:146 +msgid "Cached session is expired." +msgstr "" + +#: shared/api/api.go:148 shared/api/credentials.go:70 +#, fuzzy +msgid "Failed to remove stored credentials!" +msgstr "%s 파일 제거를 하지 못함" -#: shared/api/api.go:182 +#: shared/api/api.go:166 msgid "Unable to create login data" msgstr "로그인 데이터를 생성할 수 없습니다." -#: shared/api/api.go:212 +#: shared/api/api.go:196 msgid "auth cookie not found in login response" msgstr "로그인 응답에서 인증 쿠키를 찾을 수 없습니다." -#: shared/api/api.go:228 +#: shared/api/api.go:211 +#, fuzzy +msgid "failed to logout from the server" +msgstr "서버에 연결하지 못함" + +#: shared/api/api.go:235 msgid "Unable to convert data to JSON" msgstr "데이터를 JSON으로 변환할 수 없습니다." -#: shared/api/org/createFirst.go:21 shared/api/org/getDetails.go:21 -msgid "failed to connect to the server" -msgstr "서버에 연결하지 못함" +#: shared/api/credentials.go:21 +msgid "not logged in, session cookie is missing" +msgstr "" + +#: shared/api/credentials.go:34 +#, fuzzy +msgid "unable to create credentials json" +msgstr "로그인 데이터를 생성할 수 없습니다." + +#: shared/api/credentials.go:39 +#, fuzzy, javascript-format +msgid "unable to write credentials store %s" +msgstr "tar.gz를 %s에 쓰지 못함" + +#: shared/api/credentials.go:53 +#, fuzzy +msgid "API server URL" +msgstr "API 서버 비밀번호" + +#: shared/api/credentials.go:54 +#, fuzzy +msgid "API server user" +msgstr "API 서버 비밀번호" + +#: shared/api/credentials.go:55 +msgid "API server password" +msgstr "API 서버 비밀번호" + +#: shared/api/credentials.go:58 +msgid "No credentials provided" +msgstr "" + +#: shared/api/credentials.go:68 +msgid "Cannot load stored credentials" +msgstr "" + +#: shared/api/credentials.go:83 +#, fuzzy, javascript-format +msgid "unable to read credentials file %s" +msgstr "%s 파일 읽기 실패" + +#: shared/api/credentials.go:88 +msgid "unable to decode credentials file" +msgstr "" + +#: shared/api/credentials.go:92 +msgid "no credentials loaded" +msgstr "" + +#: shared/api/credentials.go:101 +msgid "specified api server does not match with stored credentials" +msgstr "" + +#: shared/api/org/createFirst.go:21 +#, fuzzy +msgid "unable to prepare API client" +msgstr "로그인 데이터를 생성할 수 없습니다." #: shared/api/org/createFirst.go:35 msgid "failed to create first user and organization" msgstr "첫 번째 사용자 및 조직을 만들지 못함" -#: shared/api/org/getDetails.go:25 -#, fuzzy +#: shared/api/org/getDetails.go:24 +msgid "failed to connect to the server" +msgstr "서버에 연결하지 못함" + +#: shared/api/org/getDetails.go:28 msgid "failed to get organization details" -msgstr "구성 파일 %s을(를) 구문 분석하지 못함" +msgstr "조직 세부 정보 가져오기 실패" #: shared/completion/completion.go:20 shared/completion/completion.go:21 msgid "Generate shell completion script" @@ -102,22 +177,21 @@ msgstr "지원되지 않는 백엔드 %s" #: shared/connection.go:146 msgid "coundn't find app name" -msgstr "" +msgstr "앱 이름을 찾을 수 없음" #: shared/connection.go:153 -#, fuzzy msgid "failed to discover the cluster type" -msgstr "서버에 연결하지 못함" +msgstr "클러스터 유형 검색 실패" #: shared/connection.go:158 #, javascript-format msgid "no %s helm release installed on the cluster" -msgstr "" +msgstr "클러스터에 %s helm 릴리스가 설치되지 않음" #: shared/connection.go:164 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to find the %s deployment namespace" -msgstr "배포 상태를 구문 분석하지 못함" +msgstr "%s 배포 네임스페이스 찾기 실패" #: shared/connection.go:185 #, javascript-format @@ -125,89 +199,85 @@ msgid "container %s is not running on podman" msgstr "%s 컨테이너가 podman에서 실행 중이 아님" #: shared/connection.go:194 -#, fuzzy, javascript-format +#, javascript-format msgid "container labeled %s is not running on kubectl" -msgstr "%s 컨테이너가 podman에서 실행 중이 아님" +msgstr "레이블이 %s인 컨테이너를 kubectl에서 실행하고 있지 않음" #: shared/connection.go:209 -#, fuzzy, javascript-format +#, javascript-format msgid "%s command not executed:" -msgstr "%s을(를) 실행할 수 없음" +msgstr "%s 명령 포함하지 않음:" #: shared/connection.go:221 -#, fuzzy msgid "failed to retrieve namespace " -msgstr "helm을 사용하여 %s의 네임스페이스를 감지하지 못함" +msgstr "네임스페이스 가져오기 실패 " #: shared/connection.go:261 msgid "container didn't start within 10s." -msgstr "" +msgstr "컨테이너가 10초 이내에 시작되지 않았습니다." -#: shared/connection.go:293 +#: shared/connection.go:298 msgid "server didn't start within 60s. Check for the service status" msgstr "서버가 60초 이내에 시작되지 않았습니다. 서비스 상태를 확인하십시오." -#: shared/connection.go:323 shared/connection.go:362 +#: shared/connection.go:338 shared/connection.go:380 #, javascript-format msgid "unknown container kind: %s" msgstr "알 수 없는 컨테이너 종류: %s" -#: shared/connection.go:373 +#: shared/connection.go:391 msgid "Copying the SSL CA certificate to the host" msgstr "SSL CA 인증서를 호스트에 복사" -#: shared/connection.go:389 +#: shared/connection.go:410 msgid "Updating host trusted certificates" msgstr "호스트 신뢰할 수 있는 인증서 업데이트" -#: shared/connection.go:429 +#: shared/connection.go:418 +#, fuzzy +msgid "Unable to update host trusted certificates." +msgstr "호스트 신뢰할 수 있는 인증서 업데이트" + +#: shared/connection.go:458 shared/connection.go:479 msgid "failed to determine suitable backend" msgstr "적합한 백엔드를 확인하지 못했습니다." -#: shared/connection.go:439 +#: shared/connection.go:468 msgid "no supported backend found" msgstr "지원되는 백엔드를 찾을 수 없습니다." -#: shared/connection.go:455 shared/kubernetes/k3s.go:65 -#: shared/podman/hostinspector.go:60 shared/podman/utils.go:224 -msgid "failed to create temporary directory" -msgstr "임시 디렉토리를 만들지 못함" - -#: shared/connection.go:460 -#, fuzzy, javascript-format +#: shared/connection.go:493 +#, javascript-format msgid "Running supportconfig in %s" -msgstr "구성 파일 %s 사용" +msgstr "%s에서 supportconfig 실행 중" -#: shared/connection.go:463 -#, fuzzy +#: shared/connection.go:496 msgid "failed to run supportconfig" -msgstr "%s 컨테이너를 실행하지 못함" +msgstr "supportconfig 실행 실패" -#: shared/connection.go:467 -#, fuzzy +#: shared/connection.go:500 msgid "failed to find container supportconfig tarball from command output" -msgstr "구성 도움말 명령을 계산하지 못함" +msgstr "명령 출력에서 컨테이너 supportconfig tarball을 찾지 못함" -#: shared/connection.go:473 -#, fuzzy +#: shared/connection.go:506 msgid "cannot copy tarball" -msgstr "%s을(를) 중지할 수 없음" +msgstr "tarball을 복사할 수 없음" -#: shared/connection.go:479 -#, fuzzy, javascript-format +#: shared/connection.go:512 +#, javascript-format msgid "failed to remove %s file in the container" -msgstr "%s 컨테이너를 실행하지 못함" +msgstr "컨테이너에서 %s 제거 실패" -#: shared/connection.go:497 +#: shared/connection.go:531 #, javascript-format msgid "failed to detect %s's namespace using helm" msgstr "helm을 사용하여 %s의 네임스페이스를 감지하지 못함" -#: shared/connection.go:502 +#: shared/connection.go:536 msgid "helm provided an invalid JSON output" msgstr "helm이 잘못된 JSON 출력을 제공함" -#: shared/connection.go:508 +#: shared/connection.go:542 msgid "found no or more than one deployment" msgstr "하나 이상의 배포를 찾지 못했습니다." @@ -220,13 +290,12 @@ msgid "failed to install helm chart %[1]s in namespace %[2]s" msgstr "%[2]s 네임스페이스에서 helm 차트 %[1]s을(를) 설치하지 못함" #: shared/kubernetes/helm.go:67 -#, fuzzy msgid "namespace is required" -msgstr "값은 필수입니다." +msgstr "네임스페이스는 필수입니다." #: shared/kubernetes/helm.go:77 shared/podman/network.go:107 -#: shared/podman/systemd.go:79 shared/podman/systemd.go:155 -#: shared/podman/systemd.go:156 shared/podman/utils.go:132 +#: shared/podman/systemd.go:96 shared/podman/systemd.go:172 +#: shared/podman/systemd.go:173 shared/podman/utils.go:132 #: shared/podman/utils.go:158 #, javascript-format msgid "Would run %s" @@ -259,6 +328,11 @@ msgstr "Traefik의 다시 로드를 기다리는 중" msgid "install %s before running this command" msgstr "이 명령을 실행하기 전 %s 설치" +#: shared/kubernetes/k3s.go:65 shared/podman/hostinspector.go:60 +#: shared/podman/utils.go:224 +msgid "failed to create temporary directory" +msgstr "임시 디렉토리를 만들지 못함" + #: shared/kubernetes/k3s.go:79 #, javascript-format msgid "cannot delete %s" @@ -314,50 +388,42 @@ msgstr "Rke2 nginx 구성 쓰기 실패" msgid "Waiting for Nginx controller to be reloaded" msgstr "Nginx 컨트롤러가 다시 로드되기를 기다리는 중" -#: shared/kubernetes/support.go:32 -#, fuzzy +#: shared/kubernetes/support.go:27 msgid "cannot retrieve any configmap" -msgstr "구성을 읽을 수 없음" +msgstr "구성맵을 검색할 수 없음" -#: shared/kubernetes/support.go:39 -#, fuzzy +#: shared/kubernetes/support.go:34 msgid "cannot retrieve any pod" -msgstr "%s Pod를 삭제할 수 없음" - -#: shared/kubernetes/support.go:49 -#, fuzzy -msgid "cannot fetch namespace" -msgstr "네임스페이스를 추측할 수 없음" +msgstr "Pod을 가져올 수 없음" -#: shared/kubernetes/support.go:57 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:45 +#, javascript-format msgid "cannot create %s" -msgstr "%s을(를) 삭제할 수 없음" +msgstr "%s을(를) 만들 수 없음" -#: shared/kubernetes/support.go:62 -#, fuzzy +#: shared/kubernetes/support.go:50 msgid "cannot fetch configmap" -msgstr "구성을 읽을 수 없음" +msgstr "구성맵을 가져올 수 없음" -#: shared/kubernetes/support.go:75 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:63 +#, javascript-format msgid "cannot check for pods in %s" -msgstr "%s 컨텐트를 확인할 수 없음" +msgstr "%s에서 Pod를 검사할 수 없음" -#: shared/kubernetes/support.go:82 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:70 +#, javascript-format msgid "failed to create %s" -msgstr "%s 폴더를 생성하지 못함" +msgstr "%s 생성 실패" -#: shared/kubernetes/support.go:88 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:76 +#, javascript-format msgid "failed to fetch info for pod %s" -msgstr "%s Pod에 대한 이벤트를 가져오지 못했습니다." +msgstr "%s Pod에 대한 정보 가져오기 실패" -#: shared/kubernetes/support.go:94 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:82 +#, javascript-format msgid "failed to write in %s" -msgstr "tar.gz를 %s에 쓰지 못함" +msgstr "%s에 쓰기 실패" #: shared/kubernetes/uninstall.go:13 msgid "" @@ -375,7 +441,7 @@ msgstr "" "예를 들어, 기본 K3S 설치 프로그램에서는 --purge-volumes 인수를 사용하지 않더라도 배포를 삭제할 때\n" "로컬-경로-공급자 스토리지 볼륨이 자동으로 제거됩니다." -#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:92 +#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:93 msgid "failed to pull image" msgstr "이미지 끌어오기 실패" @@ -384,98 +450,97 @@ msgid "Waiting for %[1]s deployment to be ready in %[2]s namespace\n" msgstr "%[2]s 네임스페이스에서 %[1]s 배포가 준비되기를 기다리는 중\n" #: shared/kubernetes/utils.go:69 -#, fuzzy msgid "failed to find a ready replica for deployment %[1]s in namespace %[2]s after 120s" -msgstr "60초 후에 네임스페이스 %[2]s에서 %[1]s 배포를 위해 준비된 복제본을 찾지 못함" +msgstr "120초 후에 네임스페이스 %[2]s에서 배포 %[1]s에 대한 준비된 복제본을 찾지 못했습니다." #: shared/kubernetes/utils.go:74 msgid "Waiting for image of %[1]s pod in %[2]s namespace to be pulled" msgstr "%[2]s 네임스페이스에 있는 %[1]s Pod의 이미지 끌어오기를 기다리는 중" -#: shared/kubernetes/utils.go:87 +#: shared/kubernetes/utils.go:88 #, javascript-format msgid "failed to get failed events for pod %s" msgstr "%s Pod에 대한 실패한 이벤트를 가져오지 못했습니다." -#: shared/kubernetes/utils.go:99 +#: shared/kubernetes/utils.go:100 #, javascript-format msgid "failed to get events for pod %s" msgstr "%s Pod에 대한 이벤트를 가져오지 못했습니다." -#: shared/kubernetes/utils.go:145 +#: shared/kubernetes/utils.go:146 msgid "failed to parse deployment status" msgstr "배포 상태를 구문 분석하지 못함" -#: shared/kubernetes/utils.go:159 +#: shared/kubernetes/utils.go:160 #, javascript-format msgid "cannot run kubectl %s" msgstr "%s kubectl을 실행할 수 없음" -#: shared/kubernetes/utils.go:164 +#: shared/kubernetes/utils.go:165 #, javascript-format msgid "cannot get pods for %s" msgstr "%s에 대한 Pod를 가져올 수 없음" -#: shared/kubernetes/utils.go:171 +#: shared/kubernetes/utils.go:172 #, javascript-format msgid "replica to %d failed" msgstr "%d에 대한 복제를 하지 못함" -#: shared/kubernetes/utils.go:184 +#: shared/kubernetes/utils.go:185 msgid "cannot check if pod %[1]s is running in app %[2]s" msgstr "앱 %[2]s에서 %[1]s Pod가 실행 중인지 확인할 수 없음" -#: shared/kubernetes/utils.go:195 shared/kubernetes/utils.go:239 -#: shared/kubernetes/utils.go:332 +#: shared/kubernetes/utils.go:196 shared/kubernetes/utils.go:240 +#: shared/kubernetes/utils.go:333 #, javascript-format msgid "cannot execute %s" msgstr "%s을(를) 실행할 수 없음" -#: shared/kubernetes/utils.go:216 +#: shared/kubernetes/utils.go:217 #, javascript-format msgid "cannot get pod informations %s" msgstr "%s Pod 정보를 가져올 수 없음" -#: shared/kubernetes/utils.go:225 +#: shared/kubernetes/utils.go:226 #, javascript-format msgid "cannot set replicas for %s to zero" msgstr "%s에 대한 복제본을 0으로 설정할 수 없습니다." -#: shared/kubernetes/utils.go:270 +#: shared/kubernetes/utils.go:271 #, javascript-format msgid "%s is not a valid image pull policy value" msgstr "%s은(는) 올바른 이미지 끌어오기 정책 값이 아닙니다." -#: shared/kubernetes/utils.go:291 +#: shared/kubernetes/utils.go:292 msgctxt "The first placeholder is a command" msgid "cannot run %[1]s using image %[2]s" msgstr "%[2]s 이미지를 사용하여 %[1]s을(를) 실행할 수 없음" -#: shared/kubernetes/utils.go:295 +#: shared/kubernetes/utils.go:296 #, javascript-format msgid "deleting pod %s. Status fails with error" msgstr "%s Pod를 삭제하는 중입니다. 오류가 발생하여 상태가 실패했습니다." -#: shared/kubernetes/utils.go:308 shared/kubernetes/utils.go:317 +#: shared/kubernetes/utils.go:309 shared/kubernetes/utils.go:318 #, javascript-format msgid "cannot delete pod %s" msgstr "%s Pod를 삭제할 수 없음" -#: shared/kubernetes/utils.go:339 +#: shared/kubernetes/utils.go:340 #, javascript-format msgid "error during execution of %s" msgstr "%s 실행 중 오류 발생" -#: shared/kubernetes/utils.go:344 +#: shared/kubernetes/utils.go:345 msgid "pod %[1]s status is not %[2]s in %[3]d seconds" msgstr "%[1]s Pod 상태가 %[3]d초 후에 %[2]s 아님" -#: shared/kubernetes/utils.go:361 +#: shared/kubernetes/utils.go:362 #, javascript-format msgid "cannot find node name matching filter %s" msgstr "노드 이름과 일치하는 %s 필터를 찾을 수 없습니다." -#: shared/kubernetes/utils.go:370 +#: shared/kubernetes/utils.go:371 msgid "cannot serialize pod definition override" msgstr "Pod 정의 재정의를 직렬화할 수 없음" @@ -492,88 +557,91 @@ msgstr "호스트 데이터를 검사할 수 없음" msgid "Ensure image %s is available" msgstr "%s 이미지를 사용할 수 있는지 확인" -#: shared/podman/images.go:44 +#: shared/podman/images.go:46 msgid "Pull Policy is always. Presence of RPM image will be checked and if it's not present it will be pulled from registry" msgstr "끌어오기 정책이 항상입니다. RPM 이미지가 있는지 확인하여 이미지가 없는 경우 레지스트리에서 끌어옵니다." -#: shared/podman/images.go:53 +#: shared/podman/images.go:55 #, javascript-format msgid "Cannot use RPM image for %s" msgstr "%s에 RPM 이미지를 사용할 수 없음" -#: shared/podman/images.go:55 +#: shared/podman/images.go:57 msgid "Using the %[1]s image loaded from the RPM instead of its online version %[2]s" msgstr "온라인 버전 %[2]s 대신 RPM에서 로드한 %[1]s 이미지 사용" -#: shared/podman/images.go:60 +#: shared/podman/images.go:62 #, javascript-format msgid "Cannot find RPM image for %s" msgstr "%s에 대한 RPM 이미지를 찾을 수 없습니다." -#: shared/podman/images.go:68 +#: shared/podman/images.go:75 #, javascript-format msgid "image %s is missing and cannot be fetched" msgstr "%s 이미지가 누락되어 가져올 수 없습니다." -#: shared/podman/images.go:79 +#: shared/podman/images.go:86 #, javascript-format msgid "Cannot correctly parse image name '%s', local image cannot be used" -msgstr "" +msgstr "이미지 이름 '%s'을(를) 올바르게 파싱할 수 없습니다. 로컬 이미지를 사용할 수 없습니다." -#: shared/podman/images.go:97 +#: shared/podman/images.go:104 msgid "cannot unmarshal image RPM metadata" msgstr "이미지 RPM 메타데이터를 마샬링 해제할 수 없음" -#: shared/podman/images.go:142 +#: shared/podman/images.go:149 #, javascript-format msgid "Cannot unmarshal metadata file %s" msgstr "%s 메타데이터 파일을 마샬링 해제할 수 없음" -#: shared/podman/images.go:164 +#: shared/podman/images.go:171 #, javascript-format msgid "error parsing: %s" msgstr "구문 분석 중 오류 발생: %s" -#: shared/podman/images.go:172 shared/podman/images.go:186 -#: shared/podman/images.go:201 +#: shared/podman/images.go:179 shared/podman/images.go:193 +#: shared/podman/images.go:208 #, javascript-format msgid "failed to check if image %s has already been pulled" msgstr "%s 이미지를 이미 끌어왔는지 확인하지 못했습니다." -#: shared/podman/images.go:208 +#: shared/podman/images.go:215 #, javascript-format msgid "%s should contains just lower case character, otherwise podman pull would fails" msgstr "%s에는 소문자만 포함되어야 하며, 그렇지 않으면 podman pull이 실패하게 됩니다." -#: shared/podman/images.go:210 +#: shared/podman/images.go:217 #, javascript-format msgid "Running podman pull %s" msgstr "실행 중 podman 끌어오기 %s" -#: shared/podman/images.go:222 +#: shared/podman/images.go:229 #, javascript-format msgid "Running podman image search --list-tags %s --format={{.Tag}}" msgstr "실행 중 podman 이미지 검색 --list-tags %s --format={{.Tag}}" -#: shared/podman/images.go:230 +#: shared/podman/images.go:237 #, javascript-format msgid "cannot find any tag for image %s" msgstr "%s 이미지에 대한 태그를 찾을 수 없음" -#: shared/podman/images.go:238 +#: shared/podman/images.go:245 #, javascript-format msgid "Running podman ps --filter=name=%s --format={{ .Image }}" msgstr "실행 중 podman ps --filter=name=%s --format={{ .Image }}" -#: shared/podman/images.go:242 +#: shared/podman/images.go:249 #, javascript-format msgid "cannot find any running image for container %s" msgstr "%s 컨테이너에 대한 실행 이미지를 찾을 수 없음" -#: shared/podman/login.go:41 -#, fuzzy +#: shared/podman/login.go:23 +msgid "SCC credentials parameters will be used. SCC credentials from host will be ignored." +msgstr "SCC 자격 증명 매개변수가 사용됩니다. 호스트의 SCC 자격 증명은 무시됩니다." + +#: shared/podman/login.go:50 msgid "failed to close the temporary auth file" -msgstr "임시 디렉토리를 만들지 못함" +msgstr "임시 인증 파일 닫기 실패" #: shared/podman/network.go:31 #, javascript-format @@ -624,161 +692,160 @@ msgstr "네트워크 제거됨" #: shared/podman/support.go:27 msgid "No systemd file to add to the archive" -msgstr "" +msgstr "아카이브에 추가할 systemd 파일 없음" #: shared/podman/support.go:40 shared/podman/support.go:90 #: shared/podman/support.go:113 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to run podman inspect %s" -msgstr "%s helm을 실행하지 못함" +msgstr "podman 조사 %s 실행 실패" #: shared/podman/support.go:46 #, javascript-format msgid "failed to fetch the config files bound to container %s" -msgstr "" +msgstr "컨테이너 %s에 바인딩된 구성 파일을 가져오지 못했습니다." #: shared/podman/support.go:52 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to run podman logs %s" -msgstr "%s helm을 실행하지 못함" +msgstr "podman 로그 %s 실행 실패" #: shared/podman/support.go:64 shared/podman/support.go:85 #: shared/podman/support.go:104 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to create %s file" -msgstr "%s 폴더를 생성하지 못함" +msgstr "%s 파일 생성 실패" #: shared/podman/support.go:69 -#, fuzzy msgid "failed to run systemctl cat uyuni-*" -msgstr "systemd 데몬을 다시 로드하지 못함" +msgstr "systemctl cat uyuni-* 실행 실패" #: shared/podman/support.go:149 -#, fuzzy, javascript-format +#, javascript-format msgid "failed create %s file" -msgstr "%s 폴더를 생성하지 못함" +msgstr "%s 파일 생성 실패" #: shared/podman/support.go:154 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to run journalctl -u %s" -msgstr "%s helm을 실행하지 못함" +msgstr "journalctl -u %s 실행 실패" #: shared/podman/systemd.go:52 #, javascript-format msgid "failed to disable %s systemd service" msgstr "%s systemd 서비스를 비활성화하지 못함" -#: shared/podman/systemd.go:76 +#: shared/podman/systemd.go:93 #, javascript-format msgid "Systemd has no %s.service unit" msgstr "Systemd에 %s.service 단위가 없습니다." -#: shared/podman/systemd.go:81 +#: shared/podman/systemd.go:98 #, javascript-format msgid "Disable %s service" msgstr "%s 서비스 비활성화" -#: shared/podman/systemd.go:85 shared/podman/systemd.go:144 +#: shared/podman/systemd.go:102 shared/podman/systemd.go:161 #, javascript-format msgid "Failed to disable %s service" msgstr "%s 서비스 비활성화 실패" -#: shared/podman/systemd.go:97 shared/podman/systemd.go:114 +#: shared/podman/systemd.go:114 shared/podman/systemd.go:131 #, javascript-format msgid "Would remove %s" msgstr "%s 제거" -#: shared/podman/systemd.go:100 shared/podman/systemd.go:116 +#: shared/podman/systemd.go:117 shared/podman/systemd.go:133 #, javascript-format msgid "Remove %s" msgstr "%s 제거" -#: shared/podman/systemd.go:102 +#: shared/podman/systemd.go:119 #, javascript-format msgid "Failed to remove %s.service file" msgstr "%s.service 파일 제거 실패" -#: shared/podman/systemd.go:118 +#: shared/podman/systemd.go:135 #, javascript-format msgid "Failed to remove %s file" msgstr "%s 파일 제거를 하지 못함" -#: shared/podman/systemd.go:125 +#: shared/podman/systemd.go:142 #, javascript-format msgid "Would remove %s if empty" msgstr "비어 있으면, %s을(를) 제거" -#: shared/podman/systemd.go:131 +#: shared/podman/systemd.go:148 #, javascript-format msgid "%s folder contains file created by the user. Please remove them when uninstallation is completed." msgstr "%s 폴더에는 사용자가 만든 파일이 들어 있습니다. 설치 제거가 완료되면 해당 파일을 제거하십시오." -#: shared/podman/systemd.go:141 +#: shared/podman/systemd.go:158 #, javascript-format msgid "Would scale %s to 0 replicas" msgstr "%s을(를) 0 복제본으로 확장" -#: shared/podman/systemd.go:160 +#: shared/podman/systemd.go:177 msgid "failed to reset-failed systemd" msgstr "reset-failed systemd 실패" -#: shared/podman/systemd.go:164 +#: shared/podman/systemd.go:181 msgid "failed to reload systemd daemon" msgstr "systemd 데몬을 다시 로드하지 못함" -#: shared/podman/systemd.go:182 +#: shared/podman/systemd.go:199 #, javascript-format msgid "failed to restart systemd %s.service" msgstr "systemd %s.service를 다시 시작하지 못함" -#: shared/podman/systemd.go:190 +#: shared/podman/systemd.go:207 #, javascript-format msgid "failed to start systemd %s.service" msgstr "systemd %s.service를 시작하지 못함" -#: shared/podman/systemd.go:198 +#: shared/podman/systemd.go:215 #, javascript-format msgid "failed to stop systemd %s.service" msgstr "systemd %s.service를 중지하지 못함" -#: shared/podman/systemd.go:206 +#: shared/podman/systemd.go:223 #, javascript-format msgid "failed to enable %s systemd service" msgstr "%s systemd service를 활성화하지 못함" -#: shared/podman/systemd.go:253 +#: shared/podman/systemd.go:270 #, javascript-format msgid "failed to create %s folder" msgstr "%s 폴더를 생성하지 못함" -#: shared/podman/systemd.go:263 +#: shared/podman/systemd.go:280 #, javascript-format msgid "cannot write %s file" msgstr "%s 파일을 쓸 수 없음" -#: shared/podman/systemd.go:308 -#, fuzzy, javascript-format +#: shared/podman/systemd.go:325 +#, javascript-format msgid "failed to write %s file" -msgstr "%s 폴더를 생성하지 못함" +msgstr "%s 파일 쓰기 실패" -#: shared/podman/systemd.go:313 -#, fuzzy, javascript-format +#: shared/podman/systemd.go:330 +#, javascript-format msgid "failed to remove old %s systemd service configuration file" -msgstr "구성 파일 %s을(를) 구문 분석하지 못함" +msgstr "오래된 %s systemd 서비스 구성 파일 제거 실패" -#: shared/podman/systemd.go:335 +#: shared/podman/systemd.go:352 msgid "Service %[1]s already has %[2]d replicas." msgstr "%[1]s 서비스에 이미 %[2]d개 복제본이 있습니다." -#: shared/podman/systemd.go:338 +#: shared/podman/systemd.go:355 msgid "Scale %[1]s from %[2]d to %[3]d replicas." msgstr "%[2]d개에서 %[3]d개 복제본으로 %[1]s 확장" -#: shared/podman/systemd.go:342 +#: shared/podman/systemd.go:359 msgid "cannot enable service" msgstr "서비스를 활성할 수 없음" -#: shared/podman/systemd.go:348 +#: shared/podman/systemd.go:365 msgid "cannot disable service" msgstr "서비스 비활성화 실패" @@ -836,11 +903,11 @@ msgstr "%s 이미지를 제거하지 못함" #: shared/podman/utils.go:172 #, javascript-format msgid "Volume %s is externally mounted, directory cannot be removed" -msgstr "" +msgstr "볼륨 %s이(가) 외부에 탑재되어 있어, 디렉토리를 제거할 수 없습니다" #: shared/podman/utils.go:234 msgid "failed to login to registry.suse.com" -msgstr "" +msgstr "registry.suse.com에 로그인하지 못했습니다." #: shared/utils/cmd.go:51 shared/utils/cmd.go:52 msgid "failed to unmarshall configuration" @@ -883,15 +950,15 @@ msgstr "컨테이너 이미지도 제거" msgid "failed to parse configuration file %s" msgstr "구성 파일 %s을(를) 구문 분석하지 못함" -#: shared/utils/config.go:62 +#: shared/utils/config.go:51 msgid "Failed to find home directory" msgstr "홈 디렉토리 찾기 실패" -#: shared/utils/config.go:87 +#: shared/utils/config.go:94 msgid "failed to bind %[1]s config to parameter %[2]s" msgstr "%[1]s 구성을 %[2]s 파라미터에 바인딩하지 못함" -#: shared/utils/config.go:99 +#: shared/utils/config.go:106 msgid "" "Usage:{{if .Runnable}}\n" " {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}}\n" @@ -953,8 +1020,7 @@ msgstr "" "\n" "명령에 대한 자세한 내용을 확인하려면 \"{{.CommandPath}} [command] --help\"를 사용하십시오.{{end}}\n" -#: shared/utils/config.go:133 -#, fuzzy +#: shared/utils/config.go:140 msgid "" "\n" "Configuration:\n" @@ -996,36 +1062,39 @@ msgstr "" " 모든 비전역 플래그를 구성으로 전달할 수도 있습니다.\n" " \n" " 구성 파일은 플래그 이름과 일치하는 항목이 포함된 YAML 파일입니다.\n" -" 플래그의 이름은 명령줄 파라미터의 '--' 뒤에 오는 부분입니다.\n" -" 플래그 이름의 모든 '_' 문자는 중첩된 속성을 의미합니다.\n" +" 플래그의 이름은 명령줄 파라미터의 ''--'' 뒤에 오는 부분입니다.\n" +" 플래그 이름의 모든 ''_'' 문자는 중첩된 속성을 의미합니다.\n" " \n" -" 예를 들어, '--tz CEST' 및 '--ssl-password secret'는 이 YAML 구성에 매핑됩니다:\n" +" 예를 들어, ''--tz CEST'' 및 ''--ssl-password secret''는\n" +" 이 YAML 구성에 매핑됩니다:\n" " \n" " tz: CEST\n" " ssl:\n" " 비밀번호: secret\n" " \n" " 구성 파일은 다음과 같은 위치에서 순서대로 검색됩니다.\n" -" - XDG_CONFIG_HOME/{{ .Name }}/{{ .ConfigFile }}\n" -" - HOME/.config/{{ .Name }}/{{ .ConfigFile }}\n" -" - PWD/{{ .ConfigFile }}\n" -" --config 플래그의 값\n" +" /etc/uyuni/uyuni-tools.yaml\n" +" · $XDG_CONFIG_HOME/{{ .Name }}/{{ .ConfigFile }}\n" +" · $HOME/.config/{{ .Name }}/{{ .ConfigFile }}\n" +" · $PWD/{{ .ConfigFile }}\n" +" · --config 플래그의 값\n" "\n" "\n" "환경 변수:\n" "\n" " 전역 플래그가 아닌 모든 플래그는 환경 변수로 전달할 수도 있습니다.\n" " \n" -" 환경 변수 이름은 '-'가 '_'로 대체된 플래그 이름과 {{ .EnvPrefix }} 접두사가 붙은 이름입니다.\n" +" 환경 변수 이름은 ''-''가 ''_''로 대체된 플래그 이름과\n" +" {{ .EnvPrefix }} 접두사가 붙은 이름입니다.\n" " \n" -" 예를 들어, '--tz CEST' 플래그는 '{{ .EnvPrefix }}_TZ'에 매핑되고\n" -"'--ssl-password' 플래그는 '{{ .EnvPrefix }}_SSL_PASSWORD'에 매핑됩니다. \n" +" 예를 들어, ''--tz CEST'' 플래그는 ''{{ .EnvPrefix }}_TZ''에 매핑되고\n" +"''--ssl-password'' 플래그는 ''{{ .EnvPrefix }}_SSL_PASSWORD''에 매핑됩니다. \n" -#: shared/utils/config.go:170 +#: shared/utils/config.go:177 msgid "Help on configuration file and environment variables" msgstr "구성 파일 및 환경 변수에 대한 도움말" -#: shared/utils/config.go:179 +#: shared/utils/config.go:186 msgid "failed to compute config help command" msgstr "구성 도움말 명령을 계산하지 못함" @@ -1042,49 +1111,46 @@ msgid "failed to generate inspect script" msgstr "검사 스크립트 생성하지 못함" #: shared/utils/inspector.go:83 -#, fuzzy, javascript-format +#, javascript-format msgid "cannot read file %s" -msgstr "%s 파일의 구문을 분석할 수 없음" +msgstr "%s 파일을 읽을 수 없음" #: shared/utils/inspector.go:88 msgid "cannot read config" msgstr "구성을 읽을 수 없음" #: shared/utils/inspector.go:93 -#, fuzzy msgid "failed to unmarshal the inspected data" -msgstr "검사 스크립트 생성하지 못함" +msgstr "검사 데이터의 마샬링 취소 실패" #: shared/utils/logUtils.go:96 msgid "Couldn't open %[1]s file for writing, writing log to %[2]s" -msgstr "" +msgstr "%[1]s 파일을 쓰기용으로 열 수 없음, %[2]s에 로그 기록 중" #: shared/utils/support.go:32 -#, fuzzy msgid "Unable to detect hostname, using localhost" -msgstr "helm을 사용하여 %s의 네임스페이스를 감지하지 못함" +msgstr "localhost를 사용하여 호스트 이름을 감지하지 못함" #: shared/utils/support.go:46 msgid "Preparing the tarball" -msgstr "" +msgstr "tarball 준비 중" #: shared/utils/support.go:58 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to add %s to tarball" -msgstr "%s 컨테이너를 실행하지 못함" +msgstr "%s을(를) tarball에 추가 실패" #: shared/utils/support.go:88 -#, fuzzy msgid "failed to run supportconfig on the host" -msgstr "%s 컨테이너를 실행하지 못함" +msgstr "호스트에서 supportconfig 실행 실패" #: shared/utils/support.go:98 msgid "failed to find host supportconfig tarball from command output" -msgstr "" +msgstr "명령 출력에서 호스트 supportconfig tarball 찾기 실패" #: shared/utils/support.go:101 msgid "supportconfig is not available on the host, skipping it" -msgstr "" +msgstr "호스트에서 supportconfig 사용 불가, 건너뛰는 중" #: shared/utils/tar.go:47 msgid "Skipping extraction of %[1]s in %[2]s file as it resolves outside the target path" @@ -1105,130 +1171,137 @@ msgstr "%s 파일 이미 있음, 덮어쓰지 않음" msgid "failed to open %s for writing" msgstr "쓰기 위해 %s을(를) 열지 못함" -#: shared/utils/utils.go:53 +#: shared/utils/utils.go:54 #, javascript-format msgid "Has to be more than %d character long" msgid_plural "Has to be more than %d characters long" msgstr[0] "%d자 이상이어야 합니다." -#: shared/utils/utils.go:57 +#: shared/utils/utils.go:58 #, javascript-format msgid "Has to be less than %d character long" msgid_plural "Has to be less than %d characters long" msgstr[0] "%d자 미만이어야 합니다." -#: shared/utils/utils.go:68 +#: shared/utils/utils.go:69 msgid "Failed to read password" msgstr "비밀번호 읽기 실패" -#: shared/utils/utils.go:82 +#: shared/utils/utils.go:83 msgid "Cannot contain spaces or tabs" msgstr "공백이나 탭을 포함할 수 없습니다." -#: shared/utils/utils.go:103 -#, fuzzy +#: shared/utils/utils.go:101 shared/utils/utils.go:125 +#: shared/utils/utils.go:138 +msgid "not an interactive device, not asking for missing value" +msgstr "" + +#: shared/utils/utils.go:110 msgid "Confirm the password" -msgstr "비밀번호 읽기 실패" +msgstr "비밀번호 확인" -#: shared/utils/utils.go:105 +#: shared/utils/utils.go:112 msgid "Two different passwords have been provided" msgstr "2개의 다른 비밀번호가 입력되었습니다." -#: shared/utils/utils.go:121 -msgid "Failed to read input" +#: shared/utils/utils.go:148 +#, fuzzy +msgid "failed to read input" msgstr "입력 읽기 실패" -#: shared/utils/utils.go:129 +#: shared/utils/utils.go:156 msgid "A value is required" msgstr "값은 필수입니다." -#: shared/utils/utils.go:173 +#: shared/utils/utils.go:200 msgid "Registry %[1]s would be used instead of namespace %[2]s" msgstr "%[2]s 네임스페이스 대신 %[1]s 레지스트리가 사용됩니다." -#: shared/utils/utils.go:188 shared/utils/utils.go:214 +#: shared/utils/utils.go:215 shared/utils/utils.go:241 #, javascript-format msgid "invalid image name: %s" msgstr "잘못된 이미지 이름: %s" -#: shared/utils/utils.go:192 +#: shared/utils/utils.go:219 #, javascript-format msgid "tag missing on %s" msgstr "%s에 태그 누락" -#: shared/utils/utils.go:200 shared/utils/utils.go:205 -#, fuzzy, javascript-format +#: shared/utils/utils.go:227 shared/utils/utils.go:232 +#, javascript-format msgid "Computed image name is %s" -msgstr "잘못된 이미지 이름: %s" +msgstr "계산된 이미지 이름: %s" -#: shared/utils/utils.go:224 +#: shared/utils/utils.go:251 #, javascript-format msgid "Failed to run %s" msgstr "%s 실행 실패" -#: shared/utils/utils.go:233 +#: shared/utils/utils.go:260 #, javascript-format msgid "cannot check content of %s" msgstr "%s 컨텐트를 확인할 수 없음" -#: shared/utils/utils.go:245 +#: shared/utils/utils.go:272 #, javascript-format msgid "Cannot remove %s folder" msgstr "%s 폴더를 제거할 수 없음" -#: shared/utils/utils.go:256 +#: shared/utils/utils.go:283 #, javascript-format msgid "Failed to get %s file informations" msgstr "%s 파일 정보 가져오기 실패" -#: shared/utils/utils.go:265 +#: shared/utils/utils.go:292 #, javascript-format msgid "Failed to read file %s" msgstr "%s 파일 읽기 실패" -#: shared/utils/utils.go:280 +#: shared/utils/utils.go:307 #, javascript-format msgid "Would remove file %s" msgstr "%s 파일 제거 실패" -#: shared/utils/utils.go:282 +#: shared/utils/utils.go:309 #, javascript-format msgid "Removing file %s" msgstr "%s 파일 제거" -#: shared/utils/utils.go:284 +#: shared/utils/utils.go:311 #, javascript-format msgid "Failed to remove file %s" msgstr "%s 파일 제거 실패" -#: shared/utils/utils.go:294 +#: shared/utils/utils.go:321 msgid "Failed to read random data" msgstr "임의 데이터 읽기 실패" -#: shared/utils/utils.go:315 +#: shared/utils/utils.go:342 #, javascript-format msgid "error downloading from %s" msgstr "%s에서 다운로드하지 못함" -#: shared/utils/utils.go:321 +#: shared/utils/utils.go:348 #, javascript-format msgid "bad status: %s" msgstr "잘못된 상태: %s" -#: shared/utils/utils.go:399 -#, fuzzy +#: shared/utils/utils.go:426 msgid "failed to compute server FQDN" -msgstr "서버에 연결하지 못함" - -#: shared/utils/utils.go:417 -#, fuzzy, javascript-format -msgid "cannot resolve %s" -msgstr "%s을(를) 삭제할 수 없음" +msgstr "서버 FQDN 계산 실패" -#: shared/utils/utils.go:425 +#: shared/utils/utils.go:440 #, javascript-format msgid "%s is not a valid FQDN" -msgstr "" +msgstr "%s은(는) 유효한 FQDN이 아닙니다." + +#: shared/utils/utils.go:444 +#, javascript-format +msgid "cannot resolve %s" +msgstr "%s 해결 불가" + +#~ msgid "cannot fetch namespace" +#~ msgstr "네임스페이스를 가져올 수 없음" #, javascript-format #~ msgid "the container is not running, %s command not executed:" diff --git a/locale/shared/shared.pot b/locale/shared/shared.pot index e07471878..f2e6dc6d9 100644 --- a/locale/shared/shared.pot +++ b/locale/shared/shared.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,56 +18,126 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: shared/api/api.go:72 +#: shared/api/api.go:28 msgid "FQDN of the server to connect to" msgstr "" -#: shared/api/api.go:73 +#: shared/api/api.go:29 msgid "API user username" msgstr "" -#: shared/api/api.go:74 +#: shared/api/api.go:30 msgid "Password for the API user" msgstr "" -#: shared/api/api.go:75 +#: shared/api/api.go:31 msgid "Path to a cert file of the CA" msgstr "" -#: shared/api/api.go:76 +#: shared/api/api.go:32 msgid "If set, server certificate will not be checked for validity" msgstr "" -#: shared/api/api.go:125 +#: shared/api/api.go:67 +msgid "401: unauthorized" +msgstr "" + +#: shared/api/api.go:82 #, javascript-format msgid "unknown error: %d" msgstr "" -#: shared/api/api.go:167 -msgid "API server password" +#: shared/api/api.go:114 +msgid "server URL is not provided" +msgstr "" + +#: shared/api/api.go:146 +msgid "Cached session is expired." msgstr "" -#: shared/api/api.go:182 +#: shared/api/api.go:148 shared/api/credentials.go:70 +msgid "Failed to remove stored credentials!" +msgstr "" + +#: shared/api/api.go:166 msgid "Unable to create login data" msgstr "" -#: shared/api/api.go:212 +#: shared/api/api.go:196 msgid "auth cookie not found in login response" msgstr "" -#: shared/api/api.go:228 +#: shared/api/api.go:211 +msgid "failed to logout from the server" +msgstr "" + +#: shared/api/api.go:235 msgid "Unable to convert data to JSON" msgstr "" -#: shared/api/org/createFirst.go:21 shared/api/org/getDetails.go:21 -msgid "failed to connect to the server" +#: shared/api/credentials.go:21 +msgid "not logged in, session cookie is missing" +msgstr "" + +#: shared/api/credentials.go:34 +msgid "unable to create credentials json" +msgstr "" + +#: shared/api/credentials.go:39 +#, javascript-format +msgid "unable to write credentials store %s" +msgstr "" + +#: shared/api/credentials.go:53 +msgid "API server URL" +msgstr "" + +#: shared/api/credentials.go:54 +msgid "API server user" +msgstr "" + +#: shared/api/credentials.go:55 +msgid "API server password" +msgstr "" + +#: shared/api/credentials.go:58 +msgid "No credentials provided" +msgstr "" + +#: shared/api/credentials.go:68 +msgid "Cannot load stored credentials" +msgstr "" + +#: shared/api/credentials.go:83 +#, javascript-format +msgid "unable to read credentials file %s" +msgstr "" + +#: shared/api/credentials.go:88 +msgid "unable to decode credentials file" +msgstr "" + +#: shared/api/credentials.go:92 +msgid "no credentials loaded" +msgstr "" + +#: shared/api/credentials.go:101 +msgid "specified api server does not match with stored credentials" +msgstr "" + +#: shared/api/org/createFirst.go:21 +msgid "unable to prepare API client" msgstr "" #: shared/api/org/createFirst.go:35 msgid "failed to create first user and organization" msgstr "" -#: shared/api/org/getDetails.go:25 +#: shared/api/org/getDetails.go:24 +msgid "failed to connect to the server" +msgstr "" + +#: shared/api/org/getDetails.go:28 msgid "failed to get organization details" msgstr "" @@ -140,68 +210,67 @@ msgstr "" msgid "container didn't start within 10s." msgstr "" -#: shared/connection.go:293 +#: shared/connection.go:298 msgid "server didn't start within 60s. Check for the service status" msgstr "" -#: shared/connection.go:323 shared/connection.go:362 +#: shared/connection.go:338 shared/connection.go:380 #, javascript-format msgid "unknown container kind: %s" msgstr "" -#: shared/connection.go:373 +#: shared/connection.go:391 msgid "Copying the SSL CA certificate to the host" msgstr "" -#: shared/connection.go:389 +#: shared/connection.go:410 msgid "Updating host trusted certificates" msgstr "" -#: shared/connection.go:429 -msgid "failed to determine suitable backend" +#: shared/connection.go:418 +msgid "Unable to update host trusted certificates." msgstr "" -#: shared/connection.go:439 -msgid "no supported backend found" +#: shared/connection.go:458 shared/connection.go:479 +msgid "failed to determine suitable backend" msgstr "" -#: shared/connection.go:455 shared/kubernetes/k3s.go:65 -#: shared/podman/hostinspector.go:60 shared/podman/utils.go:224 -msgid "failed to create temporary directory" +#: shared/connection.go:468 +msgid "no supported backend found" msgstr "" -#: shared/connection.go:460 +#: shared/connection.go:493 #, javascript-format msgid "Running supportconfig in %s" msgstr "" -#: shared/connection.go:463 +#: shared/connection.go:496 msgid "failed to run supportconfig" msgstr "" -#: shared/connection.go:467 +#: shared/connection.go:500 msgid "failed to find container supportconfig tarball from command output" msgstr "" -#: shared/connection.go:473 +#: shared/connection.go:506 msgid "cannot copy tarball" msgstr "" -#: shared/connection.go:479 +#: shared/connection.go:512 #, javascript-format msgid "failed to remove %s file in the container" msgstr "" -#: shared/connection.go:497 +#: shared/connection.go:531 #, javascript-format msgid "failed to detect %s's namespace using helm" msgstr "" -#: shared/connection.go:502 +#: shared/connection.go:536 msgid "helm provided an invalid JSON output" msgstr "" -#: shared/connection.go:508 +#: shared/connection.go:542 msgid "found no or more than one deployment" msgstr "" @@ -218,8 +287,8 @@ msgid "namespace is required" msgstr "" #: shared/kubernetes/helm.go:77 shared/podman/network.go:107 -#: shared/podman/systemd.go:79 shared/podman/systemd.go:155 -#: shared/podman/systemd.go:156 shared/podman/utils.go:132 +#: shared/podman/systemd.go:96 shared/podman/systemd.go:172 +#: shared/podman/systemd.go:173 shared/podman/utils.go:132 #: shared/podman/utils.go:158 #, javascript-format msgid "Would run %s" @@ -252,6 +321,11 @@ msgstr "" msgid "install %s before running this command" msgstr "" +#: shared/kubernetes/k3s.go:65 shared/podman/hostinspector.go:60 +#: shared/podman/utils.go:224 +msgid "failed to create temporary directory" +msgstr "" + #: shared/kubernetes/k3s.go:79 #, javascript-format msgid "cannot delete %s" @@ -307,43 +381,39 @@ msgstr "" msgid "Waiting for Nginx controller to be reloaded" msgstr "" -#: shared/kubernetes/support.go:32 +#: shared/kubernetes/support.go:27 msgid "cannot retrieve any configmap" msgstr "" -#: shared/kubernetes/support.go:39 +#: shared/kubernetes/support.go:34 msgid "cannot retrieve any pod" msgstr "" -#: shared/kubernetes/support.go:49 -msgid "cannot fetch namespace" -msgstr "" - -#: shared/kubernetes/support.go:57 +#: shared/kubernetes/support.go:45 #, javascript-format msgid "cannot create %s" msgstr "" -#: shared/kubernetes/support.go:62 +#: shared/kubernetes/support.go:50 msgid "cannot fetch configmap" msgstr "" -#: shared/kubernetes/support.go:75 +#: shared/kubernetes/support.go:63 #, javascript-format msgid "cannot check for pods in %s" msgstr "" -#: shared/kubernetes/support.go:82 +#: shared/kubernetes/support.go:70 #, javascript-format msgid "failed to create %s" msgstr "" -#: shared/kubernetes/support.go:88 +#: shared/kubernetes/support.go:76 #, javascript-format msgid "failed to fetch info for pod %s" msgstr "" -#: shared/kubernetes/support.go:94 +#: shared/kubernetes/support.go:82 #, javascript-format msgid "failed to write in %s" msgstr "" @@ -358,7 +428,7 @@ msgid "" "be automatically removed when deleting the deployment even if --purge-volumes argument is not used." msgstr "" -#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:92 +#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:93 msgid "failed to pull image" msgstr "" @@ -374,90 +444,90 @@ msgstr "" msgid "Waiting for image of %[1]s pod in %[2]s namespace to be pulled" msgstr "" -#: shared/kubernetes/utils.go:87 +#: shared/kubernetes/utils.go:88 #, javascript-format msgid "failed to get failed events for pod %s" msgstr "" -#: shared/kubernetes/utils.go:99 +#: shared/kubernetes/utils.go:100 #, javascript-format msgid "failed to get events for pod %s" msgstr "" -#: shared/kubernetes/utils.go:145 +#: shared/kubernetes/utils.go:146 msgid "failed to parse deployment status" msgstr "" -#: shared/kubernetes/utils.go:159 +#: shared/kubernetes/utils.go:160 #, javascript-format msgid "cannot run kubectl %s" msgstr "" -#: shared/kubernetes/utils.go:164 +#: shared/kubernetes/utils.go:165 #, javascript-format msgid "cannot get pods for %s" msgstr "" -#: shared/kubernetes/utils.go:171 +#: shared/kubernetes/utils.go:172 #, javascript-format msgid "replica to %d failed" msgstr "" -#: shared/kubernetes/utils.go:184 +#: shared/kubernetes/utils.go:185 msgid "cannot check if pod %[1]s is running in app %[2]s" msgstr "" -#: shared/kubernetes/utils.go:195 shared/kubernetes/utils.go:239 -#: shared/kubernetes/utils.go:332 +#: shared/kubernetes/utils.go:196 shared/kubernetes/utils.go:240 +#: shared/kubernetes/utils.go:333 #, javascript-format msgid "cannot execute %s" msgstr "" -#: shared/kubernetes/utils.go:216 +#: shared/kubernetes/utils.go:217 #, javascript-format msgid "cannot get pod informations %s" msgstr "" -#: shared/kubernetes/utils.go:225 +#: shared/kubernetes/utils.go:226 #, javascript-format msgid "cannot set replicas for %s to zero" msgstr "" -#: shared/kubernetes/utils.go:270 +#: shared/kubernetes/utils.go:271 #, javascript-format msgid "%s is not a valid image pull policy value" msgstr "" -#: shared/kubernetes/utils.go:291 +#: shared/kubernetes/utils.go:292 msgctxt "The first placeholder is a command" msgid "cannot run %[1]s using image %[2]s" msgstr "" -#: shared/kubernetes/utils.go:295 +#: shared/kubernetes/utils.go:296 #, javascript-format msgid "deleting pod %s. Status fails with error" msgstr "" -#: shared/kubernetes/utils.go:308 shared/kubernetes/utils.go:317 +#: shared/kubernetes/utils.go:309 shared/kubernetes/utils.go:318 #, javascript-format msgid "cannot delete pod %s" msgstr "" -#: shared/kubernetes/utils.go:339 +#: shared/kubernetes/utils.go:340 #, javascript-format msgid "error during execution of %s" msgstr "" -#: shared/kubernetes/utils.go:344 +#: shared/kubernetes/utils.go:345 msgid "pod %[1]s status is not %[2]s in %[3]d seconds" msgstr "" -#: shared/kubernetes/utils.go:361 +#: shared/kubernetes/utils.go:362 #, javascript-format msgid "cannot find node name matching filter %s" msgstr "" -#: shared/kubernetes/utils.go:370 +#: shared/kubernetes/utils.go:371 msgid "cannot serialize pod definition override" msgstr "" @@ -474,85 +544,89 @@ msgstr "" msgid "Ensure image %s is available" msgstr "" -#: shared/podman/images.go:44 +#: shared/podman/images.go:46 msgid "Pull Policy is always. Presence of RPM image will be checked and if it's not present it will be pulled from registry" msgstr "" -#: shared/podman/images.go:53 +#: shared/podman/images.go:55 #, javascript-format msgid "Cannot use RPM image for %s" msgstr "" -#: shared/podman/images.go:55 +#: shared/podman/images.go:57 msgid "Using the %[1]s image loaded from the RPM instead of its online version %[2]s" msgstr "" -#: shared/podman/images.go:60 +#: shared/podman/images.go:62 #, javascript-format msgid "Cannot find RPM image for %s" msgstr "" -#: shared/podman/images.go:68 +#: shared/podman/images.go:75 #, javascript-format msgid "image %s is missing and cannot be fetched" msgstr "" -#: shared/podman/images.go:79 +#: shared/podman/images.go:86 #, javascript-format msgid "Cannot correctly parse image name '%s', local image cannot be used" msgstr "" -#: shared/podman/images.go:97 +#: shared/podman/images.go:104 msgid "cannot unmarshal image RPM metadata" msgstr "" -#: shared/podman/images.go:142 +#: shared/podman/images.go:149 #, javascript-format msgid "Cannot unmarshal metadata file %s" msgstr "" -#: shared/podman/images.go:164 +#: shared/podman/images.go:171 #, javascript-format msgid "error parsing: %s" msgstr "" -#: shared/podman/images.go:172 shared/podman/images.go:186 -#: shared/podman/images.go:201 +#: shared/podman/images.go:179 shared/podman/images.go:193 +#: shared/podman/images.go:208 #, javascript-format msgid "failed to check if image %s has already been pulled" msgstr "" -#: shared/podman/images.go:208 +#: shared/podman/images.go:215 #, javascript-format msgid "%s should contains just lower case character, otherwise podman pull would fails" msgstr "" -#: shared/podman/images.go:210 +#: shared/podman/images.go:217 #, javascript-format msgid "Running podman pull %s" msgstr "" -#: shared/podman/images.go:222 +#: shared/podman/images.go:229 #, javascript-format msgid "Running podman image search --list-tags %s --format={{.Tag}}" msgstr "" -#: shared/podman/images.go:230 +#: shared/podman/images.go:237 #, javascript-format msgid "cannot find any tag for image %s" msgstr "" -#: shared/podman/images.go:238 +#: shared/podman/images.go:245 #, javascript-format msgid "Running podman ps --filter=name=%s --format={{ .Image }}" msgstr "" -#: shared/podman/images.go:242 +#: shared/podman/images.go:249 #, javascript-format msgid "cannot find any running image for container %s" msgstr "" -#: shared/podman/login.go:41 +#: shared/podman/login.go:23 +msgid "SCC credentials parameters will be used. SCC credentials from host will be ignored." +msgstr "" + +#: shared/podman/login.go:50 msgid "failed to close the temporary auth file" msgstr "" @@ -648,117 +722,117 @@ msgstr "" msgid "failed to disable %s systemd service" msgstr "" -#: shared/podman/systemd.go:76 +#: shared/podman/systemd.go:93 #, javascript-format msgid "Systemd has no %s.service unit" msgstr "" -#: shared/podman/systemd.go:81 +#: shared/podman/systemd.go:98 #, javascript-format msgid "Disable %s service" msgstr "" -#: shared/podman/systemd.go:85 shared/podman/systemd.go:144 +#: shared/podman/systemd.go:102 shared/podman/systemd.go:161 #, javascript-format msgid "Failed to disable %s service" msgstr "" -#: shared/podman/systemd.go:97 shared/podman/systemd.go:114 +#: shared/podman/systemd.go:114 shared/podman/systemd.go:131 #, javascript-format msgid "Would remove %s" msgstr "" -#: shared/podman/systemd.go:100 shared/podman/systemd.go:116 +#: shared/podman/systemd.go:117 shared/podman/systemd.go:133 #, javascript-format msgid "Remove %s" msgstr "" -#: shared/podman/systemd.go:102 +#: shared/podman/systemd.go:119 #, javascript-format msgid "Failed to remove %s.service file" msgstr "" -#: shared/podman/systemd.go:118 +#: shared/podman/systemd.go:135 #, javascript-format msgid "Failed to remove %s file" msgstr "" -#: shared/podman/systemd.go:125 +#: shared/podman/systemd.go:142 #, javascript-format msgid "Would remove %s if empty" msgstr "" -#: shared/podman/systemd.go:131 +#: shared/podman/systemd.go:148 #, javascript-format msgid "%s folder contains file created by the user. Please remove them when uninstallation is completed." msgstr "" -#: shared/podman/systemd.go:141 +#: shared/podman/systemd.go:158 #, javascript-format msgid "Would scale %s to 0 replicas" msgstr "" -#: shared/podman/systemd.go:160 +#: shared/podman/systemd.go:177 msgid "failed to reset-failed systemd" msgstr "" -#: shared/podman/systemd.go:164 +#: shared/podman/systemd.go:181 msgid "failed to reload systemd daemon" msgstr "" -#: shared/podman/systemd.go:182 +#: shared/podman/systemd.go:199 #, javascript-format msgid "failed to restart systemd %s.service" msgstr "" -#: shared/podman/systemd.go:190 +#: shared/podman/systemd.go:207 #, javascript-format msgid "failed to start systemd %s.service" msgstr "" -#: shared/podman/systemd.go:198 +#: shared/podman/systemd.go:215 #, javascript-format msgid "failed to stop systemd %s.service" msgstr "" -#: shared/podman/systemd.go:206 +#: shared/podman/systemd.go:223 #, javascript-format msgid "failed to enable %s systemd service" msgstr "" -#: shared/podman/systemd.go:253 +#: shared/podman/systemd.go:270 #, javascript-format msgid "failed to create %s folder" msgstr "" -#: shared/podman/systemd.go:263 +#: shared/podman/systemd.go:280 #, javascript-format msgid "cannot write %s file" msgstr "" -#: shared/podman/systemd.go:308 +#: shared/podman/systemd.go:325 #, javascript-format msgid "failed to write %s file" msgstr "" -#: shared/podman/systemd.go:313 +#: shared/podman/systemd.go:330 #, javascript-format msgid "failed to remove old %s systemd service configuration file" msgstr "" -#: shared/podman/systemd.go:335 +#: shared/podman/systemd.go:352 msgid "Service %[1]s already has %[2]d replicas." msgstr "" -#: shared/podman/systemd.go:338 +#: shared/podman/systemd.go:355 msgid "Scale %[1]s from %[2]d to %[3]d replicas." msgstr "" -#: shared/podman/systemd.go:342 +#: shared/podman/systemd.go:359 msgid "cannot enable service" msgstr "" -#: shared/podman/systemd.go:348 +#: shared/podman/systemd.go:365 msgid "cannot disable service" msgstr "" @@ -863,15 +937,15 @@ msgstr "" msgid "failed to parse configuration file %s" msgstr "" -#: shared/utils/config.go:62 +#: shared/utils/config.go:51 msgid "Failed to find home directory" msgstr "" -#: shared/utils/config.go:87 +#: shared/utils/config.go:94 msgid "failed to bind %[1]s config to parameter %[2]s" msgstr "" -#: shared/utils/config.go:99 +#: shared/utils/config.go:106 msgid "" "Usage:{{if .Runnable}}\n" " {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}}\n" @@ -904,7 +978,7 @@ msgid "" "Use \"{{.CommandPath}} [command] --help\" for more information about a command.{{end}}\n" msgstr "" -#: shared/utils/config.go:133 +#: shared/utils/config.go:140 msgid "" "\n" "Configuration:\n" @@ -941,11 +1015,11 @@ msgid "" " and '--ssl-password' flags to '{{ .EnvPrefix }}_SSL_PASSWORD' \n" msgstr "" -#: shared/utils/config.go:170 +#: shared/utils/config.go:177 msgid "Help on configuration file and environment variables" msgstr "" -#: shared/utils/config.go:179 +#: shared/utils/config.go:186 msgid "failed to compute config help command" msgstr "" @@ -1022,127 +1096,132 @@ msgstr "" msgid "failed to open %s for writing" msgstr "" -#: shared/utils/utils.go:53 +#: shared/utils/utils.go:54 #, javascript-format msgid "Has to be more than %d character long" msgid_plural "Has to be more than %d characters long" msgstr[0] "" msgstr[1] "" -#: shared/utils/utils.go:57 +#: shared/utils/utils.go:58 #, javascript-format msgid "Has to be less than %d character long" msgid_plural "Has to be less than %d characters long" msgstr[0] "" msgstr[1] "" -#: shared/utils/utils.go:68 +#: shared/utils/utils.go:69 msgid "Failed to read password" msgstr "" -#: shared/utils/utils.go:82 +#: shared/utils/utils.go:83 msgid "Cannot contain spaces or tabs" msgstr "" -#: shared/utils/utils.go:103 +#: shared/utils/utils.go:101 shared/utils/utils.go:125 +#: shared/utils/utils.go:138 +msgid "not an interactive device, not asking for missing value" +msgstr "" + +#: shared/utils/utils.go:110 msgid "Confirm the password" msgstr "" -#: shared/utils/utils.go:105 +#: shared/utils/utils.go:112 msgid "Two different passwords have been provided" msgstr "" -#: shared/utils/utils.go:121 -msgid "Failed to read input" +#: shared/utils/utils.go:148 +msgid "failed to read input" msgstr "" -#: shared/utils/utils.go:129 +#: shared/utils/utils.go:156 msgid "A value is required" msgstr "" -#: shared/utils/utils.go:173 +#: shared/utils/utils.go:200 msgid "Registry %[1]s would be used instead of namespace %[2]s" msgstr "" -#: shared/utils/utils.go:188 shared/utils/utils.go:214 +#: shared/utils/utils.go:215 shared/utils/utils.go:241 #, javascript-format msgid "invalid image name: %s" msgstr "" -#: shared/utils/utils.go:192 +#: shared/utils/utils.go:219 #, javascript-format msgid "tag missing on %s" msgstr "" -#: shared/utils/utils.go:200 shared/utils/utils.go:205 +#: shared/utils/utils.go:227 shared/utils/utils.go:232 #, javascript-format msgid "Computed image name is %s" msgstr "" -#: shared/utils/utils.go:224 +#: shared/utils/utils.go:251 #, javascript-format msgid "Failed to run %s" msgstr "" -#: shared/utils/utils.go:233 +#: shared/utils/utils.go:260 #, javascript-format msgid "cannot check content of %s" msgstr "" -#: shared/utils/utils.go:245 +#: shared/utils/utils.go:272 #, javascript-format msgid "Cannot remove %s folder" msgstr "" -#: shared/utils/utils.go:256 +#: shared/utils/utils.go:283 #, javascript-format msgid "Failed to get %s file informations" msgstr "" -#: shared/utils/utils.go:265 +#: shared/utils/utils.go:292 #, javascript-format msgid "Failed to read file %s" msgstr "" -#: shared/utils/utils.go:280 +#: shared/utils/utils.go:307 #, javascript-format msgid "Would remove file %s" msgstr "" -#: shared/utils/utils.go:282 +#: shared/utils/utils.go:309 #, javascript-format msgid "Removing file %s" msgstr "" -#: shared/utils/utils.go:284 +#: shared/utils/utils.go:311 #, javascript-format msgid "Failed to remove file %s" msgstr "" -#: shared/utils/utils.go:294 +#: shared/utils/utils.go:321 msgid "Failed to read random data" msgstr "" -#: shared/utils/utils.go:315 +#: shared/utils/utils.go:342 #, javascript-format msgid "error downloading from %s" msgstr "" -#: shared/utils/utils.go:321 +#: shared/utils/utils.go:348 #, javascript-format msgid "bad status: %s" msgstr "" -#: shared/utils/utils.go:399 +#: shared/utils/utils.go:426 msgid "failed to compute server FQDN" msgstr "" -#: shared/utils/utils.go:417 +#: shared/utils/utils.go:440 #, javascript-format -msgid "cannot resolve %s" +msgid "%s is not a valid FQDN" msgstr "" -#: shared/utils/utils.go:425 +#: shared/utils/utils.go:444 #, javascript-format -msgid "%s is not a valid FQDN" +msgid "cannot resolve %s" msgstr "" diff --git a/locale/shared/zh_CN.po b/locale/shared/zh_CN.po index 1c7156a41..427736351 100644 --- a/locale/shared/zh_CN.po +++ b/locale/shared/zh_CN.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-26 14:41+0200\n" -"PO-Revision-Date: 2024-07-15 05:47+0000\n" +"POT-Creation-Date: 2024-09-30 17:14+0200\n" +"PO-Revision-Date: 2024-09-26 08:48+0000\n" "Last-Translator: Grace Yu \n" "Language-Team: Chinese (China) \n" "Language: zh_CN\n" @@ -16,61 +16,136 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Weblate 5.7.2\n" -#: shared/api/api.go:72 +#: shared/api/api.go:28 msgid "FQDN of the server to connect to" msgstr "要连接的服务器的 FQDN" -#: shared/api/api.go:73 +#: shared/api/api.go:29 msgid "API user username" msgstr "API 用户名" -#: shared/api/api.go:74 +#: shared/api/api.go:30 msgid "Password for the API user" msgstr "API 用户的口令" -#: shared/api/api.go:75 +#: shared/api/api.go:31 msgid "Path to a cert file of the CA" msgstr "CA 的证书文件的路径" -#: shared/api/api.go:76 +#: shared/api/api.go:32 msgid "If set, server certificate will not be checked for validity" msgstr "如果设置,将不会检查服务器证书的有效性" -#: shared/api/api.go:125 +#: shared/api/api.go:67 +msgid "401: unauthorized" +msgstr "" + +#: shared/api/api.go:82 #, javascript-format msgid "unknown error: %d" msgstr "未知错误:%d" -#: shared/api/api.go:167 -msgid "API server password" -msgstr "API 服务器口令" +#: shared/api/api.go:114 +msgid "server URL is not provided" +msgstr "" + +#: shared/api/api.go:146 +msgid "Cached session is expired." +msgstr "" + +#: shared/api/api.go:148 shared/api/credentials.go:70 +#, fuzzy +msgid "Failed to remove stored credentials!" +msgstr "无法去除 %s 文件" -#: shared/api/api.go:182 +#: shared/api/api.go:166 msgid "Unable to create login data" msgstr "无法创建登录数据" -#: shared/api/api.go:212 +#: shared/api/api.go:196 msgid "auth cookie not found in login response" msgstr "在登录响应中找不到身份验证 cookie" -#: shared/api/api.go:228 +#: shared/api/api.go:211 +#, fuzzy +msgid "failed to logout from the server" +msgstr "无法连接到服务器" + +#: shared/api/api.go:235 msgid "Unable to convert data to JSON" msgstr "无法将数据转换为 JSON" -#: shared/api/org/createFirst.go:21 shared/api/org/getDetails.go:21 -msgid "failed to connect to the server" -msgstr "无法连接到服务器" +#: shared/api/credentials.go:21 +msgid "not logged in, session cookie is missing" +msgstr "" + +#: shared/api/credentials.go:34 +#, fuzzy +msgid "unable to create credentials json" +msgstr "无法创建登录数据" + +#: shared/api/credentials.go:39 +#, fuzzy, javascript-format +msgid "unable to write credentials store %s" +msgstr "无法在 %s 中写入 tar.gz" + +#: shared/api/credentials.go:53 +#, fuzzy +msgid "API server URL" +msgstr "API 服务器口令" + +#: shared/api/credentials.go:54 +#, fuzzy +msgid "API server user" +msgstr "API 服务器口令" + +#: shared/api/credentials.go:55 +msgid "API server password" +msgstr "API 服务器口令" + +#: shared/api/credentials.go:58 +msgid "No credentials provided" +msgstr "" + +#: shared/api/credentials.go:68 +msgid "Cannot load stored credentials" +msgstr "" + +#: shared/api/credentials.go:83 +#, fuzzy, javascript-format +msgid "unable to read credentials file %s" +msgstr "无法读取文件 %s" + +#: shared/api/credentials.go:88 +msgid "unable to decode credentials file" +msgstr "" + +#: shared/api/credentials.go:92 +msgid "no credentials loaded" +msgstr "" + +#: shared/api/credentials.go:101 +msgid "specified api server does not match with stored credentials" +msgstr "" + +#: shared/api/org/createFirst.go:21 +#, fuzzy +msgid "unable to prepare API client" +msgstr "无法创建登录数据" #: shared/api/org/createFirst.go:35 msgid "failed to create first user and organization" msgstr "无法创建第一个用户和组织" -#: shared/api/org/getDetails.go:25 -#, fuzzy +#: shared/api/org/getDetails.go:24 +msgid "failed to connect to the server" +msgstr "无法连接到服务器" + +#: shared/api/org/getDetails.go:28 msgid "failed to get organization details" -msgstr "无法分析配置文件 %s" +msgstr "无法获取组织细节" #: shared/completion/completion.go:20 shared/completion/completion.go:21 msgid "Generate shell completion script" @@ -102,22 +177,21 @@ msgstr "后端 %s 不受支持" #: shared/connection.go:146 msgid "coundn't find app name" -msgstr "" +msgstr "找不到应用程序名称" #: shared/connection.go:153 -#, fuzzy msgid "failed to discover the cluster type" -msgstr "无法连接到服务器" +msgstr "无法发现群集类型" #: shared/connection.go:158 #, javascript-format msgid "no %s helm release installed on the cluster" -msgstr "" +msgstr "群集上未安装 %s helm 版本" #: shared/connection.go:164 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to find the %s deployment namespace" -msgstr "无法分析部署状态" +msgstr "找不到 %s 部署名称空间" #: shared/connection.go:185 #, javascript-format @@ -125,89 +199,85 @@ msgid "container %s is not running on podman" msgstr "容器 %s 未在 podman 上运行" #: shared/connection.go:194 -#, fuzzy, javascript-format +#, javascript-format msgid "container labeled %s is not running on kubectl" -msgstr "容器 %s 未在 podman 上运行" +msgstr "标记为 %s 的容器未在 kubectl 上运行" #: shared/connection.go:209 -#, fuzzy, javascript-format +#, javascript-format msgid "%s command not executed:" -msgstr "无法执行 %s" +msgstr "%s 命令未执行:" #: shared/connection.go:221 -#, fuzzy msgid "failed to retrieve namespace " -msgstr "无法使用 helm 检测 %s 的名称空间" +msgstr "无法检索名称空间 " #: shared/connection.go:261 msgid "container didn't start within 10s." -msgstr "" +msgstr "容器未在 10 秒内启动。" -#: shared/connection.go:293 +#: shared/connection.go:298 msgid "server didn't start within 60s. Check for the service status" msgstr "服务器未在 60 秒内启动。请检查服务状态" -#: shared/connection.go:323 shared/connection.go:362 +#: shared/connection.go:338 shared/connection.go:380 #, javascript-format msgid "unknown container kind: %s" msgstr "容器类型未知:%s" -#: shared/connection.go:373 +#: shared/connection.go:391 msgid "Copying the SSL CA certificate to the host" msgstr "正在将 SSL CA 证书复制到主机" -#: shared/connection.go:389 +#: shared/connection.go:410 msgid "Updating host trusted certificates" msgstr "正在更新主机信任的证书" -#: shared/connection.go:429 +#: shared/connection.go:418 +#, fuzzy +msgid "Unable to update host trusted certificates." +msgstr "正在更新主机信任的证书" + +#: shared/connection.go:458 shared/connection.go:479 msgid "failed to determine suitable backend" msgstr "无法确定合适的后端" -#: shared/connection.go:439 +#: shared/connection.go:468 msgid "no supported backend found" msgstr "未找到支持的后端" -#: shared/connection.go:455 shared/kubernetes/k3s.go:65 -#: shared/podman/hostinspector.go:60 shared/podman/utils.go:224 -msgid "failed to create temporary directory" -msgstr "无法创建临时目录" - -#: shared/connection.go:460 -#, fuzzy, javascript-format +#: shared/connection.go:493 +#, javascript-format msgid "Running supportconfig in %s" -msgstr "正在使用配置文件 %s" +msgstr "正在 %s 中运行 supportconfig" -#: shared/connection.go:463 -#, fuzzy +#: shared/connection.go:496 msgid "failed to run supportconfig" -msgstr "无法运行 %s 容器" +msgstr "无法运行 supportconfig" -#: shared/connection.go:467 -#, fuzzy +#: shared/connection.go:500 msgid "failed to find container supportconfig tarball from command output" -msgstr "compute config 帮助命令失败" +msgstr "在命令输出中找不到容器 supportconfig Tar 包" -#: shared/connection.go:473 -#, fuzzy +#: shared/connection.go:506 msgid "cannot copy tarball" -msgstr "无法停止 %s" +msgstr "无法复制 Tar 包" -#: shared/connection.go:479 -#, fuzzy, javascript-format +#: shared/connection.go:512 +#, javascript-format msgid "failed to remove %s file in the container" -msgstr "无法运行 %s 容器" +msgstr "无法去除容器中的 %s 文件" -#: shared/connection.go:497 +#: shared/connection.go:531 #, javascript-format msgid "failed to detect %s's namespace using helm" msgstr "无法使用 helm 检测 %s 的名称空间" -#: shared/connection.go:502 +#: shared/connection.go:536 msgid "helm provided an invalid JSON output" msgstr "helm 提供了无效的 JSON 输出" -#: shared/connection.go:508 +#: shared/connection.go:542 msgid "found no or more than one deployment" msgstr "未找到部署或找到多个部署" @@ -220,13 +290,12 @@ msgid "failed to install helm chart %[1]s in namespace %[2]s" msgstr "无法在名称空间 %[2]s 中安装 helm 图表 %[1]s" #: shared/kubernetes/helm.go:67 -#, fuzzy msgid "namespace is required" -msgstr "必须提供值" +msgstr "必须指定名称空间" #: shared/kubernetes/helm.go:77 shared/podman/network.go:107 -#: shared/podman/systemd.go:79 shared/podman/systemd.go:155 -#: shared/podman/systemd.go:156 shared/podman/utils.go:132 +#: shared/podman/systemd.go:96 shared/podman/systemd.go:172 +#: shared/podman/systemd.go:173 shared/podman/utils.go:132 #: shared/podman/utils.go:158 #, javascript-format msgid "Would run %s" @@ -259,6 +328,11 @@ msgstr "正在等待重新装载 Traefik" msgid "install %s before running this command" msgstr "在运行此命令前安装 %s" +#: shared/kubernetes/k3s.go:65 shared/podman/hostinspector.go:60 +#: shared/podman/utils.go:224 +msgid "failed to create temporary directory" +msgstr "无法创建临时目录" + #: shared/kubernetes/k3s.go:79 #, javascript-format msgid "cannot delete %s" @@ -314,50 +388,42 @@ msgstr "无法写入 Rke2 nginx 配置" msgid "Waiting for Nginx controller to be reloaded" msgstr "正在等待重新装载 Nginx 控制器" -#: shared/kubernetes/support.go:32 -#, fuzzy +#: shared/kubernetes/support.go:27 msgid "cannot retrieve any configmap" -msgstr "无法读取配置" +msgstr "无法检索到任何配置映射" -#: shared/kubernetes/support.go:39 -#, fuzzy +#: shared/kubernetes/support.go:34 msgid "cannot retrieve any pod" -msgstr "无法删除 pod %s" - -#: shared/kubernetes/support.go:49 -#, fuzzy -msgid "cannot fetch namespace" -msgstr "无法推测名称空间" +msgstr "无法检索到任何 pod" -#: shared/kubernetes/support.go:57 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:45 +#, javascript-format msgid "cannot create %s" -msgstr "无法删除 %s" +msgstr "无法创建 %s" -#: shared/kubernetes/support.go:62 -#, fuzzy +#: shared/kubernetes/support.go:50 msgid "cannot fetch configmap" -msgstr "无法读取配置" +msgstr "无法提取配置映射" -#: shared/kubernetes/support.go:75 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:63 +#, javascript-format msgid "cannot check for pods in %s" -msgstr "无法检查 %s 的内容" +msgstr "无法检查 %s 中的 pod" -#: shared/kubernetes/support.go:82 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:70 +#, javascript-format msgid "failed to create %s" -msgstr "无法创建 %s 文件夹" +msgstr "无法创建 %s" -#: shared/kubernetes/support.go:88 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:76 +#, javascript-format msgid "failed to fetch info for pod %s" -msgstr "无法获取 pod %s 的事件" +msgstr "无法提取 pod %s 的信息" -#: shared/kubernetes/support.go:94 -#, fuzzy, javascript-format +#: shared/kubernetes/support.go:82 +#, javascript-format msgid "failed to write in %s" -msgstr "无法在 %s 中写入 tar.gz" +msgstr "无法在 %s 中写入数据" #: shared/kubernetes/uninstall.go:13 msgid "" @@ -375,7 +441,7 @@ msgstr "" "例如,在使用默认配置安装的 K3S 系统上,local-path-provider 存储卷将会在\n" "该部署被删除时自动去除,即使未使用 --purge-volumes 参数也是如此。" -#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:92 +#: shared/kubernetes/utils.go:57 shared/kubernetes/utils.go:93 msgid "failed to pull image" msgstr "无法拉取映像" @@ -384,98 +450,97 @@ msgid "Waiting for %[1]s deployment to be ready in %[2]s namespace\n" msgstr "正在等待 %[1]s 部署在 %[2]s 名称空间中就绪\n" #: shared/kubernetes/utils.go:69 -#, fuzzy msgid "failed to find a ready replica for deployment %[1]s in namespace %[2]s after 120s" -msgstr "60 秒后未在名称空间 %[2]s 中找到部署 %[1]s 的就绪复本" +msgstr "120 秒后未在名称空间 %[2]s 中找到部署 %[1]s 的就绪复本" #: shared/kubernetes/utils.go:74 msgid "Waiting for image of %[1]s pod in %[2]s namespace to be pulled" msgstr "正在等待拉取 %[2]s 名称空间中 %[1]s pod 的映像" -#: shared/kubernetes/utils.go:87 +#: shared/kubernetes/utils.go:88 #, javascript-format msgid "failed to get failed events for pod %s" msgstr "无法获取 pod %s 的失败事件" -#: shared/kubernetes/utils.go:99 +#: shared/kubernetes/utils.go:100 #, javascript-format msgid "failed to get events for pod %s" msgstr "无法获取 pod %s 的事件" -#: shared/kubernetes/utils.go:145 +#: shared/kubernetes/utils.go:146 msgid "failed to parse deployment status" msgstr "无法分析部署状态" -#: shared/kubernetes/utils.go:159 +#: shared/kubernetes/utils.go:160 #, javascript-format msgid "cannot run kubectl %s" msgstr "无法运行 kubectl %s" -#: shared/kubernetes/utils.go:164 +#: shared/kubernetes/utils.go:165 #, javascript-format msgid "cannot get pods for %s" msgstr "无法获取 %s 的 pod" -#: shared/kubernetes/utils.go:171 +#: shared/kubernetes/utils.go:172 #, javascript-format msgid "replica to %d failed" msgstr "复本数设置为 %d 失败" -#: shared/kubernetes/utils.go:184 +#: shared/kubernetes/utils.go:185 msgid "cannot check if pod %[1]s is running in app %[2]s" msgstr "无法检查 pod %[1]s 是否正在应用程序 %[2]s 中运行" -#: shared/kubernetes/utils.go:195 shared/kubernetes/utils.go:239 -#: shared/kubernetes/utils.go:332 +#: shared/kubernetes/utils.go:196 shared/kubernetes/utils.go:240 +#: shared/kubernetes/utils.go:333 #, javascript-format msgid "cannot execute %s" msgstr "无法执行 %s" -#: shared/kubernetes/utils.go:216 +#: shared/kubernetes/utils.go:217 #, javascript-format msgid "cannot get pod informations %s" msgstr "无法获取 pod 信息 %s" -#: shared/kubernetes/utils.go:225 +#: shared/kubernetes/utils.go:226 #, javascript-format msgid "cannot set replicas for %s to zero" msgstr "无法将 %s 的复本数设置为 0" -#: shared/kubernetes/utils.go:270 +#: shared/kubernetes/utils.go:271 #, javascript-format msgid "%s is not a valid image pull policy value" msgstr "%s 不是有效的映像拉取策略值" -#: shared/kubernetes/utils.go:291 +#: shared/kubernetes/utils.go:292 msgctxt "The first placeholder is a command" msgid "cannot run %[1]s using image %[2]s" msgstr "无法使用映像 %[2]s 运行 %[1]s" -#: shared/kubernetes/utils.go:295 +#: shared/kubernetes/utils.go:296 #, javascript-format msgid "deleting pod %s. Status fails with error" msgstr "正在删除 pod %s。状态:由于发生错误而失败" -#: shared/kubernetes/utils.go:308 shared/kubernetes/utils.go:317 +#: shared/kubernetes/utils.go:309 shared/kubernetes/utils.go:318 #, javascript-format msgid "cannot delete pod %s" msgstr "无法删除 pod %s" -#: shared/kubernetes/utils.go:339 +#: shared/kubernetes/utils.go:340 #, javascript-format msgid "error during execution of %s" msgstr "执行 %s 期间出错" -#: shared/kubernetes/utils.go:344 +#: shared/kubernetes/utils.go:345 msgid "pod %[1]s status is not %[2]s in %[3]d seconds" msgstr "pod %[1]s 的状态在 %[3]d 秒内未 %[2]s" -#: shared/kubernetes/utils.go:361 +#: shared/kubernetes/utils.go:362 #, javascript-format msgid "cannot find node name matching filter %s" msgstr "找不到与过滤器 %s 匹配的节点名称" -#: shared/kubernetes/utils.go:370 +#: shared/kubernetes/utils.go:371 msgid "cannot serialize pod definition override" msgstr "无法序列化 pod 定义覆盖" @@ -492,88 +557,91 @@ msgstr "无法检查主机数据" msgid "Ensure image %s is available" msgstr "请确保映像 %s 可用" -#: shared/podman/images.go:44 +#: shared/podman/images.go:46 msgid "Pull Policy is always. Presence of RPM image will be checked and if it's not present it will be pulled from registry" msgstr "拉取策略始终如下:先检查 PRM 映像是否存在,如果不存在,则会从注册表拉取" -#: shared/podman/images.go:53 +#: shared/podman/images.go:55 #, javascript-format msgid "Cannot use RPM image for %s" msgstr "无法使用 %s 的 RPM 映像" -#: shared/podman/images.go:55 +#: shared/podman/images.go:57 msgid "Using the %[1]s image loaded from the RPM instead of its online version %[2]s" msgstr "正在使用从 RPM 装载的 %[1]s 映像,而不是其脱机版本 %[2]s" -#: shared/podman/images.go:60 +#: shared/podman/images.go:62 #, javascript-format msgid "Cannot find RPM image for %s" msgstr "找不到 %s 的 RPM 映像" -#: shared/podman/images.go:68 +#: shared/podman/images.go:75 #, javascript-format msgid "image %s is missing and cannot be fetched" msgstr "映像 %s 缺失,无法提取" -#: shared/podman/images.go:79 +#: shared/podman/images.go:86 #, javascript-format msgid "Cannot correctly parse image name '%s', local image cannot be used" -msgstr "" +msgstr "无法正确分析映像名称 '%s',本地映像无法使用" -#: shared/podman/images.go:97 +#: shared/podman/images.go:104 msgid "cannot unmarshal image RPM metadata" msgstr "无法解组映像 RPM 元数据" -#: shared/podman/images.go:142 +#: shared/podman/images.go:149 #, javascript-format msgid "Cannot unmarshal metadata file %s" msgstr "无法解组元数据文件 %s" -#: shared/podman/images.go:164 +#: shared/podman/images.go:171 #, javascript-format msgid "error parsing: %s" msgstr "分析时出错:%s" -#: shared/podman/images.go:172 shared/podman/images.go:186 -#: shared/podman/images.go:201 +#: shared/podman/images.go:179 shared/podman/images.go:193 +#: shared/podman/images.go:208 #, javascript-format msgid "failed to check if image %s has already been pulled" msgstr "无法检查是否已拉取映像 %s" -#: shared/podman/images.go:208 +#: shared/podman/images.go:215 #, javascript-format msgid "%s should contains just lower case character, otherwise podman pull would fails" msgstr "%s 应该仅包含小写字符,否则 podman 拉取操作将会失败" -#: shared/podman/images.go:210 +#: shared/podman/images.go:217 #, javascript-format msgid "Running podman pull %s" msgstr "正在运行 podman pull %s" -#: shared/podman/images.go:222 +#: shared/podman/images.go:229 #, javascript-format msgid "Running podman image search --list-tags %s --format={{.Tag}}" msgstr "正在运行 podman image search --list-tags %s --format={{.Tag}}" -#: shared/podman/images.go:230 +#: shared/podman/images.go:237 #, javascript-format msgid "cannot find any tag for image %s" msgstr "未找到映像 %s 的任何标记" -#: shared/podman/images.go:238 +#: shared/podman/images.go:245 #, javascript-format msgid "Running podman ps --filter=name=%s --format={{ .Image }}" msgstr "正在运行 podman ps --filter=name=%s --format={{ .Image }}" -#: shared/podman/images.go:242 +#: shared/podman/images.go:249 #, javascript-format msgid "cannot find any running image for container %s" msgstr "未找到容器 %s 的任何运行中映像" -#: shared/podman/login.go:41 -#, fuzzy +#: shared/podman/login.go:23 +msgid "SCC credentials parameters will be used. SCC credentials from host will be ignored." +msgstr "将使用 SCC 身份凭证参数,并忽略来自主机的 SCC 身份凭证。" + +#: shared/podman/login.go:50 msgid "failed to close the temporary auth file" -msgstr "无法创建临时目录" +msgstr "无法关闭临时身份验证文件" #: shared/podman/network.go:31 #, javascript-format @@ -624,161 +692,160 @@ msgstr "已去除网络" #: shared/podman/support.go:27 msgid "No systemd file to add to the archive" -msgstr "" +msgstr "没有可添加到存档中的 systemd 文件" #: shared/podman/support.go:40 shared/podman/support.go:90 #: shared/podman/support.go:113 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to run podman inspect %s" -msgstr "无法运行 helm %s" +msgstr "无法运行 podman inspect %s" #: shared/podman/support.go:46 #, javascript-format msgid "failed to fetch the config files bound to container %s" -msgstr "" +msgstr "无法提取绑定到容器 %s 的配置文件" #: shared/podman/support.go:52 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to run podman logs %s" -msgstr "无法运行 helm %s" +msgstr "无法运行 podman logs %s" #: shared/podman/support.go:64 shared/podman/support.go:85 #: shared/podman/support.go:104 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to create %s file" -msgstr "无法创建 %s 文件夹" +msgstr "无法创建 %s 文件" #: shared/podman/support.go:69 -#, fuzzy msgid "failed to run systemctl cat uyuni-*" -msgstr "无法重新装载 systemd 守护程序" +msgstr "无法运行 systemctl cat uyuni-*" #: shared/podman/support.go:149 -#, fuzzy, javascript-format +#, javascript-format msgid "failed create %s file" -msgstr "无法创建 %s 文件夹" +msgstr "无法创建 %s 文件" #: shared/podman/support.go:154 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to run journalctl -u %s" -msgstr "无法运行 helm %s" +msgstr "无法运行 journalctl -u %s" #: shared/podman/systemd.go:52 #, javascript-format msgid "failed to disable %s systemd service" msgstr "无法禁用 %s systemd 服务" -#: shared/podman/systemd.go:76 +#: shared/podman/systemd.go:93 #, javascript-format msgid "Systemd has no %s.service unit" msgstr "Systemd 没有 %s.service 单元" -#: shared/podman/systemd.go:81 +#: shared/podman/systemd.go:98 #, javascript-format msgid "Disable %s service" msgstr "禁用 %s 服务" -#: shared/podman/systemd.go:85 shared/podman/systemd.go:144 +#: shared/podman/systemd.go:102 shared/podman/systemd.go:161 #, javascript-format msgid "Failed to disable %s service" msgstr "无法禁用 %s 服务" -#: shared/podman/systemd.go:97 shared/podman/systemd.go:114 +#: shared/podman/systemd.go:114 shared/podman/systemd.go:131 #, javascript-format msgid "Would remove %s" msgstr "将去除 %s" -#: shared/podman/systemd.go:100 shared/podman/systemd.go:116 +#: shared/podman/systemd.go:117 shared/podman/systemd.go:133 #, javascript-format msgid "Remove %s" msgstr "去除 %s" -#: shared/podman/systemd.go:102 +#: shared/podman/systemd.go:119 #, javascript-format msgid "Failed to remove %s.service file" msgstr "无法去除 %s.service 文件" -#: shared/podman/systemd.go:118 +#: shared/podman/systemd.go:135 #, javascript-format msgid "Failed to remove %s file" msgstr "无法去除 %s 文件" -#: shared/podman/systemd.go:125 +#: shared/podman/systemd.go:142 #, javascript-format msgid "Would remove %s if empty" msgstr "将去除 %s(如果为空)" -#: shared/podman/systemd.go:131 +#: shared/podman/systemd.go:148 #, javascript-format msgid "%s folder contains file created by the user. Please remove them when uninstallation is completed." msgstr "%s 文件夹包含该用户创建的文件。卸装完毕后,请去除这些文件。" -#: shared/podman/systemd.go:141 +#: shared/podman/systemd.go:158 #, javascript-format msgid "Would scale %s to 0 replicas" msgstr "会将 %s 扩缩到 0 个复本" -#: shared/podman/systemd.go:160 +#: shared/podman/systemd.go:177 msgid "failed to reset-failed systemd" msgstr "reset-failed systemd 失败" -#: shared/podman/systemd.go:164 +#: shared/podman/systemd.go:181 msgid "failed to reload systemd daemon" msgstr "无法重新装载 systemd 守护程序" -#: shared/podman/systemd.go:182 +#: shared/podman/systemd.go:199 #, javascript-format msgid "failed to restart systemd %s.service" msgstr "无法重启动 systemd %s.service" -#: shared/podman/systemd.go:190 +#: shared/podman/systemd.go:207 #, javascript-format msgid "failed to start systemd %s.service" msgstr "无法启动 systemd %s.service" -#: shared/podman/systemd.go:198 +#: shared/podman/systemd.go:215 #, javascript-format msgid "failed to stop systemd %s.service" msgstr "无法停止 systemd %s.service" -#: shared/podman/systemd.go:206 +#: shared/podman/systemd.go:223 #, javascript-format msgid "failed to enable %s systemd service" msgstr "无法启用 %s systemd 服务" -#: shared/podman/systemd.go:253 +#: shared/podman/systemd.go:270 #, javascript-format msgid "failed to create %s folder" msgstr "无法创建 %s 文件夹" -#: shared/podman/systemd.go:263 +#: shared/podman/systemd.go:280 #, javascript-format msgid "cannot write %s file" msgstr "无法写入 %s 文件" -#: shared/podman/systemd.go:308 -#, fuzzy, javascript-format +#: shared/podman/systemd.go:325 +#, javascript-format msgid "failed to write %s file" -msgstr "无法创建 %s 文件夹" +msgstr "无法写入 %s 文件" -#: shared/podman/systemd.go:313 -#, fuzzy, javascript-format +#: shared/podman/systemd.go:330 +#, javascript-format msgid "failed to remove old %s systemd service configuration file" -msgstr "无法分析配置文件 %s" +msgstr "无法去除旧 %s systemd 服务配置文件" -#: shared/podman/systemd.go:335 +#: shared/podman/systemd.go:352 msgid "Service %[1]s already has %[2]d replicas." msgstr "服务 %[1]s 已有 %[2]d 个复本。" -#: shared/podman/systemd.go:338 +#: shared/podman/systemd.go:355 msgid "Scale %[1]s from %[2]d to %[3]d replicas." msgstr "将 %[1]s 的复本数从 %[2]d 个扩缩到 %[3]d 个。" -#: shared/podman/systemd.go:342 +#: shared/podman/systemd.go:359 msgid "cannot enable service" msgstr "无法启用服务" -#: shared/podman/systemd.go:348 +#: shared/podman/systemd.go:365 msgid "cannot disable service" msgstr "无法禁用服务" @@ -836,11 +903,11 @@ msgstr "无法去除映像 %s" #: shared/podman/utils.go:172 #, javascript-format msgid "Volume %s is externally mounted, directory cannot be removed" -msgstr "" +msgstr "卷 %s 挂载在外部,无法去除该目录" #: shared/podman/utils.go:234 msgid "failed to login to registry.suse.com" -msgstr "" +msgstr "无法登录 registry.suse.com" #: shared/utils/cmd.go:51 shared/utils/cmd.go:52 msgid "failed to unmarshall configuration" @@ -883,15 +950,15 @@ msgstr "同时去除容器映像" msgid "failed to parse configuration file %s" msgstr "无法分析配置文件 %s" -#: shared/utils/config.go:62 +#: shared/utils/config.go:51 msgid "Failed to find home directory" msgstr "找不到主目录" -#: shared/utils/config.go:87 +#: shared/utils/config.go:94 msgid "failed to bind %[1]s config to parameter %[2]s" msgstr "无法将 %[1]s 配置绑定到参数 %[2]s" -#: shared/utils/config.go:99 +#: shared/utils/config.go:106 msgid "" "Usage:{{if .Runnable}}\n" " {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}}\n" @@ -953,8 +1020,7 @@ msgstr "" "\n" "有关命令的详细信息,请使用 \"{{.CommandPath}} [command] --help\"。{{end}}\n" -#: shared/utils/config.go:133 -#, fuzzy +#: shared/utils/config.go:140 msgid "" "\n" "Configuration:\n" @@ -1007,6 +1073,7 @@ msgstr "" " password: secret\n" " \n" " 系统将在以下位置按如下顺序搜索配置文件:\n" +" · /etc/uyuni/uyuni-tools.yaml\n" " · $XDG_CONFIG_HOME/{{ .Name }}/{{ .ConfigFile }}\n" " · $HOME/.config/{{ .Name }}/{{ .ConfigFile }}\n" " · $PWD/{{ .ConfigFile }}\n" @@ -1023,11 +1090,11 @@ msgstr "" " 例如,'--tz CEST' 标志对应于 '{{ .EnvPrefix }}_TZ',\n" " '--ssl-password' 标志对应于 '{{ .EnvPrefix }}_SSL_PASSWORD' \n" -#: shared/utils/config.go:170 +#: shared/utils/config.go:177 msgid "Help on configuration file and environment variables" msgstr "关于配置文件和环境变量的帮助" -#: shared/utils/config.go:179 +#: shared/utils/config.go:186 msgid "failed to compute config help command" msgstr "compute config 帮助命令失败" @@ -1044,49 +1111,46 @@ msgid "failed to generate inspect script" msgstr "无法生成检查脚本" #: shared/utils/inspector.go:83 -#, fuzzy, javascript-format +#, javascript-format msgid "cannot read file %s" -msgstr "无法分析文件 %s" +msgstr "无法读取文件 %s" #: shared/utils/inspector.go:88 msgid "cannot read config" msgstr "无法读取配置" #: shared/utils/inspector.go:93 -#, fuzzy msgid "failed to unmarshal the inspected data" -msgstr "无法生成检查脚本" +msgstr "无法解组检查的数据" #: shared/utils/logUtils.go:96 msgid "Couldn't open %[1]s file for writing, writing log to %[2]s" -msgstr "" +msgstr "无法打开 %[1]s 文件写入数据,正在将日志写入 %[2]s" #: shared/utils/support.go:32 -#, fuzzy msgid "Unable to detect hostname, using localhost" -msgstr "无法使用 helm 检测 %s 的名称空间" +msgstr "无法检测主机名,正在使用 localhost" #: shared/utils/support.go:46 msgid "Preparing the tarball" -msgstr "" +msgstr "正在准备 Tar 包" #: shared/utils/support.go:58 -#, fuzzy, javascript-format +#, javascript-format msgid "failed to add %s to tarball" -msgstr "无法运行 %s 容器" +msgstr "无法将 %s 添加到 Tar 包" #: shared/utils/support.go:88 -#, fuzzy msgid "failed to run supportconfig on the host" -msgstr "无法运行 %s 容器" +msgstr "无法在主机上运行 supportconfig" #: shared/utils/support.go:98 msgid "failed to find host supportconfig tarball from command output" -msgstr "" +msgstr "在命令输出中找不到主机 supportconfig Tar 包" #: shared/utils/support.go:101 msgid "supportconfig is not available on the host, skipping it" -msgstr "" +msgstr "无法在主机上使用 supportconfig,正在跳过" #: shared/utils/tar.go:47 msgid "Skipping extraction of %[1]s in %[2]s file as it resolves outside the target path" @@ -1107,130 +1171,137 @@ msgstr "%s 文件已存在,将不重写" msgid "failed to open %s for writing" msgstr "无法打开 %s 以写入数据" -#: shared/utils/utils.go:53 +#: shared/utils/utils.go:54 #, javascript-format msgid "Has to be more than %d character long" msgid_plural "Has to be more than %d characters long" msgstr[0] "包含的字符数必须大于 %d" -#: shared/utils/utils.go:57 +#: shared/utils/utils.go:58 #, javascript-format msgid "Has to be less than %d character long" msgid_plural "Has to be less than %d characters long" msgstr[0] "包含的字符数必须小于 %d" -#: shared/utils/utils.go:68 +#: shared/utils/utils.go:69 msgid "Failed to read password" msgstr "无法读取口令" -#: shared/utils/utils.go:82 +#: shared/utils/utils.go:83 msgid "Cannot contain spaces or tabs" msgstr "不得包含空格或制表符" -#: shared/utils/utils.go:103 -#, fuzzy +#: shared/utils/utils.go:101 shared/utils/utils.go:125 +#: shared/utils/utils.go:138 +msgid "not an interactive device, not asking for missing value" +msgstr "" + +#: shared/utils/utils.go:110 msgid "Confirm the password" -msgstr "无法读取口令" +msgstr "确认口令" -#: shared/utils/utils.go:105 +#: shared/utils/utils.go:112 msgid "Two different passwords have been provided" msgstr "两次提供的口令不相同" -#: shared/utils/utils.go:121 -msgid "Failed to read input" +#: shared/utils/utils.go:148 +#, fuzzy +msgid "failed to read input" msgstr "无法读取输入" -#: shared/utils/utils.go:129 +#: shared/utils/utils.go:156 msgid "A value is required" msgstr "必须提供值" -#: shared/utils/utils.go:173 +#: shared/utils/utils.go:200 msgid "Registry %[1]s would be used instead of namespace %[2]s" msgstr "将使用注册表 %[1]s 而不是名称空间 %[2]s" -#: shared/utils/utils.go:188 shared/utils/utils.go:214 +#: shared/utils/utils.go:215 shared/utils/utils.go:241 #, javascript-format msgid "invalid image name: %s" msgstr "映像名称无效:%s" -#: shared/utils/utils.go:192 +#: shared/utils/utils.go:219 #, javascript-format msgid "tag missing on %s" msgstr "%s 缺少标记" -#: shared/utils/utils.go:200 shared/utils/utils.go:205 -#, fuzzy, javascript-format +#: shared/utils/utils.go:227 shared/utils/utils.go:232 +#, javascript-format msgid "Computed image name is %s" -msgstr "映像名称无效:%s" +msgstr "计算的映像名称为 %s" -#: shared/utils/utils.go:224 +#: shared/utils/utils.go:251 #, javascript-format msgid "Failed to run %s" msgstr "无法运行 %s" -#: shared/utils/utils.go:233 +#: shared/utils/utils.go:260 #, javascript-format msgid "cannot check content of %s" msgstr "无法检查 %s 的内容" -#: shared/utils/utils.go:245 +#: shared/utils/utils.go:272 #, javascript-format msgid "Cannot remove %s folder" msgstr "无法去除 %s 文件夹" -#: shared/utils/utils.go:256 +#: shared/utils/utils.go:283 #, javascript-format msgid "Failed to get %s file informations" msgstr "无法获取 %s 文件信息" -#: shared/utils/utils.go:265 +#: shared/utils/utils.go:292 #, javascript-format msgid "Failed to read file %s" msgstr "无法读取文件 %s" -#: shared/utils/utils.go:280 +#: shared/utils/utils.go:307 #, javascript-format msgid "Would remove file %s" msgstr "将去除文件 %s" -#: shared/utils/utils.go:282 +#: shared/utils/utils.go:309 #, javascript-format msgid "Removing file %s" msgstr "正在去除文件 %s" -#: shared/utils/utils.go:284 +#: shared/utils/utils.go:311 #, javascript-format msgid "Failed to remove file %s" msgstr "无法去除文件 %s" -#: shared/utils/utils.go:294 +#: shared/utils/utils.go:321 msgid "Failed to read random data" msgstr "无法读取随机数据" -#: shared/utils/utils.go:315 +#: shared/utils/utils.go:342 #, javascript-format msgid "error downloading from %s" msgstr "从 %s 下载时出错" -#: shared/utils/utils.go:321 +#: shared/utils/utils.go:348 #, javascript-format msgid "bad status: %s" msgstr "不良状态:%s" -#: shared/utils/utils.go:399 -#, fuzzy +#: shared/utils/utils.go:426 msgid "failed to compute server FQDN" -msgstr "无法连接到服务器" - -#: shared/utils/utils.go:417 -#, fuzzy, javascript-format -msgid "cannot resolve %s" -msgstr "无法删除 %s" +msgstr "无法计算服务器 FQDN" -#: shared/utils/utils.go:425 +#: shared/utils/utils.go:440 #, javascript-format msgid "%s is not a valid FQDN" -msgstr "" +msgstr "%s 不是有效 FQDN" + +#: shared/utils/utils.go:444 +#, javascript-format +msgid "cannot resolve %s" +msgstr "无法解析 %s" + +#~ msgid "cannot fetch namespace" +#~ msgstr "无法提取名称空间" #, javascript-format #~ msgid "the container is not running, %s command not executed:" diff --git a/mgradm/cmd/cmd.go b/mgradm/cmd/cmd.go index 124879802..e2d030269 100644 --- a/mgradm/cmd/cmd.go +++ b/mgradm/cmd/cmd.go @@ -59,11 +59,10 @@ func NewUyuniadmCommand() (*cobra.Command, error) { rootCmd.SetUsageTemplate(utils.GetLocalizedUsageTemplate()) rootCmd.PersistentPreRun = func(cmd *cobra.Command, args []string) { - utils.LogInit(true) - utils.SetLogLevel(globalFlags.LogLevel) - // do not log if running the completion cmd as the output is redirected to create a file to source if cmd.Name() != "completion" { + utils.LogInit(true) + utils.SetLogLevel(globalFlags.LogLevel) log.Info().Msgf(L("Welcome to %s"), name) log.Info().Msgf(L("Executing command: %s"), cmd.Name()) } diff --git a/mgradm/cmd/distro/cp.go b/mgradm/cmd/distro/cp.go index 1853ce2f3..d31361a8b 100644 --- a/mgradm/cmd/distro/cp.go +++ b/mgradm/cmd/distro/cp.go @@ -44,9 +44,13 @@ func registerDistro(connection *api.ConnectionDetails, distro *types.Distributio } client, err := api.Init(connection) + if err == nil { + err = client.Login() + } if err != nil { return utils.Errorf(err, L("unable to login and register the distribution. Manual distro registration is required")) } + data := map[string]interface{}{ "treeLabel": distro.TreeLabel, "basePath": distro.BasePath, @@ -72,7 +76,7 @@ func prepareSource(source string) (string, bool, error) { if strings.HasSuffix(source, ".iso") { log.Debug().Msg("Source is an ISO image") - tmpdir, err := os.MkdirTemp("", "mgradm-distcp") + tmpdir, err := utils.TempDir() if err != nil { return "", needremove, err } diff --git a/mgradm/cmd/distro/distro.go b/mgradm/cmd/distro/distro.go index e9a4336f0..9fd45d08f 100644 --- a/mgradm/cmd/distro/distro.go +++ b/mgradm/cmd/distro/distro.go @@ -110,9 +110,7 @@ Note: API details are required for auto registration.`), } cpCmdHelp.SetHelpTemplate(helpBuilder.String()) - if err := api.AddAPIFlags(distroCmd, true); err != nil { - return distroCmd, err - } + api.AddAPIFlags(distroCmd) distroCmd.AddCommand(cpCmd) distroCmd.AddCommand(cpCmdHelp) diff --git a/mgradm/cmd/gpg/add/gpg.go b/mgradm/cmd/gpg/add/gpg.go index 67de48625..9e95c21cb 100644 --- a/mgradm/cmd/gpg/add/gpg.go +++ b/mgradm/cmd/gpg/add/gpg.go @@ -61,11 +61,11 @@ func gpgAddKeys(globalFlags *types.GlobalFlags, flags *gpgAddFlags, cmd *cobra.C gpgAddCmd = append(gpgAddCmd, "--keyring", customKeyringPath) - scriptDir, err := os.MkdirTemp("", "mgradm-*") - defer os.RemoveAll(scriptDir) + scriptDir, err := utils.TempDir() if err != nil { - return utils.Errorf(err, L("failed to create temporary directory")) + return err } + defer os.RemoveAll(scriptDir) for _, keyURL := range args { var hostKeyPath string diff --git a/mgradm/cmd/hub/register/register.go b/mgradm/cmd/hub/register/register.go index 28c907918..cdb11ccf8 100644 --- a/mgradm/cmd/hub/register/register.go +++ b/mgradm/cmd/hub/register/register.go @@ -43,9 +43,7 @@ func NewCommand(globalFlags *types.GlobalFlags) *cobra.Command { utils.AddBackendFlag(registerCmd) } - if err := api.AddAPIFlags(registerCmd, false); err != nil { - return nil - } + api.AddAPIFlags(registerCmd) return registerCmd } @@ -95,9 +93,13 @@ func registerToHub(config map[string]string, cnxDetails *api.ConnectionDetails) } log.Info().Msgf(L("Hub API server: %s"), cnxDetails.Server) client, err := api.Init(cnxDetails) + if err == nil { + err = client.Login() + } if err != nil { return utils.Errorf(err, L("failed to connect to the Hub server")) } + data := map[string]interface{}{ "fqdn": config["java.hostname"], } diff --git a/mgradm/cmd/inspect/inspect.go b/mgradm/cmd/inspect/inspect.go index ca4d6fd29..2c1b9a804 100644 --- a/mgradm/cmd/inspect/inspect.go +++ b/mgradm/cmd/inspect/inspect.go @@ -6,7 +6,7 @@ package inspect import ( "github.com/spf13/cobra" - cmd_utils "github.com/uyuni-project/uyuni-tools/mgradm/shared/utils" + inspect_shared "github.com/uyuni-project/uyuni-tools/mgradm/cmd/inspect/shared" "github.com/uyuni-project/uyuni-tools/shared" . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/types" @@ -23,14 +23,14 @@ func NewCommand(globalFlags *types.GlobalFlags) *cobra.Command { Args: cobra.MaximumNArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - var flags types.ImageFlags + var flags inspect_shared.InspectFlags return utils.CommandHelper(globalFlags, cmd, args, &flags, inspect) }, } inspectCmd.SetUsageTemplate(inspectCmd.UsageTemplate()) - cmd_utils.AddImageFlag(inspectCmd) + inspect_shared.AddInspectFlags(inspectCmd) if utils.KubernetesBuilt { utils.AddBackendFlag(inspectCmd) @@ -39,7 +39,7 @@ func NewCommand(globalFlags *types.GlobalFlags) *cobra.Command { return inspectCmd } -func inspect(globalFlags *types.GlobalFlags, flags *types.ImageFlags, cmd *cobra.Command, args []string) error { +func inspect(globalFlags *types.GlobalFlags, flags *inspect_shared.InspectFlags, cmd *cobra.Command, args []string) error { fn, err := shared.ChoosePodmanOrKubernetes(cmd.Flags(), podmanInspect, kuberneteInspect) if err != nil { return err diff --git a/mgradm/cmd/inspect/kubernetes.go b/mgradm/cmd/inspect/kubernetes.go index 47d892bcb..47cfb6f94 100644 --- a/mgradm/cmd/inspect/kubernetes.go +++ b/mgradm/cmd/inspect/kubernetes.go @@ -13,6 +13,7 @@ import ( "github.com/rs/zerolog/log" "github.com/spf13/cobra" + inspect_shared "github.com/uyuni-project/uyuni-tools/mgradm/cmd/inspect/shared" adm_utils "github.com/uyuni-project/uyuni-tools/mgradm/shared/utils" "github.com/uyuni-project/uyuni-tools/shared" shared_kubernetes "github.com/uyuni-project/uyuni-tools/shared/kubernetes" @@ -23,26 +24,30 @@ import ( func kuberneteInspect( globalFlags *types.GlobalFlags, - flags *types.ImageFlags, + flags *inspect_shared.InspectFlags, cmd *cobra.Command, args []string, ) error { - serverImage, err := utils.ComputeImage("", utils.DefaultTag, *flags) + serverImage, err := utils.ComputeImage("", utils.DefaultTag, flags.Image) if err != nil && len(serverImage) > 0 { return utils.Errorf(err, L("failed to determine image")) } + cnx := shared.NewConnection("kubectl", "", shared_kubernetes.ServerFilter) if len(serverImage) <= 0 { log.Debug().Msg("Use deployed image") - cnx := shared.NewConnection("kubectl", "", shared_kubernetes.ServerFilter) serverImage, err = adm_utils.RunningImage(cnx, "uyuni") if err != nil { return fmt.Errorf(L("failed to find the image of the currently running server container: %s")) } } - inspectResult, err := shared_kubernetes.InspectKubernetes(serverImage, flags.PullPolicy) + namespace, err := cnx.GetNamespace("") + if err != nil { + return utils.Errorf(err, L("failed retrieving namespace")) + } + inspectResult, err := shared_kubernetes.InspectKubernetes(namespace, serverImage, flags.Image.PullPolicy) if err != nil { return utils.Errorf(err, L("inspect command failed")) } diff --git a/mgradm/cmd/inspect/nobuild.go b/mgradm/cmd/inspect/nobuild.go index dfda04812..5a5ff9564 100644 --- a/mgradm/cmd/inspect/nobuild.go +++ b/mgradm/cmd/inspect/nobuild.go @@ -8,12 +8,13 @@ package inspect import ( "github.com/spf13/cobra" + inspect_shared "github.com/uyuni-project/uyuni-tools/mgradm/cmd/inspect/shared" "github.com/uyuni-project/uyuni-tools/shared/types" ) func kuberneteInspect( globalFlags *types.GlobalFlags, - flags *types.ImageFlags, + flags *inspect_shared.InspectFlags, cmd *cobra.Command, args []string, ) error { diff --git a/mgradm/cmd/inspect/podman.go b/mgradm/cmd/inspect/podman.go index 1885f83f1..1f9c60283 100644 --- a/mgradm/cmd/inspect/podman.go +++ b/mgradm/cmd/inspect/podman.go @@ -10,6 +10,7 @@ import ( "github.com/rs/zerolog/log" "github.com/spf13/cobra" + inspect_shared "github.com/uyuni-project/uyuni-tools/mgradm/cmd/inspect/shared" adm_utils "github.com/uyuni-project/uyuni-tools/mgradm/shared/utils" "github.com/uyuni-project/uyuni-tools/shared" . "github.com/uyuni-project/uyuni-tools/shared/l10n" @@ -20,11 +21,11 @@ import ( func podmanInspect( globalFlags *types.GlobalFlags, - flags *types.ImageFlags, + flags *inspect_shared.InspectFlags, cmd *cobra.Command, args []string, ) error { - serverImage, err := utils.ComputeImage("", utils.DefaultTag, *flags) + serverImage, err := utils.ComputeImage("", utils.DefaultTag, flags.Image) if err != nil && len(serverImage) > 0 { return utils.Errorf(err, L("failed to determine image")) } @@ -38,7 +39,7 @@ func podmanInspect( return fmt.Errorf(L("failed to find the image of the currently running server container: %s")) } } - inspectResult, err := shared_podman.Inspect(serverImage, flags.PullPolicy, false) + inspectResult, err := shared_podman.Inspect(serverImage, flags.Image.PullPolicy, flags.SCC, false) if err != nil { return utils.Errorf(err, L("inspect command failed")) } diff --git a/mgradm/cmd/inspect/shared/flags.go b/mgradm/cmd/inspect/shared/flags.go new file mode 100644 index 000000000..55a88aeb5 --- /dev/null +++ b/mgradm/cmd/inspect/shared/flags.go @@ -0,0 +1,23 @@ +// SPDX-FileCopyrightText: 2024 SUSE LLC +// +// SPDX-License-Identifier: Apache-2.0 + +package shared + +import ( + "github.com/spf13/cobra" + cmd_utils "github.com/uyuni-project/uyuni-tools/mgradm/shared/utils" + "github.com/uyuni-project/uyuni-tools/shared/types" +) + +// InspectFlags are the flags used by inspect commands. +type InspectFlags struct { + Image types.ImageFlags `mapstructure:",squash"` + SCC types.SCCCredentials +} + +// AddInspectFlags add flags to inspect command. +func AddInspectFlags(cmd *cobra.Command) { + cmd_utils.AddSCCFlag(cmd) + cmd_utils.AddImageFlag(cmd) +} diff --git a/mgradm/cmd/install/install.go b/mgradm/cmd/install/install.go index 361a87d3c..2e6f45840 100644 --- a/mgradm/cmd/install/install.go +++ b/mgradm/cmd/install/install.go @@ -20,8 +20,6 @@ func NewCommand(globalFlags *types.GlobalFlags) *cobra.Command { Short: L("Install a new server"), Long: L("Install a new server"), } - installCmd.PersistentFlags().StringVar(&globalFlags.Registry, "registry", "", L("specify a private registry")) - installCmd.AddCommand(podman.NewCommand(globalFlags)) if kubernetesCmd := kubernetes.NewCommand(globalFlags); kubernetesCmd != nil { diff --git a/mgradm/cmd/install/kubernetes/utils.go b/mgradm/cmd/install/kubernetes/utils.go index 3d99626cc..b7b024872 100644 --- a/mgradm/cmd/install/kubernetes/utils.go +++ b/mgradm/cmd/install/kubernetes/utils.go @@ -68,8 +68,14 @@ func installForKubernetes(globalFlags *types.GlobalFlags, } helmArgs = append(helmArgs, sslArgs...) + // Create a secret using SCC credentials if any are provided + helmArgs, err = shared_kubernetes.AddSccSecret(helmArgs, flags.Helm.Uyuni.Namespace, &flags.Scc) + if err != nil { + return err + } + // Deploy Uyuni and wait for it to be up - if err := kubernetes.Deploy(cnx, globalFlags.Registry, &flags.Image, &flags.Helm, &flags.Ssl, + if err := kubernetes.Deploy(cnx, flags.Image.Registry, &flags.Image, &flags.Helm, &flags.Ssl, clusterInfos, fqdn, flags.Debug.Java, false, helmArgs..., ); err != nil { return shared_utils.Errorf(err, L("cannot deploy uyuni")) @@ -81,8 +87,12 @@ func installForKubernetes(globalFlags *types.GlobalFlags, } if err := install_shared.RunSetup(cnx, &flags.InstallFlags, args[0], envs); err != nil { - if stopErr := shared_kubernetes.Stop(shared_kubernetes.ServerFilter); stopErr != nil { - log.Error().Msgf(L("Failed to stop service: %v"), stopErr) + namespace, err := cnx.GetNamespace("") + if err != nil { + return shared_utils.Errorf(err, L("failed to stop service")) + } + if stopErr := shared_kubernetes.Stop(namespace, shared_kubernetes.ServerApp); stopErr != nil { + log.Error().Err(stopErr).Msg(L("failed to stop service")) } return err } diff --git a/mgradm/cmd/install/podman/utils.go b/mgradm/cmd/install/podman/utils.go index 87d022b02..bfda3f020 100644 --- a/mgradm/cmd/install/podman/utils.go +++ b/mgradm/cmd/install/podman/utils.go @@ -49,7 +49,7 @@ func installForPodman( return err } - authFile, cleaner, err := shared_podman.PodmanLogin(hostData) + authFile, cleaner, err := shared_podman.PodmanLogin(hostData, flags.Scc) if err != nil { return utils.Errorf(err, L("failed to login to registry.suse.com")) } @@ -70,12 +70,12 @@ func installForPodman( } log.Info().Msgf(L("Setting up the server with the FQDN '%s'"), fqdn) - image, err := utils.ComputeImage(globalFlags.Registry, utils.DefaultTag, flags.Image) + image, err := utils.ComputeImage(flags.Image.Registry, utils.DefaultTag, flags.Image) if err != nil { return utils.Errorf(err, L("failed to compute image URL")) } - preparedImage, err := shared_podman.PrepareImage(authFile, image, flags.Image.PullPolicy) + preparedImage, err := shared_podman.PrepareImage(authFile, image, flags.Image.PullPolicy, true) if err != nil { return err } @@ -119,21 +119,21 @@ func installForPodman( } } - if err := coco.SetupCocoContainer( - authFile, flags.Coco.Replicas, globalFlags.Registry, flags.Coco.Image, flags.Image, - flags.Db.Name, flags.Db.Port, flags.Db.User, flags.Db.Password, - ); err != nil { - return err - } - - if err := hub.SetupHubXmlrpc( - authFile, globalFlags.Registry, flags.Image.PullPolicy, flags.Image.Tag, flags.HubXmlrpc.Image, - ); err != nil { - return err + if flags.Coco.Replicas > 0 { + if err := coco.SetupCocoContainer( + authFile, flags.Image.Registry, flags.Coco, flags.Image, + flags.Db.Name, flags.Db.Port, flags.Db.User, flags.Db.Password, + ); err != nil { + return err + } } - if err := hub.EnableHubXmlrpc(flags.HubXmlrpc.Replicas); err != nil { - return err + if flags.HubXmlrpc.Replicas > 0 { + if err := hub.SetupHubXmlrpc( + authFile, flags.Image.Registry, flags.Image.PullPolicy, flags.Image.Tag, flags.HubXmlrpc, + ); err != nil { + return err + } } if flags.Ssl.UseExisting() { diff --git a/mgradm/cmd/install/shared/flags.go b/mgradm/cmd/install/shared/flags.go index 165adae24..e329dc15f 100644 --- a/mgradm/cmd/install/shared/flags.go +++ b/mgradm/cmd/install/shared/flags.go @@ -33,23 +33,11 @@ type DbFlags struct { } } -// SccFlags can store SCC Credentials. -type SccFlags struct { - User string - Password string -} - // DebugFlags contains information about enabled/disabled debug. type DebugFlags struct { Java bool } -// CocoFlags contains settings for coco attestation container. -type CocoFlags struct { - Replicas int - Image types.ImageFlags `mapstructure:",squash"` -} - // InstallFlags stores all the flags used by install command. type InstallFlags struct { TZ string @@ -61,10 +49,10 @@ type InstallFlags struct { Db DbFlags ReportDb DbFlags Ssl cmd_utils.SslCertFlags - Scc SccFlags + Scc types.SCCCredentials Debug DebugFlags Image types.ImageFlags `mapstructure:",squash"` - Coco CocoFlags + Coco cmd_utils.CocoFlags HubXmlrpc cmd_utils.HubXmlrpcFlags Admin apiTypes.User Organization string @@ -124,6 +112,12 @@ func (flags *InstallFlags) CheckParameters(cmd *cobra.Command, command string) { flags.Admin.Email = flags.Email } +// AddInspectFlags add flags to inspect command. +func AddInspectFlags(cmd *cobra.Command) { + cmd_utils.AddSCCFlag(cmd) + cmd_utils.AddImageFlag(cmd) +} + // AddInstallFlags add flags to installa command. func AddInstallFlags(cmd *cobra.Command) { cmd_utils.AddMirrorFlag(cmd) @@ -197,12 +191,7 @@ func AddInstallFlags(cmd *cobra.Command) { _ = utils.AddFlagToHelpGroupID(cmd, "ssl-server-cert", "ssl3rd") _ = utils.AddFlagToHelpGroupID(cmd, "ssl-server-key", "ssl3rd") - cmd.Flags().String("scc-user", "", L("SUSE Customer Center username")) - cmd.Flags().String("scc-password", "", L("SUSE Customer Center password")) - - _ = utils.AddFlagHelpGroup(cmd, &utils.Group{ID: "scc", Title: L("SUSE Customer Center Flags")}) - _ = utils.AddFlagToHelpGroupID(cmd, "scc-user", "scc") - _ = utils.AddFlagToHelpGroupID(cmd, "scc-password", "scc") + cmd_utils.AddSCCFlag(cmd) cmd.Flags().Bool("debug-java", false, L("Enable tomcat and taskomatic remote debugging")) cmd_utils.AddImageFlag(cmd) diff --git a/mgradm/cmd/install/shared/shared.go b/mgradm/cmd/install/shared/shared.go index 615fe2be0..8a52cf550 100644 --- a/mgradm/cmd/install/shared/shared.go +++ b/mgradm/cmd/install/shared/shared.go @@ -33,18 +33,20 @@ func RunSetup(cnx *shared.Connection, flags *InstallFlags, fqdn string, env map[ preconfigured = true } - tmpFolder := generateSetupScript(flags, fqdn, env) + tmpFolder, err := generateSetupScript(flags, fqdn, env) defer os.RemoveAll(tmpFolder) + if err != nil { + return err + } if err := cnx.Copy(filepath.Join(tmpFolder, setup_name), "server:/tmp/setup.sh", "root", "root"); err != nil { return utils.Errorf(err, L("cannot copy /tmp/setup.sh")) } - err := adm_utils.ExecCommand(zerolog.InfoLevel, cnx, "/tmp/setup.sh") - if err != nil { + err = adm_utils.ExecCommand(zerolog.InfoLevel, cnx, "/tmp/setup.sh") + if err != nil && !preconfigured { return utils.Errorf(err, L("error running the setup script")) } - if err := cnx.CopyCaCertificate(fqdn); err != nil { return utils.Errorf(err, L("failed to add SSL CA certificate to host trusted certificates")) } @@ -60,7 +62,11 @@ func RunSetup(cnx *shared.Connection, flags *InstallFlags, fqdn string, env map[ } // Check if there is already admin user with given password and organization with same name - if _, err := api.Init(&apiCnx); err == nil { + client, err := api.Init(&apiCnx) + if err != nil { + log.Error().Err(err).Msgf(L("unable to prepare API client")) + } + if err = client.Login(); err == nil { if _, err := org.GetOrganizationDetails(&apiCnx, flags.Organization); err == nil { log.Info().Msgf(L("Server organization already exists, reusing")) } else { @@ -73,11 +79,7 @@ func RunSetup(cnx *shared.Connection, flags *InstallFlags, fqdn string, env map[ // We were not able to connect to the server at all return err } - // We do not have any user existing, do not try to login - apiCnx = api.ConnectionDetails{ - Server: fqdn, - Insecure: false, - } + // We do not have any user existing, create one. CreateFirst skip user login _, err := org.CreateFirst(&apiCnx, flags.Organization, &flags.Admin) if err != nil { if preconfigured { @@ -96,7 +98,7 @@ func RunSetup(cnx *shared.Connection, flags *InstallFlags, fqdn string, env map[ // generateSetupScript creates a temporary folder with the setup script to execute in the container. // The script exports all the needed environment variables and calls uyuni's mgr-setup. // Podman or kubernetes-specific variables can be passed using extraEnv parameter. -func generateSetupScript(flags *InstallFlags, fqdn string, extraEnv map[string]string) string { +func generateSetupScript(flags *InstallFlags, fqdn string, extraEnv map[string]string) (string, error) { localHostValues := []string{ "localhost", "127.0.0.1", @@ -149,9 +151,9 @@ func generateSetupScript(flags *InstallFlags, fqdn string, extraEnv map[string]s env[key] = value } - scriptDir, err := os.MkdirTemp("", "mgradm-*") + scriptDir, err := utils.TempDir() if err != nil { - log.Fatal().Err(err).Msg(L("failed to create temporary directory")) + return "", err } dataTemplate := templates.MgrSetupScriptTemplateData{ @@ -161,10 +163,10 @@ func generateSetupScript(flags *InstallFlags, fqdn string, extraEnv map[string]s scriptPath := filepath.Join(scriptDir, setup_name) if err = utils.WriteTemplateToFile(dataTemplate, scriptPath, 0555, true); err != nil { - log.Fatal().Err(err).Msg(L("Failed to generate setup script")) + return "", utils.Errorf(err, L("Failed to generate setup script")) } - return scriptDir + return scriptDir, nil } func boolToString(value bool) string { diff --git a/mgradm/cmd/migrate/kubernetes/utils.go b/mgradm/cmd/migrate/kubernetes/utils.go index 6601634e9..b2bc33279 100644 --- a/mgradm/cmd/migrate/kubernetes/utils.go +++ b/mgradm/cmd/migrate/kubernetes/utils.go @@ -39,8 +39,12 @@ func migrateToKubernetes( } } cnx := shared.NewConnection("kubectl", "", shared_kubernetes.ServerFilter) + namespace, err := cnx.GetNamespace("") + if err != nil { + return utils.Errorf(err, L("failed retrieving namespace")) + } - serverImage, err := utils.ComputeImage(globalFlags.Registry, utils.DefaultTag, flags.Image) + serverImage, err := utils.ComputeImage(flags.Image.Registry, utils.DefaultTag, flags.Image) if err != nil { return utils.Errorf(err, L("failed to compute image URL")) } @@ -73,20 +77,30 @@ func migrateToKubernetes( // Install Uyuni with generated CA cert: an empty struct means no 3rd party cert var sslFlags adm_utils.SslCertFlags + helmArgs := []string{} + + // Create a secret using SCC credentials if any are provided + helmArgs, err = shared_kubernetes.AddSccSecret(helmArgs, flags.Helm.Uyuni.Namespace, &flags.Scc) + if err != nil { + return err + } + // Deploy for running migration command - if err := kubernetes.Deploy(cnx, globalFlags.Registry, &flags.Image, &flags.Helm, &sslFlags, - clusterInfos, fqdn, false, flags.Prepare, + migrationArgs := append(helmArgs, "--set", "migration.ssh.agentSocket="+sshAuthSocket, "--set", "migration.ssh.configPath="+sshConfigPath, "--set", "migration.ssh.knownHostsPath="+sshKnownhostsPath, "--set", "migration.dataPath="+scriptDir, - ); err != nil { + ) + + if err := kubernetes.Deploy(cnx, flags.Image.Registry, &flags.Image, &flags.Helm, &sslFlags, + clusterInfos, fqdn, false, flags.Prepare, migrationArgs...); err != nil { return utils.Errorf(err, L("cannot run deploy")) } //this is needed because folder with script needs to be mounted //check the node before scaling down - nodeName, err := shared_kubernetes.GetNode("uyuni") + nodeName, err := shared_kubernetes.GetNode(namespace, shared_kubernetes.ServerFilter) if err != nil { return utils.Errorf(err, L("cannot find node running uyuni")) } @@ -101,7 +115,7 @@ func migrateToKubernetes( } // After each command we want to scale to 0 - err = shared_kubernetes.ReplicasTo(shared_kubernetes.ServerApp, 0) + err = shared_kubernetes.ReplicasTo(namespace, shared_kubernetes.ServerApp, 0) if err != nil { return utils.Errorf(err, L("cannot set replicas to 0")) } @@ -113,8 +127,8 @@ func migrateToKubernetes( defer func() { // if something is running, we don't need to set replicas to 1 - if _, err = shared_kubernetes.GetNode("uyuni"); err != nil { - err = shared_kubernetes.ReplicasTo(shared_kubernetes.ServerApp, 1) + if _, err = shared_kubernetes.GetNode(namespace, shared_kubernetes.ServerFilter); err != nil { + err = shared_kubernetes.ReplicasTo(namespace, shared_kubernetes.ServerApp, 1) } }() @@ -123,10 +137,10 @@ func migrateToKubernetes( return utils.Errorf(err, L("cannot setup SSL")) } - helmArgs := []string{ + helmArgs = append(helmArgs, "--reset-values", - "--set", "timezone=" + extractedData.Timezone, - } + "--set", "timezone="+extractedData.Timezone, + ) if flags.Mirror != "" { log.Warn().Msgf(L("The mirror data will not be migrated, ensure it is available at %s"), flags.Mirror) // TODO Handle claims for multi-node clusters @@ -140,11 +154,11 @@ func migrateToKubernetes( return utils.Errorf(err, L("cannot upgrade helm chart to image %s using new SSL certificate"), serverImage) } - if err := shared_kubernetes.WaitForDeployment(flags.Helm.Uyuni.Namespace, "uyuni", "uyuni"); err != nil { + if err := shared_kubernetes.WaitForDeployment(namespace, "uyuni", "uyuni"); err != nil { return utils.Errorf(err, L("cannot wait for deployment of %s"), serverImage) } - err = shared_kubernetes.ReplicasTo(shared_kubernetes.ServerApp, 0) + err = shared_kubernetes.ReplicasTo(namespace, shared_kubernetes.ServerApp, 0) if err != nil { return utils.Errorf(err, L("cannot set replicas to 0")) } @@ -153,19 +167,19 @@ func migrateToKubernetes( newPgVersion := extractedData.ImagePgVersion if oldPgVersion != newPgVersion { - if err := kubernetes.RunPgsqlVersionUpgrade(globalFlags.Registry, flags.Image, - flags.DbUpgradeImage, nodeName, oldPgVersion, newPgVersion, + if err := kubernetes.RunPgsqlVersionUpgrade(flags.Image.Registry, flags.Image, + flags.DbUpgradeImage, namespace, nodeName, oldPgVersion, newPgVersion, ); err != nil { return utils.Errorf(err, L("cannot run PostgreSQL version upgrade script")) } } schemaUpdateRequired := oldPgVersion != newPgVersion - if err := kubernetes.RunPgsqlFinalizeScript(serverImage, flags.Image.PullPolicy, nodeName, schemaUpdateRequired, true); err != nil { + if err := kubernetes.RunPgsqlFinalizeScript(serverImage, flags.Image.PullPolicy, namespace, nodeName, schemaUpdateRequired, true); err != nil { return utils.Errorf(err, L("cannot run PostgreSQL finalisation script")) } - if err := kubernetes.RunPostUpgradeScript(serverImage, flags.Image.PullPolicy, nodeName); err != nil { + if err := kubernetes.RunPostUpgradeScript(serverImage, flags.Image.PullPolicy, namespace, nodeName); err != nil { return utils.Errorf(err, L("cannot run post upgrade script")) } @@ -174,7 +188,7 @@ func migrateToKubernetes( return utils.Errorf(err, L("cannot upgrade to image %s"), serverImage) } - if err := shared_kubernetes.WaitForDeployment(flags.Helm.Uyuni.Namespace, "uyuni", "uyuni"); err != nil { + if err := shared_kubernetes.WaitForDeployment(namespace, "uyuni", "uyuni"); err != nil { return err } @@ -217,7 +231,9 @@ func setupSsl(helm *adm_utils.HelmFlags, kubeconfig string, scriptDir string, pa Cert: path.Join(scriptDir, "spacewalk.crt"), }, } - kubernetes.DeployExistingCertificate(helm, &sslFlags, kubeconfig) + if err := kubernetes.DeployExistingCertificate(helm, &sslFlags, kubeconfig); err != nil { + return []string{}, nil + } } return []string{}, nil } diff --git a/mgradm/cmd/migrate/migrate.go b/mgradm/cmd/migrate/migrate.go index a04fe95bd..58ddbdc22 100644 --- a/mgradm/cmd/migrate/migrate.go +++ b/mgradm/cmd/migrate/migrate.go @@ -20,8 +20,6 @@ func NewCommand(globalFlags *types.GlobalFlags) *cobra.Command { Short: L("Migrate a remote server to containers"), Long: L("Migrate a remote server to containers"), } - migrateCmd.PersistentFlags().StringVar(&globalFlags.Registry, "registry", "", L("specify a private registry")) - migrateCmd.AddCommand(podman.NewCommand(globalFlags)) if kubernetesCmd := kubernetes.NewCommand(globalFlags); kubernetesCmd != nil { diff --git a/mgradm/cmd/migrate/podman/podman.go b/mgradm/cmd/migrate/podman/podman.go index 20c1ecd8c..d8bf10822 100644 --- a/mgradm/cmd/migrate/podman/podman.go +++ b/mgradm/cmd/migrate/podman/podman.go @@ -15,6 +15,7 @@ import ( type podmanMigrateFlags struct { shared.MigrateFlags `mapstructure:",squash"` + SCC types.SCCCredentials Podman podman_utils.PodmanFlags } @@ -36,6 +37,8 @@ NOTE: migrating to a remote podman is not supported yet! Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { var flags podmanMigrateFlags + flags.MigrateFlags.Coco.IsChanged = cmd.Flags().Changed("coco-replicas") + flags.MigrateFlags.HubXmlrpc.IsChanged = cmd.Flags().Changed("hubxmlrpc-replicas") return utils.CommandHelper(globalFlags, cmd, args, &flags, migrateToPodman) }, } diff --git a/mgradm/cmd/migrate/podman/utils.go b/mgradm/cmd/migrate/podman/utils.go index 179cc1425..2c079b811 100644 --- a/mgradm/cmd/migrate/podman/utils.go +++ b/mgradm/cmd/migrate/podman/utils.go @@ -32,7 +32,7 @@ func migrateToPodman(globalFlags *types.GlobalFlags, flags *podmanMigrateFlags, return err } - serverImage, err := utils.ComputeImage(globalFlags.Registry, utils.DefaultTag, flags.Image) + serverImage, err := utils.ComputeImage(flags.Image.Registry, utils.DefaultTag, flags.Image) if err != nil { return utils.Errorf(err, L("cannot compute image")) } @@ -42,13 +42,13 @@ func migrateToPodman(globalFlags *types.GlobalFlags, flags *podmanMigrateFlags, return err } - authFile, cleaner, err := podman_utils.PodmanLogin(hostData) + authFile, cleaner, err := podman_utils.PodmanLogin(hostData, flags.SCC) if err != nil { return utils.Errorf(err, L("failed to login to registry.suse.com")) } defer cleaner() - preparedImage, err := podman_utils.PrepareImage(authFile, serverImage, flags.Image.PullPolicy) + preparedImage, err := podman_utils.PrepareImage(authFile, serverImage, flags.Image.PullPolicy, true) if err != nil { return err } @@ -73,7 +73,7 @@ func migrateToPodman(globalFlags *types.GlobalFlags, flags *podmanMigrateFlags, if oldPgVersion != newPgVersion { if err := podman.RunPgsqlVersionUpgrade( - authFile, globalFlags.Registry, flags.Image, flags.DbUpgradeImage, oldPgVersion, newPgVersion, + authFile, flags.Image.Registry, flags.Image, flags.DbUpgradeImage, oldPgVersion, newPgVersion, ); err != nil { return utils.Errorf(err, L("cannot run PostgreSQL version upgrade script")) } @@ -100,34 +100,35 @@ func migrateToPodman(globalFlags *types.GlobalFlags, flags *podmanMigrateFlags, } // Prepare confidential computing containers - if err = coco.Upgrade( - authFile, globalFlags.Registry, flags.Coco.Image, flags.Image, - extractedData.DbPort, extractedData.DbName, - extractedData.DbUser, extractedData.DbPassword, - ); err != nil { - return utils.Errorf(err, L("cannot setup confidential computing attestation service")) - } - if flags.Coco.Replicas > 0 { + if err = coco.Upgrade( + authFile, flags.Image.Registry, flags.Coco, flags.Image, + extractedData.DbPort, extractedData.DbName, + extractedData.DbUser, extractedData.DbPassword, + ); err != nil { + return utils.Errorf(err, L("cannot setup confidential computing attestation service")) + } + err := podman_utils.ScaleService(flags.Coco.Replicas, podman_utils.ServerAttestationService) if err != nil { return err } } - if err := hub.SetupHubXmlrpc( - authFile, globalFlags.Registry, flags.Image.PullPolicy, flags.Image.Tag, flags.HubXmlrpc.Image, - ); err != nil { - return err - } - hubReplicas := flags.HubXmlrpc.Replicas if extractedData.HasHubXmlrpcApi { log.Info().Msg(L("Enabling Hub XML-RPC API since it is enabled on the migrated server")) hubReplicas = 1 } - if err := hub.EnableHubXmlrpc(hubReplicas); err != nil { - return err + if hubReplicas > 0 { + if err := hub.SetupHubXmlrpc( + authFile, flags.Image.Registry, flags.Image.PullPolicy, flags.Image.Tag, flags.HubXmlrpc, + ); err != nil { + return err + } + if err := hub.EnableHubXmlrpc(hubReplicas); err != nil { + return err + } } log.Info().Msg(L("Server migrated")) diff --git a/mgradm/cmd/migrate/shared/flags.go b/mgradm/cmd/migrate/shared/flags.go index fc0c3d4f0..d3307a56b 100644 --- a/mgradm/cmd/migrate/shared/flags.go +++ b/mgradm/cmd/migrate/shared/flags.go @@ -6,7 +6,6 @@ package shared import ( "github.com/spf13/cobra" - "github.com/uyuni-project/uyuni-tools/mgradm/cmd/install/shared" "github.com/uyuni-project/uyuni-tools/mgradm/shared/utils" . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/types" @@ -17,19 +16,21 @@ type MigrateFlags struct { Prepare bool Image types.ImageFlags `mapstructure:",squash"` DbUpgradeImage types.ImageFlags `mapstructure:"dbupgrade"` - Coco shared.CocoFlags + Coco utils.CocoFlags User string Mirror string HubXmlrpc utils.HubXmlrpcFlags + Scc types.SCCCredentials } // AddMigrateFlags add migration flags to a command. func AddMigrateFlags(cmd *cobra.Command) { cmd.Flags().Bool("prepare", false, L("Prepare the mgration - copy the data without stopping the source server.")) utils.AddMirrorFlag(cmd) + utils.AddSCCFlag(cmd) utils.AddImageFlag(cmd) utils.AddDbUpgradeImageFlag(cmd) - utils.AddCocoFlag(cmd) - utils.AddHubXmlrpcFlags(cmd) + utils.AddUpgradeCocoFlag(cmd) + utils.AddUpgradeHubXmlrpcFlags(cmd) cmd.Flags().String("user", "root", L("User on the source server. Non-root user must have passwordless sudo privileges (NOPASSWD tag in /etc/sudoers).")) } diff --git a/mgradm/cmd/restart/kubernetes.go b/mgradm/cmd/restart/kubernetes.go index 811017c0c..87acdf40b 100644 --- a/mgradm/cmd/restart/kubernetes.go +++ b/mgradm/cmd/restart/kubernetes.go @@ -8,8 +8,11 @@ package restart import ( "github.com/spf13/cobra" + "github.com/uyuni-project/uyuni-tools/shared" "github.com/uyuni-project/uyuni-tools/shared/kubernetes" + . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/types" + "github.com/uyuni-project/uyuni-tools/shared/utils" ) func kubernetesRestart( @@ -18,5 +21,10 @@ func kubernetesRestart( cmd *cobra.Command, args []string, ) error { - return kubernetes.Restart(kubernetes.ServerApp) + cnx := shared.NewConnection("kubectl", "", kubernetes.ServerFilter) + namespace, err := cnx.GetNamespace("") + if err != nil { + return utils.Errorf(err, L("failed retrieving namespace")) + } + return kubernetes.Restart(namespace, kubernetes.ServerApp) } diff --git a/mgradm/cmd/start/kubernetes.go b/mgradm/cmd/start/kubernetes.go index 7334f7213..c3cb4f85f 100644 --- a/mgradm/cmd/start/kubernetes.go +++ b/mgradm/cmd/start/kubernetes.go @@ -8,8 +8,11 @@ package start import ( "github.com/spf13/cobra" + "github.com/uyuni-project/uyuni-tools/shared" "github.com/uyuni-project/uyuni-tools/shared/kubernetes" + . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/types" + "github.com/uyuni-project/uyuni-tools/shared/utils" ) func kubernetesStart( @@ -18,5 +21,10 @@ func kubernetesStart( cmd *cobra.Command, args []string, ) error { - return kubernetes.Start(kubernetes.ServerApp) + cnx := shared.NewConnection("kubectl", "", kubernetes.ServerFilter) + namespace, err := cnx.GetNamespace("") + if err != nil { + return utils.Errorf(err, L("failed retrieving namespace")) + } + return kubernetes.Start(namespace, kubernetes.ServerApp) } diff --git a/mgradm/cmd/stop/kubernetes.go b/mgradm/cmd/stop/kubernetes.go index 848e00085..4b8cac721 100644 --- a/mgradm/cmd/stop/kubernetes.go +++ b/mgradm/cmd/stop/kubernetes.go @@ -8,8 +8,11 @@ package stop import ( "github.com/spf13/cobra" + "github.com/uyuni-project/uyuni-tools/shared" "github.com/uyuni-project/uyuni-tools/shared/kubernetes" + . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/types" + "github.com/uyuni-project/uyuni-tools/shared/utils" ) func kubernetesStop( @@ -18,5 +21,10 @@ func kubernetesStop( cmd *cobra.Command, args []string, ) error { - return kubernetes.Stop(kubernetes.ServerApp) + cnx := shared.NewConnection("kubectl", "", kubernetes.ServerFilter) + namespace, err := cnx.GetNamespace("") + if err != nil { + return utils.Errorf(err, L("failed retrieving namespace")) + } + return kubernetes.Stop(namespace, kubernetes.ServerApp) } diff --git a/mgradm/cmd/support/config/extractor.go b/mgradm/cmd/support/config/extractor.go index 2a8df9a7f..f2b0f7aab 100644 --- a/mgradm/cmd/support/config/extractor.go +++ b/mgradm/cmd/support/config/extractor.go @@ -10,26 +10,31 @@ import ( "github.com/spf13/cobra" "github.com/uyuni-project/uyuni-tools/shared" "github.com/uyuni-project/uyuni-tools/shared/kubernetes" - . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/podman" "github.com/uyuni-project/uyuni-tools/shared/types" "github.com/uyuni-project/uyuni-tools/shared/utils" ) func extract(globalFlags *types.GlobalFlags, flags *configFlags, cmd *cobra.Command, args []string) error { - cnx := shared.NewConnection(flags.Backend, podman.ServerContainerName, kubernetes.ServerFilter) - fileList, err := cnx.RunSupportConfig() + containerName, err := shared.ChooseObjPodmanOrKubernetes(podman.ServerContainerName, kubernetes.ServerApp) if err != nil { return err } + cnx := shared.NewConnection(flags.Backend, containerName, kubernetes.ServerFilter) + // Copy the generated file locally - tmpDir, err := os.MkdirTemp("", "mgradm-*") + tmpDir, err := utils.TempDir() if err != nil { - return utils.Errorf(err, L("failed to create temporary directory")) + return err } - defer os.RemoveAll(tmpDir) + + fileList, err := cnx.RunSupportConfig(tmpDir) + if err != nil { + return err + } + var fileListHost []string if podman.HasService(podman.ServerService) { fileListHost, err = podman.RunSupportConfigOnPodmanHost(tmpDir) @@ -39,7 +44,12 @@ func extract(globalFlags *types.GlobalFlags, flags *configFlags, cmd *cobra.Comm } if utils.IsInstalled("kubectl") && utils.IsInstalled("helm") { - fileListHost, err = kubernetes.RunSupportConfigOnKubernetesHost(tmpDir) + var namespace string + namespace, err = cnx.GetNamespace("") + if err != nil { + return err + } + fileListHost, err = kubernetes.RunSupportConfigOnKubernetesHost(tmpDir, namespace, kubernetes.ServerFilter) } if err != nil { return err diff --git a/mgradm/cmd/support/ptf/podman/podman.go b/mgradm/cmd/support/ptf/podman/podman.go index 824c00934..191e75e7e 100644 --- a/mgradm/cmd/support/ptf/podman/podman.go +++ b/mgradm/cmd/support/ptf/podman/podman.go @@ -17,6 +17,7 @@ type podmanPTFFlags struct { PTFId string `mapstructure:"ptf"` TestId string `mapstructure:"test"` CustomerId string `mapstructure:"user"` + SCC types.SCCCredentials } // NewCommand for podman installation. diff --git a/mgradm/cmd/support/ptf/podman/utils.go b/mgradm/cmd/support/ptf/podman/utils.go index 25f2992ae..c6c8b92f4 100644 --- a/mgradm/cmd/support/ptf/podman/utils.go +++ b/mgradm/cmd/support/ptf/podman/utils.go @@ -11,6 +11,7 @@ import ( "github.com/rs/zerolog/log" "github.com/spf13/cobra" "github.com/uyuni-project/uyuni-tools/mgradm/shared/podman" + adm_utils "github.com/uyuni-project/uyuni-tools/mgradm/shared/utils" . "github.com/uyuni-project/uyuni-tools/shared/l10n" podman_shared "github.com/uyuni-project/uyuni-tools/shared/podman" "github.com/uyuni-project/uyuni-tools/shared/types" @@ -26,6 +27,8 @@ func ptfForPodman( //we don't want to perform a postgres version upgrade when installing a PTF. //in that case, we can use the upgrade command. dummyImage := types.ImageFlags{} + dummyCoco := adm_utils.CocoFlags{} + dummyHubXmlrpc := adm_utils.HubXmlrpcFlags{} if err := flags.checkParameters(); err != nil { return err } @@ -35,13 +38,13 @@ func ptfForPodman( return err } - authFile, cleaner, err := podman_shared.PodmanLogin(hostData) + authFile, cleaner, err := podman_shared.PodmanLogin(hostData, flags.SCC) if err != nil { return utils.Errorf(err, L("failed to login to registry.suse.com")) } defer cleaner() - return podman.Upgrade(authFile, "", flags.Image, dummyImage, dummyImage, dummyImage) + return podman.Upgrade(authFile, "", flags.Image, dummyImage, dummyCoco, dummyHubXmlrpc) } func (flags *podmanPTFFlags) checkParameters() error { @@ -60,10 +63,12 @@ func (flags *podmanPTFFlags) checkParameters() error { } suffix := "ptf" + projectId := flags.PTFId if flags.TestId != "" { suffix = "test" + projectId = flags.TestId } - flags.Image.Name, err = utils.ComputePTF(flags.CustomerId, flags.PTFId, serverImage, suffix) + flags.Image.Name, err = utils.ComputePTF(flags.CustomerId, projectId, serverImage, suffix) if err != nil { return err } diff --git a/mgradm/cmd/support/sql/sql.go b/mgradm/cmd/support/sql/sql.go index a7e4ea98e..ad2a3422c 100644 --- a/mgradm/cmd/support/sql/sql.go +++ b/mgradm/cmd/support/sql/sql.go @@ -87,7 +87,11 @@ func getBaseCommand(keepStdin bool, flags *configFlags, cnx *shared.Connection) commandArgs = append(commandArgs, podName) if command == "kubectl" { - commandArgs = append(commandArgs, "-c", "uyuni", "--") + namespace, err := cnx.GetNamespace("") + if namespace == "" { + return "", nil, err + } + commandArgs = append(commandArgs, "-n", namespace, "-c", "uyuni", "--") } newEnv := []string{} for _, envValue := range envs { diff --git a/mgradm/cmd/uninstall/kubernetes.go b/mgradm/cmd/uninstall/kubernetes.go index 572c9bc53..61acca141 100644 --- a/mgradm/cmd/uninstall/kubernetes.go +++ b/mgradm/cmd/uninstall/kubernetes.go @@ -46,7 +46,7 @@ func uninstallForKubernetes( if err != nil { return err } - if err := kubernetes.HelmUninstall(serverNamespace, kubeconfig, kubernetes.ProxyApp, !flags.Force); err != nil { + if err := kubernetes.HelmUninstall(serverNamespace, kubeconfig, kubernetes.ServerApp, !flags.Force); err != nil { return err } @@ -86,7 +86,9 @@ func uninstallForKubernetes( // Uninstall cert-manager if we installed it certManagerConnection := shared.NewConnection("kubectl", "", "") - certManagerNamespace, err := certManagerConnection.GetNamespace("cert-manager", "-linstalledby=mgradm") + // TODO: re-add "-linstalledby=mgradm" filter once the label is added in helm release + // mgradm/shared/kubernetes/certificates.go:124 was supposed to be addressing it + certManagerNamespace, err := certManagerConnection.GetNamespace("cert-manager") if err != nil { return err } diff --git a/mgradm/cmd/upgrade/podman/podman.go b/mgradm/cmd/upgrade/podman/podman.go index 0d2045b54..40e87f2ea 100644 --- a/mgradm/cmd/upgrade/podman/podman.go +++ b/mgradm/cmd/upgrade/podman/podman.go @@ -16,6 +16,7 @@ import ( type podmanUpgradeFlags struct { shared.UpgradeFlags `mapstructure:",squash"` + SCC types.SCCCredentials Podman podman.PodmanFlags MirrorPath string } @@ -28,6 +29,8 @@ func NewCommand(globalFlags *types.GlobalFlags) *cobra.Command { Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { var flags podmanUpgradeFlags + flags.UpgradeFlags.Coco.IsChanged = cmd.Flags().Changed("coco-replicas") + flags.UpgradeFlags.HubXmlrpc.IsChanged = cmd.Flags().Changed("hubxmlrpc-replicas") return utils.CommandHelper(globalFlags, cmd, args, &flags, upgradePodman) }, } @@ -45,7 +48,7 @@ func NewCommand(globalFlags *types.GlobalFlags) *cobra.Command { if err := viper.Unmarshal(&flags); err != nil { log.Fatal().Err(err).Msg(L("failed to unmarshall configuration")) } - if err := podman.ShowAvailableTag(globalFlags.Registry, flags.Image); err != nil { + if err := podman.ShowAvailableTag(flags.Image.Registry, flags.Image); err != nil { log.Fatal().Err(err) } }, diff --git a/mgradm/cmd/upgrade/podman/utils.go b/mgradm/cmd/upgrade/podman/utils.go index 6e9ced854..c324bed88 100644 --- a/mgradm/cmd/upgrade/podman/utils.go +++ b/mgradm/cmd/upgrade/podman/utils.go @@ -19,13 +19,13 @@ func upgradePodman(globalFlags *types.GlobalFlags, flags *podmanUpgradeFlags, cm return err } - authFile, cleaner, err := shared_podman.PodmanLogin(hostData) + authFile, cleaner, err := shared_podman.PodmanLogin(hostData, flags.SCC) if err != nil { return utils.Errorf(err, L("failed to login to registry.suse.com")) } defer cleaner() return podman.Upgrade( - authFile, globalFlags.Registry, flags.Image, flags.DbUpgradeImage, flags.Coco.Image, flags.HubXmlrpc, + authFile, flags.Image.Registry, flags.Image, flags.DbUpgradeImage, flags.Coco, flags.HubXmlrpc, ) } diff --git a/mgradm/cmd/upgrade/shared/flags.go b/mgradm/cmd/upgrade/shared/flags.go index aeb3d81c1..19754af37 100644 --- a/mgradm/cmd/upgrade/shared/flags.go +++ b/mgradm/cmd/upgrade/shared/flags.go @@ -6,33 +6,26 @@ package shared import ( "github.com/spf13/cobra" - "github.com/uyuni-project/uyuni-tools/mgradm/cmd/install/shared" "github.com/uyuni-project/uyuni-tools/mgradm/shared/utils" - . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/types" - shared_utils "github.com/uyuni-project/uyuni-tools/shared/utils" ) // UpgradeFlags represents flags used for upgrading a server. type UpgradeFlags struct { Image types.ImageFlags `mapstructure:",squash"` DbUpgradeImage types.ImageFlags `mapstructure:"dbupgrade"` - Coco shared.CocoFlags - HubXmlrpc types.ImageFlags + Coco utils.CocoFlags + HubXmlrpc utils.HubXmlrpcFlags } // AddUpgradeFlags add upgrade flags to a command. func AddUpgradeFlags(cmd *cobra.Command) { utils.AddImageFlag(cmd) + utils.AddSCCFlag(cmd) utils.AddDbUpgradeImageFlag(cmd) - _ = shared_utils.AddFlagHelpGroup(cmd, &shared_utils.Group{ - ID: "coco-container", - Title: L("Confidential Computing Flags"), - }) - utils.AddContainerImageFlags(cmd, "coco", L("confidential computing attestation"), "coco-container", "server-attestation") - _ = shared_utils.AddFlagHelpGroup(cmd, &shared_utils.Group{ID: "hubxmlrpc-container", Title: L("Hub XML-RPC API")}) - utils.AddContainerImageFlags(cmd, "hubxmlrpc", L("Hub XML-RPC API"), "hubxmlrpc-container", "server-hub-xmlrpc-api") + utils.AddUpgradeCocoFlag(cmd) + utils.AddUpgradeHubXmlrpcFlags(cmd) } // AddUpgradeListFlags add upgrade list flags to a command. diff --git a/mgradm/cmd/upgrade/upgrade.go b/mgradm/cmd/upgrade/upgrade.go index 4d9adb36a..265f69f77 100644 --- a/mgradm/cmd/upgrade/upgrade.go +++ b/mgradm/cmd/upgrade/upgrade.go @@ -19,8 +19,6 @@ func NewCommand(globalFlags *types.GlobalFlags) *cobra.Command { Short: L("Upgrade local server"), Long: L("Upgrade local server"), } - upgradeCmd.PersistentFlags().StringVar(&globalFlags.Registry, "registry", "", L("specify a private registry")) - upgradeCmd.AddCommand(podman.NewCommand(globalFlags)) if kubernetesCmd := kubernetes.NewCommand(globalFlags); kubernetesCmd != nil { diff --git a/mgradm/shared/coco/coco.go b/mgradm/shared/coco/coco.go index 2d0da86e4..f891c7344 100644 --- a/mgradm/shared/coco/coco.go +++ b/mgradm/shared/coco/coco.go @@ -9,6 +9,7 @@ import ( "github.com/rs/zerolog/log" "github.com/uyuni-project/uyuni-tools/mgradm/shared/templates" + adm_utils "github.com/uyuni-project/uyuni-tools/mgradm/shared/utils" . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/podman" "github.com/uyuni-project/uyuni-tools/shared/types" @@ -19,7 +20,7 @@ import ( func Upgrade( authFile string, registry string, - image types.ImageFlags, + cocoFlags adm_utils.CocoFlags, baseImage types.ImageFlags, dbPort int, dbName string, @@ -27,23 +28,28 @@ func Upgrade( dbPassword string, ) error { if err := writeCocoServiceFiles( - authFile, registry, image, baseImage, dbName, dbPort, dbUser, dbPassword, + authFile, registry, cocoFlags, baseImage, dbName, dbPort, dbUser, dbPassword, ); err != nil { return err } - return podman.RestartInstantiated(podman.ServerAttestationService) + + return podman.ScaleService(cocoFlags.Replicas, podman.ServerAttestationService) } func writeCocoServiceFiles( authFile string, registry string, - image types.ImageFlags, + cocoFlags adm_utils.CocoFlags, baseImage types.ImageFlags, dbName string, dbPort int, dbUser string, dbPassword string, ) error { + image := cocoFlags.Image + currentReplicas := podman.CurrentReplicaCount(podman.ServerAttestationService) + log.Debug().Msgf("Current Confidential Computing replicas running are %d.", currentReplicas) + if image.Tag == "" { if baseImage.Tag != "" { image.Tag = baseImage.Tag @@ -51,12 +57,20 @@ func writeCocoServiceFiles( image.Tag = "latest" } } + if !cocoFlags.IsChanged { + log.Debug().Msg("Confidential Computing settings are not changed.") + } else if cocoFlags.Replicas == 0 { + log.Debug().Msg("No Confidential Computing requested.") + } + cocoImage, err := utils.ComputeImage(registry, baseImage.Tag, image) if err != nil { return utils.Errorf(err, L("failed to compute image URL")) } - preparedImage, err := podman.PrepareImage(authFile, cocoImage, baseImage.PullPolicy) + pullEnabled := (cocoFlags.Replicas > 0 && cocoFlags.IsChanged) || (currentReplicas > 0 && !cocoFlags.IsChanged) + + preparedImage, err := podman.PrepareImage(authFile, cocoImage, baseImage.PullPolicy, pullEnabled) if err != nil { return err } @@ -94,9 +108,8 @@ Environment=database_password=%s`, preparedImage, dbPort, dbName, dbUser, dbPass // SetupCocoContainer sets up the confidential computing attestation service. func SetupCocoContainer( authFile string, - replicas int, registry string, - image types.ImageFlags, + coco adm_utils.CocoFlags, baseImage types.ImageFlags, dbName string, dbPort int, @@ -104,9 +117,9 @@ func SetupCocoContainer( dbPassword string, ) error { if err := writeCocoServiceFiles( - authFile, registry, image, baseImage, dbName, dbPort, dbUser, dbPassword, + authFile, registry, coco, baseImage, dbName, dbPort, dbUser, dbPassword, ); err != nil { return err } - return podman.ScaleService(replicas, podman.ServerAttestationService) + return podman.ScaleService(coco.Replicas, podman.ServerAttestationService) } diff --git a/mgradm/shared/hub/xmlrpcapi.go b/mgradm/shared/hub/xmlrpcapi.go index 6291eb02b..cdb98e097 100644 --- a/mgradm/shared/hub/xmlrpcapi.go +++ b/mgradm/shared/hub/xmlrpcapi.go @@ -9,9 +9,9 @@ import ( "github.com/rs/zerolog/log" "github.com/uyuni-project/uyuni-tools/mgradm/shared/templates" + cmd_utils "github.com/uyuni-project/uyuni-tools/mgradm/shared/utils" . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/podman" - "github.com/uyuni-project/uyuni-tools/shared/types" "github.com/uyuni-project/uyuni-tools/shared/utils" ) @@ -22,15 +22,28 @@ func SetupHubXmlrpc( registry string, pullPolicy string, tag string, - hubxmlrpcImage types.ImageFlags, + hubXmlrpcFlags cmd_utils.HubXmlrpcFlags, ) error { - log.Info().Msg(L("Setting Hub XML-RPC API service.")) - hubXmlrpcImage, err := utils.ComputeImage(registry, tag, hubxmlrpcImage) + image := hubXmlrpcFlags.Image + currentReplicas := podman.CurrentReplicaCount(podman.HubXmlrpcService) + log.Debug().Msgf("Current HUB replicas running are %d.", currentReplicas) + + if hubXmlrpcFlags.Replicas == 0 { + log.Debug().Msg("No HUB requested.") + } + if !hubXmlrpcFlags.IsChanged { + log.Info().Msgf(L("No changes requested for hub. Keep %d replicas."), currentReplicas) + } + + pullEnabled := (hubXmlrpcFlags.Replicas > 0 && hubXmlrpcFlags.IsChanged) || (currentReplicas > 0 && !hubXmlrpcFlags.IsChanged) + + hubXmlrpcImage, err := utils.ComputeImage(registry, tag, image) + if err != nil { return utils.Errorf(err, L("failed to compute image URL")) } - preparedImage, err := podman.PrepareImage(authFile, hubXmlrpcImage, pullPolicy) + preparedImage, err := podman.PrepareImage(authFile, hubXmlrpcImage, pullPolicy, pullEnabled) if err != nil { return err } @@ -39,6 +52,9 @@ func SetupHubXmlrpc( return utils.Errorf(err, L("cannot generate systemd service")) } + if err := EnableHubXmlrpc(hubXmlrpcFlags.Replicas); err != nil { + return err + } return nil } @@ -61,8 +77,8 @@ func EnableHubXmlrpc(replicas int) error { } // Upgrade updates the systemd service files and restarts the containers if needed. -func Upgrade(authFile string, registry string, pullPolicy string, tag string, hubXmlrpcImage types.ImageFlags) error { - if err := SetupHubXmlrpc(authFile, registry, pullPolicy, tag, hubXmlrpcImage); err != nil { +func Upgrade(authFile string, registry string, pullPolicy string, tag string, hubXmlrpcFlags cmd_utils.HubXmlrpcFlags) error { + if err := SetupHubXmlrpc(authFile, registry, pullPolicy, tag, hubXmlrpcFlags); err != nil { return err } diff --git a/mgradm/shared/kubernetes/certificates.go b/mgradm/shared/kubernetes/certificates.go index 822f35b6e..54a91530a 100644 --- a/mgradm/shared/kubernetes/certificates.go +++ b/mgradm/shared/kubernetes/certificates.go @@ -20,10 +20,10 @@ import ( "github.com/uyuni-project/uyuni-tools/shared/utils" ) -func installTlsSecret(namespace string, serverCrt []byte, serverKey []byte, rootCaCrt []byte) { - crdsDir, err := os.MkdirTemp("", "mgradm-*") +func installTlsSecret(namespace string, serverCrt []byte, serverKey []byte, rootCaCrt []byte) error { + crdsDir, err := utils.TempDir() if err != nil { - log.Fatal().Err(err).Msgf(L("failed to create temporary directory")) + return err } defer os.RemoveAll(crdsDir) @@ -38,14 +38,15 @@ func installTlsSecret(namespace string, serverCrt []byte, serverKey []byte, root } if err = utils.WriteTemplateToFile(tlsSecretData, secretPath, 0500, true); err != nil { - log.Fatal().Err(err).Msg(L("Failed to generate uyuni-crt secret definition")) + return utils.Errorf(err, L("Failed to generate uyuni-crt secret definition")) } err = utils.RunCmd("kubectl", "apply", "-f", secretPath) if err != nil { - log.Fatal().Err(err).Msg(L("Failed to create uyuni-crt TLS secret")) + return utils.Errorf(err, L("Failed to create uyuni-crt TLS secret")) } - createCaConfig(rootCaCrt) + createCaConfig(namespace, rootCaCrt) + return nil } // Install cert-manager and its CRDs using helm in the cert-manager namespace if needed @@ -59,9 +60,9 @@ func installSslIssuers(helmFlags *cmd_utils.HelmFlags, sslFlags *cmd_utils.SslCe } log.Info().Msg(L("Creating SSL certificate issuer")) - crdsDir, err := os.MkdirTemp("", "mgradm-*") + crdsDir, err := utils.TempDir() if err != nil { - return []string{}, utils.Errorf(err, L("failed to create temporary directory")) + return []string{}, err } defer os.RemoveAll(crdsDir) @@ -93,7 +94,7 @@ func installSslIssuers(helmFlags *cmd_utils.HelmFlags, sslFlags *cmd_utils.SslCe // Wait for issuer to be ready for i := 0; i < 60; i++ { out, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", "get", "-o=jsonpath={.status.conditions[*].type}", - "issuer", "uyuni-ca-issuer") + "issuer", "uyuni-ca-issuer", "-n", issuerData.Namespace) if err == nil && string(out) == "Ready" { return []string{"--set-json", "ingressSslAnnotations={\"cert-manager.io/issuer\": \"uyuni-ca-issuer\"}"}, nil } @@ -112,7 +113,7 @@ func installCertManager(helmFlags *cmd_utils.HelmFlags, kubeconfig string, image namespace := helmFlags.CertManager.Namespace args := []string{ - "--set", "installCRDs=true", + "--set", "crds.enabled=true", "--set-json", "global.commonLabels={\"installedby\": \"mgradm\"}", "--set", "images.pullPolicy=" + kubernetes.GetPullPolicy(imagePullPolicy), } @@ -141,20 +142,20 @@ func installCertManager(helmFlags *cmd_utils.HelmFlags, kubeconfig string, image return nil } -func extractCaCertToConfig() { +func extractCaCertToConfig(namespace string) { // TODO Replace with [trust-manager](https://cert-manager.io/docs/projects/trust-manager/) to automate this const jsonPath = "-o=jsonpath={.data.ca\\.crt}" log.Info().Msg(L("Extracting CA certificate to a configmap")) // Skip extracting if the configmap is already present - out, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", "get", "configmap", "uyuni-ca", jsonPath) + out, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", "get", "configmap", "uyuni-ca", jsonPath, "-n", namespace) log.Info().Msgf(L("CA cert: %s"), string(out)) if err == nil && len(out) > 0 { log.Info().Msg(L("uyuni-ca configmap already existing, skipping extraction")) return } - out, err = utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", "get", "secret", "uyuni-ca", jsonPath) + out, err = utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", "get", "secret", "uyuni-ca", jsonPath, "-n", namespace) if err != nil { log.Fatal().Err(err).Msgf(L("Failed to get uyuni-ca certificate")) } @@ -164,12 +165,12 @@ func extractCaCertToConfig() { log.Fatal().Err(err).Msgf(L("Failed to base64 decode CA certificate")) } - createCaConfig(decoded) + createCaConfig(namespace, decoded) } -func createCaConfig(ca []byte) { +func createCaConfig(namespace string, ca []byte) { valueArg := "--from-literal=ca.crt=" + string(ca) - if err := utils.RunCmd("kubectl", "create", "configmap", "uyuni-ca", valueArg); err != nil { + if err := utils.RunCmd("kubectl", "create", "configmap", "uyuni-ca", valueArg, "-n", namespace); err != nil { log.Fatal().Err(err).Msg(L("Failed to create uyuni-ca config map from certificate")) } } diff --git a/mgradm/shared/kubernetes/install.go b/mgradm/shared/kubernetes/install.go index 659eac00f..0f4c2ce7f 100644 --- a/mgradm/shared/kubernetes/install.go +++ b/mgradm/shared/kubernetes/install.go @@ -71,7 +71,9 @@ func DeployCertificate(helmFlags *cmd_utils.HelmFlags, sslFlags *cmd_utils.SslCe ca *ssl.SslPair, kubeconfig string, fqdn string, imagePullPolicy string) ([]string, error) { helmArgs := []string{} if sslFlags.UseExisting() { - DeployExistingCertificate(helmFlags, sslFlags, kubeconfig) + if err := DeployExistingCertificate(helmFlags, sslFlags, kubeconfig); err != nil { + return helmArgs, err + } } else { // Install cert-manager and a self-signed issuer ready for use issuerArgs, err := installSslIssuers(helmFlags, sslFlags, rootCa, ca, kubeconfig, fqdn, imagePullPolicy) @@ -81,21 +83,24 @@ func DeployCertificate(helmFlags *cmd_utils.HelmFlags, sslFlags *cmd_utils.SslCe helmArgs = append(helmArgs, issuerArgs...) // Extract the CA cert into uyuni-ca config map as the container shouldn't have the CA secret - extractCaCertToConfig() + extractCaCertToConfig(helmFlags.Uyuni.Namespace) } return helmArgs, nil } // DeployExistingCertificate execute a deploy of an existing certificate. -func DeployExistingCertificate(helmFlags *cmd_utils.HelmFlags, sslFlags *cmd_utils.SslCertFlags, kubeconfig string) { +func DeployExistingCertificate(helmFlags *cmd_utils.HelmFlags, sslFlags *cmd_utils.SslCertFlags, kubeconfig string) error { // Deploy the SSL Certificate secret and CA configmap serverCrt, rootCaCrt := ssl.OrderCas(&sslFlags.Ca, &sslFlags.Server) serverKey := utils.ReadFile(sslFlags.Server.Key) - installTlsSecret(helmFlags.Uyuni.Namespace, serverCrt, serverKey, rootCaCrt) + if err := installTlsSecret(helmFlags.Uyuni.Namespace, serverCrt, serverKey, rootCaCrt); err != nil { + return err + } // Extract the CA cert into uyuni-ca config map as the container shouldn't have the CA secret - extractCaCertToConfig() + extractCaCertToConfig(helmFlags.Uyuni.Namespace) + return nil } // UyuniUpgrade runs an helm upgrade using images and helm configuration as parameters. @@ -141,14 +146,19 @@ func Upgrade( return fmt.Errorf(L("install %s before running this command"), binary) } } + cnx := shared.NewConnection("kubectl", "", kubernetes.ServerFilter) + namespace, err := cnx.GetNamespace("") + if err != nil { + return utils.Errorf(err, L("failed retrieving namespace")) + } - serverImage, err := utils.ComputeImage(globalFlags.Registry, utils.DefaultTag, *image) + serverImage, err := utils.ComputeImage(image.Registry, utils.DefaultTag, *image) if err != nil { return utils.Errorf(err, L("failed to compute image URL")) } - inspectedValues, err := kubernetes.InspectKubernetes(serverImage, image.PullPolicy) + inspectedValues, err := kubernetes.InspectKubernetes(namespace, serverImage, image.PullPolicy) if err != nil { return utils.Errorf(err, L("cannot inspect kubernetes values")) } @@ -169,35 +179,35 @@ func Upgrade( } kubeconfig := clusterInfos.GetKubeconfig() - scriptDir, err := os.MkdirTemp("", "mgradm-*") - defer os.RemoveAll(scriptDir) + scriptDir, err := utils.TempDir() if err != nil { - return utils.Errorf(err, L("failed to create temporary directory")) + return err } + defer os.RemoveAll(scriptDir) //this is needed because folder with script needs to be mounted //check the node before scaling down - nodeName, err := kubernetes.GetNode("uyuni") + nodeName, err := kubernetes.GetNode(namespace, kubernetes.ServerFilter) if err != nil { return utils.Errorf(err, L("cannot find node running uyuni")) } - err = kubernetes.ReplicasTo(kubernetes.ServerApp, 0) + err = kubernetes.ReplicasTo(namespace, kubernetes.ServerApp, 0) if err != nil { return utils.Errorf(err, L("cannot set replica to 0")) } defer func() { // if something is running, we don't need to set replicas to 1 - if _, err = kubernetes.GetNode("uyuni"); err != nil { - err = kubernetes.ReplicasTo(kubernetes.ServerApp, 1) + if _, err = kubernetes.GetNode(namespace, kubernetes.ServerFilter); err != nil { + err = kubernetes.ReplicasTo(namespace, kubernetes.ServerApp, 1) } }() if inspectedValues.ImagePgVersion > inspectedValues.CurrentPgVersion { log.Info().Msgf(L("Previous PostgreSQL is %[1]s, new one is %[2]s. Performing a DB version upgrade…"), inspectedValues.CurrentPgVersion, inspectedValues.ImagePgVersion) - if err := RunPgsqlVersionUpgrade(globalFlags.Registry, *image, *upgradeImage, nodeName, + if err := RunPgsqlVersionUpgrade(image.Registry, *image, *upgradeImage, nodeName, namespace, inspectedValues.CurrentPgVersion, inspectedValues.ImagePgVersion, ); err != nil { return utils.Errorf(err, L("cannot run PostgreSQL version upgrade script")) @@ -210,18 +220,29 @@ func Upgrade( } schemaUpdateRequired := inspectedValues.CurrentPgVersion != inspectedValues.ImagePgVersion - if err := RunPgsqlFinalizeScript(serverImage, image.PullPolicy, nodeName, schemaUpdateRequired, false); err != nil { + if err := RunPgsqlFinalizeScript(serverImage, image.PullPolicy, namespace, nodeName, schemaUpdateRequired, false); err != nil { return utils.Errorf(err, L("cannot run PostgreSQL finalize script")) } - if err := RunPostUpgradeScript(serverImage, image.PullPolicy, nodeName); err != nil { + if err := RunPostUpgradeScript(serverImage, image.PullPolicy, namespace, nodeName); err != nil { return utils.Errorf(err, L("cannot run post upgrade script")) } - err = UyuniUpgrade(serverImage, image.PullPolicy, &helm, kubeconfig, fqdn, clusterInfos.Ingress) + helmArgs := []string{} + + // Get the registry secret name if any + pullSecret, err := kubernetes.GetDeploymentImagePullSecret(namespace, kubernetes.ServerFilter) + if err != nil { + return err + } + if pullSecret != "" { + helmArgs = append(helmArgs, "--set", "registrySecret="+pullSecret) + } + + err = UyuniUpgrade(serverImage, image.PullPolicy, &helm, kubeconfig, fqdn, clusterInfos.Ingress, helmArgs...) if err != nil { return utils.Errorf(err, L("cannot upgrade to image %s"), serverImage) } - return kubernetes.WaitForDeployment(helm.Uyuni.Namespace, "uyuni", "uyuni") + return kubernetes.WaitForDeployment(namespace, "uyuni", "uyuni") } diff --git a/mgradm/shared/kubernetes/k3s.go b/mgradm/shared/kubernetes/k3s.go index 38ba2f477..4d65ee122 100644 --- a/mgradm/shared/kubernetes/k3s.go +++ b/mgradm/shared/kubernetes/k3s.go @@ -5,7 +5,6 @@ package kubernetes import ( - "errors" "fmt" "os" @@ -29,12 +28,20 @@ func InstallK3sTraefikConfig(debug bool) { } // RunPgsqlVersionUpgrade perform a PostgreSQL major upgrade. -func RunPgsqlVersionUpgrade(registry string, image types.ImageFlags, upgradeImage types.ImageFlags, nodeName string, oldPgsql string, newPgsql string) error { - scriptDir, err := os.MkdirTemp("", "mgradm-*") - defer os.RemoveAll(scriptDir) +func RunPgsqlVersionUpgrade( + registry string, + image types.ImageFlags, + upgradeImage types.ImageFlags, + namespace string, + nodeName string, + oldPgsql string, + newPgsql string, +) error { + scriptDir, err := utils.TempDir() if err != nil { - return errors.New(L("failed to create temporary directory: %s")) + return err } + defer os.RemoveAll(scriptDir) if newPgsql > oldPgsql { log.Info().Msgf(L("Previous PostgreSQL is %[1]s, new one is %[2]s. Performing a DB version upgrade…"), oldPgsql, newPgsql) @@ -60,7 +67,7 @@ func RunPgsqlVersionUpgrade(registry string, image types.ImageFlags, upgradeImag } //delete pending pod and then check the node, because in presence of more than a pod GetNode return is wrong - if err := kubernetes.DeletePod(pgsqlVersionUpgradeContainer, kubernetes.ServerFilter); err != nil { + if err := kubernetes.DeletePod(namespace, pgsqlVersionUpgradeContainer, kubernetes.ServerFilter); err != nil { return utils.Errorf(err, L("cannot delete %s"), pgsqlVersionUpgradeContainer) } @@ -88,7 +95,7 @@ func RunPgsqlVersionUpgrade(registry string, image types.ImageFlags, upgradeImag return err } - err = kubernetes.RunPod(pgsqlVersionUpgradeContainer, kubernetes.ServerFilter, upgradeImageUrl, image.PullPolicy, "/var/lib/uyuni-tools/"+pgsqlVersionUpgradeScriptName, overridePgsqlVersioUpgrade) + err = kubernetes.RunPod(namespace, pgsqlVersionUpgradeContainer, kubernetes.ServerFilter, upgradeImageUrl, image.PullPolicy, "/var/lib/uyuni-tools/"+pgsqlVersionUpgradeScriptName, overridePgsqlVersioUpgrade) if err != nil { return utils.Errorf(err, L("error running container %s"), pgsqlVersionUpgradeContainer) } @@ -98,20 +105,20 @@ func RunPgsqlVersionUpgrade(registry string, image types.ImageFlags, upgradeImag // RunPgsqlFinalizeScript run the script with all the action required to a db after upgrade. func RunPgsqlFinalizeScript( - serverImage string, pullPolicy string, nodeName string, schemaUpdateRequired bool, migration bool, + serverImage string, pullPolicy string, namespace string, nodeName string, schemaUpdateRequired bool, migration bool, ) error { - scriptDir, err := os.MkdirTemp("", "mgradm-*") - defer os.RemoveAll(scriptDir) + scriptDir, err := utils.TempDir() if err != nil { - return fmt.Errorf(L("failed to create temporary directory: %s")) + return err } + defer os.RemoveAll(scriptDir) pgsqlFinalizeContainer := "uyuni-finalize-pgsql" pgsqlFinalizeScriptName, err := adm_utils.GenerateFinalizePostgresScript(scriptDir, true, schemaUpdateRequired, true, migration, true) if err != nil { return utils.Errorf(err, L("cannot generate PostgreSQL finalization script")) } //delete pending pod and then check the node, because in presence of more than a pod GetNode return is wrong - if err := kubernetes.DeletePod(pgsqlFinalizeContainer, kubernetes.ServerFilter); err != nil { + if err := kubernetes.DeletePod(namespace, pgsqlFinalizeContainer, kubernetes.ServerFilter); err != nil { return utils.Errorf(err, L("cannot delete %s"), pgsqlFinalizeContainer) } //generate deploy data @@ -136,7 +143,7 @@ func RunPgsqlFinalizeScript( if err != nil { return err } - err = kubernetes.RunPod(pgsqlFinalizeContainer, kubernetes.ServerFilter, serverImage, pullPolicy, "/var/lib/uyuni-tools/"+pgsqlFinalizeScriptName, overridePgsqlFinalize) + err = kubernetes.RunPod(namespace, pgsqlFinalizeContainer, kubernetes.ServerFilter, serverImage, pullPolicy, "/var/lib/uyuni-tools/"+pgsqlFinalizeScriptName, overridePgsqlFinalize) if err != nil { return utils.Errorf(err, L("error running container %s"), pgsqlFinalizeContainer) } @@ -144,12 +151,12 @@ func RunPgsqlFinalizeScript( } // RunPostUpgradeScript run the script with the changes to apply after the upgrade. -func RunPostUpgradeScript(serverImage string, pullPolicy string, nodeName string) error { - scriptDir, err := os.MkdirTemp("", "mgradm-*") - defer os.RemoveAll(scriptDir) +func RunPostUpgradeScript(serverImage string, pullPolicy string, namespace string, nodeName string) error { + scriptDir, err := utils.TempDir() if err != nil { - return fmt.Errorf(L("failed to create temporary directory: %s")) + return err } + defer os.RemoveAll(scriptDir) postUpgradeContainer := "uyuni-post-upgrade" postUpgradeScriptName, err := adm_utils.GeneratePostUpgradeScript(scriptDir, "localhost") if err != nil { @@ -157,7 +164,7 @@ func RunPostUpgradeScript(serverImage string, pullPolicy string, nodeName string } //delete pending pod and then check the node, because in presence of more than a pod GetNode return is wrong - if err := kubernetes.DeletePod(postUpgradeContainer, kubernetes.ServerFilter); err != nil { + if err := kubernetes.DeletePod(namespace, postUpgradeContainer, kubernetes.ServerFilter); err != nil { return utils.Errorf(err, L("cannot delete %s"), postUpgradeContainer) } //generate deploy data @@ -183,9 +190,10 @@ func RunPostUpgradeScript(serverImage string, pullPolicy string, nodeName string return err } - err = kubernetes.RunPod(postUpgradeContainer, kubernetes.ServerFilter, serverImage, pullPolicy, "/var/lib/uyuni-tools/"+postUpgradeScriptName, overridePostUpgrade) + err = kubernetes.RunPod(namespace, postUpgradeContainer, kubernetes.ServerFilter, serverImage, pullPolicy, "/var/lib/uyuni-tools/"+postUpgradeScriptName, overridePostUpgrade) if err != nil { return utils.Errorf(err, L("error running container %s"), postUpgradeContainer) } + return nil } diff --git a/mgradm/shared/podman/podman.go b/mgradm/shared/podman/podman.go index 1ae79cf05..e683f3b0b 100644 --- a/mgradm/shared/podman/podman.go +++ b/mgradm/shared/podman/podman.go @@ -198,6 +198,18 @@ func RunMigration( []string{"/var/lib/uyuni-tools/migrate.sh"}); err != nil { return nil, utils.Errorf(err, L("cannot run uyuni migration container")) } + + //now that everything is migrated, we need to fix SELinux permission + for _, volumeMount := range utils.ServerVolumeMounts { + mountPoint, err := GetMountPoint(volumeMount.Name) + if err != nil { + return nil, utils.Errorf(err, L("cannot inspect volume %s"), volumeMount) + } + if err := utils.RunCmdStdMapping(zerolog.DebugLevel, "restorecon", "-F", "-r", "-v", mountPoint); err != nil { + return nil, utils.Errorf(err, L("cannot restore %s SELinux permissions"), mountPoint) + } + } + extractedData, err := utils.ReadInspectData[utils.InspectResult](path.Join(scriptDir, "data")) if err != nil { @@ -218,10 +230,10 @@ func RunPgsqlVersionUpgrade( ) error { log.Info().Msgf(L("Previous PostgreSQL is %[1]s, new one is %[2]s. Performing a DB version upgrade…"), oldPgsql, newPgsql) - scriptDir, err := os.MkdirTemp("", "mgradm-*") + scriptDir, err := utils.TempDir() defer os.RemoveAll(scriptDir) if err != nil { - return utils.Errorf(err, L("failed to create temporary directory")) + return err } if newPgsql > oldPgsql { pgsqlVersionUpgradeContainer := "uyuni-upgrade-pgsql" @@ -244,7 +256,7 @@ func RunPgsqlVersionUpgrade( } } - preparedImage, err := podman.PrepareImage(authFile, upgradeImageUrl, image.PullPolicy) + preparedImage, err := podman.PrepareImage(authFile, upgradeImageUrl, image.PullPolicy, true) if err != nil { return err } @@ -267,10 +279,10 @@ func RunPgsqlVersionUpgrade( // RunPgsqlFinalizeScript run the script with all the action required to a db after upgrade. func RunPgsqlFinalizeScript(serverImage string, schemaUpdateRequired bool, migration bool) error { - scriptDir, err := os.MkdirTemp("", "mgradm-*") + scriptDir, err := utils.TempDir() defer os.RemoveAll(scriptDir) if err != nil { - return utils.Errorf(err, L("failed to create temporary directory")) + return err } extraArgs := []string{ @@ -294,10 +306,10 @@ func RunPgsqlFinalizeScript(serverImage string, schemaUpdateRequired bool, migra // RunPostUpgradeScript run the script with the changes to apply after the upgrade. func RunPostUpgradeScript(serverImage string) error { - scriptDir, err := os.MkdirTemp("", "mgradm-*") + scriptDir, err := utils.TempDir() defer os.RemoveAll(scriptDir) if err != nil { - return utils.Errorf(err, L("failed to create temporary directory")) + return err } postUpgradeContainer := "uyuni-post-upgrade" extraArgs := []string{ @@ -322,8 +334,8 @@ func Upgrade( registry string, image types.ImageFlags, upgradeImage types.ImageFlags, - cocoImage types.ImageFlags, - hubXmlrpcImage types.ImageFlags, + cocoFlags adm_utils.CocoFlags, + hubXmlrpcFlags adm_utils.HubXmlrpcFlags, ) error { if err := CallCloudGuestRegistryAuth(); err != nil { return err @@ -334,7 +346,7 @@ func Upgrade( return fmt.Errorf(L("failed to compute image URL")) } - preparedImage, err := podman.PrepareImage(authFile, serverImage, image.PullPolicy) + preparedImage, err := podman.PrepareImage(authFile, serverImage, image.PullPolicy, true) if err != nil { return err } @@ -393,14 +405,14 @@ func Upgrade( } log.Info().Msg(L("Waiting for the server to start…")) - err = coco.Upgrade(authFile, registry, cocoImage, image, + err = coco.Upgrade(authFile, registry, cocoFlags, image, inspectedValues.DbPort, inspectedValues.DbName, inspectedValues.DbUser, inspectedValues.DbPassword) if err != nil { return utils.Errorf(err, L("error upgrading confidential computing service.")) } if err := hub.Upgrade( - authFile, registry, image.PullPolicy, image.Tag, hubXmlrpcImage, + authFile, registry, image.PullPolicy, image.Tag, hubXmlrpcFlags, ); err != nil { return err } @@ -410,10 +422,10 @@ func Upgrade( // Inspect check values on a given image and deploy. func Inspect(preparedImage string) (*utils.ServerInspectData, error) { - scriptDir, err := os.MkdirTemp("", "mgradm-*") + scriptDir, err := utils.TempDir() defer os.RemoveAll(scriptDir) if err != nil { - return nil, utils.Errorf(err, L("failed to create temporary directory")) + return nil, err } inspector := utils.NewServerInspector(scriptDir) @@ -452,3 +464,13 @@ func CallCloudGuestRegistryAuth() error { // silently ignore error if it is missing return nil } + +// GetMountPoint return folder where a given volume is mounted. +func GetMountPoint(volumeName string) (string, error) { + args := []string{"volume", "inspect", "--format", "{{.Mountpoint}}", volumeName} + mountPoint, err := utils.RunCmdOutput(zerolog.DebugLevel, "podman", args...) + if err != nil { + return "", err + } + return strings.TrimSuffix(string(mountPoint), "\n"), nil +} diff --git a/mgradm/shared/templates/hubXmlrpcServiceTemplate.go b/mgradm/shared/templates/hubXmlrpcServiceTemplate.go index 742c856ee..f7f31f528 100644 --- a/mgradm/shared/templates/hubXmlrpcServiceTemplate.go +++ b/mgradm/shared/templates/hubXmlrpcServiceTemplate.go @@ -37,7 +37,7 @@ ExecStart=/usr/bin/podman run \ -p {{ .Exposed }}:{{ .Port }}{{if .Protocol}}/{{ .Protocol }}{{end}} \ {{- end }} {{- range .Volumes }} - -v {{ .Name }}:{{ .MountPath }} \ + -v {{ .Name }}:{{ .MountPath }}:z \ {{- end }} -e HUB_API_URL \ -e HUB_CONNECT_TIMEOUT \ diff --git a/mgradm/shared/templates/issuerTemplate.go b/mgradm/shared/templates/issuerTemplate.go index c75fe7277..733c9531c 100644 --- a/mgradm/shared/templates/issuerTemplate.go +++ b/mgradm/shared/templates/issuerTemplate.go @@ -10,7 +10,15 @@ import ( ) // Deploy self-signed issuer or CA Certificate and key. -const issuerTemplate = `{{if and .Certificate .Key -}} +const issuerTemplate = ` +apiVersion: v1 +kind: Namespace +metadata: + name: {{ .Namespace }} + labels: + name: {{ .Namespace }} +--- +{{if and .Certificate .Key -}} apiVersion: v1 kind: Secret type: kubernetes.io/tls diff --git a/mgradm/shared/templates/mgrSetupScriptTemplate.go b/mgradm/shared/templates/mgrSetupScriptTemplate.go index e862475d7..fab3525fa 100644 --- a/mgradm/shared/templates/mgrSetupScriptTemplate.go +++ b/mgradm/shared/templates/mgrSetupScriptTemplate.go @@ -11,7 +11,7 @@ import ( const mgrSetupScriptTemplate = `#!/bin/sh {{- range $name, $value := .Env }} -export {{ $name }}={{ $value }} +export {{ $name }}='{{ $value }}' {{- end }} {{- if .DebugJava }} diff --git a/mgradm/shared/templates/migrateScriptTemplate.go b/mgradm/shared/templates/migrateScriptTemplate.go index ff76e65a2..693713a08 100644 --- a/mgradm/shared/templates/migrateScriptTemplate.go +++ b/mgradm/shared/templates/migrateScriptTemplate.go @@ -37,7 +37,9 @@ $SSH {{ .SourceFqdn }} "sudo systemctl stop postgresql.service" {{ end }} while IFS="," read -r target path ; do + if $SSH -n {{ .SourceFqdn }} test -e "$path" ; then echo "-/ $path" + fi done < distros > exclude_list # exclude all config files which already exist and are not marked noreplace @@ -48,6 +50,11 @@ rpm -qa --qf '[%{fileflags},%{filenames}\n]' |grep ",/etc/" | while IFS="," read fi done +echo "-/ .repo_gpgcheck" >> exclude_list + +# exclude mgr-sync configuration file, in this way it would be re-generated (bsc#1228685) +echo "-/ /root/.mgr-sync" >> exclude_list + # exclude tomcat default configuration. All settings should be store in /etc/tomcat/conf.d/ echo "-/ /etc/sysconfig/tomcat" >> exclude_list echo "-/ /etc/tomcat/tomcat.conf" >> exclude_list @@ -63,7 +70,7 @@ for folder in {{ range .Volumes }}{{ .MountPath }} {{ end }}; do if $SSH {{ .SourceFqdn }} test -e $folder; then echo "Copying $folder..." - rsync -e "$SSH" --rsync-path='sudo rsync' -avz -f "merge exclude_list" {{ .SourceFqdn }}:$folder/ $folder; + rsync -e "$SSH" --rsync-path='sudo rsync' -avzL --trust-sender -f 'merge exclude_list' {{ .SourceFqdn }}:$folder/ $folder; else echo "Skipping missing $folder..." fi diff --git a/mgradm/shared/templates/pgsqlVersionUpgradeScriptTemplate.go b/mgradm/shared/templates/pgsqlVersionUpgradeScriptTemplate.go index 55c28a52d..dc75b12d3 100644 --- a/mgradm/shared/templates/pgsqlVersionUpgradeScriptTemplate.go +++ b/mgradm/shared/templates/pgsqlVersionUpgradeScriptTemplate.go @@ -47,7 +47,9 @@ echo "Successfully initialized new postgresql $NEW_VERSION database." su -s /bin/bash - postgres -c "pg_upgrade --old-bindir=/usr/lib/postgresql$OLD_VERSION/bin --new-bindir=/usr/lib/postgresql$NEW_VERSION/bin --old-datadir=/var/lib/pgsql/data-pg$OLD_VERSION --new-datadir=/var/lib/pgsql/data $FAST_UPGRADE" cp /var/lib/pgsql/data-pg$OLD_VERSION/pg_hba.conf /var/lib/pgsql/data +mv /var/lib/pgsql/data-pg$OLD_VERSION/pg_hba.conf /var/lib/pgsql/data-pg$OLD_VERSION/pg_hba.conf.migrated cp /var/lib/pgsql/data-pg$OLD_VERSION/postgresql.conf /var/lib/pgsql/data/ +mv /var/lib/pgsql/data-pg$OLD_VERSION/postgresql.conf /var/lib/pgsql/data-pg$OLD_VERSION/postgresql.conf.migrated echo "DONE"` diff --git a/mgradm/shared/templates/postUpgradeScriptTemplate.go b/mgradm/shared/templates/postUpgradeScriptTemplate.go index 9ea799618..a5b1ca4ea 100644 --- a/mgradm/shared/templates/postUpgradeScriptTemplate.go +++ b/mgradm/shared/templates/postUpgradeScriptTemplate.go @@ -26,7 +26,25 @@ if [ $? -eq 1 ]; then else sed 's/pam_auth_service.*/pam_auth_service = susemanager/' -i /etc/rhn/rhn.conf; fi -` + +# (bsc#1231206) fix error happened during migration to 5.0.0. +if [ -f /var/lib/pgsql/data-pg14/pg_hba.conf ]; then + echo "Migrating pgsql 14 pg_hba.conf to pgsql 16" + cp /var/lib/pgsql/data-pg14/pg_hba.conf /var/lib/pgsql/data + mv /var/lib/pgsql/data-pg14/pg_hba.conf /var/lib/pgsql/data-pg14/pg_hba.conf.migrated + db_user=$(sed -n '/^db_user/{s/^.*=[ \t]\+\(.*\)$/\1/ ; p}' /etc/rhn/rhn.conf) + db_name=$(sed -n '/^db_name/{s/^.*=[ \t]\+\(.*\)$/\1/ ; p}' /etc/rhn/rhn.conf) + ip=$(ip -o -4 addr show up scope global | head -1 | awk '{print $4}' || true) + echo "host $db_name $db_user $ip scram-sha-256" >> /var/lib/pgsql/data/pg_hba.conf +fi +if [ -f /var/lib/pgsql/data-pg14/postgresql.conf ]; then + echo "Migrating pgsql 14 postgresql.conf to pgsql 16" + cp /var/lib/pgsql/data-pg14/postgresql.conf /var/lib/pgsql/data/ + mv /var/lib/pgsql/data-pg14/postgresql.conf /var/lib/pgsql/data-pg14/postgresql.conf.migrated +fi +# end (bsc#1231206) + +echo "DONE"` // PostUpgradeTemplateData represents information used to create post upgrade. type PostUpgradeTemplateData struct { diff --git a/mgradm/shared/templates/serviceTemplate.go b/mgradm/shared/templates/serviceTemplate.go index f11d563c7..54510ae64 100644 --- a/mgradm/shared/templates/serviceTemplate.go +++ b/mgradm/shared/templates/serviceTemplate.go @@ -43,7 +43,7 @@ ExecStart=/bin/sh -c '/usr/bin/podman run \ {{- end }} {{- end }} {{- range .Volumes }} - -v {{ .Name }}:{{ .MountPath }} \ + -v {{ .Name }}:{{ .MountPath }}:z \ {{- end }} -e TZ=${TZ} \ --network {{ .Network }} \ diff --git a/mgradm/shared/utils/cmd_utils.go b/mgradm/shared/utils/cmd_utils.go index 8833c33cc..b41118094 100644 --- a/mgradm/shared/utils/cmd_utils.go +++ b/mgradm/shared/utils/cmd_utils.go @@ -94,30 +94,39 @@ func AddContainerImageFlags( } } +// AddSCCFlag add SCC flags to a command. +func AddSCCFlag(cmd *cobra.Command) { + cmd.Flags().String("scc-user", "", L("SUSE Customer Center username. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com")) + cmd.Flags().String("scc-password", "", L("SUSE Customer Center password. It will be used as SCC credentials for products synchronization and to pull images from registry.suse.com")) + + _ = utils.AddFlagHelpGroup(cmd, &utils.Group{ID: "scc", Title: L("SUSE Customer Center Flags")}) + _ = utils.AddFlagToHelpGroupID(cmd, "scc-user", "scc") + _ = utils.AddFlagToHelpGroupID(cmd, "scc-password", "scc") +} + // AddImageFlag add Image flags to a command. func AddImageFlag(cmd *cobra.Command) { cmd.Flags().String("image", defaultImage, L("Image")) + cmd.Flags().String("registry", utils.DefaultRegistry, L("Specify a private registry where pull the images")) cmd.Flags().String("tag", utils.DefaultTag, L("Tag Image")) utils.AddPullPolicyFlag(cmd) _ = utils.AddFlagHelpGroup(cmd, &utils.Group{ID: "image", Title: L("Image Flags")}) _ = utils.AddFlagToHelpGroupID(cmd, "image", "image") + _ = utils.AddFlagToHelpGroupID(cmd, "registry", "") //without group, since this flag is applied to all the images _ = utils.AddFlagToHelpGroupID(cmd, "tag", "image") - _ = utils.AddFlagToHelpGroupID(cmd, "pullPolicy", "image") + _ = utils.AddFlagToHelpGroupID(cmd, "pullPolicy", "") //without group, since this flag is applied to all the images } // AddDbUpgradeImageFlag add Database upgrade image flags to a command. func AddDbUpgradeImageFlag(cmd *cobra.Command) { cmd.Flags().String("dbupgrade-image", "", L("Database upgrade image")) cmd.Flags().String("dbupgrade-tag", "latest", L("Database upgrade image tag")) - cmd.Flags().String("dbupgrade-pullPolicy", "IfNotPresent", - L("set whether to pull the database upgrade images or not. The value can be one of 'Never', 'IfNotPresent' or 'Always'")) _ = utils.AddFlagHelpGroup(cmd, &utils.Group{ID: "dbupgrade-image", Title: L("Database Upgrade Image Flags")}) _ = utils.AddFlagToHelpGroupID(cmd, "dbupgrade-image", "dbupgrade-image") _ = utils.AddFlagToHelpGroupID(cmd, "dbupgrade-tag", "dbupgrade-image") - _ = utils.AddFlagToHelpGroupID(cmd, "dbupgrade-pullPolicy", "dbupgrade-image") } // AddMirrorFlag adds the flag for the mirror. @@ -129,8 +138,15 @@ func AddMirrorFlag(cmd *cobra.Command) { func AddCocoFlag(cmd *cobra.Command) { _ = utils.AddFlagHelpGroup(cmd, &utils.Group{ID: "coco-container", Title: L("Confidential Computing Flags")}) AddContainerImageFlags(cmd, "coco", L("confidential computing attestation"), "coco-container", "server-attestation") - cmd.Flags().Int("coco-replicas", 0, L("How many replicas of the confidential computing container should be started. (only 0 or 1 supported for now)")) + cmd.Flags().Int("coco-replicas", 0, L("How many replicas of the confidential computing container should be started")) + _ = utils.AddFlagToHelpGroupID(cmd, "coco-replicas", "coco-container") +} +// AddUpgradeCocoFlag adds the confidential computing related parameters to cmd upgrade. +func AddUpgradeCocoFlag(cmd *cobra.Command) { + _ = utils.AddFlagHelpGroup(cmd, &utils.Group{ID: "coco-container", Title: L("Confidential Computing Flags")}) + AddContainerImageFlags(cmd, "coco", L("confidential computing attestation"), "coco-container", "server-attestation") + cmd.Flags().Int("coco-replicas", 0, L("How many replicas of the confidential computing container should be started. Leave it unset if you want to keep the previous number of replicas.")) _ = utils.AddFlagToHelpGroupID(cmd, "coco-replicas", "coco-container") } @@ -138,8 +154,14 @@ func AddCocoFlag(cmd *cobra.Command) { func AddHubXmlrpcFlags(cmd *cobra.Command) { _ = utils.AddFlagHelpGroup(cmd, &utils.Group{ID: "hubxmlrpc-container", Title: L("Hub XML-RPC API")}) AddContainerImageFlags(cmd, "hubxmlrpc", L("Hub XML-RPC API"), "hubxmlrpc-container", "server-hub-xmlrpc-api") + cmd.Flags().Int("hubxmlrpc-replicas", 0, L("How many replicas of the Hub XML-RPC API service container should be started.")) + _ = utils.AddFlagToHelpGroupID(cmd, "hubxmlrpc-replicas", "hubxmlrpc-container") +} - cmd.Flags().Int("hubxmlrpc-replicas", 0, L("How many replicas of the Hub XML-RPC API service container should be started. (only 0 or 1 supported for now)")) - +// AddUpgradeHubXmlrpcFlags adds hub XML-RPC related parameters to cmd upgrade. +func AddUpgradeHubXmlrpcFlags(cmd *cobra.Command) { + _ = utils.AddFlagHelpGroup(cmd, &utils.Group{ID: "hubxmlrpc-container", Title: L("Hub XML-RPC API")}) + AddContainerImageFlags(cmd, "hubxmlrpc", L("Hub XML-RPC API"), "hubxmlrpc-container", "server-hub-xmlrpc-api") + cmd.Flags().Int("hubxmlrpc-replicas", 0, L("How many replicas of the Hub XML-RPC API service container should be started. Leave it unset if you want to keep the previous number of replicas.")) _ = utils.AddFlagToHelpGroupID(cmd, "hubxmlrpc-replicas", "hubxmlrpc-container") } diff --git a/mgradm/shared/utils/exec.go b/mgradm/shared/utils/exec.go index 964acf220..17da24a38 100644 --- a/mgradm/shared/utils/exec.go +++ b/mgradm/shared/utils/exec.go @@ -7,7 +7,6 @@ package utils import ( "errors" "fmt" - "os" "os/exec" "path/filepath" "strings" @@ -36,7 +35,11 @@ func ExecCommand(logLevel zerolog.Level, cnx *shared.Connection, args ...string) } if command == "kubectl" { - commandArgs = append(commandArgs, "-c", "uyuni", "--") + namespace, err := cnx.GetNamespace("") + if namespace == "" { + return utils.Errorf(err, L("failed retrieving namespace")) + } + commandArgs = append(commandArgs, "-n", namespace, "-c", "uyuni", "--") } commandArgs = append(commandArgs, "sh", "-c", strings.Join(args, " ")) @@ -110,9 +113,9 @@ func RunMigration(cnx *shared.Connection, tmpPath string, scriptName string) err // GenerateMigrationScript generates the script that perform migration. func GenerateMigrationScript(sourceFqdn string, user string, kubernetes bool, prepare bool) (string, error) { - scriptDir, err := os.MkdirTemp("", "mgradm-*") + scriptDir, err := utils.TempDir() if err != nil { - return "", utils.Errorf(err, L("failed to create temporary directory")) + return "", err } data := templates.MigrateScriptTemplateData{ @@ -203,20 +206,20 @@ func SanityCheck(cnx *shared.Connection, inspectedValues *utils.ServerInspectDat ) } } else { - cnx_args := []string{"s/SUSE Manager release //g", "/etc/susemanager-release"} - current_suse_manager_release, err := cnx.Exec("sed", cnx_args...) + b_current_suse_manager_release, err := cnx.Exec("sed", "s/.*(\\([0-9.]*\\)).*/\\1/g", "/etc/susemanager-release") + current_suse_manager_release := strings.TrimSuffix(string(b_current_suse_manager_release), "\n") if err != nil { return utils.Errorf(err, L("failed to read current susemanager release")) } - log.Debug().Msgf("Current release is %s", string(current_suse_manager_release)) + log.Debug().Msgf("Current release is %s", current_suse_manager_release) if !isSumaImage { return fmt.Errorf(L("cannot fetch release from image %s"), serverImage) } log.Debug().Msgf("Image %s is %s", serverImage, inspectedValues.SuseManagerRelease) - if utils.CompareVersion(inspectedValues.SuseManagerRelease, string(current_suse_manager_release)) < 0 { + if utils.CompareVersion(inspectedValues.SuseManagerRelease, current_suse_manager_release) < 0 { return fmt.Errorf( L("cannot downgrade from version %[1]s to %[2]s"), - string(current_suse_manager_release), inspectedValues.SuseManagerRelease, + current_suse_manager_release, inspectedValues.SuseManagerRelease, ) } } @@ -240,7 +243,7 @@ func isUyuni(cnx *shared.Connection) (bool, error) { cnx_args := []string{"/etc/susemanager-release"} _, err := cnx.Exec("cat", cnx_args...) if err != nil { - return false, errors.New(L("cannot find neither /etc/uyuni-release nor /etc/susemanagere-release")) + return false, errors.New(L("cannot find either /etc/uyuni-release or /etc/susemanagere-release")) } return false, nil } diff --git a/mgradm/shared/utils/types.go b/mgradm/shared/utils/types.go index c23f2ab25..41617ce65 100644 --- a/mgradm/shared/utils/types.go +++ b/mgradm/shared/utils/types.go @@ -8,6 +8,14 @@ import "github.com/uyuni-project/uyuni-tools/shared/types" // HubXmlrpcFlags contains settings for Hub XMLRPC container. type HubXmlrpcFlags struct { - Replicas int - Image types.ImageFlags `mapstructure:",squash"` + Replicas int + Image types.ImageFlags `mapstructure:",squash"` + IsChanged bool +} + +// CocoFlags contains settings for coco attestation container. +type CocoFlags struct { + Replicas int + Image types.ImageFlags `mapstructure:",squash"` + IsChanged bool } diff --git a/mgrctl/cmd/api/api.go b/mgrctl/cmd/api/api.go index bd9a55cbb..988eb5def 100644 --- a/mgrctl/cmd/api/api.go +++ b/mgrctl/cmd/api/api.go @@ -14,10 +14,11 @@ import ( type apiFlags struct { api.ConnectionDetails `mapstructure:"api"` + ForceLogin bool `mapstructure:"force"` } // NewCommand generates a JSON over HTTP API helper tool command. -func NewCommand(globalFlags *types.GlobalFlags) (*cobra.Command, error) { +func NewCommand(globalFlags *types.GlobalFlags) *cobra.Command { var flags apiFlags apiCmd := &cobra.Command{ @@ -28,7 +29,10 @@ func NewCommand(globalFlags *types.GlobalFlags) (*cobra.Command, error) { apiGet := &cobra.Command{ Use: "get path [parameters]...", Short: L("Call API GET request"), - Long: L("Takes an API path and optional parameters and then issues GET request with them. If user and password are provided, calls login before API call"), + Long: L(`Takes an API path and optional parameters and then issues GET request with them. + +Example: +# mgrctl api get user/getDetails login=test`), RunE: func(cmd *cobra.Command, args []string) error { return utils.CommandHelper(globalFlags, cmd, args, &flags, runGet) }, @@ -37,17 +41,47 @@ func NewCommand(globalFlags *types.GlobalFlags) (*cobra.Command, error) { apiPost := &cobra.Command{ Use: "post path parameters...", Short: L("Call API POST request"), - Long: L("Takes an API path and parameters and then issues POST request with them. User and password are mandatory. Parameters can be either JSON encoded string or one or more key=value pairs."), + Long: L(`Takes an API path and parameters and then issues POST request with them. + +Parameters can be either JSON encoded string or one or more key=value pairs. + +Key=Value pairs example: +# mgrctl api post user/create login=test password=testXX firstName=F lastName=L email=test@localhost + +JSON example: +# mgrctl api post user/create '{"login":"test", "password":"testXX", "firstName":"F", "lastName":"L", "email":"test@localhost"}'`), RunE: func(cmd *cobra.Command, args []string) error { return utils.CommandHelper(globalFlags, cmd, args, &flags, runPost) }, } + apiLogin := &cobra.Command{ + Use: "login", + Short: L("Store login information for future API usage"), + Long: L(`Login stores login information for next API calls. + +User name, password and remote host can be provided using flags or will be asked interactively. +Environment variables are also supported.`), + RunE: func(cmd *cobra.Command, args []string) error { + return utils.CommandHelper(globalFlags, cmd, args, &flags, runLogin) + }, + } + apiLogin.Flags().BoolP("force", "f", false, L("Overwrite existing login if exists")) + + apiLogout := &cobra.Command{ + Use: "logout", + Short: L("Remove stored login information"), + Long: L("Logout removes stored login information."), + RunE: func(cmd *cobra.Command, args []string) error { + return utils.CommandHelper(globalFlags, cmd, args, &flags, runLogout) + }, + } + apiCmd.AddCommand(apiGet) apiCmd.AddCommand(apiPost) + apiCmd.AddCommand(apiLogin) + apiCmd.AddCommand(apiLogout) + api.AddAPIFlags(apiCmd) - if err := api.AddAPIFlags(apiCmd, false); err != nil { - return apiCmd, err - } - return apiCmd, nil + return apiCmd } diff --git a/mgrctl/cmd/api/api_test.go b/mgrctl/cmd/api/api_test.go index f9eca4e49..4325e9442 100644 --- a/mgrctl/cmd/api/api_test.go +++ b/mgrctl/cmd/api/api_test.go @@ -12,10 +12,7 @@ import ( func TestNewCommand(t *testing.T) { var globalflags types.GlobalFlags - cmd, err := NewCommand(&globalflags) - if err != nil { - t.Errorf("Unexpected error creating command: %s", err) - } + cmd := NewCommand(&globalflags) if cmd == nil { t.Error("Unexpected nil command") } diff --git a/mgrctl/cmd/api/get.go b/mgrctl/cmd/api/get.go index d25a2773a..9223cecf0 100644 --- a/mgrctl/cmd/api/get.go +++ b/mgrctl/cmd/api/get.go @@ -21,7 +21,9 @@ import ( func runGet(globalFlags *types.GlobalFlags, flags *apiFlags, cmd *cobra.Command, args []string) error { log.Debug().Msgf("Running GET command %s", args[0]) client, err := api.Init(&flags.ConnectionDetails) - + if err == nil && (client.Details.User != "" || client.Details.InSession) { + err = client.Login() + } if err != nil { return utils.Errorf(err, L("unable to login to the server")) } @@ -30,7 +32,7 @@ func runGet(globalFlags *types.GlobalFlags, flags *apiFlags, cmd *cobra.Command, res, err := api.Get[interface{}](client, fmt.Sprintf("%s?%s", path, strings.Join(options, "&"))) if err != nil { - return utils.Errorf(err, L("error in query %s"), path) + return utils.Errorf(err, L("error in query '%s'"), path) } // TODO do this only when result is JSON or TEXT. Watchout for binary data diff --git a/mgrctl/cmd/api/login.go b/mgrctl/cmd/api/login.go new file mode 100644 index 000000000..0c77f6f72 --- /dev/null +++ b/mgrctl/cmd/api/login.go @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText: 2024 SUSE LLC +// +// SPDX-License-Identifier: Apache-2.0 + +package api + +import ( + "fmt" + + "github.com/rs/zerolog/log" + "github.com/spf13/cobra" + + "github.com/uyuni-project/uyuni-tools/shared/api" + . "github.com/uyuni-project/uyuni-tools/shared/l10n" + "github.com/uyuni-project/uyuni-tools/shared/types" + "github.com/uyuni-project/uyuni-tools/shared/utils" +) + +func runLogin(globalFlags *types.GlobalFlags, flags *apiFlags, cmd *cobra.Command, args []string) error { + log.Debug().Msg("Running login command") + + if api.IsAlreadyLoggedIn() && !flags.ForceLogin { + return fmt.Errorf(L("Refusing to overwrite existing login. Use --force to ignore this check.")) + } + + utils.AskIfMissing(&flags.Server, cmd.Flag("api-server").Usage, 0, 0, utils.IsWellFormedFQDN) + utils.AskIfMissing(&flags.User, cmd.Flag("api-user").Usage, 0, 0, nil) + utils.AskPasswordIfMissingOnce(&flags.Password, cmd.Flag("api-password").Usage, 0, 0) + + client, err := api.Init(&flags.ConnectionDetails) + if err != nil { + return err + } + if err := client.Login(); err != nil { + return utils.Errorf(err, L("Failed to validate credentials.")) + } + if err := api.StoreLoginCreds(client); err != nil { + return err + } + + log.Info().Msg(L("Login credentials verified.")) + return nil +} + +func runLogout(globalFlags *types.GlobalFlags, flags *apiFlags, cmd *cobra.Command, args []string) error { + log.Debug().Msg("Running logout command") + + if err := api.RemoveLoginCreds(); err != nil { + return err + } + log.Info().Msg(L("Successfully logged out")) + return nil +} diff --git a/mgrctl/cmd/api/post.go b/mgrctl/cmd/api/post.go index 5daa92096..f8adeb6c6 100644 --- a/mgrctl/cmd/api/post.go +++ b/mgrctl/cmd/api/post.go @@ -21,7 +21,9 @@ import ( func runPost(globalFlags *types.GlobalFlags, flags *apiFlags, cmd *cobra.Command, args []string) error { log.Debug().Msgf("Running POST command %s", args[0]) client, err := api.Init(&flags.ConnectionDetails) - + if err == nil { + err = client.Login() + } if err != nil { return utils.Errorf(err, L("unable to login to the server")) } @@ -46,7 +48,7 @@ func runPost(globalFlags *types.GlobalFlags, flags *apiFlags, cmd *cobra.Command res, err := api.Post[interface{}](client, path, data) if err != nil { - return utils.Errorf(err, L("error in query %s"), path) + return utils.Errorf(err, L("error in query '%s'"), path) } if !res.Success { diff --git a/mgrctl/cmd/cmd.go b/mgrctl/cmd/cmd.go index 0323a071a..06dcf11f4 100644 --- a/mgrctl/cmd/cmd.go +++ b/mgrctl/cmd/cmd.go @@ -21,7 +21,7 @@ import ( ) // NewCommand returns a new cobra.Command implementing the root command for kinder. -func NewUyunictlCommand() (*cobra.Command, error) { +func NewUyunictlCommand() *cobra.Command { globalFlags := &types.GlobalFlags{} name := path.Base(os.Args[0]) rootCmd := &cobra.Command{ @@ -48,10 +48,7 @@ func NewUyunictlCommand() (*cobra.Command, error) { } } - apiCmd, err := api.NewCommand(globalFlags) - if err != nil { - log.Err(err).Msg(L("Failed to create api command")) - } + apiCmd := api.NewCommand(globalFlags) rootCmd.AddCommand(apiCmd) rootCmd.AddCommand(exec.NewCommand(globalFlags)) rootCmd.AddCommand(term.NewCommand(globalFlags)) @@ -60,5 +57,5 @@ func NewUyunictlCommand() (*cobra.Command, error) { rootCmd.AddCommand(utils.GetConfigHelpCommand()) - return rootCmd, nil + return rootCmd } diff --git a/mgrctl/cmd/exec/exec.go b/mgrctl/cmd/exec/exec.go index 6c1e4ed83..64610a48c 100644 --- a/mgrctl/cmd/exec/exec.go +++ b/mgrctl/cmd/exec/exec.go @@ -74,7 +74,11 @@ func run(globalFlags *types.GlobalFlags, flags *flagpole, cmd *cobra.Command, ar commandArgs = append(commandArgs, podName) if command == "kubectl" { - commandArgs = append(commandArgs, "-c", "uyuni", "--") + namespace, err := cnx.GetNamespace("") + if namespace == "" { + log.Fatal().Err(err) + } + commandArgs = append(commandArgs, "-n", namespace, "-c", "uyuni", "--") } newEnv := []string{} diff --git a/mgrctl/main.go b/mgrctl/main.go index 24db1713c..4dfc9299f 100644 --- a/mgrctl/main.go +++ b/mgrctl/main.go @@ -16,10 +16,8 @@ import ( // Run runs the `mgrctl` root command. func Run() error { gettext.BindLocale(gettext.New("mgrctl", utils.LocaleRoot, l10n_utils.New(utils.LocaleRoot))) - run, err := cmd.NewUyunictlCommand() - if err != nil { - return err - } + run := cmd.NewUyunictlCommand() + return run.Execute() } diff --git a/mgrpxy/cmd/cache/kubernetes.go b/mgrpxy/cmd/cache/kubernetes.go index d7bf15e1e..6553ad53e 100644 --- a/mgrpxy/cmd/cache/kubernetes.go +++ b/mgrpxy/cmd/cache/kubernetes.go @@ -20,6 +20,10 @@ func kubernetesCacheClear( args []string, ) error { cnx := shared.NewConnection("kubectl", "squid", kubernetes.ProxyFilter) + namespace, err := cnx.GetNamespace("") + if err != nil { + return utils.Errorf(err, L("failed retrieving namespace")) + } if _, err := cnx.Exec("find", "/var/cache/squid", "-mindepth", "1", "-delete"); err != nil { return utils.Errorf(err, L("failed to remove cached data")) @@ -29,5 +33,5 @@ func kubernetesCacheClear( return utils.Errorf(err, L("failed to re-create the cache directories")) } - return kubernetes.Restart(kubernetes.ProxyApp) + return kubernetes.Restart(namespace, kubernetes.ProxyApp) } diff --git a/mgrpxy/cmd/install/install.go b/mgrpxy/cmd/install/install.go index bf739b0de..903aaa461 100644 --- a/mgrpxy/cmd/install/install.go +++ b/mgrpxy/cmd/install/install.go @@ -20,8 +20,6 @@ func NewCommand(globalFlags *types.GlobalFlags) *cobra.Command { Short: L("Install a new proxy from scratch"), Long: L("Install a new proxy from scratch"), } - installCmd.PersistentFlags().StringVar(&globalFlags.Registry, "registry", "", L("specify a private registry")) - installCmd.AddCommand(podman.NewCommand(globalFlags)) installCmd.AddCommand(kubernetes.NewCommand(globalFlags)) diff --git a/mgrpxy/cmd/install/kubernetes/kubernetes.go b/mgrpxy/cmd/install/kubernetes/kubernetes.go index 9172ffc1b..1a24e0bc0 100644 --- a/mgrpxy/cmd/install/kubernetes/kubernetes.go +++ b/mgrpxy/cmd/install/kubernetes/kubernetes.go @@ -16,6 +16,7 @@ import ( type kubernetesProxyInstallFlags struct { pxy_utils.ProxyImageFlags `mapstructure:",squash"` Helm kubernetes.HelmFlags + Scc types.SCCCredentials } // NewCommand install a new proxy on a running kubernetes cluster. @@ -35,13 +36,12 @@ NOTE: for now installing on a remote kubernetes cluster is not supported! Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { var flags kubernetesProxyInstallFlags - flags.ProxyImageFlags.Registry = globalFlags.Registry return utils.CommandHelper(globalFlags, cmd, args, &flags, installForKubernetes) }, } pxy_utils.AddImageFlags(cmd) - + pxy_utils.AddSCCFlag(cmd) kubernetes.AddHelmFlags(cmd) return cmd diff --git a/mgrpxy/cmd/install/kubernetes/utils.go b/mgrpxy/cmd/install/kubernetes/utils.go index d45ef46dd..64f01ffeb 100644 --- a/mgrpxy/cmd/install/kubernetes/utils.go +++ b/mgrpxy/cmd/install/kubernetes/utils.go @@ -30,9 +30,9 @@ func installForKubernetes(globalFlags *types.GlobalFlags, // Unpack the tarball configPath := utils.GetConfigPath(args) - tmpDir, err := os.MkdirTemp("", "mgrpxy-*") + tmpDir, err := shared_utils.TempDir() if err != nil { - return shared_utils.Errorf(err, L("failed to create temporary directory")) + return err } defer os.RemoveAll(tmpDir) @@ -56,9 +56,14 @@ func installForKubernetes(globalFlags *types.GlobalFlags, flags.Helm.Proxy.Namespace) } + helmArgs := []string{"--set", "ingress=" + clusterInfos.Ingress} + helmArgs, err = shared_kubernetes.AddSccSecret(helmArgs, flags.Helm.Proxy.Namespace, &flags.Scc) + if err != nil { + return err + } + // Install the uyuni proxy helm chart - if err := kubernetes.Deploy(&flags.ProxyImageFlags, &flags.Helm, tmpDir, clusterInfos.GetKubeconfig(), - "--set", "ingress="+clusterInfos.Ingress); err != nil { + if err := kubernetes.Deploy(&flags.ProxyImageFlags, &flags.Helm, tmpDir, clusterInfos.GetKubeconfig(), helmArgs...); err != nil { return shared_utils.Errorf(err, L("cannot deploy proxy helm chart")) } diff --git a/mgrpxy/cmd/install/podman/podman.go b/mgrpxy/cmd/install/podman/podman.go index 03e0b4644..ddd9c060a 100644 --- a/mgrpxy/cmd/install/podman/podman.go +++ b/mgrpxy/cmd/install/podman/podman.go @@ -31,11 +31,11 @@ NOTE: for now installing on a remote podman is not supported! Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { var flags podman.PodmanProxyFlags - flags.ProxyImageFlags.Registry = globalFlags.Registry return shared_utils.CommandHelper(globalFlags, cmd, args, &flags, installForPodman) }, } + utils.AddSCCFlag(podmanCmd) utils.AddImageFlags(podmanCmd) shared_podman.AddPodmanArgFlag(podmanCmd) diff --git a/mgrpxy/cmd/install/podman/utils.go b/mgrpxy/cmd/install/podman/utils.go index ad77ff7c9..b5b0424e7 100644 --- a/mgrpxy/cmd/install/podman/utils.go +++ b/mgrpxy/cmd/install/podman/utils.go @@ -42,7 +42,7 @@ func installForPodman(globalFlags *types.GlobalFlags, flags *podman.PodmanProxyF return err } - authFile, cleaner, err := shared_podman.PodmanLogin(hostData) + authFile, cleaner, err := shared_podman.PodmanLogin(hostData, flags.SCC) if err != nil { return shared_utils.Errorf(err, L("failed to login to registry.suse.com")) } diff --git a/mgrpxy/cmd/logs/kubernetes.go b/mgrpxy/cmd/logs/kubernetes.go index a552493e6..1bc44b4d4 100644 --- a/mgrpxy/cmd/logs/kubernetes.go +++ b/mgrpxy/cmd/logs/kubernetes.go @@ -9,10 +9,10 @@ import ( "time" "github.com/rs/zerolog" - "github.com/rs/zerolog/log" "github.com/spf13/cobra" "github.com/uyuni-project/uyuni-tools/shared" "github.com/uyuni-project/uyuni-tools/shared/kubernetes" + . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/types" "github.com/uyuni-project/uyuni-tools/shared/utils" ) @@ -23,7 +23,17 @@ func kubernetesLogs( cmd *cobra.Command, args []string, ) error { - commandArgs := []string{"logs"} + cnx := shared.NewConnection("kubectl", "", kubernetes.ProxyFilter) + podName, err := cnx.GetPodName() + if err != nil { + return utils.Errorf(err, L("failed to find proxy pod")) + } + namespace, errNamespace := cnx.GetNamespace("") + if errNamespace != nil { + return utils.Errorf(err, L("failed to find proxy deployment namespace")) + } + + commandArgs := []string{"logs", "-n", namespace} if flags.Follow { commandArgs = append(commandArgs, "-f") } @@ -45,11 +55,6 @@ func kubernetesLogs( } if len(flags.Containers) == 0 { - cnx := shared.NewConnection("kubectl", "", kubernetes.ProxyFilter) - podName, err := cnx.GetPodName() - if err != nil { - log.Fatal().Err(err) - } commandArgs = append(commandArgs, podName, "--all-containers") } else if len(flags.Containers) == 1 { commandArgs = append(commandArgs, flags.Containers[0], "--all-containers") diff --git a/mgrpxy/cmd/restart/kubernetes.go b/mgrpxy/cmd/restart/kubernetes.go index 2de8fdce7..3de50657b 100644 --- a/mgrpxy/cmd/restart/kubernetes.go +++ b/mgrpxy/cmd/restart/kubernetes.go @@ -6,8 +6,11 @@ package restart import ( "github.com/spf13/cobra" + "github.com/uyuni-project/uyuni-tools/shared" "github.com/uyuni-project/uyuni-tools/shared/kubernetes" + . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/types" + "github.com/uyuni-project/uyuni-tools/shared/utils" ) func kubernetesRestart( @@ -16,5 +19,10 @@ func kubernetesRestart( cmd *cobra.Command, args []string, ) error { - return kubernetes.Restart(kubernetes.ProxyApp) + cnx := shared.NewConnection("kubectl", "", kubernetes.ProxyFilter) + namespace, err := cnx.GetNamespace("") + if err != nil { + return utils.Errorf(err, L("failed retrieving namespace")) + } + return kubernetes.Restart(namespace, kubernetes.ProxyApp) } diff --git a/mgrpxy/cmd/start/kubernetes.go b/mgrpxy/cmd/start/kubernetes.go index 58806e241..ef21a5d66 100644 --- a/mgrpxy/cmd/start/kubernetes.go +++ b/mgrpxy/cmd/start/kubernetes.go @@ -6,8 +6,11 @@ package start import ( "github.com/spf13/cobra" + "github.com/uyuni-project/uyuni-tools/shared" "github.com/uyuni-project/uyuni-tools/shared/kubernetes" + . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/types" + "github.com/uyuni-project/uyuni-tools/shared/utils" ) func kubernetesStart( @@ -16,5 +19,10 @@ func kubernetesStart( cmd *cobra.Command, args []string, ) error { - return kubernetes.Start(kubernetes.ProxyApp) + cnx := shared.NewConnection("kubectl", "", kubernetes.ProxyFilter) + namespace, err := cnx.GetNamespace("") + if err != nil { + return utils.Errorf(err, L("failed retrieving namespace")) + } + return kubernetes.Start(namespace, kubernetes.ProxyApp) } diff --git a/mgrpxy/cmd/stop/kubernetes.go b/mgrpxy/cmd/stop/kubernetes.go index 84f485e34..2b615a093 100644 --- a/mgrpxy/cmd/stop/kubernetes.go +++ b/mgrpxy/cmd/stop/kubernetes.go @@ -6,8 +6,11 @@ package stop import ( "github.com/spf13/cobra" + "github.com/uyuni-project/uyuni-tools/shared" "github.com/uyuni-project/uyuni-tools/shared/kubernetes" + . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/types" + "github.com/uyuni-project/uyuni-tools/shared/utils" ) func kubernetesStop( @@ -16,5 +19,10 @@ func kubernetesStop( cmd *cobra.Command, args []string, ) error { - return kubernetes.Stop(kubernetes.ProxyApp) + cnx := shared.NewConnection("kubectl", "", kubernetes.ProxyFilter) + namespace, err := cnx.GetNamespace("") + if err != nil { + return utils.Errorf(err, L("failed retrieving namespace")) + } + return kubernetes.Stop(namespace, kubernetes.ProxyApp) } diff --git a/mgrpxy/cmd/support/config/extractor.go b/mgrpxy/cmd/support/config/extractor.go index 9aa01ecd8..bea583b72 100644 --- a/mgrpxy/cmd/support/config/extractor.go +++ b/mgrpxy/cmd/support/config/extractor.go @@ -8,8 +8,8 @@ import ( "os" "github.com/spf13/cobra" + "github.com/uyuni-project/uyuni-tools/shared" "github.com/uyuni-project/uyuni-tools/shared/kubernetes" - . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/podman" "github.com/uyuni-project/uyuni-tools/shared/types" "github.com/uyuni-project/uyuni-tools/shared/utils" @@ -17,18 +17,25 @@ import ( func extract(globalFlags *types.GlobalFlags, flags *configFlags, cmd *cobra.Command, args []string) error { // Copy the generated file locally - tmpDir, err := os.MkdirTemp("", "mgrpxy-*") + tmpDir, err := utils.TempDir() if err != nil { - return utils.Errorf(err, L("failed to create temporary directory")) + return err } defer os.RemoveAll(tmpDir) + var fileList []string if podman.HasService(podman.ProxyService) { fileList, err = podman.RunSupportConfigOnPodmanHost(tmpDir) } if utils.IsInstalled("kubectl") && utils.IsInstalled("helm") { - fileList, err = kubernetes.RunSupportConfigOnKubernetesHost(tmpDir) + cnx := shared.NewConnection("kubectl", "", kubernetes.ProxyFilter) + var namespace string + namespace, err = cnx.GetNamespace("") + if err != nil { + return err + } + fileList, err = kubernetes.RunSupportConfigOnKubernetesHost(tmpDir, namespace, kubernetes.ProxyFilter) } if err != nil { diff --git a/mgrpxy/cmd/support/ptf/podman/podman.go b/mgrpxy/cmd/support/ptf/podman/podman.go index a8b463d24..5c6584a91 100644 --- a/mgrpxy/cmd/support/ptf/podman/podman.go +++ b/mgrpxy/cmd/support/ptf/podman/podman.go @@ -31,7 +31,7 @@ func NewCommand(globalFlags *types.GlobalFlags) *cobra.Command { Long: L(`Install a PTF or Test package on podman The support ptf podman command assumes podman is installed locally and -the host machine is register to SCC. +the host machine is registered to SCC. NOTE: for now installing on a remote podman is not supported! `), @@ -41,6 +41,7 @@ NOTE: for now installing on a remote podman is not supported! }, } + utils.AddSCCFlag(podmanCmd) utils.AddImageFlags(podmanCmd) shared_utils.AddPTFFlag(podmanCmd) return podmanCmd diff --git a/mgrpxy/cmd/support/ptf/podman/utils.go b/mgrpxy/cmd/support/ptf/podman/utils.go index 57cb5d2aa..8e839c389 100644 --- a/mgrpxy/cmd/support/ptf/podman/utils.go +++ b/mgrpxy/cmd/support/ptf/podman/utils.go @@ -40,14 +40,16 @@ func (flags *podmanPTFFlags) checkParameters() error { return errors.New(L("user flag cannot be empty")) } suffix := "ptf" + projectId := flags.PTFId if flags.TestId != "" { suffix = "test" + projectId = flags.TestId } httpdImage, err := podman_shared.GetRunningImage("httpd") if err != nil { return err } - flags.UpgradeFlags.Httpd.Name, err = utils.ComputePTF(flags.CustomerId, flags.PTFId, httpdImage, suffix) + flags.UpgradeFlags.Httpd.Name, err = utils.ComputePTF(flags.CustomerId, projectId, httpdImage, suffix) if err != nil { return err } @@ -57,7 +59,7 @@ func (flags *podmanPTFFlags) checkParameters() error { if err != nil { return err } - flags.UpgradeFlags.Ssh.Name, err = utils.ComputePTF(flags.CustomerId, flags.PTFId, sshImage, suffix) + flags.UpgradeFlags.Ssh.Name, err = utils.ComputePTF(flags.CustomerId, projectId, sshImage, suffix) if err != nil { return err } @@ -67,7 +69,7 @@ func (flags *podmanPTFFlags) checkParameters() error { if err != nil { return err } - flags.UpgradeFlags.Tftpd.Name, err = utils.ComputePTF(flags.CustomerId, flags.PTFId, tftpdImage, suffix) + flags.UpgradeFlags.Tftpd.Name, err = utils.ComputePTF(flags.CustomerId, projectId, tftpdImage, suffix) if err != nil { return err } @@ -77,7 +79,7 @@ func (flags *podmanPTFFlags) checkParameters() error { if err != nil { return err } - flags.UpgradeFlags.SaltBroker.Name, err = utils.ComputePTF(flags.CustomerId, flags.PTFId, saltBrokerImage, suffix) + flags.UpgradeFlags.SaltBroker.Name, err = utils.ComputePTF(flags.CustomerId, projectId, saltBrokerImage, suffix) if err != nil { return err } @@ -87,7 +89,7 @@ func (flags *podmanPTFFlags) checkParameters() error { if err != nil { return err } - flags.UpgradeFlags.Squid.Name, err = utils.ComputePTF(flags.CustomerId, flags.PTFId, squidImage, suffix) + flags.UpgradeFlags.Squid.Name, err = utils.ComputePTF(flags.CustomerId, projectId, squidImage, suffix) if err != nil { return err } diff --git a/mgrpxy/cmd/upgrade/kubernetes/kubernetes.go b/mgrpxy/cmd/upgrade/kubernetes/kubernetes.go index 904b0dc72..2d75d47c2 100644 --- a/mgrpxy/cmd/upgrade/kubernetes/kubernetes.go +++ b/mgrpxy/cmd/upgrade/kubernetes/kubernetes.go @@ -27,7 +27,6 @@ NOTE: for now upgrading on a remote kubernetes cluster is not supported! Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { var flags kubernetes.KubernetesProxyUpgradeFlags - flags.ProxyImageFlags.Registry = globalFlags.Registry return utils.CommandHelper(globalFlags, cmd, args, &flags, upgradeKubernetes) }, } diff --git a/mgrpxy/cmd/upgrade/podman/podman.go b/mgrpxy/cmd/upgrade/podman/podman.go index e652f0d68..60d495f7d 100644 --- a/mgrpxy/cmd/upgrade/podman/podman.go +++ b/mgrpxy/cmd/upgrade/podman/podman.go @@ -28,11 +28,11 @@ NOTE: for now upgrading on a remote podman is not supported! Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { var flags podman.PodmanProxyFlags - flags.ProxyImageFlags.Registry = globalFlags.Registry return shared_utils.CommandHelper(globalFlags, cmd, args, &flags, upgradePodman) }, } + utils.AddSCCFlag(podmanCmd) utils.AddImageFlags(podmanCmd) shared_podman.AddPodmanArgFlag(podmanCmd) diff --git a/mgrpxy/cmd/upgrade/upgrade.go b/mgrpxy/cmd/upgrade/upgrade.go index eecb03f99..2a72085e7 100644 --- a/mgrpxy/cmd/upgrade/upgrade.go +++ b/mgrpxy/cmd/upgrade/upgrade.go @@ -20,8 +20,6 @@ func NewCommand(globalFlags *types.GlobalFlags) *cobra.Command { Short: L("Upgrade a proxy"), Long: L("Upgrade a proxy"), } - upgradeCmd.PersistentFlags().StringVar(&globalFlags.Registry, "registry", "", L("specify a private registry")) - upgradeCmd.AddCommand(podman.NewCommand(globalFlags)) upgradeCmd.AddCommand(kubernetes.NewCommand(globalFlags)) diff --git a/mgrpxy/shared/kubernetes/deploy.go b/mgrpxy/shared/kubernetes/deploy.go index 1a1dce2cc..ead9528a7 100644 --- a/mgrpxy/shared/kubernetes/deploy.go +++ b/mgrpxy/shared/kubernetes/deploy.go @@ -154,9 +154,9 @@ func Upgrade(flags *KubernetesProxyUpgradeFlags, cmd *cobra.Command, args []stri } } - tmpDir, err := os.MkdirTemp("", "mgrpxy-*") + tmpDir, err := shared_utils.TempDir() if err != nil { - return shared_utils.Errorf(err, L("failed to create temporary directory")) + return err } defer os.RemoveAll(tmpDir) @@ -166,21 +166,38 @@ func Upgrade(flags *KubernetesProxyUpgradeFlags, cmd *cobra.Command, args []stri return err } - err = kubernetes.ReplicasTo(kubernetes.ProxyApp, 0) + namespace := flags.Helm.Proxy.Namespace + if _, err = kubernetes.GetNode(namespace, kubernetes.ProxyApp); err != nil { + err = kubernetes.ReplicasTo(namespace, kubernetes.ProxyApp, 1) + } + + err = kubernetes.ReplicasTo(namespace, kubernetes.ProxyApp, 0) if err != nil { return err } defer func() { // if something is running, we don't need to set replicas to 1 - if _, err = kubernetes.GetNode("uyuni"); err != nil { - err = kubernetes.ReplicasTo(kubernetes.ProxyApp, 1) + if _, err = kubernetes.GetNode(namespace, kubernetes.ProxyApp); err != nil { + err = kubernetes.ReplicasTo(namespace, kubernetes.ProxyApp, 1) } }() + helmArgs := []string{"--set", "ingress=" + clusterInfos.Ingress} + + // Get the registry secret name if any + pullSecret, err := kubernetes.GetDeploymentImagePullSecret(namespace, kubernetes.ProxyFilter) + if err != nil { + return err + } + if pullSecret != "" { + helmArgs = append(helmArgs, "--set", "registrySecret="+pullSecret) + } + // Install the uyuni proxy helm chart if err := Deploy(&flags.ProxyImageFlags, &flags.Helm, tmpDir, clusterInfos.GetKubeconfig(), - "--set", "ingress="+clusterInfos.Ingress); err != nil { + helmArgs..., + ); err != nil { return shared_utils.Errorf(err, L("cannot deploy proxy helm chart")) } diff --git a/mgrpxy/shared/podman/podman.go b/mgrpxy/shared/podman/podman.go index 5e5d6997a..68573d2bd 100644 --- a/mgrpxy/shared/podman/podman.go +++ b/mgrpxy/shared/podman/podman.go @@ -25,6 +25,7 @@ import ( // PodmanProxyFlags are the flags used by podman proxy install and upgrade command. type PodmanProxyFlags struct { utils.ProxyImageFlags `mapstructure:",squash"` + SCC types.SCCCredentials Podman podman.PodmanFlags `mapstructure:",squash"` } @@ -161,7 +162,7 @@ func getHttpProxyConfig() string { func GetContainerImage(authFile string, flags *utils.ProxyImageFlags, name string) (string, error) { image := flags.GetContainerImage(name) - preparedImage, err := podman.PrepareImage(authFile, image, flags.PullPolicy) + preparedImage, err := podman.PrepareImage(authFile, image, flags.PullPolicy, true) if err != nil { return "", err } @@ -224,7 +225,7 @@ func Upgrade(globalFlags *types.GlobalFlags, flags *PodmanProxyFlags, cmd *cobra return err } - authFile, cleaner, err := podman.PodmanLogin(hostData) + authFile, cleaner, err := podman.PodmanLogin(hostData, flags.SCC) if err != nil { return shared_utils.Errorf(err, L("failed to login to registry.suse.com")) } diff --git a/mgrpxy/shared/utils/flags.go b/mgrpxy/shared/utils/flags.go index c2d161bc6..abe93df2f 100644 --- a/mgrpxy/shared/utils/flags.go +++ b/mgrpxy/shared/utils/flags.go @@ -59,6 +59,16 @@ func (f *ProxyImageFlags) GetContainerImage(name string) string { return imageUrl } +// AddSCCFlag add SCC flags to a command. +func AddSCCFlag(cmd *cobra.Command) { + cmd.Flags().String("scc-user", "", L("SUSE Customer Center username. It will be used to pull images from registry.suse.com")) + cmd.Flags().String("scc-password", "", L("SUSE Customer Center password. It will be used to pull images from registry.suse.com")) + + _ = utils.AddFlagHelpGroup(cmd, &utils.Group{ID: "scc", Title: L("SUSE Customer Center Flags")}) + _ = utils.AddFlagToHelpGroupID(cmd, "scc-user", "scc") + _ = utils.AddFlagToHelpGroupID(cmd, "scc-password", "scc") +} + // AddImageFlags will add the proxy install flags to a command. func AddImageFlags(cmd *cobra.Command) { cmd.Flags().String("tag", utils.DefaultTag, L("image tag")) diff --git a/shared/api/api.go b/shared/api/api.go index 28f22c465..818505145 100644 --- a/shared/api/api.go +++ b/shared/api/api.go @@ -5,99 +5,46 @@ package api import ( + "bytes" "crypto/tls" "crypto/x509" + "encoding/json" "errors" + "fmt" "io" + "net/http" "os" + "time" + "github.com/rs/zerolog" "github.com/rs/zerolog/log" "github.com/spf13/cobra" . "github.com/uyuni-project/uyuni-tools/shared/l10n" "github.com/uyuni-project/uyuni-tools/shared/utils" - - "bytes" - "encoding/json" - "fmt" - "net/http" - "time" ) -const root_path_apiv1 = "/rhn/manager/api" - -// HTTP Client is an API entrypoint. -type HTTPClient struct { - - // URL to the API endpoint of the target host - BaseURL string - - // net/http client - Client *http.Client - - // Authentication cookie storage - AuthCookie *http.Cookie -} - -// Connection details for initial API connection. -type ConnectionDetails struct { - - // FQDN of the target host. - Server string - - // User to login under. - User string - - // Password for the user. - Password string - - // CA certificate used for target host validation. - // Provided certificate is used together with system certificates. - CAcert string - - // Disable certificate validation, unsecure and not recommended. - Insecure bool -} - -// API response where T is the type of the result. -type ApiResponse[T interface{}] struct { - Result T - Success bool - Message string -} - // AddAPIFlags is a helper to include api details for the provided command tree. -// -// If the api support is only optional for the command, set optional parameter to true. -func AddAPIFlags(cmd *cobra.Command, optional bool) error { +func AddAPIFlags(cmd *cobra.Command) { cmd.PersistentFlags().String("api-server", "", L("FQDN of the server to connect to")) cmd.PersistentFlags().String("api-user", "", L("API user username")) cmd.PersistentFlags().String("api-password", "", L("Password for the API user")) cmd.PersistentFlags().String("api-cacert", "", L("Path to a cert file of the CA")) cmd.PersistentFlags().Bool("api-insecure", false, L("If set, server certificate will not be checked for validity")) - - if !optional { - if err := cmd.MarkPersistentFlagRequired("api-server"); err != nil { - return err - } - if err := cmd.MarkPersistentFlagRequired("api-user"); err != nil { - return err - } - if err := cmd.MarkPersistentFlagRequired("api-password"); err != nil { - return err - } - } - return nil } -func prettyPrint(v interface{}) string { +func logTraceHeader(v *http.Header) { + // Return early when not in trace loglevel + if log.Logger.GetLevel() != zerolog.TraceLevel { + return + } b, err := json.MarshalIndent(v, "", " ") if err != nil { - return "" + return } - return fmt.Sprintln(string(b)) + log.Trace().Msg(string(b)) } -func (c *HTTPClient) sendRequest(req *http.Request) (*http.Response, error) { +func (c *APIClient) sendRequest(req *http.Request) (*http.Response, error) { log.Debug().Msgf("Sending %s request %s", req.Method, req.URL) req.Header.Set("Content-Type", "application/json; charset=utf-8") req.Header.Set("Accept", "application/json; charset=utf-8") @@ -105,8 +52,7 @@ func (c *HTTPClient) sendRequest(req *http.Request) (*http.Response, error) { req.AddCookie(c.AuthCookie) } - log.Trace().Msg(prettyPrint(req.Header)) - log.Trace().Msg(prettyPrint(req.Body)) + logTraceHeader(&req.Header) res, err := c.Client.Do(req) if err != nil { @@ -114,13 +60,24 @@ func (c *HTTPClient) sendRequest(req *http.Request) (*http.Response, error) { return nil, err } - log.Trace().Msg(prettyPrint(res.Header)) - log.Trace().Msg(prettyPrint(res.Body)) + logTraceHeader(&res.Header) if res.StatusCode < http.StatusOK || res.StatusCode >= http.StatusBadRequest { + if res.StatusCode == 401 { + return nil, fmt.Errorf(L("401: unauthorized")) + } var errResponse map[string]string - if err = json.NewDecoder(res.Body).Decode(&errResponse); err == nil { - return nil, fmt.Errorf(errResponse["message"]) + if res.Body != nil { + body, err := io.ReadAll(res.Body) + if err == nil { + if err = json.Unmarshal(body, &errResponse); err == nil { + error_message := fmt.Sprintf("%d: '%s'", res.StatusCode, errResponse["message"]) + return nil, fmt.Errorf(error_message) + } else { + error_message := fmt.Sprintf("%d: '%s'", res.StatusCode, string(body)) + return nil, fmt.Errorf(error_message) + } + } } return nil, fmt.Errorf(L("unknown error: %d"), res.StatusCode) } @@ -137,19 +94,27 @@ func (c *HTTPClient) sendRequest(req *http.Request) (*http.Response, error) { // Optionaly connectionDetails can have user name and password set and Init // will try to login to the host. // caCert can be set to use custom CA certificate to validate target host. -func Init(conn *ConnectionDetails) (*HTTPClient, error) { +func Init(conn *ConnectionDetails) (*APIClient, error) { + // Load stored credentials as it also loads up server URL and CApath + getStoredConnectionDetails(conn) + caCertPool, err := x509.SystemCertPool() if err != nil { log.Warn().Msg(err.Error()) } - if conn.CAcert != "" { - caCert, err := os.ReadFile(conn.CAcert) + if conn.CApath != "" { + caCert, err := os.ReadFile(conn.CApath) if err != nil { log.Fatal().Msg(err.Error()) } caCertPool.AppendCertsFromPEM(caCert) } - client := &HTTPClient{ + + if conn.Server == "" { + return nil, fmt.Errorf(L("server URL is not provided")) + } + client := &APIClient{ + Details: conn, BaseURL: fmt.Sprintf("https://%s%s", conn.Server, root_path_apiv1), Client: &http.Client{ Timeout: time.Minute, @@ -161,17 +126,36 @@ func Init(conn *ConnectionDetails) (*HTTPClient, error) { }, }, } - - if len(conn.User) > 0 { - if len(conn.Password) == 0 { - utils.AskPasswordIfMissing(&conn.Password, L("API server password"), 0, 0) + if conn.Cookie != "" { + client.AuthCookie = &http.Cookie{ + Name: "pxt-session-cookie", + Value: conn.Cookie, } - err = client.login(conn) } + return client, err } -func (c *HTTPClient) login(conn *ConnectionDetails) error { +// Login to the server using stored or provided credentials. +func (c *APIClient) Login() error { + if c.Details.InSession { + if err := c.sessionValidity(); err == nil { + // Session is valid + return nil + } + log.Warn().Msg(L("Cached session is expired.")) + if err := RemoveLoginCreds(); err != nil { + log.Warn().Err(err).Msg(L("Failed to remove stored credentials!")) + } + } + if err := getLoginCredentials(c.Details); err != nil { + return err + } + return c.login() +} + +func (c *APIClient) login() error { + conn := c.Details url := fmt.Sprintf("%s/%s", c.BaseURL, "auth/login") data := map[string]string{ "login": conn.User, @@ -215,13 +199,36 @@ func (c *HTTPClient) login(conn *ConnectionDetails) error { return nil } +func (c *APIClient) sessionValidity() error { + // This is how spacecmd does it + _, err := c.Get("user/listAssignableRoles") + return err +} + +// Logout from the server and remove localy stored session key. +func (c *APIClient) Logout() error { + if _, err := c.Post("auth/logout", nil); err != nil { + return utils.Errorf(err, L("failed to logout from the server")) + } + if err := RemoveLoginCreds(); err != nil { + return err + } + return nil +} + +// Check if login credentials are valid. +func (c *APIClient) ValidateCreds() bool { + err := c.Login() + return err == nil +} + // Post issues a POST HTTP request to the API target // // `path` specifies an API endpoint // `data` contains a map of values to add to the POST query. `data` are serialized to the JSON // // returns a raw HTTP Response. -func (c *HTTPClient) Post(path string, data map[string]interface{}) (*http.Response, error) { +func (c *APIClient) Post(path string, data map[string]interface{}) (*http.Response, error) { url := fmt.Sprintf("%s/%s", c.BaseURL, path) jsonData, err := json.Marshal(data) if err != nil { @@ -249,7 +256,7 @@ func (c *HTTPClient) Post(path string, data map[string]interface{}) (*http.Respo // `path` specifies API endpoint together with query options // // returns a raw HTTP Response. -func (c *HTTPClient) Get(path string) (*http.Response, error) { +func (c *APIClient) Get(path string) (*http.Response, error) { url := fmt.Sprintf("%s/%s", c.BaseURL, path) req, err := http.NewRequest("GET", url, nil) if err != nil { @@ -270,7 +277,7 @@ func (c *HTTPClient) Get(path string) (*http.Response, error) { // `data` contains a map of values to add to the POST query. `data` are serialized to the JSON // // returns a deserialized JSON data to the map. -func Post[T interface{}](client *HTTPClient, path string, data map[string]interface{}) (*ApiResponse[T], error) { +func Post[T interface{}](client *APIClient, path string, data map[string]interface{}) (*ApiResponse[T], error) { res, err := client.Post(path, data) if err != nil { return nil, err @@ -297,7 +304,7 @@ func Post[T interface{}](client *HTTPClient, path string, data map[string]interf // `path` specifies API endpoint together with query options // // returns an ApiResponse with the decoded result. -func Get[T interface{}](client *HTTPClient, path string) (*ApiResponse[T], error) { +func Get[T interface{}](client *APIClient, path string) (*ApiResponse[T], error) { res, err := client.Get(path) if err != nil { return nil, err diff --git a/shared/api/credentials.go b/shared/api/credentials.go new file mode 100644 index 000000000..47d041e30 --- /dev/null +++ b/shared/api/credentials.go @@ -0,0 +1,121 @@ +// SPDX-FileCopyrightText: 2024 SUSE LLC +// +// SPDX-License-Identifier: Apache-2.0 + +package api + +import ( + "encoding/json" + "fmt" + "os" + "path" + + "github.com/rs/zerolog/log" + . "github.com/uyuni-project/uyuni-tools/shared/l10n" + "github.com/uyuni-project/uyuni-tools/shared/utils" +) + +// Store API credentials for future API use. +func StoreLoginCreds(client *APIClient) error { + if client.AuthCookie.Value == "" { + return fmt.Errorf(L("not logged in, session cookie is missing")) + } + // Future: Add support for more servers if needed in the future + auth := []authStorage{ + { + Session: client.AuthCookie.Value, + Server: client.Details.Server, + CApath: client.Details.CApath, + }, + } + + authData, err := json.Marshal(auth) + if err != nil { + return utils.Errorf(err, L("unable to create credentials json")) + } + + err = os.WriteFile(getAPICredsFile(), authData, 0600) + if err != nil { + return utils.Errorf(err, L("unable to write credentials store %s"), getAPICredsFile()) + } + return nil +} + +// Remove stored API credentials. +func RemoveLoginCreds() error { + //Future: Multi-server support will need some parsing here + return os.Remove(getAPICredsFile()) +} + +// Asks for not provided ConnectionDetails or errors out. +func getLoginCredentials(conn *ConnectionDetails) error { + // If user name provided, but no password and not loaded + utils.AskIfMissing(&conn.Server, L("API server URL"), 0, 0, nil) + utils.AskIfMissing(&conn.User, L("API server user"), 0, 0, nil) + utils.AskPasswordIfMissingOnce(&conn.Password, L("API server password"), 0, 0) + + if conn.User == "" || conn.Password == "" { + return fmt.Errorf(L("No credentials provided")) + } + + return nil +} + +// Fills ConnectionDetails with cached credentials if possible. +func getStoredConnectionDetails(conn *ConnectionDetails) { + if IsAlreadyLoggedIn() && conn.User == "" { + if err := loadLoginCreds(conn); err != nil { + log.Warn().Err(err).Msg(L("Cannot load stored credentials")) + if err := RemoveLoginCreds(); err != nil { + log.Warn().Err(err).Msg(L("Failed to remove stored credentials!")) + } + } else { + // We have connection cookie + conn.InSession = true + } + } +} + +// Read stored session and server details. +func loadLoginCreds(connection *ConnectionDetails) error { + data, err := os.ReadFile(getAPICredsFile()) + if err != nil { + return utils.Errorf(err, L("unable to read credentials file %s"), getAPICredsFile()) + } + authStore := []authStorage{} + err = json.Unmarshal(data, &authStore) + if err != nil { + return utils.Errorf(err, L("unable to decode credentials file")) + } + + if len(authStore) == 0 { + return fmt.Errorf(L("no credentials loaded")) + } + + // Currently we support storing data only to one server + // Future: add support for more servers if wanted + + authData := authStore[0] + + if connection.Server != "" && connection.Server != authData.Server { + return fmt.Errorf(L("specified api server does not match with stored credentials")) + } + connection.Server = authData.Server + if authData.CApath != "" { + connection.CApath = authData.CApath + } + + connection.Cookie = authData.Session + + return nil +} + +// Returns true if credentials file already exists. +// Does not check for credentials validity. +func IsAlreadyLoggedIn() bool { + return utils.FileExists(getAPICredsFile()) +} + +func getAPICredsFile() string { + return path.Join(utils.GetUserConfigDir(), api_credentials_store) +} diff --git a/shared/api/credentials_test.go b/shared/api/credentials_test.go new file mode 100644 index 000000000..6f0179a87 --- /dev/null +++ b/shared/api/credentials_test.go @@ -0,0 +1,259 @@ +// SPDX-FileCopyrightText: 2024 SUSE LLC +// +// SPDX-License-Identifier: Apache-2.0 + +package api + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "net/http" + "os" + "testing" + + "github.com/rs/zerolog/log" + "github.com/uyuni-project/uyuni-tools/shared/api/mocks" +) + +const user = "mytestuser" +const password = "mytestpassword" +const server = "mytestserver" +const cookie = "mytestpxtcookie" + +// Test happy path for credentials store. +func TestCredentialsStore(t *testing.T) { + t.Setenv("XDG_CONFIG_HOME", t.TempDir()) + connection := ConnectionDetails{ + User: user, + Password: password, + Server: server, + } + client, err := Init(&connection) + if err != nil { + t.FailNow() + } + + client.Client = &mocks.MockClient{ + DoFunc: loginTestDo, + } + + if err := client.Login(); err != nil { + t.FailNow() + } + err = StoreLoginCreds(client) + if err != nil { + t.Fail() + } + + connection2 := ConnectionDetails{} + if err := loadLoginCreds(&connection2); err != nil { + t.Fail() + } + if connection2.Server != server { + log.Error().Msg("server does not match") + t.Fail() + } + if connection2.Cookie != cookie { + log.Error().Msg("cookie does not match") + t.Fail() + } +} + +// Test credentials are cleaned-up after logout. +func TestCredentialsCleanup(t *testing.T) { + t.Setenv("XDG_CONFIG_HOME", t.TempDir()) + err := storeTestCredentials() + if err != nil { + log.Error().Err(err).Msg("failed to store creds") + t.Fail() + } + + if err != nil { + t.Fail() + } + if err := RemoveLoginCreds(); err != nil { + t.Fail() + } + + connection2 := ConnectionDetails{ + Server: server, + } + err = loadLoginCreds(&connection2) + if err == nil { + t.Fail() + } + if connection2.User != "" { + t.Fail() + } +} + +// Write malformed credentials file to check autocleanup of wrong credentials. +func TestAutocleanup(t *testing.T) { + t.Setenv("XDG_CONFIG_HOME", t.TempDir()) + err := os.WriteFile(getAPICredsFile(), []byte(""), 0600) + if err != nil { + t.Fail() + } + connection := ConnectionDetails{ + Server: server, + } + getStoredConnectionDetails(&connection) + if connection.InSession { + t.Fail() + } + _, err = os.Stat(getAPICredsFile()) + if err == nil { + t.Fail() + } +} + +// Test login using cached credentials. +func TestCredentialValidation(t *testing.T) { + t.Setenv("XDG_CONFIG_HOME", t.TempDir()) + err := storeTestCredentials() + if err != nil { + log.Error().Err(err).Msg("failed to store creds") + t.Fail() + } + + connection := ConnectionDetails{} + client, err := Init(&connection) + if err != nil { + log.Error().Err(err).Msg("failed to init connection") + t.Fail() + } + + if !client.Details.InSession { + log.Error().Msg("Credentials are not marked as cached") + t.Fail() + } + + client.Client = &mocks.MockClient{ + DoFunc: userListRolesDo, + } + + if err := client.Login(); err != nil { + log.Trace().Err(err).Msg("failed") + t.Fail() + } +} + +func TestWrongCredentials(t *testing.T) { + t.Setenv("XDG_CONFIG_HOME", t.TempDir()) + err := storeWrongTestCredentials() + if err != nil { + log.Error().Err(err).Msg("failed to store creds") + t.Fail() + } + + connection := ConnectionDetails{} + client, err := Init(&connection) + if err != nil { + log.Error().Err(err).Msg("failed to init connection") + t.Fail() + } + + if !client.Details.InSession { + log.Error().Msg("Credentials are not marked as cached") + t.Fail() + } + + client.Client = &mocks.MockClient{ + DoFunc: userListRolesDo, + } + + err = client.Login() + if err == nil { + log.Error().Err(err).Msg("login was successful even when should not have been") + t.Fail() + } + + // Test that wrong login will remove auth file + _, err = os.Stat(getAPICredsFile()) + if err == nil { + t.Fail() + } +} + +// helper storing valid credentials. +func storeTestCredentials() error { + client := APIClient{ + Details: &ConnectionDetails{ + User: user, + Server: server, + }, + AuthCookie: &http.Cookie{ + Name: "pxt-session-cookie", + Value: cookie, + }, + } + return StoreLoginCreds(&client) +} + +// helper storing invalid credentials. +func storeWrongTestCredentials() error { + client := APIClient{ + Details: &ConnectionDetails{ + User: user, + Server: server, + }, + AuthCookie: &http.Cookie{ + Name: "pxt-session-cookie", + Value: "wrongcookie", + }, + } + return StoreLoginCreds(&client) +} + +// helper login request response. +func loginTestDo(req *http.Request) (*http.Response, error) { + if req.URL.Path != "/rhn/manager/api/auth/login" { + return &http.Response{ + StatusCode: 404, + }, nil + } + data := map[string]string{} + if err := json.NewDecoder(req.Body).Decode(&data); err != nil { + return nil, err + } + if data["login"] != user || data["password"] != password { + return &http.Response{ + StatusCode: 403, + }, nil + } + json := `{"success": true}` + r := io.NopCloser(bytes.NewReader([]byte(json))) + headers := http.Header{} + headers.Add("Content-Type", "application/json") + headers.Add("Set-Cookie", fmt.Sprintf("pxt-session-cookie=%s; Max-Age=3600; Path=/; Secure; HttpOnly;HttpOnly;Secure", cookie)) + return &http.Response{ + StatusCode: 200, + Header: headers, + Body: r, + }, nil +} + +func userListRolesDo(req *http.Request) (*http.Response, error) { + if req.URL.Path != "/rhn/manager/api/user/listAssignableRoles" { + return &http.Response{ + StatusCode: 404, + }, nil + } + if pxt, err := req.Cookie("pxt-session-cookie"); err != nil || pxt.Value != cookie { + return &http.Response{ + StatusCode: 403, + }, nil + } + json := `{"success": true}` + r := io.NopCloser(bytes.NewReader([]byte(json))) + headers := http.Header{} + headers.Add("Content-Type", "application/json") + headers.Add("Set-Cookie", fmt.Sprintf("pxt-session-cookie=%s; Max-Age=3600; Path=/; Secure; HttpOnly;HttpOnly;Secure", cookie)) + return &http.Response{ + StatusCode: 200, + Header: headers, + Body: r, + }, nil +} diff --git a/shared/api/mocks/mocks.go b/shared/api/mocks/mocks.go new file mode 100644 index 000000000..e5c648bd3 --- /dev/null +++ b/shared/api/mocks/mocks.go @@ -0,0 +1,17 @@ +// SPDX-FileCopyrightText: 2024 SUSE LLC +// +// SPDX-License-Identifier: Apache-2.0 + +package mocks + +import "net/http" + +// Mocked api.HTTPClient. +type MockClient struct { + DoFunc func(req *http.Request) (*http.Response, error) +} + +// To fulfil api.HTTPClient interface. +func (m *MockClient) Do(req *http.Request) (*http.Response, error) { + return m.DoFunc(req) +} diff --git a/shared/api/org/createFirst.go b/shared/api/org/createFirst.go index 5de4ebab3..ca4283ec0 100644 --- a/shared/api/org/createFirst.go +++ b/shared/api/org/createFirst.go @@ -18,7 +18,7 @@ import ( func CreateFirst(cnxDetails *api.ConnectionDetails, orgName string, admin *types.User) (*types.Organization, error) { client, err := api.Init(cnxDetails) if err != nil { - return nil, utils.Errorf(err, L("failed to connect to the server")) + return nil, utils.Errorf(err, L("unable to prepare API client")) } data := map[string]interface{}{ diff --git a/shared/api/org/getDetails.go b/shared/api/org/getDetails.go index ba43a1efc..cf7c66b7b 100644 --- a/shared/api/org/getDetails.go +++ b/shared/api/org/getDetails.go @@ -17,6 +17,9 @@ import ( // Get details of organization based on organization name. func GetOrganizationDetails(cnxDetails *api.ConnectionDetails, orgName string) (*types.Organization, error) { client, err := api.Init(cnxDetails) + if err == nil { + err = client.Login() + } if err != nil { return nil, utils.Errorf(err, L("failed to connect to the server")) } diff --git a/shared/api/types.go b/shared/api/types.go new file mode 100644 index 000000000..ba091e058 --- /dev/null +++ b/shared/api/types.go @@ -0,0 +1,71 @@ +// SPDX-FileCopyrightText: 2024 SUSE LLC +// +// SPDX-License-Identifier: Apache-2.0 + +package api + +import "net/http" + +const root_path_apiv1 = "/rhn/manager/api" +const api_credentials_store = ".uyuni-api.json" + +// API Client is the API entrypoint. +type APIClient struct { + + // URL to the API endpoint of the target host + BaseURL string + + // net/http client + Client HTTPClient + + // Authentication cookie storage + AuthCookie *http.Cookie + + // Connection details + Details *ConnectionDetails +} + +// Minimal HTTPClient interface. Primarily for unit testing. +type HTTPClient interface { + Do(req *http.Request) (*http.Response, error) +} + +// Connection details for initial API connection. +type ConnectionDetails struct { + + // FQDN of the target host. + Server string + + // User to login under. + User string + + // Password for the user. + Password string + + // Path to CA certificate file used for target host validation. + // Provided certificate is used together with system certificates. + CApath string + + // Disable certificate validation, unsecure and not recommended. + Insecure bool + + // Indicates if details we loaded from cache + InSession bool + + // PXE cookie + Cookie string +} + +// API response where T is the type of the result. +type ApiResponse[T interface{}] struct { + Result T + Success bool + Message string +} + +// Authentication storage. +type authStorage struct { + Session string + Server string + CApath string +} diff --git a/shared/connection.go b/shared/connection.go index c58bf2992..b301a9482 100644 --- a/shared/connection.go +++ b/shared/connection.go @@ -159,7 +159,7 @@ func (c *Connection) GetNamespace(appName string, filters ...string) (string, er } var namespaceErr error - c.namespace, namespaceErr = extractNamespaceFromConfig(appName, kubeconfig) + c.namespace, namespaceErr = extractNamespaceFromConfig(appName, kubeconfig, filters...) if namespaceErr != nil { return "", utils.Errorf(namespaceErr, L("failed to find the %s deployment namespace"), appName) } @@ -272,6 +272,11 @@ func (c *Connection) WaitForServer() error { continue } + namespace, err := c.GetNamespace("") + if err != nil { + return err + } + args := []string{"exec", podName} command, err := c.GetCommand() if err != nil { @@ -279,7 +284,7 @@ func (c *Connection) WaitForServer() error { } if command == "kubectl" { - args = append(args, "--") + args = append(args, "-n", namespace, "--") } args = append(args, "systemctl", "is-active", "-q", "multi-user.target") output := utils.RunCmd(command, args...) @@ -301,23 +306,33 @@ func (c *Connection) Copy(src string, dst string, user string, group string) err if err != nil { return err } - var commandArgs []string - extraArgs := []string{} - srcExpanded := strings.Replace(src, "server:", podName+":", 1) - dstExpanded := strings.Replace(dst, "server:", podName+":", 1) command, err := c.GetCommand() if err != nil { return err } + var namespace, namespacePrefix string = "", "" + if command == "kubectl" { + namespace, err = c.GetNamespace("") + if err != nil { + return err + } + namespacePrefix = namespace + "/" + } + + var commandArgs []string + extraArgs := []string{} + srcExpanded := strings.Replace(src, "server:", namespacePrefix+podName+":", 1) + dstExpanded := strings.Replace(dst, "server:", namespacePrefix+podName+":", 1) + switch command { case "podman-remote": fallthrough case "podman": commandArgs = []string{"cp", srcExpanded, dstExpanded} case "kubectl": - commandArgs = []string{"cp", "-c", "uyuni", srcExpanded, dstExpanded} + commandArgs = []string{"cp", "-c", "uyuni", "-n", namespace, srcExpanded, dstExpanded} extraArgs = []string{"-c", "uyuni", "--"} default: return fmt.Errorf(L("unknown container kind: %s"), command) @@ -329,6 +344,9 @@ func (c *Connection) Copy(src string, dst string, user string, group string) err if user != "" && strings.HasPrefix(dst, "server:") { execArgs := []string{"exec", podName} + if command == "kubectl" { + execArgs = append(execArgs, "-n", namespace) + } execArgs = append(execArgs, extraArgs...) owner := user if group != "" { @@ -377,6 +395,9 @@ func (c *Connection) CopyCaCertificate(fqdn string) error { pkiDir = "/etc/pki/ca-trust/source/anchors" // RedHat if !utils.FileExists(pkiDir) { pkiDir = "/usr/local/share/ca-certificates" // Debian and Ubuntu + if !utils.FileExists(pkiDir) { + pkiDir = "/etc/ssl/certs" // OpenSSL fallback + } } } hostPath := path.Join(pkiDir, fqdn+".crt") @@ -387,7 +408,15 @@ func (c *Connection) CopyCaCertificate(fqdn string) error { } log.Info().Msg(L("Updating host trusted certificates")) - return utils.RunCmdStdMapping(zerolog.DebugLevel, "update-ca-certificates") + if utils.CommandExists("update-ca-certificates") { + return utils.RunCmdStdMapping(zerolog.DebugLevel, "update-ca-certificates") // openSUSE, Debian and Ubuntu + } else if utils.CommandExists("update-ca-trust") { + return utils.RunCmdStdMapping(zerolog.DebugLevel, "update-ca-trust") // RedHat + } else if utils.CommandExists("trust") { + return utils.RunCmdStdMapping(zerolog.DebugLevel, "trust", "anchor", "--store", hostPath) // Fallback + } else { + return errors.New(L("Unable to update host trusted certificates.")) + } } // ChoosePodmanOrKubernetes selects either the podman or the kubernetes function based on the backend. @@ -439,8 +468,19 @@ func chooseBackend[F interface{}]( return nil, errors.New(L("no supported backend found")) } +// ChooseObjPodmanOrKubernetes returns an artibraty object depending if podman or the kubernetes is installed. +func ChooseObjPodmanOrKubernetes[T any](podmanOption T, kubernetesOption T) (T, error) { + if podman.HasService(podman.ServerService) || podman.HasService(podman.ProxyService) { + return podmanOption, nil + } else if utils.IsInstalled("kubectl") && utils.IsInstalled("helm") { + return kubernetesOption, nil + } + var res T + return res, errors.New(L("failed to determine suitable backend")) +} + // RunSupportConfig will run supportconfig command on given connection. -func (cnx *Connection) RunSupportConfig() ([]string, error) { +func (cnx *Connection) RunSupportConfig(tmpDir string) ([]string, error) { var containerTarball string var files []string extensions := []string{"", ".md5"} @@ -449,13 +489,6 @@ func (cnx *Connection) RunSupportConfig() ([]string, error) { return []string{}, err } - // Copy the generated file locally - tmpDir, err := os.MkdirTemp("", "mgradm-*") - if err != nil { - return []string{}, utils.Errorf(err, L("failed to create temporary directory")) - } - - defer os.RemoveAll(tmpDir) // Run supportconfig in the container if it's running log.Info().Msgf(L("Running supportconfig in %s"), containerName) out, err := cnx.Exec("supportconfig") @@ -485,12 +518,13 @@ func (cnx *Connection) RunSupportConfig() ([]string, error) { // extractNamespaceFromConfig extracts the namespace of a given application // from the Helm release information. -func extractNamespaceFromConfig(appName string, kubeconfig string) (string, error) { +func extractNamespaceFromConfig(appName string, kubeconfig string, filters ...string) (string, error) { args := []string{} if kubeconfig != "" { args = append(args, "--kubeconfig", kubeconfig) } args = append(args, "list", "-aA", "-f", appName, "-o", "json") + args = append(args, filters...) out, err := utils.RunCmdOutput(zerolog.DebugLevel, "helm", args...) if err != nil { diff --git a/shared/kubernetes/k3s.go b/shared/kubernetes/k3s.go index b1f0cc46c..6bb954923 100644 --- a/shared/kubernetes/k3s.go +++ b/shared/kubernetes/k3s.go @@ -33,6 +33,10 @@ func InstallK3sTraefikConfig(tcpPorts []types.PortMap, udpPorts []types.PortMap) } // Wait for traefik to be back + waitForTraefik() +} + +func waitForTraefik() { log.Info().Msg(L("Waiting for Traefik to be reloaded")) for i := 0; i < 60; i++ { out, err := utils.RunCmdOutput(zerolog.TraceLevel, "kubectl", "get", "job", "-n", "kube-system", @@ -48,21 +52,36 @@ func InstallK3sTraefikConfig(tcpPorts []types.PortMap, udpPorts []types.PortMap) // UninstallK3sTraefikConfig uninstall K3s Traefik configuration. func UninstallK3sTraefikConfig(dryRun bool) { + // Write a blank file first to get traefik to be reinstalled + if !dryRun { + log.Info().Msg(L("Reinstalling Traefik without additionnal configuration")) + err := os.WriteFile(k3sTraefikConfigPath, []byte{}, 0600) + if err != nil { + log.Error().Err(err).Msg(L("failed to write empty traefik configuration")) + } else { + // Wait for traefik to be back + waitForTraefik() + } + } else { + log.Info().Msg(L("Would reinstall Traefik without additionnal configuration")) + } + + // Now that it's reinstalled, remove the file utils.UninstallFile(k3sTraefikConfigPath, dryRun) } // InspectKubernetes check values on a given image and deploy. -func InspectKubernetes(serverImage string, pullPolicy string) (*utils.ServerInspectData, error) { +func InspectKubernetes(namespace string, serverImage string, pullPolicy string) (*utils.ServerInspectData, error) { for _, binary := range []string{"kubectl", "helm"} { if _, err := exec.LookPath(binary); err != nil { return nil, fmt.Errorf(L("install %s before running this command"), binary) } } - scriptDir, err := os.MkdirTemp("", "mgradm-*") + scriptDir, err := utils.TempDir() defer os.RemoveAll(scriptDir) if err != nil { - return nil, utils.Errorf(err, L("failed to create temporary directory")) + return nil, err } inspector := utils.NewServerInspector(scriptDir) @@ -75,12 +94,12 @@ func InspectKubernetes(serverImage string, pullPolicy string) (*utils.ServerInsp const podName = "inspector" //delete pending pod and then check the node, because in presence of more than a pod GetNode return is wrong - if err := DeletePod(podName, ServerFilter); err != nil { + if err := DeletePod(namespace, podName, ServerFilter); err != nil { return nil, utils.Errorf(err, L("cannot delete %s"), podName) } //this is needed because folder with script needs to be mounted - nodeName, err := GetNode("uyuni") + nodeName, err := GetNode(namespace, ServerFilter) if err != nil { return nil, utils.Errorf(err, L("cannot find node running uyuni")) } @@ -108,7 +127,7 @@ func InspectKubernetes(serverImage string, pullPolicy string) (*utils.ServerInsp if err != nil { return nil, err } - err = RunPod(podName, ServerFilter, serverImage, pullPolicy, command, override) + err = RunPod(namespace, podName, ServerFilter, serverImage, pullPolicy, command, override) if err != nil { return nil, utils.Errorf(err, L("cannot run inspect pod")) } diff --git a/shared/kubernetes/kubernetes.go b/shared/kubernetes/kubernetes.go index 5233ef4a7..00878be60 100644 --- a/shared/kubernetes/kubernetes.go +++ b/shared/kubernetes/kubernetes.go @@ -6,12 +6,15 @@ package kubernetes import ( "encoding/base64" + "fmt" "os" + "path" "strings" "github.com/rs/zerolog" "github.com/rs/zerolog/log" . "github.com/uyuni-project/uyuni-tools/shared/l10n" + "github.com/uyuni-project/uyuni-tools/shared/types" "github.com/uyuni-project/uyuni-tools/shared/utils" ) @@ -89,26 +92,26 @@ func guessIngress() (string, error) { } // Restart restarts the pod. -func Restart(app string) error { - if err := Stop(app); err != nil { +func Restart(namespace string, app string) error { + if err := Stop(namespace, app); err != nil { return utils.Errorf(err, L("cannot stop %s"), app) } - return Start(app) + return Start(namespace, app) } // Start starts the pod. -func Start(app string) error { +func Start(namespace string, app string) error { // if something is running, we don't need to set replicas to 1 - if _, err := GetNode("-lapp=" + app); err != nil { - return ReplicasTo(app, 1) + if _, err := GetNode(namespace, "-lapp="+app); err != nil { + return ReplicasTo(namespace, app, 1) } log.Debug().Msgf("Already running") return nil } // Stop stop the pod. -func Stop(app string) error { - return ReplicasTo(app, 0) +func Stop(namespace string, app string) error { + return ReplicasTo(namespace, app, 0) } func get(component string, componentName string, args ...string) ([]byte, error) { @@ -150,3 +153,69 @@ func GetSecret(secretName string, filter string) (string, error) { return string(decoded), nil } + +// createDockerSecret creates a secret of docker type to authenticate registries. +func createDockerSecret(namespace string, name string, registry string, username string, password string) error { + authString := fmt.Sprintf("%s:%s", username, password) + auth := base64.StdEncoding.EncodeToString([]byte(authString)) + configjson := fmt.Sprintf( + `{"auths": {"%s": {"username": "%s", "password": "%s", "auth": "%s"}}}`, + registry, username, password, auth, + ) + + secret := fmt.Sprintf(` +apiVersion: v1 +kind: Secret +type: kubernetes.io/dockerconfigjson +metadata: + namespace: %s + name: %s +data: + .dockerconfigjson: %s +`, namespace, name, base64.StdEncoding.EncodeToString([]byte(configjson))) + + tempDir, err := utils.TempDir() + if err != nil { + return err + } + defer os.RemoveAll(tempDir) + + // Run the job + definitionPath := path.Join(tempDir, "definition.yaml") + if err := os.WriteFile(definitionPath, []byte(secret), 0600); err != nil { + return utils.Errorf(err, L("failed to write %s secret definition file"), name) + } + + if err := utils.RunCmdStdMapping(zerolog.DebugLevel, "kubectl", "apply", "-f", definitionPath); err != nil { + return utils.Errorf(err, L("failed to define %s secret"), name) + } + return nil +} + +// AddSccSecret creates a secret holding the SCC credentials and adds it to the helm args. +func AddSccSecret(helmArgs []string, namespace string, scc *types.SCCCredentials) ([]string, error) { + if scc.User != "" && scc.Password != "" { + secretName := "scc-credentials" + if err := createDockerSecret( + namespace, secretName, "registry.suse.com", scc.User, scc.Password, + ); err != nil { + return helmArgs, err + } + helmArgs = append(helmArgs, "--set", "registrySecret="+secretName) + } + return helmArgs, nil +} + +// GetDeploymentImagePullSecret returns the name of the image pull secret of a deployment. +// +// This assumes only one secret is defined on the deployment. +func GetDeploymentImagePullSecret(namespace string, filter string) (string, error) { + out, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", "get", "deploy", "-n", namespace, filter, + "-o", "jsonpath={.items[*].spec.template.spec.imagePullSecrets[*].name}", + ) + if err != nil { + return "", utils.Errorf(err, L("failed to get deployment image pull secret")) + } + + return strings.TrimSpace(string(out)), nil +} diff --git a/shared/kubernetes/support.go b/shared/kubernetes/support.go index 8aa1a18cc..3879984c6 100644 --- a/shared/kubernetes/support.go +++ b/shared/kubernetes/support.go @@ -16,17 +16,12 @@ import ( ) // RunSupportConfigOnKubernetesHost will run supportconfig command on kubernetes machine. -func RunSupportConfigOnKubernetesHost(dir string) ([]string, error) { +func RunSupportConfigOnKubernetesHost(dir string, namespace string, filter string) ([]string, error) { files, err := utils.RunSupportConfigOnHost(dir) if err != nil { return files, err } - namespace, err := fetchNamespace(ProxyApp) - if err != nil { - return files, err - } - configmapFilename, err := fetchConfigMap(dir, namespace) if err != nil { log.Warn().Msg(L("cannot retrieve any configmap")) @@ -34,22 +29,15 @@ func RunSupportConfigOnKubernetesHost(dir string) ([]string, error) { files = append(files, configmapFilename) } - podFilename, err := fetchPodYaml(dir, namespace) + podFilename, err := fetchPodYaml(dir, namespace, filter) if err != nil { log.Warn().Msg(L("cannot retrieve any pod")) } else { files = append(files, podFilename...) } + return files, nil } -func fetchNamespace(app string) (string, error) { - //kubectl get deployment uyuni-proxy -o jsonpath='{.metadata.namespace}' - namespace, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", "get", "deployment", app, "-o=jsonpath={.metadata.namespace}") - if err != nil { - return "", utils.Errorf(err, L("cannot fetch namespace")) - } - return string(namespace), nil -} func fetchConfigMap(dir string, namespace string) (string, error) { configmapFile, err := os.Create(path.Join(dir, "configmap")) @@ -57,7 +45,7 @@ func fetchConfigMap(dir string, namespace string) (string, error) { return "", utils.Errorf(err, L("cannot create %s"), configmapFile.Name()) } defer configmapFile.Close() - out, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", "get", "configmap", "-o", "yaml", "--namespace", namespace) + out, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", "get", "configmap", "-o", "yaml", "-n", namespace) if err != nil { return "", utils.Errorf(err, L("cannot fetch configmap")) } @@ -69,10 +57,10 @@ func fetchConfigMap(dir string, namespace string) (string, error) { return configmapFile.Name(), nil } -func fetchPodYaml(dir string, namespace string) ([]string, error) { - pods, err := GetPods(ProxyFilter) +func fetchPodYaml(dir string, namespace string, filter string) ([]string, error) { + pods, err := GetPods(namespace, filter) if err != nil { - return []string{}, utils.Errorf(err, L("cannot check for pods in %s"), ProxyFilter) + return []string{}, utils.Errorf(err, L("cannot check for pods in %s"), filter) } var podsFile []string @@ -83,7 +71,7 @@ func fetchPodYaml(dir string, namespace string) ([]string, error) { continue } defer podFile.Close() - out, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", "get", "pod", pod, "-o", "yaml", "--namespace", namespace) + out, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", "get", "pod", pod, "-o", "yaml", "-n", namespace) if err != nil { log.Warn().Msgf(L("failed to fetch info for pod %s"), podFile.Name()) continue diff --git a/shared/kubernetes/utils.go b/shared/kubernetes/utils.go index 3ec390124..ba6d5bee4 100644 --- a/shared/kubernetes/utils.go +++ b/shared/kubernetes/utils.go @@ -75,6 +75,7 @@ func WaitForPulledImage(namespace string, podName string) error { pulledArgs := []string{"get", "event", "-o", "jsonpath={.items[?(@.reason==\"Pulled\")].message}", "--field-selector", "involvedObject.name=" + podName} + pulledArgs = addNamespace(pulledArgs, namespace) failedArgs := []string{"get", "event", "-o", "jsonpath={range .items[?(@.reason==\"Failed\")]}{.message}{\"\\n\"}{end}", @@ -149,24 +150,24 @@ func GetDeploymentStatus(namespace string, name string) (*DeploymentStatus, erro // ReplicasTo set the replica for an app to the given value. // Scale the number of replicas of the server. -func ReplicasTo(app string, replica uint) error { +func ReplicasTo(namespace string, app string, replica uint) error { args := []string{"scale", "deploy", app, "--replicas"} log.Debug().Msgf("Setting replicas for pod in %s to %d", app, replica) - args = append(args, fmt.Sprint(replica)) + args = append(args, fmt.Sprint(replica), "-n", namespace) _, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", args...) if err != nil { return utils.Errorf(err, L("cannot run kubectl %s"), args) } - pods, err := GetPods("-lapp=" + app) + pods, err := GetPods(namespace, "-lapp="+app) if err != nil { return utils.Errorf(err, L("cannot get pods for %s"), app) } for _, pod := range pods { if len(pod) > 0 { - err = waitForReplica(pod, replica) + err = waitForReplica(namespace, pod, replica) if err != nil { return utils.Errorf(err, L("replica to %d failed"), replica) } @@ -178,8 +179,8 @@ func ReplicasTo(app string, replica uint) error { return err } -func isPodRunning(podname string, filter string) (bool, error) { - pods, err := GetPods(filter) +func isPodRunning(namespace string, podname string, filter string) (bool, error) { + pods, err := GetPods(namespace, filter) if err != nil { return false, utils.Errorf(err, L("cannot check if pod %[1]s is running in app %[2]s"), podname, filter) } @@ -187,9 +188,9 @@ func isPodRunning(podname string, filter string) (bool, error) { } // GetPods return the list of the pod given a filter. -func GetPods(filter string) (pods []string, err error) { +func GetPods(namespace string, filter string) (pods []string, err error) { log.Debug().Msgf("Checking all pods for %s", filter) - cmdArgs := []string{"get", "pods", filter, "--output=custom-columns=:.metadata.name", "--no-headers"} + cmdArgs := []string{"get", "pods", "-n", namespace, filter, "--output=custom-columns=:.metadata.name", "--no-headers"} out, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", cmdArgs...) if err != nil { return pods, utils.Errorf(err, L("cannot execute %s"), strings.Join(cmdArgs, string(" "))) @@ -203,9 +204,9 @@ func GetPods(filter string) (pods []string, err error) { return pods, err } -func waitForReplicaZero(podname string) error { +func waitForReplicaZero(namespace string, podname string) error { waitSeconds := 120 - cmdArgs := []string{"get", "pod", podname} + cmdArgs := []string{"get", "pod", podname, "-n", namespace} for i := 0; i < waitSeconds; i++ { out, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", cmdArgs...) @@ -225,13 +226,13 @@ func waitForReplicaZero(podname string) error { return fmt.Errorf(L("cannot set replicas for %s to zero"), podname) } -func waitForReplica(podname string, replica uint) error { +func waitForReplica(namespace string, podname string, replica uint) error { waitSeconds := 120 log.Debug().Msgf("Checking replica for %s ready to %d", podname, replica) if replica == 0 { - return waitForReplicaZero(podname) + return waitForReplicaZero(namespace, podname) } - cmdArgs := []string{"get", "pod", podname, "--output=custom-columns=STATUS:.status.phase", "--no-headers"} + cmdArgs := []string{"get", "pod", podname, "-n", namespace, "--output=custom-columns=STATUS:.status.phase", "--no-headers"} for i := 0; i < waitSeconds; i++ { out, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", cmdArgs...) @@ -273,8 +274,8 @@ func GetPullPolicy(name string) string { } // RunPod runs a pod, waiting for its execution and deleting it. -func RunPod(podname string, filter string, image string, pullPolicy string, command string, override ...string) error { - arguments := []string{"run", podname, "--image", image, "--image-pull-policy", pullPolicy, filter} +func RunPod(namespace string, podname string, filter string, image string, pullPolicy string, command string, override ...string) error { + arguments := []string{"run", podname, "-n", namespace, "--image", image, "--image-pull-policy", pullPolicy, filter} if len(override) > 0 { arguments = append(arguments, `--override-type=strategic`) @@ -290,20 +291,20 @@ func RunPod(podname string, filter string, image string, pullPolicy string, comm return utils.Errorf(err, PL("The first placeholder is a command", "cannot run %[1]s using image %[2]s"), command, image) } - err = waitForPod(podname) + err = waitForPod(namespace, podname) if err != nil { return utils.Errorf(err, L("deleting pod %s. Status fails with error"), podname) } defer func() { - err = DeletePod(podname, filter) + err = DeletePod(namespace, podname, filter) }() return nil } // Delete a kubernetes pod named podname. -func DeletePod(podname string, filter string) error { - isRunning, err := isPodRunning(podname, filter) +func DeletePod(namespace string, podname string, filter string) error { + isRunning, err := isPodRunning(namespace, podname, filter) if err != nil { return utils.Errorf(err, L("cannot delete pod %s"), podname) } @@ -311,7 +312,7 @@ func DeletePod(podname string, filter string) error { log.Debug().Msgf("no need to delete pod %s because is not running", podname) return nil } - arguments := []string{"delete", "pod", podname} + arguments := []string{"delete", "pod", podname, "-n", namespace} _, err = utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", arguments...) if err != nil { return utils.Errorf(err, L("cannot delete pod %s"), podname) @@ -319,11 +320,11 @@ func DeletePod(podname string, filter string) error { return nil } -func waitForPod(podname string) error { +func waitForPod(namespace string, podname string) error { status := "Succeeded" waitSeconds := 120 log.Debug().Msgf("Checking status for %s pod. Waiting %s seconds until status is %s", podname, strconv.Itoa(waitSeconds), status) - cmdArgs := []string{"get", "pod", podname, "--output=custom-columns=STATUS:.status.phase", "--no-headers"} + cmdArgs := []string{"get", "pod", podname, "-n", namespace, "--output=custom-columns=STATUS:.status.phase", "--no-headers"} var err error for i := 0; i < waitSeconds; i++ { out, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", cmdArgs...) @@ -345,9 +346,9 @@ func waitForPod(podname string) error { } // GetNode return the node where the app is running. -func GetNode(filter string) (string, error) { +func GetNode(namespace string, filter string) (string, error) { nodeName := "" - cmdArgs := []string{"get", "pod", filter, "-o", "jsonpath={.items[*].spec.nodeName}"} + cmdArgs := []string{"get", "pod", "-n", namespace, filter, "-o", "jsonpath={.items[*].spec.nodeName}"} for i := 0; i < 60; i++ { out, err := utils.RunCmdOutput(zerolog.DebugLevel, "kubectl", cmdArgs...) if err == nil { diff --git a/shared/podman/hostinspector.go b/shared/podman/hostinspector.go index 5aef5d783..b51218c6b 100644 --- a/shared/podman/hostinspector.go +++ b/shared/podman/hostinspector.go @@ -54,10 +54,10 @@ func (i *HostInspector) ReadInspectData() (*HostInspectData, error) { // InspectHost gathers data on the host where to install the server or proxy. func InspectHost() (*HostInspectData, error) { - scriptDir, err := os.MkdirTemp("", "mgradm-*") + scriptDir, err := utils.TempDir() defer os.RemoveAll(scriptDir) if err != nil { - return nil, utils.Errorf(err, L("failed to create temporary directory")) + return nil, err } inspector := NewHostInspector(scriptDir) diff --git a/shared/podman/images.go b/shared/podman/images.go index ec0a770da..3982b4a81 100644 --- a/shared/podman/images.go +++ b/shared/podman/images.go @@ -27,7 +27,7 @@ const rpmImageDir = "/usr/share/suse-docker-images/native/" // Ensure the container image is pulled or pull it if the pull policy allows it. // // Returns the image name to use. Note that it may be changed if the image has been loaded from a local RPM package. -func PrepareImage(authFile string, image string, pullPolicy string) (string, error) { +func PrepareImage(authFile string, image string, pullPolicy string, pullEnabled bool) (string, error) { if strings.ToLower(pullPolicy) != "always" { log.Info().Msgf(L("Ensure image %s is available"), image) @@ -39,6 +39,8 @@ func PrepareImage(authFile string, image string, pullPolicy string) (string, err if len(presentImage) > 0 { log.Debug().Msgf("Image %s already present", presentImage) return presentImage, nil + } else { + log.Debug().Msgf("Image %s is missing", image) } } else { log.Info().Msgf(L("Pull Policy is always. Presence of RPM image will be checked and if it's not present it will be pulled from registry")) @@ -61,8 +63,13 @@ func PrepareImage(authFile string, image string, pullPolicy string) (string, err } if strings.ToLower(pullPolicy) != "never" { - log.Debug().Msgf("Pulling image %s because it is missing and pull policy is not 'never'", image) - return image, pullImage(authFile, image) + if pullEnabled { + log.Debug().Msgf("Pulling image %s because it is missing and pull policy is not 'never'", image) + return image, pullImage(authFile, image) + } else { + log.Debug().Msgf("Do not pulling image %s, although the pull policy is not 'never', maybe replicas is zero?", image) + return image, nil + } } return image, fmt.Errorf(L("image %s is missing and cannot be fetched"), image) diff --git a/shared/podman/login.go b/shared/podman/login.go index 205077d00..df7f59b13 100644 --- a/shared/podman/login.go +++ b/shared/podman/login.go @@ -9,15 +9,24 @@ import ( "fmt" "os" + "github.com/rs/zerolog/log" . "github.com/uyuni-project/uyuni-tools/shared/l10n" + "github.com/uyuni-project/uyuni-tools/shared/types" "github.com/uyuni-project/uyuni-tools/shared/utils" ) // PodmanLogin logs in the registry.suse.com registry if needed and returns an authentication file, a cleanup function and an error. -func PodmanLogin(hostData *HostInspectData) (string, func(), error) { - if hostData.SccPassword != "" && hostData.SccUsername != "" { +func PodmanLogin(hostData *HostInspectData, scc types.SCCCredentials) (string, func(), error) { + scc_user := hostData.SccUsername + scc_password := hostData.SccPassword + if scc.User != "" && scc.Password != "" { + log.Info().Msg(L("SCC credentials parameters will be used. SCC credentials from host will be ignored.")) + scc_user = scc.User + scc_password = scc.Password + } + if scc_user != "" && scc_password != "" { // We have SCC credentials, so we are pretty likely to need registry.suse.com - token := base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s:%s", hostData.SccUsername, hostData.SccPassword))) + token := base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s:%s", scc_user, scc_password))) authFileContent := fmt.Sprintf(`{ "auths": { "registry.suse.com" : { diff --git a/shared/podman/support.go b/shared/podman/support.go index ba2c01bfd..18f3b0d0b 100644 --- a/shared/podman/support.go +++ b/shared/podman/support.go @@ -170,7 +170,14 @@ func hostedContainers() ([]string, error) { if err != nil { return []string{}, err } - containerList := utils.GetContainersFromSystemdFiles(string(systemdFiles)) + servicesList := GetServicesFromSystemdFiles(string(systemdFiles)) + + var containerList []string + + for _, service := range servicesList { + service = strings.Replace(service, ".service", "", -1) + containerList = append(containerList, strings.Replace(service, "@", "", -1)) + } return containerList, nil } diff --git a/shared/podman/systemd.go b/shared/podman/systemd.go index 6461c50ec..c8e238b79 100644 --- a/shared/podman/systemd.go +++ b/shared/podman/systemd.go @@ -69,6 +69,23 @@ func GetServiceConfPath(name string) string { return path.Join(GetServiceConfFolder(name), "generated.conf") } +// GetServicesFromSystemdFiles return the uyuni enabled services as string list. +func GetServicesFromSystemdFiles(systemdFileList string) []string { + services := strings.Replace(string(systemdFileList), "/etc/systemd/system/", "", -1) + services = strings.Replace(services, ".service", "", -1) + servicesList := strings.Split(strings.TrimSpace(services), "\n") + + var trimmedServices []string + for _, service := range servicesList { + if ServiceIsEnabled(service) { + trimmedServices = append(trimmedServices, strings.TrimSpace(service)) + } else { + log.Debug().Msgf("service %s is not enabled. Do not run any action on the container.", service) + } + } + return trimmedServices +} + // UninstallService stops and remove a systemd service. // If dryRun is set to true, nothing happens but messages are logged to explain what would be done. func UninstallService(name string, dryRun bool) { diff --git a/shared/podman/utils.go b/shared/podman/utils.go index 0636b49d2..ae0d87b1e 100644 --- a/shared/podman/utils.go +++ b/shared/podman/utils.go @@ -66,7 +66,7 @@ func RunContainer(name string, image string, volumes []types.VolumeMount, extraA podmanArgs := append([]string{"run", "--name", name}, GetCommonParams()...) podmanArgs = append(podmanArgs, extraArgs...) for _, volume := range volumes { - podmanArgs = append(podmanArgs, "-v", volume.Name+":"+volume.MountPath) + podmanArgs = append(podmanArgs, "-v", volume.Name+":"+volume.MountPath+":z") } podmanArgs = append(podmanArgs, image) podmanArgs = append(podmanArgs, cmd...) @@ -217,11 +217,11 @@ func getPodmanVolumeBasePath() (string, error) { } // Inspect check values on a given image and deploy. -func Inspect(serverImage string, pullPolicy string, proxyHost bool) (*utils.ServerInspectData, error) { - scriptDir, err := os.MkdirTemp("", "mgradm-*") +func Inspect(serverImage string, pullPolicy string, scc types.SCCCredentials, proxyHost bool) (*utils.ServerInspectData, error) { + scriptDir, err := utils.TempDir() defer os.RemoveAll(scriptDir) if err != nil { - return nil, utils.Errorf(err, L("failed to create temporary directory")) + return nil, err } hostData, err := InspectHost() @@ -229,13 +229,13 @@ func Inspect(serverImage string, pullPolicy string, proxyHost bool) (*utils.Serv return nil, err } - authFile, cleaner, err := PodmanLogin(hostData) + authFile, cleaner, err := PodmanLogin(hostData, scc) if err != nil { return nil, utils.Errorf(err, L("failed to login to registry.suse.com")) } defer cleaner() - preparedImage, err := PrepareImage(authFile, serverImage, pullPolicy) + preparedImage, err := PrepareImage(authFile, serverImage, pullPolicy, true) if err != nil { return nil, err } diff --git a/shared/types/global.go b/shared/types/global.go index 67432562b..f48948779 100644 --- a/shared/types/global.go +++ b/shared/types/global.go @@ -6,7 +6,6 @@ package types // GlobalFlags represents the flags used by all commands. type GlobalFlags struct { - Registry string ConfigPath string LogLevel string } diff --git a/shared/types/images.go b/shared/types/images.go index ad210e8c1..0940a866a 100644 --- a/shared/types/images.go +++ b/shared/types/images.go @@ -6,6 +6,7 @@ package types // ImageFlags represents the flags used by an image. type ImageFlags struct { + Registry string `mapstructure:"registry"` Name string `mapstructure:"image"` Tag string `mapstructure:"tag"` PullPolicy string `mapstructure:"pullPolicy"` @@ -22,3 +23,9 @@ type ImageMetadata struct { type Metadata struct { Image ImageMetadata `json:"image"` } + +// SCCCredentials can store SCC Credentials. +type SCCCredentials struct { + User string + Password string +} diff --git a/shared/utils/config.go b/shared/utils/config.go index 59c2743fa..f6aa2580a 100644 --- a/shared/utils/config.go +++ b/shared/utils/config.go @@ -41,6 +41,21 @@ func addConfigurationFile(v *viper.Viper, cmd *cobra.Command, configFilename str return nil } +// Returns user configuration directory. +// Can be $XDG_CONFIG_HOME or `homedir/.config`. +func GetUserConfigDir() string { + xdgConfigHome := os.Getenv("XDG_CONFIG_HOME") + if xdgConfigHome == "" { + home, err := os.UserHomeDir() + if err != nil { + log.Warn().Err(err).Msg(L("Failed to find home directory")) + } else { + xdgConfigHome = path.Join(home, ".config") + } + } + return xdgConfigHome +} + // ReadConfig parse configuration file and env variables a return parameters. func ReadConfig(cmd *cobra.Command, configPaths ...string) (*viper.Viper, error) { v := viper.New() @@ -55,15 +70,7 @@ func ReadConfig(cmd *cobra.Command, configPaths ...string) (*viper.Viper, error) v.SetConfigType("yaml") v.SetConfigName(configFilename) - xdgConfigHome := os.Getenv("XDG_CONFIG_HOME") - if xdgConfigHome == "" { - home, err := os.UserHomeDir() - if err != nil { - log.Err(err).Msg(L("Failed to find home directory")) - } else { - xdgConfigHome = path.Join(home, ".config") - } - } + xdgConfigHome := GetUserConfigDir() if xdgConfigHome != "" { v.AddConfigPath(path.Join(xdgConfigHome, appName)) } diff --git a/shared/utils/exec.go b/shared/utils/exec.go index 2fcfa39ea..ffd5dc61d 100644 --- a/shared/utils/exec.go +++ b/shared/utils/exec.go @@ -6,7 +6,6 @@ package utils import ( "fmt" - "os" "os/exec" "strings" "time" @@ -46,12 +45,12 @@ func RunCmd(command string, args ...string) error { // RunCmdStdMapping execute a shell command mapping the stdout and stderr. func RunCmdStdMapping(logLevel zerolog.Level, command string, args ...string) error { - localLogger := log.Level(logLevel) + localLogger := log.Logger.Level(logLevel) localLogger.Debug().Msgf("Running: %s %s", command, strings.Join(args, " ")) runCmd := exec.Command(command, args...) - runCmd.Stdout = os.Stdout - runCmd.Stderr = os.Stderr + runCmd.Stdout = localLogger + runCmd.Stderr = localLogger err := runCmd.Run() return err } diff --git a/shared/utils/serverinspector.go b/shared/utils/serverinspector.go index 2488c43d2..e28b87053 100644 --- a/shared/utils/serverinspector.go +++ b/shared/utils/serverinspector.go @@ -24,7 +24,7 @@ func NewServerInspector(scriptDir string) ServerInspector { "cat /etc/*release | grep 'Uyuni release' | cut -d ' ' -f3 || true"), types.NewInspectData( "suse_manager_release", - "cat /etc/*release | grep 'SUSE Manager release' | cut -d ' ' -f4 || true"), + "sed 's/.*(\\([0-9.]*\\)).*/\\1/g' /etc/susemanager-release || true"), types.NewInspectData( "fqdn", "cat /etc/rhn/rhn.conf 2>/dev/null | grep 'java.hostname' | cut -d' ' -f3 || true"), diff --git a/shared/utils/serverinspector_test.go b/shared/utils/serverinspector_test.go index 55a95c9b5..61a1d23fe 100644 --- a/shared/utils/serverinspector_test.go +++ b/shared/utils/serverinspector_test.go @@ -26,7 +26,7 @@ func TestServerInspectorGenerate(t *testing.T) { expected := `#!/bin/bash # inspect.sh, generated by mgradm echo "uyuni_release=$(cat /etc/*release | grep 'Uyuni release' | cut -d ' ' -f3 || true)" >> ` + dataPath + ` -echo "suse_manager_release=$(cat /etc/*release | grep 'SUSE Manager release' | cut -d ' ' -f4 || true)" >> ` + dataPath + ` +echo "suse_manager_release=$(sed 's/.*(\([0-9.]*\)).*/\1/g' /etc/susemanager-release || true)" >> ` + dataPath + ` echo "fqdn=$(cat /etc/rhn/rhn.conf 2>/dev/null | grep 'java.hostname' | cut -d' ' -f3 || true)" >> ` + dataPath + ` echo "image_pg_version=$(rpm -qa --qf '%{VERSION}\n' 'name=postgresql[0-8][0-9]-server' | cut -d. -f1 | sort -n | tail -1 || true)" >> ` + dataPath + ` echo "current_pg_version=$((test -e /var/lib/pgsql/data/PG_VERSION && cat /var/lib/pgsql/data/PG_VERSION) || true)" >> ` + dataPath + ` @@ -53,7 +53,7 @@ func TestServerInspectorParse(t *testing.T) { content := ` uyuni_release=2024.5 -suse_manager_release=5.0 +suse_manager_release=5.0.0 fqdn=my.server.name image_pg_version=16 current_pg_version=14 @@ -70,7 +70,7 @@ db_port=1234 } test_utils.AssertEquals(t, "Invalid uyuni release", "2024.5", actual.UyuniRelease) - test_utils.AssertEquals(t, "Invalid SUSE Manager release", "5.0", actual.SuseManagerRelease) + test_utils.AssertEquals(t, "Invalid SUSE Manager release", "5.0.0", actual.SuseManagerRelease) test_utils.AssertEquals(t, "Invalid FQDN", "my.server.name", actual.Fqdn) test_utils.AssertEquals(t, "Invalid current postgresql version", "14", actual.CurrentPgVersion) test_utils.AssertEquals(t, "Invalid image postgresql version", "16", actual.ImagePgVersion) diff --git a/shared/utils/tar_test.go b/shared/utils/tar_test.go index edc6a9ff4..bae22011a 100644 --- a/shared/utils/tar_test.go +++ b/shared/utils/tar_test.go @@ -9,6 +9,8 @@ import ( "os/exec" "path" "testing" + + "github.com/uyuni-project/uyuni-tools/shared/test_utils" ) const dataDir = "data" @@ -23,10 +25,7 @@ var filesData = map[string]string{ // Prepare test files to include in the tarball. func setup(t *testing.T) (string, func(t *testing.T)) { - dir, err := os.MkdirTemp("", "uyuni-tools-test-") - if err != nil { - t.Fatalf("failed to create temporary directory for test: %s", err) - } + dir, clean := test_utils.CreateTmpFolder(t) // Create sub directories for the data and the test for _, dirPath := range []string{dataDir, outDir} { @@ -52,9 +51,7 @@ func setup(t *testing.T) (string, func(t *testing.T)) { // Returns the teardown function. return dir, func(t *testing.T) { - if err := os.RemoveAll(dir); err != nil { - t.Logf("failed to clean test directory: %s", err) - } + clean() } } diff --git a/shared/utils/utils.go b/shared/utils/utils.go index d942857cb..1d4a0573b 100644 --- a/shared/utils/utils.go +++ b/shared/utils/utils.go @@ -15,6 +15,7 @@ import ( "net" "net/http" "os" + "os/exec" "path" "regexp" "strconv" @@ -95,6 +96,12 @@ func CheckValidPassword(value *string, prompt string, min int, max int) string { // AskPasswordIfMissing asks for password if missing. // Don't perform any check if min and max are set to 0. func AskPasswordIfMissing(value *string, prompt string, min int, max int) { + if *value == "" && !term.IsTerminal(int(os.Stdin.Fd())) { + //return fmt.Errorf(L("not an interactive device")) + log.Warn().Msgf(L("not an interactive device, not asking for missing value")) + return + } + for *value == "" { firstRound := CheckValidPassword(value, prompt, min, max) if firstRound == "" { @@ -110,15 +117,35 @@ func AskPasswordIfMissing(value *string, prompt string, min int, max int) { } } +// AskPasswordIfMissingOnce asks for password if missing only once +// Don't perform any check if min and max are set to 0. +func AskPasswordIfMissingOnce(value *string, prompt string, min int, max int) { + if *value == "" && !term.IsTerminal(int(os.Stdin.Fd())) { + //return fmt.Errorf(L("not an interactive device")) + log.Warn().Msgf(L("not an interactive device, not asking for missing value")) + return + } + + for *value == "" { + *value = CheckValidPassword(value, prompt, min, max) + } +} + // AskIfMissing asks for a value if missing. // Don't perform any check if min and max are set to 0. func AskIfMissing(value *string, prompt string, min int, max int, checker func(string) bool) { + if *value == "" && !term.IsTerminal(int(os.Stdin.Fd())) { + log.Warn().Msgf(L("not an interactive device, not asking for missing value")) + return + } + reader := bufio.NewReader(os.Stdin) for *value == "" { fmt.Print(prompt + prompt_end) newValue, err := reader.ReadString('\n') if err != nil { - log.Fatal().Err(err).Msgf(L("Failed to read input")) + //return utils.Errorf(err, L("failed to read input")) + log.Fatal().Err(err).Msg(L("failed to read input")) } tmpValue := strings.TrimSpace(newValue) if checkValueSize(tmpValue, min, max) && (checker == nil || checker(tmpValue)) { @@ -287,6 +314,15 @@ func UninstallFile(path string, dryRun bool) { } } +// TempDir creates a temporary directory. +func TempDir() (string, error) { + tempDir, err := os.MkdirTemp("", "mgradm-*") + if err != nil { + return "", Errorf(err, L("failed to create temporary directory")) + } + return tempDir, nil +} + // GetRandomBase64 generates random base64-encoded data. func GetRandomBase64(size int) string { data := make([]byte, size) @@ -409,8 +445,8 @@ func GetFqdn(args []string) (string, error) { // IsValidFDQN returns an error if the argument is not a valid FQDN. func IsValidFQDN(fqdn string) error { - if err := IsWellFormedFQDN(fqdn); err != nil { - return err + if !IsWellFormedFQDN(fqdn) { + return fmt.Errorf(L("%s is not a valid FQDN"), fqdn) } _, err := net.LookupHost(fqdn) if err != nil { @@ -419,10 +455,13 @@ func IsValidFQDN(fqdn string) error { return nil } -// IsWellFormedFQDN returns an error if the argument is not a well formed FQDN. -func IsWellFormedFQDN(fqdn string) error { - if !fqdnValid.MatchString(fqdn) { - return fmt.Errorf(L("%s is not a valid FQDN"), fqdn) - } - return nil +// IsWellFormedFQDN returns an false if the argument is not a well formed FQDN. +func IsWellFormedFQDN(fqdn string) bool { + return fqdnValid.MatchString(fqdn) +} + +// Check if a given command exists in PATH. +func CommandExists(cmd string) bool { + _, err := exec.LookPath(cmd) + return err == nil } diff --git a/shared/utils/utils_test.go b/shared/utils/utils_test.go index 887456805..d25a5e935 100644 --- a/shared/utils/utils_test.go +++ b/shared/utils/utils_test.go @@ -259,8 +259,8 @@ func TestIsWellFormedFQDN(t *testing.T) { } for i, testCase := range data { - if err := IsWellFormedFQDN(testCase); err != nil { - t.Errorf("Testcase %d: Unexpected error while validating FQDN with %s", i, testCase) + if !IsWellFormedFQDN(testCase) { + t.Errorf("Testcase %d: Unexpected failure while validating FQDN with %s", i, testCase) } } wrongData := []string{ @@ -271,8 +271,8 @@ func TestIsWellFormedFQDN(t *testing.T) { } for i, testCase := range wrongData { - if err := IsWellFormedFQDN(testCase); err == nil { - t.Errorf("Testcase %d: expected error while validating FQDN with %s", i, testCase) + if IsWellFormedFQDN(testCase) { + t.Errorf("Testcase %d: Unexpected success while validating FQDN with %s", i, testCase) } } } diff --git a/shared/utils/volumes.go b/shared/utils/volumes.go index 1b8f48fb7..0d48e18f2 100644 --- a/shared/utils/volumes.go +++ b/shared/utils/volumes.go @@ -104,16 +104,16 @@ var HubXmlrpcVolumeMounts = []types.VolumeMount{ // PROXY_HTTPD_VOLUMES volumes used by HTTPD in proxy. var PROXY_HTTPD_VOLUMES = []types.VolumeMount{ - {Name: "uyuni-proxy-rhn-cache", MountPath: "/var/cache/rhn"}, - {Name: "uyuni-proxy-tftpboot", MountPath: "/srv/tftpboot"}, + {Name: "uyuni-proxy-rhn-cache", MountPath: "/var/cache/rhn:z"}, + {Name: "uyuni-proxy-tftpboot", MountPath: "/srv/tftpboot:z"}, } // PROXY_HTTPD_VOLUMES volumes used by Squid in proxy. var PROXY_SQUID_VOLUMES = []types.VolumeMount{ - {Name: "uyuni-proxy-squid-cache", MountPath: "/var/cache/squid"}, + {Name: "uyuni-proxy-squid-cache", MountPath: "/var/cache/squid:z"}, } // PROXY_TFTPD_VOLUMES volumes used by TFTP in proxy. var PROXY_TFTPD_VOLUMES = []types.VolumeMount{ - {Name: "uyuni-proxy-tftpboot", MountPath: "/srv/tftpboot:ro"}, + {Name: "uyuni-proxy-tftpboot", MountPath: "/srv/tftpboot:ro,z"}, } diff --git a/uyuni-tools.changes.bhdn.fix-testid-ptfid b/uyuni-tools.changes.bhdn.fix-testid-ptfid new file mode 100644 index 000000000..76a4a1fa2 --- /dev/null +++ b/uyuni-tools.changes.bhdn.fix-testid-ptfid @@ -0,0 +1 @@ +- set projectId also for test packages/images diff --git a/uyuni-tools.changes.cbosdo.k8s-auth b/uyuni-tools.changes.cbosdo.k8s-auth new file mode 100644 index 000000000..ddea09a1d --- /dev/null +++ b/uyuni-tools.changes.cbosdo.k8s-auth @@ -0,0 +1,2 @@ +- Use SCC credentials to authenticate against registry.suse.com + for kubernetes (bsc#1231157) diff --git a/uyuni-tools.changes.cbosdo.traefik-uninstall b/uyuni-tools.changes.cbosdo.traefik-uninstall new file mode 100644 index 000000000..7cb2f99c3 --- /dev/null +++ b/uyuni-tools.changes.cbosdo.traefik-uninstall @@ -0,0 +1 @@ +- Server on kubernetes uninstallation fixes diff --git a/uyuni-tools.changes.mbussolotto.coco_rep b/uyuni-tools.changes.mbussolotto.coco_rep new file mode 100644 index 000000000..b4e517477 --- /dev/null +++ b/uyuni-tools.changes.mbussolotto.coco_rep @@ -0,0 +1 @@ +- mgradm migration should not pull coco and hub image is replicas == 0 (bsc#1229432,bsc#1230136) diff --git a/uyuni-tools.changes.mbussolotto.downgrade b/uyuni-tools.changes.mbussolotto.downgrade new file mode 100644 index 000000000..b27f5d8e6 --- /dev/null +++ b/uyuni-tools.changes.mbussolotto.downgrade @@ -0,0 +1 @@ +- do not allow SUSE Manager downgrade diff --git a/uyuni-tools.changes.mbussolotto.fix_bash_completion b/uyuni-tools.changes.mbussolotto.fix_bash_completion new file mode 100644 index 000000000..5cd02b721 --- /dev/null +++ b/uyuni-tools.changes.mbussolotto.fix_bash_completion @@ -0,0 +1 @@ +- prevent completion issue when /var/log/uyuni-tools.log is missing diff --git a/uyuni-tools.changes.mbussolotto.fix_shared_volume_proxy b/uyuni-tools.changes.mbussolotto.fix_shared_volume_proxy new file mode 100644 index 000000000..2e0f8aaee --- /dev/null +++ b/uyuni-tools.changes.mbussolotto.fix_shared_volume_proxy @@ -0,0 +1 @@ +- fix proxy shared volume flag diff --git a/uyuni-tools.changes.mbussolotto.mgr_sync b/uyuni-tools.changes.mbussolotto.mgr_sync new file mode 100644 index 000000000..0729a5584 --- /dev/null +++ b/uyuni-tools.changes.mbussolotto.mgr_sync @@ -0,0 +1 @@ +- during migration, exclude mgr-sync configuration file (bsc#1228685) diff --git a/uyuni-tools.changes.mbussolotto.pg_hba_migration b/uyuni-tools.changes.mbussolotto.pg_hba_migration new file mode 100644 index 000000000..ae1d24ed4 --- /dev/null +++ b/uyuni-tools.changes.mbussolotto.pg_hba_migration @@ -0,0 +1 @@ +- migrate from pgsql 14 to pgsql 16 pg_hba.conf and postgresql.conf files (bsc#1231206) diff --git a/uyuni-tools.changes.mbussolotto.public_cloud b/uyuni-tools.changes.mbussolotto.public_cloud new file mode 100644 index 000000000..0dea758f4 --- /dev/null +++ b/uyuni-tools.changes.mbussolotto.public_cloud @@ -0,0 +1,2 @@ +- during migration, handle empty autoinstallation path (bsc#1230285) +- during migration, handle symlinks (bsc#1230288) diff --git a/uyuni-tools.changes.mbussolotto.rsync_migrate b/uyuni-tools.changes.mbussolotto.rsync_migrate new file mode 100644 index 000000000..aa0f52034 --- /dev/null +++ b/uyuni-tools.changes.mbussolotto.rsync_migrate @@ -0,0 +1 @@ +- during migration, trust the remote sender's file list (bsc#1228424) diff --git a/uyuni-tools.changes.mbussolotto.scc_cred b/uyuni-tools.changes.mbussolotto.scc_cred new file mode 100644 index 000000000..d558755aa --- /dev/null +++ b/uyuni-tools.changes.mbussolotto.scc_cred @@ -0,0 +1 @@ +- use scc flags during podman pull diff --git a/uyuni-tools.changes.mbussolotto.selinux b/uyuni-tools.changes.mbussolotto.selinux new file mode 100644 index 000000000..9c301205f --- /dev/null +++ b/uyuni-tools.changes.mbussolotto.selinux @@ -0,0 +1 @@ +- restore SELinux permission after migration (bsc#1229501) diff --git a/uyuni-tools.changes.mbussolotto.shared_volume b/uyuni-tools.changes.mbussolotto.shared_volume new file mode 100644 index 000000000..8cabd6db0 --- /dev/null +++ b/uyuni-tools.changes.mbussolotto.shared_volume @@ -0,0 +1 @@ +- share volumes between containers (bsc#1223142) diff --git a/uyuni-tools.changes.mbussolotto.supportconfig b/uyuni-tools.changes.mbussolotto.supportconfig new file mode 100644 index 000000000..6077b73bc --- /dev/null +++ b/uyuni-tools.changes.mbussolotto.supportconfig @@ -0,0 +1 @@ +- save supportconfig in current directory (bsc#1226759) diff --git a/uyuni-tools.changes.oholecek.fix-autoreinstallation b/uyuni-tools.changes.oholecek.fix-autoreinstallation new file mode 100644 index 000000000..8130a3f8f --- /dev/null +++ b/uyuni-tools.changes.oholecek.fix-autoreinstallation @@ -0,0 +1 @@ +- fix error code handling on reinstallation (bsc#1230139) diff --git a/uyuni-tools.changes.oholecek.fix-firstuser-call b/uyuni-tools.changes.oholecek.fix-firstuser-call new file mode 100644 index 000000000..b8281d822 --- /dev/null +++ b/uyuni-tools.changes.oholecek.fix-firstuser-call @@ -0,0 +1 @@ +- fix creating first user and organization diff --git a/uyuni-tools.changes.oholecek.fix_var_passing_quotation b/uyuni-tools.changes.oholecek.fix_var_passing_quotation new file mode 100644 index 000000000..4618cd999 --- /dev/null +++ b/uyuni-tools.changes.oholecek.fix_var_passing_quotation @@ -0,0 +1 @@ +- add missing variable quotes for install vars (bsc#1229108) diff --git a/uyuni-tools.changes.oholecek.persistent_login b/uyuni-tools.changes.oholecek.persistent_login new file mode 100644 index 000000000..369dfc2e9 --- /dev/null +++ b/uyuni-tools.changes.oholecek.persistent_login @@ -0,0 +1 @@ +- add api login and logout calls to allow persistent login diff --git a/uyuni-tools.changes.rjpmestre.ensure-namespace-is-defined-in-all-kubernetes-commands b/uyuni-tools.changes.rjpmestre.ensure-namespace-is-defined-in-all-kubernetes-commands new file mode 100644 index 000000000..c3214f010 --- /dev/null +++ b/uyuni-tools.changes.rjpmestre.ensure-namespace-is-defined-in-all-kubernetes-commands @@ -0,0 +1 @@ +- Ensure namespace is defined in all kubernetes commands diff --git a/uyuni-tools.changes.rjpmestre.mgrctl-cp-fix-namespace b/uyuni-tools.changes.rjpmestre.mgrctl-cp-fix-namespace new file mode 100644 index 000000000..1954acc13 --- /dev/null +++ b/uyuni-tools.changes.rjpmestre.mgrctl-cp-fix-namespace @@ -0,0 +1 @@ +- Fix namespace usage on mgrctl cp command \ No newline at end of file diff --git a/uyuni-tools.changes.santeri3700.improve_copycacertificate_compatibility b/uyuni-tools.changes.santeri3700.improve_copycacertificate_compatibility new file mode 100644 index 000000000..ec2a378f7 --- /dev/null +++ b/uyuni-tools.changes.santeri3700.improve_copycacertificate_compatibility @@ -0,0 +1 @@ +- improve compatibility for updating host trusted certificates