feat: Integrates vault-client into hpa-executable.

This commit is contained in:
2024-12-16 10:57:14 -05:00
parent da810d0a45
commit 1302b15ee2
4 changed files with 44 additions and 25 deletions

View File

@@ -1,6 +1,7 @@
import ArgumentParser
import CliClient
import Dependencies
import VaultClient
struct EncryptCommand: AsyncParsableCommand {
@@ -11,24 +12,21 @@ struct EncryptCommand: AsyncParsableCommand {
abstract: createAbstract("Encrypt a vault file.")
)
@OptionGroup var options: VaultOptions
@Option(
name: .shortAndLong,
help: "Output file."
)
var output: String?
mutating func run() async throws {
@Dependency(\.cliClient) var cliClient
@OptionGroup var options: VaultOptions
var args = ["encrypt"]
if let output {
args.append(contentsOf: ["--output", output])
}
try await cliClient.runVaultCommand(
options.vaultOptions(arguments: args, configuration: nil),
logging: options.loggingOptions(commandName: Self.commandName)
)
mutating func run() async throws {
@Dependency(\.vaultClient) var vaultClient
try await vaultClient.run(options.runOptions(
commandName: Self.commandName,
route: .encrypt,
outputFilePath: output
))
}
}