Skip to content

Commit 19b06dc

Browse files
committed
wip: build from source
1 parent 710e0c2 commit 19b06dc

File tree

11 files changed

+332
-42
lines changed

11 files changed

+332
-42
lines changed

conf.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@
3030
omid = importlib.import_module("omid.versions")
3131
opa = importlib.import_module("opa.versions")
3232
opensearch = importlib.import_module("opensearch.versions")
33+
opensearch_security_plugin = importlib.import_module(
34+
"opensearch.security-plugin.versions"
35+
)
3336
spark_k8s = importlib.import_module("spark-k8s.versions")
3437
stackable_base = importlib.import_module("stackable-base.versions")
3538
stackable_devel = importlib.import_module("stackable-devel.versions")
@@ -68,6 +71,10 @@
6871
{"name": "omid", "versions": omid.versions},
6972
{"name": "opa", "versions": opa.versions},
7073
{"name": "opensearch", "versions": opensearch.versions},
74+
{
75+
"name": "opensearch/security-plugin",
76+
"versions": opensearch_security_plugin.versions,
77+
},
7178
{"name": "spark-k8s", "versions": spark_k8s.versions},
7279
{"name": "stackable-base", "versions": stackable_base.versions},
7380
{"name": "stackable-devel", "versions": stackable_devel.versions},

jdk-base/versions.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,30 @@
11
versions = [
22
{
33
"product": "8",
4-
"vector": "0.43.1",
4+
"vector": "0.47.0",
55
},
66
{
77
"product": "11",
8-
"vector": "0.43.1",
8+
"vector": "0.47.0",
99
},
1010
{
1111
"product": "17",
12-
"vector": "0.43.1",
12+
"vector": "0.47.0",
1313
},
1414
{
1515
"product": "21",
16-
"vector": "0.43.1",
16+
"vector": "0.47.0",
1717
},
1818
{
1919
"product": "22",
20-
"vector": "0.43.1",
20+
"vector": "0.47.0",
2121
},
2222
{
2323
"product": "23",
24-
"vector": "0.43.1",
24+
"vector": "0.47.0",
25+
},
26+
{
27+
"product": "24",
28+
"vector": "0.47.0",
2529
},
2630
]

opensearch/Dockerfile

Lines changed: 44 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,59 @@
1-
ARG PRODUCT
2-
3-
4-
FROM opensearchproject/opensearch:${PRODUCT} AS source
5-
61

7-
FROM stackable/image/java-devel AS builder
2+
FROM stackable/image/opensearch/security-plugin AS opensearch-security-plugin
3+
FROM stackable/image/java-devel AS opensearch-builder
84

95
ARG PRODUCT
6+
ARG RELEASE
7+
ARG OPENSEARCH_SECURITY_PLUGIN
108
ARG STACKABLE_USER_UID
119

12-
RUN <<EOF
13-
microdnf update
10+
WORKDIR /stackable
1411

15-
# patch: Required for the apply-patches.sh script
16-
microdnf install patch
12+
COPY --chown=${STACKABLE_USER_UID}:0 opensearch/stackable/patches/patchable.toml /stackable/src/opensearch/stackable/patches/patchable.toml
13+
COPY --chown=${STACKABLE_USER_UID}:0 opensearch/stackable/patches/${PRODUCT} /stackable/src/opensearch/stackable/patches/${PRODUCT}
14+
COPY --chown=${STACKABLE_USER_UID}:0 --from=opensearch-security-plugin /stackable/src/opensearch/security-plugin/patchable-work/worktree/${OPENSEARCH_SECURITY_PLUGIN}/build/distributions/opensearch-security-${OPENSEARCH_SECURITY_PLUGIN}-SNAPSHOT.zip /stackable/opensearch-security-plugin/opensearch-security-${OPENSEARCH_SECURITY_PLUGIN}-SNAPSHOT.zip
1715

16+
RUN <<EOF
17+
microdnf update
18+
microdnf install unzip
1819
microdnf clean all
1920
rm -rf /var/cache/yum
2021
EOF
2122

22-
USER ${STACKABLE_USER_UID}:0
23-
WORKDIR /stackable
23+
USER ${STACKABLE_USER_UID}
2424

25-
COPY \
26-
--chown=${STACKABLE_USER_UID}:0 \
27-
--from=source \
28-
/usr/share/opensearch \
29-
opensearch
30-
COPY \
31-
--chown=${STACKABLE_USER_UID}:0 \
32-
opensearch/stackable/patches/apply_patches.sh \
33-
opensearch/patches/apply_patches.sh
34-
COPY \
35-
--chown=${STACKABLE_USER_UID}:0 \
36-
opensearch/stackable/patches/${PRODUCT} \
37-
opensearch/patches/${PRODUCT}
25+
RUN <<EOF
26+
cd "$(/stackable/patchable --images-repo-root=src checkout opensearch ${PRODUCT})"
27+
28+
NEW_VERSION="${PRODUCT}-stackable${RELEASE}"
29+
# Create snapshot of the source code including custom patches
30+
tar -czf /stackable/opensearch-${NEW_VERSION}-src.tar.gz .
31+
./gradlew localDistro
32+
cp -r ./distribution/archives/linux-tar/build/install/opensearch-${PRODUCT}-SNAPSHOT /stackable/opensearch
33+
cp ./distribution/docker/src/docker/bin/docker-entrypoint.sh /stackable/opensearch/opensearch-docker-entrypoint.sh
34+
EOF
3835

