mirror of
https://github.com/certd/certd.git
synced 2026-05-15 04:27:31 +08:00
chore: sdk
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
public class GetCert {
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
new GetCert().run();
|
||||
} catch (Exception e) {
|
||||
System.err.println(e.getMessage());
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
private void run() throws Exception {
|
||||
CertdClient client = new CertdClient(
|
||||
requireEnv("CERTD_KEY_ID"),
|
||||
requireEnv("CERTD_KEY_SECRET"),
|
||||
env("CERTD_BASE_URL", "http://127.0.0.1:7001"),
|
||||
boolEnv("CERTD_ENCRYPT", false)
|
||||
);
|
||||
|
||||
String certId = System.getenv("CERTD_CERT_ID");
|
||||
String domains = System.getenv("CERTD_DOMAINS");
|
||||
String format = System.getenv("CERTD_FORMAT");
|
||||
|
||||
if (isBlank(certId) && isBlank(domains)) {
|
||||
throw new IllegalArgumentException("Set CERTD_CERT_ID or CERTD_DOMAINS");
|
||||
}
|
||||
|
||||
StringBuilder body = new StringBuilder();
|
||||
body.append("{");
|
||||
boolean hasField = false;
|
||||
if (!isBlank(certId)) {
|
||||
body.append("\"certId\":").append(Long.parseLong(certId));
|
||||
hasField = true;
|
||||
}
|
||||
if (!isBlank(domains)) {
|
||||
appendComma(body, hasField);
|
||||
body.append("\"domains\":\"").append(CertdClient.jsonEscape(domains)).append("\"");
|
||||
hasField = true;
|
||||
}
|
||||
appendComma(body, hasField);
|
||||
body.append("\"autoApply\":").append(boolEnv("CERTD_AUTO_APPLY", false));
|
||||
hasField = true;
|
||||
if (!isBlank(format)) {
|
||||
appendComma(body, hasField);
|
||||
body.append("\"format\":\"").append(CertdClient.jsonEscape(format)).append("\"");
|
||||
}
|
||||
body.append("}");
|
||||
|
||||
System.out.println(client.getCert(body.toString()));
|
||||
}
|
||||
|
||||
private static String requireEnv(String name) {
|
||||
String value = System.getenv(name);
|
||||
if (isBlank(value)) {
|
||||
throw new IllegalArgumentException("Missing environment variable: " + name);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
private static String env(String name, String defaultValue) {
|
||||
String value = System.getenv(name);
|
||||
return isBlank(value) ? defaultValue : value;
|
||||
}
|
||||
|
||||
private static boolean boolEnv(String name, boolean defaultValue) {
|
||||
String value = System.getenv(name);
|
||||
if (isBlank(value)) {
|
||||
return defaultValue;
|
||||
}
|
||||
return value.equalsIgnoreCase("1")
|
||||
|| value.equalsIgnoreCase("true")
|
||||
|| value.equalsIgnoreCase("yes")
|
||||
|| value.equalsIgnoreCase("y");
|
||||
}
|
||||
|
||||
private static boolean isBlank(String value) {
|
||||
return value == null || value.isBlank();
|
||||
}
|
||||
|
||||
private static void appendComma(StringBuilder builder, boolean hasField) {
|
||||
if (hasField) {
|
||||
builder.append(",");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user