Skip to content

Commit b4c9b05

Browse files
Merge branch 'opensearch-project:main' into feature/configurable-credential-validation
2 parents 227c332 + 34a63e9 commit b4c9b05

31 files changed

Lines changed: 3558 additions & 0 deletions
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
/*
2+
* Copyright OpenSearch Contributors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*
5+
* The OpenSearch Contributors require contributions made to
6+
* this file be licensed under the Apache-2.0 license or a
7+
* compatible open source license.
8+
*
9+
*/
10+
11+
sourceSets {
12+
integrationTest {
13+
java {
14+
compileClasspath += main.output + test.output
15+
runtimeClasspath += main.output + test.output
16+
srcDir file('src/integrationTest/java')
17+
}
18+
resources.srcDir file('src/integrationTest/resources')
19+
}
20+
}
21+
22+
configurations {
23+
integrationTestImplementation.extendsFrom testImplementation
24+
integrationTestRuntime.extendsFrom testRuntime
25+
}
26+
27+
dependencies {
28+
implementation project(':data-prepper-api')
29+
implementation project(':data-prepper-plugins:buffer-common')
30+
implementation project(':data-prepper-plugins:aws-plugin-api')
31+
32+
implementation 'org.apache.iceberg:iceberg-core:1.10.1'
33+
implementation 'org.apache.iceberg:iceberg-data:1.10.1'
34+
implementation 'org.apache.iceberg:iceberg-parquet:1.10.1'
35+
implementation 'org.apache.iceberg:iceberg-orc:1.10.1'
36+
implementation 'org.apache.iceberg:iceberg-aws:1.10.1'
37+
38+
implementation libs.parquet.hadoop
39+
implementation libs.avro.core
40+
implementation libs.hadoop.common
41+
implementation 'org.apache.orc:orc-core:1.9.5'
42+
43+
implementation 'software.amazon.awssdk:glue'
44+
implementation 'software.amazon.awssdk:s3'
45+
implementation 'software.amazon.awssdk:sts'
46+
47+
implementation 'com.fasterxml.jackson.core:jackson-databind'
48+
49+
testImplementation project(':data-prepper-test:test-common')
50+
51+
integrationTestImplementation project(':data-prepper-plugins:in-memory-source-coordination-store')
52+
integrationTestImplementation project(':data-prepper-core')
53+
integrationTestImplementation project(':data-prepper-event')
54+
integrationTestImplementation 'org.awaitility:awaitility:4.2.2'
55+
}
56+
57+
task integrationTest(type: Test) {
58+
group = 'verification'
59+
testClassesDirs = sourceSets.integrationTest.output.classesDirs
60+
61+
useJUnitPlatform()
62+
63+
classpath = sourceSets.integrationTest.runtimeClasspath
64+
systemProperty 'tests.iceberg.rest.uri', System.getProperty('tests.iceberg.rest.uri', 'http://localhost:8181')
65+
systemProperty 'tests.iceberg.s3.endpoint', System.getProperty('tests.iceberg.s3.endpoint', 'http://localhost:8333')
66+
systemProperty 'tests.iceberg.s3.accessKey', System.getProperty('tests.iceberg.s3.accessKey', 'admin')
67+
systemProperty 'tests.iceberg.s3.secretKey', System.getProperty('tests.iceberg.s3.secretKey', 'password')
68+
systemProperty 'tests.iceberg.s3.region', System.getProperty('tests.iceberg.s3.region', 'us-east-1')
69+
70+
filter {
71+
includeTestsMatching '*IT'
72+
}
73+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Copyright OpenSearch Contributors
2+
# SPDX-License-Identifier: Apache-2.0
3+
#
4+
# The OpenSearch Contributors require contributions made to
5+
# this file be licensed under the Apache-2.0 license or a
6+
# compatible open source license.
7+
8+
services:
9+
seaweedfs:
10+
image: chrislusf/seaweedfs:4.06
11+
ports:
12+
- "8333:8333"
13+
command: server -s3 -s3.port=8333 -s3.config=/etc/seaweedfs/s3.json -master.port=9333 -volume.port=8080 -filer -filer.port=8888
14+
configs:
15+
- source: s3-config
16+
target: /etc/seaweedfs/s3.json
17+
healthcheck:
18+
test: ["CMD-SHELL", "curl -sf http://localhost:8333 || exit 1"]
19+
interval: 2s
20+
timeout: 5s
21+
retries: 15
22+
start_period: 10s
23+
24+
create-bucket:
25+
image: chrislusf/seaweedfs:4.06
26+
depends_on:
27+
seaweedfs:
28+
condition: service_healthy
29+
entrypoint: /bin/sh
30+
command: >
31+
-c "
32+
until wget -q --spider http://seaweedfs:8333 2>/dev/null; do sleep 1; done;
33+
/usr/bin/weed shell -master=seaweedfs:9333 -filer=seaweedfs:8888 <<EOF
34+
s3.bucket.create -name warehouse
35+
EOF
36+
"
37+
38+
iceberg-rest:
39+
image: apache/iceberg-rest-fixture
40+
depends_on:
41+
create-bucket:
42+
condition: service_completed_successfully
43+
ports:
44+
- "8181:8181"
45+
environment:
46+
AWS_REGION: us-east-1
47+
AWS_ACCESS_KEY_ID: admin
48+
AWS_SECRET_ACCESS_KEY: password
49+
CATALOG_WAREHOUSE: s3://warehouse/
50+
CATALOG_IO__IMPL: org.apache.iceberg.aws.s3.S3FileIO
51+
CATALOG_S3_ENDPOINT: http://seaweedfs:8333
52+
CATALOG_S3_ACCESS__KEY__ID: admin
53+
CATALOG_S3_SECRET__ACCESS__KEY: password
54+
CATALOG_S3_PATH__STYLE__ACCESS: "true"
55+
56+
configs:
57+
s3-config:
58+
content: |
59+
{ "identities": [ { "name": "anonymous", "credentials": [ { "accessKey": "admin", "secretKey": "password" } ], "actions": [ "Admin", "Read", "Write" ] } ] }

0 commit comments

Comments
 (0)