Skip to content

Commit 86bd177

Browse files
committed
Use shared KMS library
1 parent 74cffde commit 86bd177

File tree

12 files changed

+211
-14
lines changed

12 files changed

+211
-14
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
<key-formats-java.version>1.22.0</key-formats-java.version>
9090
<did-common-java.version>1.18.0</did-common-java.version>
9191
<danubetech-common-java.version>1.32.0</danubetech-common-java.version>
92-
<danubetech-kms-java.version>0.1.0</danubetech-kms-java.version>
92+
<danubetech-kms-java.version>0.4.0</danubetech-kms-java.version>
9393
<com.github.mattrglobal-bbs.signatures.version>2.0</com.github.mattrglobal-bbs.signatures.version>
9494

9595
<!-- Other Versions -->

src/main/java/com/godiddy/cli/clistorage/cliconfig/CLIConfig.java

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.godiddy.cli.clistorage.cliconfig;
22

3+
import com.godiddy.cli.clistorage.CLIStorage;
34
import com.godiddy.cli.config.Formatting;
45
import com.godiddy.cli.config.Headers;
56
import com.godiddy.cli.config.Kms;
6-
import com.godiddy.cli.clistorage.CLIStorage;
77

88
public class CLIConfig {
99

@@ -67,6 +67,30 @@ public static void setWalletServiceBase(String walletServiceBase) {
6767
}
6868
}
6969

70+
public static String getVaultEndpoint() {
71+
return CLIStorage.get("vaultEndpoint");
72+
}
73+
74+
public static void setVaultEndpoint(String vaultEndpoint) {
75+
if (vaultEndpoint == null) {
76+
CLIStorage.remove("vaultEndpoint");
77+
} else {
78+
CLIStorage.put("vaultEndpoint", vaultEndpoint);
79+
}
80+
}
81+
82+
public static String getVaultToken() {
83+
return CLIStorage.get("vaultToken");
84+
}
85+
86+
public static void setVaultToken(String vaultToken) {
87+
if (vaultToken == null) {
88+
CLIStorage.remove("vaultToken");
89+
} else {
90+
CLIStorage.put("vaultToken", vaultToken);
91+
}
92+
}
93+
7094
public static Formatting.Value getFormatting() {
7195
return CLIStorage.get("formatting") == null ? null : Formatting.Value.valueOf(CLIStorage.get("formatting"));
7296
}

