You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by of...@apache.org on 2019/10/31 16:32:05 UTC
[incubator-dlab] 01/01: [DLAB-1220] Added new cloud parameter in
provisioning
This is an automated email from the ASF dual-hosted git repository.
ofuks pushed a commit to branch DLAB-1220
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit a8a84fb73edb152aad7243d5c6baf4d2180a16fc
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Thu Oct 31 18:31:16 2019 +0200
[DLAB-1220] Added new cloud parameter in provisioning
---
.../com/epam/dlab/dto/aws/AwsCloudSettings.java | 12 +++++++
.../epam/dlab/dto/azure/AzureCloudSettings.java | 12 +++++++
.../com/epam/dlab/dto/gcp/GcpCloudSettings.java | 12 +++++++
services/provisioning-service/provisioning.yml | 9 ++++-
.../epam/dlab/backendapi/CloudConfiguration.java | 11 ++++++
.../backendapi/core/commands/CommandBuilder.java | 40 +++++++++++++++++-----
6 files changed, 87 insertions(+), 9 deletions(-)
diff --git a/services/dlab-model/src/main/java/com/epam/dlab/dto/aws/AwsCloudSettings.java b/services/dlab-model/src/main/java/com/epam/dlab/dto/aws/AwsCloudSettings.java
index ccf56df..6552902 100644
--- a/services/dlab-model/src/main/java/com/epam/dlab/dto/aws/AwsCloudSettings.java
+++ b/services/dlab-model/src/main/java/com/epam/dlab/dto/aws/AwsCloudSettings.java
@@ -68,6 +68,18 @@ public class AwsCloudSettings extends CloudSettings {
protected String sbn;
@JsonProperty("conf_key_dir")
protected String confKeyDir;
+ @JsonProperty("conf_shared_image_enabled")
+ private boolean sharedImageEnabled;
+ @JsonProperty("conf_stepcerts_enabled")
+ private boolean stepCertsEnabled;
+ @JsonProperty("conf_stepcerts_root_ca")
+ private String stepCertsRootCA;
+ @JsonProperty("conf_stepcerts_kid")
+ private String stepCertsKid;
+ @JsonProperty("conf_stepcerts_kid_password")
+ private String stepCertsKidPassword;
+ @JsonProperty("conf_stepcerts_ca_url")
+ private String stepCertsCAURL;
@Override
@JsonIgnore
diff --git a/services/dlab-model/src/main/java/com/epam/dlab/dto/azure/AzureCloudSettings.java b/services/dlab-model/src/main/java/com/epam/dlab/dto/azure/AzureCloudSettings.java
index 6e86fd1..901216d 100644
--- a/services/dlab-model/src/main/java/com/epam/dlab/dto/azure/AzureCloudSettings.java
+++ b/services/dlab-model/src/main/java/com/epam/dlab/dto/azure/AzureCloudSettings.java
@@ -46,6 +46,18 @@ public class AzureCloudSettings extends CloudSettings {
private String azureSecurityGroupName;
@JsonProperty("conf_key_dir")
protected String confKeyDir;
+ @JsonProperty("conf_shared_image_enabled")
+ private boolean sharedImageEnabled;
+ @JsonProperty("conf_stepcerts_enabled")
+ private boolean stepCertsEnabled;
+ @JsonProperty("conf_stepcerts_root_ca")
+ private String stepCertsRootCA;
+ @JsonProperty("conf_stepcerts_kid")
+ private String stepCertsKid;
+ @JsonProperty("conf_stepcerts_kid_password")
+ private String stepCertsKidPassword;
+ @JsonProperty("conf_stepcerts_ca_url")
+ private String stepCertsCAURL;
@Override
@JsonIgnore
diff --git a/services/dlab-model/src/main/java/com/epam/dlab/dto/gcp/GcpCloudSettings.java b/services/dlab-model/src/main/java/com/epam/dlab/dto/gcp/GcpCloudSettings.java
index 35aade3..5542aeb 100644
--- a/services/dlab-model/src/main/java/com/epam/dlab/dto/gcp/GcpCloudSettings.java
+++ b/services/dlab-model/src/main/java/com/epam/dlab/dto/gcp/GcpCloudSettings.java
@@ -62,6 +62,18 @@ public class GcpCloudSettings extends CloudSettings {
protected String zone;
@JsonProperty("gcp_region")
protected String region;
+ @JsonProperty("conf_shared_image_enabled")
+ private boolean sharedImageEnabled;
+ @JsonProperty("conf_stepcerts_enabled")
+ private boolean stepCertsEnabled;
+ @JsonProperty("conf_stepcerts_root_ca")
+ private String stepCertsRootCA;
+ @JsonProperty("conf_stepcerts_kid")
+ private String stepCertsKid;
+ @JsonProperty("conf_stepcerts_kid_password")
+ private String stepCertsKidPassword;
+ @JsonProperty("conf_stepcerts_ca_url")
+ private String stepCertsCAURL;
@Override
@JsonIgnore
diff --git a/services/provisioning-service/provisioning.yml b/services/provisioning-service/provisioning.yml
index bd39c90..3e34454 100644
--- a/services/provisioning-service/provisioning.yml
+++ b/services/provisioning-service/provisioning.yml
@@ -119,9 +119,16 @@ cloudProperties:
datalakeTagName: AZURE_DATALAKE_TAG
azureClientId: AZURE_CLIENT_ID
gcpProjectId: GCP_PROJECT_ID
+ sharedImageEnabled: SHARED_IMAGE_ENABLED
ldap:
host: LDAP_HOST
dn: LDAP_DN
ou: LDAP_OU
user: LDAP_USER_NAME
- password: LDAP_USER_PASSWORD
\ No newline at end of file
+ password: LDAP_USER_PASSWORD
+ stepCerts:
+ enabled: STEP_CERTS_ENABLED
+ rootCA: STEP_ROOT_CA
+ kid: STEP_KID_ID
+ kidPassword: STEP_KID_PASSWORD
+ caURL: STEP_CA_URL
\ No newline at end of file
diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/CloudConfiguration.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/CloudConfiguration.java
index 3f9339a..b79706c 100644
--- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/CloudConfiguration.java
+++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/CloudConfiguration.java
@@ -26,8 +26,10 @@ public class CloudConfiguration {
private final String azureClientId;
private final String peeringId;
private final String gcpProjectId;
+ private final boolean sharedImageEnabled;
@JsonProperty("ldap")
private final LdapConfig ldapConfig;
+ private final StepCerts stepCerts;
@Data
public static class LdapConfig {
@@ -37,4 +39,13 @@ public class CloudConfiguration {
private final String user;
private final String password;
}
+
+ @Data
+ public static class StepCerts {
+ private final boolean enabled;
+ private final String rootCA;
+ private final String kid;
+ private final String kidPassword;
+ private final String caURL;
+ }
}
diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/CommandBuilder.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/CommandBuilder.java
index fa61bdd..baa40fb 100644
--- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/CommandBuilder.java
+++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/CommandBuilder.java
@@ -69,18 +69,20 @@ public class CommandBuilder {
final CloudProvider cloudProvider = conf.getCloudProvider();
final CloudConfiguration cloudConfiguration = conf.getCloudConfiguration();
final CloudConfiguration.LdapConfig ldapConfig = cloudConfiguration.getLdapConfig();
+ final CloudConfiguration.StepCerts stepCerts = cloudConfiguration.getStepCerts();
if (cloudProvider == CloudProvider.AWS) {
- return awsCloudSettings(settings, cloudConfiguration, ldapConfig);
+ return awsCloudSettings(settings, cloudConfiguration, ldapConfig, stepCerts);
} else if (cloudProvider == CloudProvider.GCP) {
- return gcpCloudSettings(settings, cloudConfiguration, ldapConfig);
+ return gcpCloudSettings(settings, cloudConfiguration, ldapConfig, stepCerts);
} else if (cloudProvider == CloudProvider.AZURE) {
- return azureCloudSettings(settings, cloudConfiguration);
+ return azureCloudSettings(settings, cloudConfiguration, stepCerts);
} else {
throw new UnsupportedOperationException("Unsupported cloud provider " + cloudProvider.getName());
}
}
- private AzureCloudSettings azureCloudSettings(CloudSettings settings, CloudConfiguration cloudConfiguration) {
+ private AzureCloudSettings azureCloudSettings(CloudSettings settings, CloudConfiguration cloudConfiguration,
+ CloudConfiguration.StepCerts stepCerts) {
return AzureCloudSettings.builder()
.azureRegion(cloudConfiguration.getRegion())
.azureResourceGroupName(cloudConfiguration.getAzureResourceGroupName())
@@ -88,11 +90,19 @@ public class CommandBuilder {
.azureSubnetName(cloudConfiguration.getSubnetId())
.azureVpcName(cloudConfiguration.getVpcId())
.confKeyDir(cloudConfiguration.getConfKeyDir())
- .azureIamUser(settings.getIamUser()).build();
+ .azureIamUser(settings.getIamUser())
+ .sharedImageEnabled(cloudConfiguration.isSharedImageEnabled())
+ .stepCertsEnabled(stepCerts.isEnabled())
+ .stepCertsRootCA(stepCerts.getRootCA())
+ .stepCertsKid(stepCerts.getKid())
+ .stepCertsKidPassword(stepCerts.getKidPassword())
+ .stepCertsCAURL(stepCerts.getCaURL())
+ .build();
}
private GcpCloudSettings gcpCloudSettings(CloudSettings settings, CloudConfiguration cloudConfiguration,
- CloudConfiguration.LdapConfig ldapConfig) {
+ CloudConfiguration.LdapConfig ldapConfig,
+ CloudConfiguration.StepCerts stepCerts) {
return GcpCloudSettings.builder()
.projectId(cloudConfiguration.getGcpProjectId())
.vpcName(cloudConfiguration.getVpcId())
@@ -108,11 +118,19 @@ public class CommandBuilder {
.cloud(conf.getCloudProvider().getName())
.os(cloudConfiguration.getOs())
.confKeyDir(cloudConfiguration.getConfKeyDir())
- .gcpIamUser(settings.getIamUser()).build();
+ .gcpIamUser(settings.getIamUser())
+ .sharedImageEnabled(cloudConfiguration.isSharedImageEnabled())
+ .stepCertsEnabled(stepCerts.isEnabled())
+ .stepCertsRootCA(stepCerts.getRootCA())
+ .stepCertsKid(stepCerts.getKid())
+ .stepCertsKidPassword(stepCerts.getKidPassword())
+ .stepCertsCAURL(stepCerts.getCaURL())
+ .build();
}
private AwsCloudSettings awsCloudSettings(CloudSettings settings, CloudConfiguration cloudConfiguration,
- CloudConfiguration.LdapConfig ldapConfig) {
+ CloudConfiguration.LdapConfig ldapConfig,
+ CloudConfiguration.StepCerts stepCerts) {
return AwsCloudSettings.builder()
.awsRegion(cloudConfiguration.getRegion())
.awsSecurityGroupIds(cloudConfiguration.getSecurityGroupIds())
@@ -132,6 +150,12 @@ public class CommandBuilder {
.cloud(conf.getCloudProvider().getName())
.os(cloudConfiguration.getOs())
.confKeyDir(cloudConfiguration.getConfKeyDir())
+ .sharedImageEnabled(cloudConfiguration.isSharedImageEnabled())
+ .stepCertsEnabled(stepCerts.isEnabled())
+ .stepCertsRootCA(stepCerts.getRootCA())
+ .stepCertsKid(stepCerts.getKid())
+ .stepCertsKidPassword(stepCerts.getKidPassword())
+ .stepCertsCAURL(stepCerts.getCaURL())
.build();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org