diff --git a/Sources/containertool/Extensions/RegistryClient+publish.swift b/Sources/containertool/Extensions/RegistryClient+publish.swift index d14434c..84b5f50 100644 --- a/Sources/containertool/Extensions/RegistryClient+publish.swift +++ b/Sources/containertool/Extensions/RegistryClient+publish.swift @@ -29,6 +29,7 @@ func publishContainerImage( os: String, entrypoint: String?, cmd: [String], + additionalEnv: [String], resources: [String], tag: String?, verbose: Bool, @@ -128,6 +129,13 @@ func publishContainerImage( inheritedConfiguration.Cmd = cmd inheritedConfiguration.WorkingDir = "/" + if var env = inheritedConfiguration.Env { + env.append(contentsOf: additionalEnv) + inheritedConfiguration.Env = env + } else { + inheritedConfiguration.Env = additionalEnv + } + let configuration = ImageConfiguration( created: timestamp, architecture: architecture, diff --git a/Sources/containertool/containertool.swift b/Sources/containertool/containertool.swift index 6733c66..9328ba2 100644 --- a/Sources/containertool/containertool.swift +++ b/Sources/containertool/containertool.swift @@ -68,6 +68,9 @@ enum AllowHTTP: String, ExpressibleByArgument, CaseIterable { case source, desti @Option(help: "Entrypoint process") var entrypoint: String? + @Option(parsing: .singleValue, help: "Additional environment variables to set in the container") + var env: [String] = [] + @Option(parsing: .remaining, help: "Default arguments to pass to the entrypoint process") var cmd: [String] = [] } @@ -230,6 +233,7 @@ enum AllowHTTP: String, ExpressibleByArgument, CaseIterable { case source, desti os: os, entrypoint: imageConfigurationOptions.entrypoint, cmd: imageConfigurationOptions.cmd, + additionalEnv: imageConfigurationOptions.env, resources: imageBuildOptions.resources, tag: repositoryOptions.tag, verbose: verbose,