src/main/java/com/godiddy/cli/commands/config/ConfigRootCommand.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@
1212
subcommands = {
1313
ConfigApiKeyCommand.class,
1414
ConfigEndpointCommand.class,
15+
ConfigFormattingCommand.class,
16+
ConfigHeadersCommand.class,
1517
ConfigKmsCommand.class,
1618
ConfigWalletServiceBaseCommand.class,
17-
ConfigFormattingCommand.class,
18-
ConfigHeadersCommand.class
19+
ConfigVaultEndpointCommand.class,
20+
ConfigVaultTokenCommand.class
1921
}
2022
)
2123
public class ConfigRootCommand extends GodiddyAbstractCommand implements Callable<Integer> {
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.godiddy.cli.commands.config;
2+
3+
import com.godiddy.cli.clistorage.cliconfig.CLIConfig;
4+
import com.godiddy.cli.config.VaultEndpoint;
5+
import org.apache.logging.log4j.LogManager;
6+
import org.apache.logging.log4j.Logger;
7+
import picocli.CommandLine;
8+
9+
import java.util.concurrent.Callable;
10+
11+
@CommandLine.Command(
12+
name = "vaultendpoint",
13+
description = "Get or set the endpoint of a Hashicorp Vault instance. Default value: " + VaultEndpoint.DEFAULT_VAULTENDPOINT + ".",
14+
mixinStandardHelpOptions = true
15+
)
16+
public class ConfigVaultEndpointCommand extends ConfigAbstractCommand implements Callable<Integer> {
17+
18+
private static final Logger log = LogManager.getLogger(ConfigVaultEndpointCommand.class);
19+
20+
@CommandLine.Parameters(
21+
index = "0",
22+
description = "The endpoint of a Hashicorp Vault instance. Default value: " + VaultEndpoint.DEFAULT_VAULTENDPOINT + ".",
23+
arity = "0..1"
24+
)
25+
String vaultEndpoint;
26+
27+
@Override
28+
public Integer call() throws Exception {
29+
log.trace("Parameter 'vaultEndpoint': " + this.vaultEndpoint);
30+
if (Boolean.TRUE.equals(this.delete)) {
31+
CLIConfig.setVaultEndpoint(null);
32+
System.out.println("Vault endpoint setting successfully deleted.");
33+
} else {
34+
if (this.vaultEndpoint == null) {
35+
String vaultEndpoint = CLIConfig.getVaultEndpoint();
36+
if (vaultEndpoint == null) {
37+
System.out.println("No vault endpoint set.");
38+
} else {
39+
System.out.println("Vault endpoint: " + vaultEndpoint);
40+
}
41+
} else {
42+
String vaultEndpoint = this.vaultEndpoint;
43+
String predefinedVaultEndpoint = VaultEndpoint.PREDEFINED_VAULTENDPOINTS.get(this.vaultEndpoint);
44+
if (predefinedVaultEndpoint != null) {
45+
System.out.println("Using predefined vault endpoint value '" + predefinedVaultEndpoint + "' for parameter value '" + vaultEndpoint + "'.");
46+
vaultEndpoint = predefinedVaultEndpoint;
47+
}
48+
CLIConfig.setVaultEndpoint(vaultEndpoint);
49+
System.out.println("Vault endpoint successfully set: " + vaultEndpoint);
50+
}
51+
}
52+
return 0;
53+
}
54+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.godiddy.cli.commands.config;
2+
3+
import com.godiddy.cli.clistorage.cliconfig.CLIConfig;
4+
import com.godiddy.cli.config.VaultToken;
5+
import org.apache.logging.log4j.LogManager;
6+
import org.apache.logging.log4j.Logger;
7+
import picocli.CommandLine;
8+
9+
import java.util.concurrent.Callable;
10+
11+
@CommandLine.Command(
12+
name = "vaulttoken",
13+
description = "Get or set the token of a Hashicorp Vault instance. Default value: " + VaultToken.DEFAULT_VAULTTOKEN + ".",
14+
mixinStandardHelpOptions = true
15+
)
16+
public class ConfigVaultTokenCommand extends ConfigAbstractCommand implements Callable<Integer> {
17+
18+
private static final Logger log = LogManager.getLogger(ConfigVaultTokenCommand.class);
19+
20+
@CommandLine.Parameters(
21+
index = "0",
22+
description = "The token of a Hashicorp Vault instance. Default value: " + VaultToken.DEFAULT_VAULTTOKEN + ".",
23+
arity = "0..1"
24+
)
25+
String vaultToken;
26+
27+
@Override
28+
public Integer call() throws Exception {
29+
log.trace("Parameter 'vaultToken': " + this.vaultToken);
30+
if (Boolean.TRUE.equals(this.delete)) {
31+
CLIConfig.setVaultToken(null);
32+
System.out.println("Vault token setting successfully deleted.");
33+
} else {
34+
if (this.vaultToken == null) {
35+
String vaultToken = CLIConfig.getVaultToken();
36+
if (vaultToken == null) {
37+
System.out.println("No vault token set.");
38+
} else {
39+
System.out.println("Vault token: " + vaultToken);
40+
}
41+
} else {
42+
String vaultToken = this.vaultToken;
43+
String predefinedVaultToken = VaultToken.PREDEFINED_VAULTTOKENS.get(this.vaultToken);
44+
if (predefinedVaultToken != null) {
45+
System.out.println("Using predefined vault token value '" + predefinedVaultToken + "' for parameter value '" + vaultToken + "'.");
46+
vaultToken = predefinedVaultToken;
47+
}
48+
CLIConfig.setVaultToken(vaultToken);
49+
System.out.println("Vault token successfully set: " + vaultToken);
50+
}
51+
}
52+
return 0;
53+
}
54+
}

src/main/java/com/godiddy/cli/commands/resource/CreateResourceCommand.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.godiddy.api.client.openapi.model.RequestOptions;
55
import com.godiddy.api.client.openapi.model.RequestSecret;
66
import com.godiddy.cli.GodiddyAbstractCommand;
7+
import com.godiddy.cli.commands.registrar.DoContinue;
78
import com.godiddy.cli.config.Api;
89
import com.godiddy.cli.clistorage.clistate.CLIState;
910
import com.godiddy.cli.commands.registrar.ContinueCommand;
@@ -123,6 +124,6 @@ public Integer call() throws Exception {
123124

124125
// continue
125126

126-
return ContinueCommand.doContinue(interactive);
127+
return DoContinue.doContinue(interactive);
127128
}
128129
}

src/main/java/com/godiddy/cli/commands/resource/DeactivateResourceCommand.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.godiddy.api.client.openapi.model.RequestOptions;
55
import com.godiddy.api.client.openapi.model.RequestSecret;
66
import com.godiddy.cli.GodiddyAbstractCommand;
7+
import com.godiddy.cli.commands.registrar.DoContinue;
78
import com.godiddy.cli.config.Api;
89
import com.godiddy.cli.clistorage.clistate.CLIState;
910
import com.godiddy.cli.commands.registrar.ContinueCommand;
@@ -105,6 +106,6 @@ public Integer call() throws Exception {
105106

106107
// continue
107108

108-
return ContinueCommand.doContinue(interactive);
109+
return DoContinue.doContinue(interactive);
109110
}
110111
}