39-
WORKDIR /stackable/opensearch
36+
WORKDIR /stackable/opensearch-security-plugin
4037

4138
RUN <<EOF
42-
echo y | bin/opensearch-plugin install repository-s3
39+
unzip opensearch-security-${OPENSEARCH_SECURITY_PLUGIN}-SNAPSHOT.zip
40+
rm -r opensearch-security-${OPENSEARCH_SECURITY_PLUGIN}-SNAPSHOT.zip
41+
mv config /stackable/opensearch/config/opensearch-security
4342
EOF
4443

44+
WORKDIR /stackable/opensearch
45+
4546
RUN <<EOF
46-
patches/apply_patches.sh ${PRODUCT}
47-
rm -r patches
47+
echo y | bin/opensearch-plugin install repository-s3
4848

4949
# The JDK from jdk-base is used instead.
5050
rm -r jdk
5151

5252
# Change the group permissions already in the builder image to reduce
5353
# the size of the final image.
5454
# see https://github.com/stackabletech/docker-images/issues/961
55-
chmod -R g=u ${HOME}
55+
chmod -R g=u "${HOME}"
56+
chmod +x /stackable/opensearch/opensearch-docker-entrypoint.sh
5657
EOF
5758

5859

@@ -63,6 +64,7 @@ FROM stackable/image/jdk-base
6364

6465
ARG PRODUCT
6566
ARG RELEASE
67+
ARG OPENSEARCH_SECURITY_PLUGIN
6668
ARG STACKABLE_USER_UID
6769

6870
ARG NAME="OpenSearch"
@@ -84,9 +86,19 @@ LABEL org.opencontainers.image.description="${DESCRIPTION}"
8486

8587
COPY \
8688
--chown=${STACKABLE_USER_UID}:0 \
87-
--from=builder \
89+
--from=opensearch-builder \
8890
/stackable/opensearch \
8991
${OPENSEARCH_HOME}
92+
COPY \
93+
--chown=${STACKABLE_USER_UID}:0 \
94+
--from=opensearch-builder \
95+
/stackable/opensearch-security-plugin \
96+
${OPENSEARCH_HOME}/plugins/opensearch-security
97+
COPY \
98+
--chown=${STACKABLE_USER_UID}:0 \
99+
--from=opensearch-security-plugin \
100+
/stackable/opensearch-security-plugin-${OPENSEARCH_SECURITY_PLUGIN}-src.tar.gz \
101+
/stackable
90102

91103
RUN <<EOF
92104
microdnf update
@@ -103,6 +115,7 @@ USER ${STACKABLE_USER_UID}
103115
ENV HOME=${HOME}
104116
ENV OPENSEARCH_HOME=${OPENSEARCH_HOME}
105117
ENV PATH="${PATH}:/${OPENSEARCH_HOME}:${OPENSEARCH_HOME}/bin"
118+
ENV OPENSEARCH_CONTAINER=true
106119

107120
WORKDIR ${OPENSEARCH_HOME}
108121
CMD ["./opensearch-docker-entrypoint.sh"]
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
FROM stackable/image/java-devel AS security-plugin-builder
2+
3+
ARG PRODUCT
4+
ARG RELEASE
5+
ARG STACKABLE_USER_UID
6+
7+
USER ${STACKABLE_USER_UID}
8+
WORKDIR /stackable
9+
10+
COPY --chown=${STACKABLE_USER_UID}:0 opensearch/security-plugin/stackable/patches/patchable.toml /stackable/src/opensearch/security-plugin/stackable/patches/patchable.toml
11+
COPY --chown=${STACKABLE_USER_UID}:0 opensearch/security-plugin/stackable/patches/${PRODUCT} /stackable/src/opensearch/security-plugin/stackable/patches/${PRODUCT}
12+
13+
RUN <<EOF
14+
cd "$(/stackable/patchable --images-repo-root=src checkout opensearch/security-plugin ${PRODUCT})"
15+
16+
# Create snapshot of the source code including custom patches
17+
tar -czf /stackable/opensearch-security-plugin-${PRODUCT}-src.tar.gz .
18+
./gradlew clean assemble
19+
EOF
20+
21+
RUN <<EOF
22+
# Change the group permissions already in the builder image to reduce the size of the final image.
23+
# see https://github.com/stackabletech/docker-images/issues/961
24+
chmod -R g=u "${HOME}"
25+
EOF
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
mirror = "https://github.com/stackabletech/opensearch-security"
2+
base = "841e1be91baf53d2c31eaa612481b6edec0fe85b"
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
upstream = "https://github.com/opensearch-project/security"
2+
default-mirror = "https://github.com/stackabletech/opensearch-security"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
versions = [
2+
{
3+
"product": "3.1.0.0",
4+
"java-devel": "24",
5+
},
6+
]

0 commit comments

Comments
 (0)