@@ -8,6 +8,7 @@ import org.elasticsearch.gradle.internal.info.BuildParams
88 * your election, the "Elastic License 2.0", the "GNU Affero General Public
99 * License v3.0 only", or the "Server Side Public License, v 1".
1010 */
11+ apply plugin : ' elasticsearch.internal-cluster-test'
1112apply plugin : ' elasticsearch.internal-java-rest-test'
1213apply plugin : ' elasticsearch.internal-cluster-test'
1314
@@ -17,30 +18,83 @@ esplugin {
1718}
1819
1920dependencies {
20- api " com.amazonaws:aws-java-sdk-ec2:${ versions.awsv1sdk} "
21- api " com.amazonaws:aws-java-sdk-core:${ versions.awsv1sdk} "
22- api " org.apache.httpcomponents:httpclient:${ versions.httpclient} "
23- api " org.apache.httpcomponents:httpcore:${ versions.httpcore} "
24- api " commons-logging:commons-logging:${ versions.commonslogging} "
25- api " org.apache.logging.log4j:log4j-1.2-api:${ versions.log4j} "
26- api " commons-codec:commons-codec:${ versions.commonscodec} "
27- api " com.fasterxml.jackson.core:jackson-core:${ versions.jackson} "
28- api " com.fasterxml.jackson.core:jackson-databind:${ versions.jackson} "
29- api " com.fasterxml.jackson.core:jackson-annotations:${ versions.jackson} "
30- api " com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:${ versions.jackson} "
31- api " joda-time:joda-time:2.10.10"
21+
22+ implementation " software.amazon.awssdk:annotations:${ versions.awsv2sdk} "
23+ implementation " software.amazon.awssdk:apache-client:${ versions.awsv2sdk} "
24+ implementation " software.amazon.awssdk:auth:${ versions.awsv2sdk} "
25+ implementation " software.amazon.awssdk:aws-core:${ versions.awsv2sdk} "
26+ implementation " software.amazon.awssdk:ec2:${ versions.awsv2sdk} "
27+ implementation " software.amazon.awssdk:endpoints-spi:${ versions.awsv2sdk} "
28+ implementation " software.amazon.awssdk:http-client-spi:${ versions.awsv2sdk} "
29+ implementation " software.amazon.awssdk:identity-spi:${ versions.awsv2sdk} "
30+ implementation " software.amazon.awssdk:imds:${ versions.awsv2sdk} "
31+ implementation " software.amazon.awssdk:retries-spi:${ versions.awsv2sdk} "
32+ implementation " software.amazon.awssdk:sdk-core:${ versions.awsv2sdk} "
33+ implementation " software.amazon.awssdk:utils:${ versions.awsv2sdk} "
34+
35+ runtimeOnly " software.amazon.awssdk:aws-query-protocol:${ versions.awsv2sdk} "
36+ runtimeOnly " software.amazon.awssdk:checksums-spi:${ versions.awsv2sdk} "
37+ runtimeOnly " software.amazon.awssdk:checksums:${ versions.awsv2sdk} "
38+ runtimeOnly " software.amazon.awssdk:http-auth-aws:${ versions.awsv2sdk} "
39+ runtimeOnly " software.amazon.awssdk:http-auth-spi:${ versions.awsv2sdk} "
40+ runtimeOnly " software.amazon.awssdk:http-auth:${ versions.awsv2sdk} "
41+ runtimeOnly " software.amazon.awssdk:json-utils:${ versions.awsv2sdk} "
42+ runtimeOnly " software.amazon.awssdk:metrics-spi:${ versions.awsv2sdk} "
43+ runtimeOnly " software.amazon.awssdk:profiles:${ versions.awsv2sdk} "
44+ runtimeOnly " software.amazon.awssdk:protocol-core:${ versions.awsv2sdk} "
45+ runtimeOnly " software.amazon.awssdk:regions:${ versions.awsv2sdk} "
46+ runtimeOnly " software.amazon.awssdk:retries:${ versions.awsv2sdk} "
47+ runtimeOnly " software.amazon.awssdk:third-party-jackson-core:${ versions.awsv2sdk} "
48+
49+ implementation " org.apache.httpcomponents:httpclient:${ versions.httpclient} "
50+
51+ runtimeOnly " commons-codec:commons-codec:${ versions.commonscodec} "
52+ runtimeOnly " commons-logging:commons-logging:${ versions.commonslogging} "
53+ runtimeOnly " joda-time:joda-time:2.10.10"
54+ runtimeOnly " org.apache.httpcomponents:httpcore:${ versions.httpcore} "
55+ runtimeOnly " org.apache.logging.log4j:log4j-1.2-api:${ versions.log4j} "
56+ runtimeOnly " org.slf4j:slf4j-nop:${ versions.slf4j} "
57+ // runtimeOnly("org.apache.logging.log4j:log4j-slf4j-impl:${versions.log4j}") https://github.com/elastic/elasticsearch/issues/93714
58+ runtimeOnly " org.slf4j:slf4j-api:${ versions.slf4j} "
59+ runtimeOnly " org.reactivestreams:reactive-streams:${ versions.reactive_streams} "
3260
3361 javaRestTestImplementation project(' :plugins:discovery-ec2' )
3462 javaRestTestImplementation project(' :test:fixtures:aws-fixture-utils' )
3563 javaRestTestImplementation project(' :test:fixtures:aws-ec2-fixture' )
3664 javaRestTestImplementation project(' :test:fixtures:ec2-imds-fixture' )
3765
66+ testImplementation project(' :test:fixtures:aws-fixture-utils' )
67+ testImplementation project(' :test:fixtures:ec2-imds-fixture' )
68+
3869 internalClusterTestImplementation project(' :test:fixtures:ec2-imds-fixture' )
3970}
4071
4172tasks. named(" dependencyLicenses" ). configure {
42- mapping from : / aws-java-sdk-.*/ , to : ' aws-java-sdk'
43- mapping from : / jackson-.*/ , to : ' jackson'
73+ mapping from : ' annotations' , to : ' aws-sdk-2'
74+ mapping from : ' apache-client' , to : ' aws-sdk-2'
75+ mapping from : ' auth' , to : ' aws-sdk-2'
76+ mapping from : ' aws-core' , to : ' aws-sdk-2'
77+ mapping from : ' aws-query-protocol' , to : ' aws-sdk-2'
78+ mapping from : ' checksums' , to : ' aws-sdk-2'
79+ mapping from : ' checksums-spi' , to : ' aws-sdk-2'
80+ mapping from : ' ec2' , to : ' aws-sdk-2'
81+ mapping from : ' endpoints-spi' , to : ' aws-sdk-2'
82+ mapping from : ' http-auth' , to : ' aws-sdk-2'
83+ mapping from : ' http-auth-aws' , to : ' aws-sdk-2'
84+ mapping from : ' http-auth-spi' , to : ' aws-sdk-2'
85+ mapping from : ' http-client-spi' , to : ' aws-sdk-2'
86+ mapping from : ' identity-spi' , to : ' aws-sdk-2'
87+ mapping from : ' imds' , to : ' aws-sdk-2'
88+ mapping from : ' json-utils' , to : ' aws-sdk-2'
89+ mapping from : ' metrics-spi' , to : ' aws-sdk-2'
90+ mapping from : ' profiles' , to : ' aws-sdk-2'
91+ mapping from : ' protocol-core' , to : ' aws-sdk-2'
92+ mapping from : ' regions' , to : ' aws-sdk-2'
93+ mapping from : ' retries' , to : ' aws-sdk-2'
94+ mapping from : ' retries-spi' , to : ' aws-sdk-2'
95+ mapping from : ' sdk-core' , to : ' aws-sdk-2'
96+ mapping from : ' third-party-jackson-core' , to : ' aws-sdk-2'
97+ mapping from : ' utils' , to : ' aws-sdk-2'
4498}
4599
46100esplugin. bundleSpec. from(' config/discovery-ec2' ) {
@@ -69,19 +123,23 @@ tasks.register("writeTestJavaPolicy") {
69123 " permission org.bouncycastle.crypto.CryptoServicesPermission \" exportSecretKey\" ;" ,
70124 " permission org.bouncycastle.crypto.CryptoServicesPermission \" exportPrivateKey\" ;" ,
71125 " permission java.io.FilePermission \"\$ {javax.net.ssl.trustStore}\" , \" read\" ;" ,
72- " permission java.util.PropertyPermission \" com.amazonaws.sdk.ec2MetadataServiceEndpointOverride\" , \" write\" ;" ,
73126 " permission java.security.SecurityPermission \" getProperty.jdk.tls.disabledAlgorithms\" ;" ,
74127 " permission java.security.SecurityPermission \" getProperty.jdk.certpath.disabledAlgorithms\" ;" ,
75128 " permission java.security.SecurityPermission \" getProperty.keystore.type.compat\" ;" ,
76129 " permission java.security.SecurityPermission \" getProperty.org.bouncycastle.ec.max_f2m_field_size\" ;" ,
130+ " permission java.util.PropertyPermission \" aws.ec2MetadataServiceEndpoint\" , \" write\" ;" ,
131+ " permission java.util.PropertyPermission \" http.proxyHost\" , \" read\" ;" ,
132+ " permission java.util.PropertyPermission \" aws.region\" , \" read\" ;" ,
77133 " };"
78134 ]. join(" \n " )
79135 )
80136 } else {
81137 javaPolicy. write(
82138 [
83139 " grant {" ,
84- " permission java.util.PropertyPermission \" com.amazonaws.sdk.ec2MetadataServiceEndpointOverride\" , \" write\" ;" ,
140+ " permission java.util.PropertyPermission \" aws.ec2MetadataServiceEndpoint\" , \" write\" ;" ,
141+ " permission java.util.PropertyPermission \" http.proxyHost\" , \" read\" ;" ,
142+ " permission java.util.PropertyPermission \" aws.region\" , \" read\" ;" ,
85143 " };"
86144 ]. join(" \n " ))
87145 }
@@ -93,27 +151,42 @@ tasks.withType(Test).configureEach {
93151 // this is needed for insecure plugins, remove if possible!
94152 systemProperty ' tests.artifact' , project. name
95153
96- // this is needed to manipulate com.amazonaws.sdk.ec2MetadataServiceEndpointOverride system property
154+ // this is needed to manipulate aws.ec2MetadataServiceEndpoint system property
97155 // it is better rather disable security manager at all with `systemProperty 'tests.security.manager', 'false'`
98156 if (buildParams. inFipsJvm){
99157 nonInputProperties. systemProperty ' java.security.policy' , " =file://${ layout.buildDirectory.asFile.get()} /tmp/java.policy"
100158 } else {
101159 nonInputProperties. systemProperty ' java.security.policy' , " file://${ layout.buildDirectory.asFile.get()} /tmp/java.policy"
102160 }
161+
162+ systemProperty ' aws.region' , ' es-test-region'
103163}
104164
105165tasks. named(" thirdPartyAudit" ). configure {
106166 ignoreMissingClasses(
107167 // classes are missing
108- ' com.amazonaws.jmespath.JmesPathExpression' ,
109- ' com.amazonaws.jmespath.ObjectMapperSingleton' ,
110168 ' javax.servlet.ServletContextEvent' ,
111169 ' javax.servlet.ServletContextListener' ,
112170 ' org.apache.avalon.framework.logger.Logger' ,
113171 ' org.apache.log.Hierarchy' ,
114172 ' org.apache.log.Logger' ,
115173 ' javax.jms.Message' ,
116- ' javax.xml.bind.DatatypeConverter' ,
117- ' javax.xml.bind.JAXBContext'
174+
175+ // eventstream not used by the sync client
176+ ' software.amazon.eventstream.HeaderValue' ,
177+ ' software.amazon.eventstream.Message' ,
178+ ' software.amazon.eventstream.MessageDecoder' ,
179+
180+ // crt?
181+ ' software.amazon.awssdk.crt.auth.credentials.Credentials' ,
182+ ' software.amazon.awssdk.crt.auth.signing.AwsSigner' ,
183+ ' software.amazon.awssdk.crt.auth.signing.AwsSigningConfig' ,
184+ ' software.amazon.awssdk.crt.auth.signing.AwsSigningConfig$AwsSignatureType' ,
185+ ' software.amazon.awssdk.crt.auth.signing.AwsSigningConfig$AwsSignedBodyHeaderType' ,
186+ ' software.amazon.awssdk.crt.auth.signing.AwsSigningConfig$AwsSigningAlgorithm' ,
187+ ' software.amazon.awssdk.crt.auth.signing.AwsSigningResult' ,
188+ ' software.amazon.awssdk.crt.http.HttpHeader' ,
189+ ' software.amazon.awssdk.crt.http.HttpRequest' ,
190+ ' software.amazon.awssdk.crt.http.HttpRequestBodyStream' ,
118191 )
119192}
0 commit comments