src/main/java/com/godiddy/cli/commands/resource/UpdateResourceCommand.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.godiddy.cli.GodiddyAbstractCommand;
77
import com.godiddy.cli.clistorage.clistate.CLIState;
88
import com.godiddy.cli.commands.registrar.ContinueCommand;
9+
import com.godiddy.cli.commands.registrar.DoContinue;
910
import com.godiddy.cli.config.Api;
1011
import org.apache.logging.log4j.LogManager;
1112
import org.apache.logging.log4j.Logger;
@@ -128,6 +129,6 @@ public Integer call() throws Exception {
128129

129130
// continue
130131

131-
return ContinueCommand.doContinue(interactive);
132+
return DoContinue.doContinue(interactive);
132133
}
133134
}

src/main/java/com/godiddy/cli/config/Kms.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ public class Kms {
1414

1515
public enum Value {
1616
dummy,
17-
walletservice,
1817
local,
18+
hashicorp_vault,
19+
wallet_service,
1920
def
2021
};
2122

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.godiddy.cli.config;
2+
3+
import com.godiddy.cli.clistorage.cliconfig.CLIConfig;
4+
import org.apache.logging.log4j.LogManager;
5+
import org.apache.logging.log4j.Logger;
6+
7+
import java.util.Map;
8+
import java.util.Objects;
9+
10+
11+
public class VaultEndpoint {
12+
13+
private static final Logger log = LogManager.getLogger(VaultEndpoint.class);
14+
15+
public static final String DEFAULT_VAULTENDPOINT = "http://localhost:8200/";
16+
public static final Map<String, String> PREDEFINED_VAULTENDPOINTS = Map.of(
17+
"def", DEFAULT_VAULTENDPOINT
18+
);
19+
20+
public static String getVaultEndpoint() {
21+
String vaultEndpoint = Objects.requireNonNullElse(CLIConfig.getVaultEndpoint(), DEFAULT_VAULTENDPOINT);
22+
if (DEFAULT_VAULTENDPOINT.equals(vaultEndpoint)) {
23+
log.info("Using default vault endpoint: " + DEFAULT_VAULTENDPOINT);
24+
}
25+
return vaultEndpoint;
26+
}
27+
}

0 commit comments

Comments
 (0)