Skip to content

Commit

Permalink
Include log4j transform jar in docker build context tasks (#69808)
Browse files Browse the repository at this point in the history
Ensure that the log4j transform jar is included in the generated Docker build context.
Also makes some small fixes to the Iron Bank Dockerfile.
  • Loading branch information
pugnascotia committed Mar 3, 2021
1 parent 68ff7ca commit 3e5a16c
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 5 deletions.
2 changes: 1 addition & 1 deletion distribution/docker/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ void addCopyDockerContextTask(Architecture architecture, boolean oss, DockerBase

with dockerBuildContext(architecture, oss, base, true)

into(base == DockerBase.IRON_BANK ? 'scripts' : 'bin') {
into('bin') {
from configurations.transformLog4jJar
}

Expand Down
12 changes: 12 additions & 0 deletions distribution/docker/docker-build-context/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,25 @@ import org.elasticsearch.gradle.DockerBase

apply plugin: 'base'

configurations {
transformLog4jJar
}

dependencies {
transformLog4jJar project(path: ":distribution:docker:transform-log4j-config", configuration: 'default')
}

tasks.register("buildDockerBuildContext", Tar) {
archiveExtension = 'tar.gz'
compression = Compression.GZIP
archiveClassifier = "docker-build-context"
archiveBaseName = "elasticsearch"
// Non-local builds don't need to specify an architecture.
with dockerBuildContext(null, false, DockerBase.CENTOS, false)

into('bin') {
from configurations.transformLog4jJar
}
}

tasks.named("assemble").configure {dependsOn "buildDockerBuildContext"}
16 changes: 14 additions & 2 deletions distribution/docker/ironbank-docker-build-context/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,24 @@ import org.elasticsearch.gradle.DockerBase

apply plugin: 'base'

configurations {
transformLog4jJar
}

dependencies {
transformLog4jJar project(path: ":distribution:docker:transform-log4j-config", configuration: 'default')
}

tasks.register("buildIronBankDockerBuildContext", Tar) {
archiveExtension = 'tar.gz'
compression = Compression.GZIP
archiveClassifier = "docker-build-context"
archiveBaseName = "elasticsearch-ironbank"
// We always treat Iron Bank builds as local, because that is how they
// are built
// We supply an architecture here because we always treat Iron Bank
// builds as local - because that is how they are built.
with dockerBuildContext(Architecture.X64, false, DockerBase.IRON_BANK, true)

into('scripts') {
from configurations.transformLog4jJar
}
}
8 changes: 6 additions & 2 deletions distribution/docker/src/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -181,9 +181,13 @@ LABEL name="Elasticsearch" \\
release="1" \\
summary="Elasticsearch" \\
description="You know, for search."
<% } %>

RUN mkdir /licenses && \\
cp LICENSE.txt /licenses/LICENSE
<% if (docker_base == 'ubi') { %>
RUN mkdir /licenses && cp LICENSE.txt /licenses/LICENSE
<% } else if (docker_base == 'iron_bank') { %>
RUN mkdir /licenses && cp LICENSE.txt /licenses/LICENSE
COPY LICENSE /licenses/LICENSE.addendum
<% } %>

ENTRYPOINT ["/bin/tini", "--", "/usr/local/bin/docker-entrypoint.sh"]
Expand Down
14 changes: 14 additions & 0 deletions distribution/docker/ubi-docker-build-context/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,26 @@ import org.elasticsearch.gradle.DockerBase

apply plugin: 'base'

configurations {
transformLog4jJar
}

dependencies {
transformLog4jJar project(path: ":distribution:docker:transform-log4j-config", configuration: 'default')
}


tasks.register("buildUbiDockerBuildContext", Tar) {
archiveExtension = 'tar.gz'
compression = Compression.GZIP
archiveClassifier = "docker-build-context"
archiveBaseName = "elasticsearch-ubi8"
// Non-local builds don't need to specify an architecture.
with dockerBuildContext(null, false, DockerBase.UBI, false)

into('bin') {
from configurations.transformLog4jJar
}
}

tasks.named("assemble").configure { dependsOn("buildUbiDockerBuildContext") }

0 comments on commit 3e5a16c

Please sign in to comment.