-
Notifications
You must be signed in to change notification settings - Fork 277
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move docker compose file to its corresponding folders here
Signed-off-by: Peter Zhu <zhujiaxi@amazon.com>
- Loading branch information
1 parent
2dffa0b
commit e40df38
Showing
14 changed files
with
875 additions
and
73 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
#!/bin/bash | ||
|
||
# SPDX-License-Identifier: Apache-2.0 | ||
# | ||
# The OpenSearch Contributors require contributions made to | ||
# this file be licensed under the Apache-2.0 license or a | ||
# compatible open source license. | ||
# | ||
# Modifications Copyright OpenSearch Contributors. See | ||
# GitHub history for details. | ||
|
||
|
||
# Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"). | ||
# You may not use this file except in compliance with the License. | ||
# A copy of the License is located at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# or in the "license" file accompanying this file. This file is distributed | ||
# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either | ||
# express or implied. See the License for the specific language governing | ||
# permissions and limitations under the License. | ||
|
||
|
||
set -e | ||
|
||
function usage() { | ||
echo "" | ||
echo "This script is used to build the OpenSearch Docker image. It prepares the files required by the Dockerfile in a temporary directory, then builds and tags the Docker image." | ||
echo "--------------------------------------------------------------------------" | ||
echo "Usage: $0 [args]" | ||
echo "" | ||
echo "Required arguments:" | ||
echo -e "-v VERSION\tSpecify the OpenSearch version number that you are building, e.g. '1.0.0' or '1.0.0-beta1'. This will be used to label the Docker image. If you do not use the '-o' option then this tool will download a public OPENSEARCH release matching this version." | ||
echo -e "-f DOCKERFILE\tSpecify the dockerfile full path, e.g. dockerfile/opensearch.al2.dockerfile." | ||
echo -e "-p PRODUCT\tSpecify the product, e.g. opensearch or opensearch-dashboards, make sure this is the name of your config folder and the name of your .tgz defined in dockerfile." | ||
echo "" | ||
echo "Optional arguments:" | ||
echo -e "-o FILENAME\tSpecify a local OPENSEARCH tarball. You still need to specify the version - this tool does not attempt to parse the filename." | ||
echo -e "-h\t\tPrint this message." | ||
echo "--------------------------------------------------------------------------" | ||
} | ||
|
||
while getopts ":ho:v:f:p:" arg; do | ||
case $arg in | ||
h) | ||
usage | ||
exit 1 | ||
;; | ||
o) | ||
TARBALL=`realpath $OPTARG` | ||
;; | ||
v) | ||
VERSION=$OPTARG | ||
;; | ||
f) | ||
DOCKERFILE=$OPTARG | ||
;; | ||
p) | ||
PRODUCT=$OPTARG | ||
;; | ||
:) | ||
echo "-${OPTARG} requires an argument" | ||
usage | ||
exit 1 | ||
;; | ||
?) | ||
echo "Invalid option: -${arg}" | ||
exit 1 | ||
;; | ||
esac | ||
done | ||
|
||
if [ -z "$VERSION" ] || [ -z "$DOCKERFILE" ] || [ -z "$PRODUCT" ]; then | ||
echo "You must specify '-v VERSION', '-f DOCKERFILE', '-p PRODUCT'" | ||
usage | ||
exit 1 | ||
fi | ||
|
||
echo $DOCKERFILE | ||
|
||
DIR=`mktemp -d` | ||
|
||
echo "Creating Docker workspace in $DIR" | ||
trap '{ echo Removing Docker workspace in "$DIR"; rm -rf -- "$DIR"; }' TERM INT EXIT | ||
|
||
if [ -z "$TARBALL" ]; then | ||
# No tarball file specified so download one | ||
URL="https://artifacts.opensearch.org/releases/bundle/${PRODUCT}/${VERSION}/${PRODUCT}-${VERSION}-linux-x64.tar.gz" | ||
echo "Downloading ${PRODUCT} version ${VERSION} from ${URL}" | ||
curl -f $URL -o $DIR/$PRODUCT.tgz || exit 1 | ||
ls -l $DIR | ||
else | ||
cp -v $TARBALL $DIR/$PRODUCT.tgz | ||
fi | ||
|
||
cp -v config/${PRODUCT}/* $DIR/ | ||
|
||
docker build --build-arg VERSION=$VERSION --build-arg BUILD_DATE=`date -u +%Y-%m-%dT%H:%M:%SZ` -f $DOCKERFILE $DIR -t opensearchproject/$PRODUCT:$VERSION | ||
docker tag opensearchproject/$PRODUCT:$VERSION opensearchproject/$PRODUCT:latest | ||
|
||
rm -rf $DIR |
196 changes: 196 additions & 0 deletions
196
release/docker/config/opensearch-dashboards/opensearch-dashboards-docker-entrypoint.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,196 @@ | ||
#!/bin/bash | ||
|
||
# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"). | ||
# You may not use this file except in compliance with the License. | ||
# A copy of the License is located at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# or in the "license" file accompanying this file. This file is distributed | ||
# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either | ||
# express or implied. See the License for the specific language governing | ||
# permissions and limitations under the License. | ||
|
||
# | ||
# Run OpenSearch-Dashboards, using environment variables to | ||
# set longopts defining OpenSearch-Dashboards's configuration. | ||
# | ||
# eg. Setting the environment variable: | ||
# | ||
# OPENSEARCH_STARTUPTIMEOUT=60 | ||
# | ||
# will cause OpenSearch-Dashboards to be invoked with: | ||
# | ||
# --opensearch.startupTimeout=60 | ||
|
||
opensearch_dashboards_vars=( | ||
console.enabled | ||
console.proxyConfig | ||
console.proxyFilter | ||
ops.cGroupOverrides.cpuPath | ||
ops.cGroupOverrides.cpuAcctPath | ||
cpu.cgroup.path.override | ||
cpuacct.cgroup.path.override | ||
csp.rules | ||
csp.strict | ||
csp.warnLegacyBrowsers | ||
opensearch.customHeaders | ||
opensearch.hosts | ||
opensearch.logQueries | ||
opensearch.password | ||
opensearch.pingTimeout | ||
opensearch.requestHeadersWhitelist | ||
opensearch.requestTimeout | ||
opensearch.shardTimeout | ||
opensearch.sniffInterval | ||
opensearch.sniffOnConnectionFault | ||
opensearch.sniffOnStart | ||
opensearch.ssl.alwaysPresentCertificate | ||
opensearch.ssl.certificate | ||
opensearch.ssl.certificateAuthorities | ||
opensearch.ssl.key | ||
opensearch.ssl.keyPassphrase | ||
opensearch.ssl.keystore.path | ||
opensearch.ssl.keystore.password | ||
opensearch.ssl.truststore.path | ||
opensearch.ssl.truststore.password | ||
opensearch.ssl.verificationMode | ||
opensearch.username | ||
i18n.locale | ||
interpreter.enableInVisualize | ||
opensearchDashboards.autocompleteTerminateAfter | ||
opensearchDashboards.autocompleteTimeout | ||
opensearchDashboards.defaultAppId | ||
opensearchDashboards.index | ||
logging.dest | ||
logging.json | ||
logging.quiet | ||
logging.rotate.enabled | ||
logging.rotate.everyBytes | ||
logging.rotate.keepFiles | ||
logging.rotate.pollingInterval | ||
logging.rotate.usePolling | ||
logging.silent | ||
logging.useUTC | ||
logging.verbose | ||
map.includeOpenSearchMapsService | ||
map.proxyOpenSearchMapsServiceInMaps | ||
map.regionmap | ||
map.tilemap.options.attribution | ||
map.tilemap.options.maxZoom | ||
map.tilemap.options.minZoom | ||
map.tilemap.options.subdomains | ||
map.tilemap.url | ||
monitoring.cluster_alerts.email_notifications.email_address | ||
monitoring.enabled | ||
monitoring.opensearchDashboards.collection.enabled | ||
monitoring.opensearchDashboards.collection.interval | ||
monitoring.ui.container.opensearch.enabled | ||
monitoring.ui.container.logstash.enabled | ||
monitoring.ui.opensearch.password | ||
monitoring.ui.opensearch.pingTimeout | ||
monitoring.ui.opensearch.hosts | ||
monitoring.ui.opensearch.username | ||
monitoring.ui.opensearch.logFetchCount | ||
monitoring.ui.opensearch.ssl.certificateAuthorities | ||
monitoring.ui.opensearch.ssl.verificationMode | ||
monitoring.ui.enabled | ||
monitoring.ui.max_bucket_size | ||
monitoring.ui.min_interval_seconds | ||
newsfeed.enabled | ||
ops.interval | ||
path.data | ||
pid.file | ||
regionmap | ||
security.showInsecureClusterWarning | ||
server.basePath | ||
server.customResponseHeaders | ||
server.compression.enabled | ||
server.compression.referrerWhitelist | ||
server.cors | ||
server.cors.origin | ||
server.defaultRoute | ||
server.host | ||
server.keepAliveTimeout | ||
server.maxPayloadBytes | ||
server.name | ||
server.port | ||
server.rewriteBasePath | ||
server.socketTimeout | ||
server.ssl.cert | ||
server.ssl.certificate | ||
server.ssl.certificateAuthorities | ||
server.ssl.cipherSuites | ||
server.ssl.clientAuthentication | ||
server.customResponseHeaders | ||
server.ssl.enabled | ||
server.ssl.key | ||
server.ssl.keyPassphrase | ||
server.ssl.keystore.path | ||
server.ssl.keystore.password | ||
server.ssl.truststore.path | ||
server.ssl.truststore.password | ||
server.ssl.redirectHttpFromPort | ||
server.ssl.supportedProtocols | ||
server.xsrf.disableProtection | ||
server.xsrf.whitelist | ||
status.allowAnonymous | ||
status.v6ApiFormat | ||
tilemap.options.attribution | ||
tilemap.options.maxZoom | ||
tilemap.options.minZoom | ||
tilemap.options.subdomains | ||
tilemap.url | ||
timeline.enabled | ||
vega.enableExternalUrls | ||
apm_oss.apmAgentConfigurationIndex | ||
apm_oss.indexPattern | ||
apm_oss.errorIndices | ||
apm_oss.onboardingIndices | ||
apm_oss.spanIndices | ||
apm_oss.sourcemapIndices | ||
apm_oss.transactionIndices | ||
apm_oss.metricsIndices | ||
telemetry.allowChangingOptInStatus | ||
telemetry.enabled | ||
telemetry.optIn | ||
telemetry.optInStatusUrl | ||
telemetry.sendUsageFrom | ||
) | ||
|
||
longopts='' | ||
for opensearch_dashboards_var in ${opensearch_dashboards_vars[*]}; do | ||
# 'opensearch.hosts' -> 'OPENSEARCH_URL' | ||
env_var=$(echo ${opensearch_dashboards_var^^} | tr . _) | ||
|
||
# Indirectly lookup env var values via the name of the var. | ||
# REF: http://tldp.org/LDP/abs/html/bashver2.html#EX78 | ||
value=${!env_var} | ||
if [[ -n $value ]]; then | ||
longopt="--${opensearch_dashboards_var}=${value}" | ||
longopts+=" ${longopt}" | ||
fi | ||
done | ||
|
||
# Files created at run-time should be group-writable, for Openshift's sake. | ||
umask 0002 | ||
|
||
# TO DO: | ||
# Confirm with Mihir if this is necessary | ||
|
||
# The virtual file /proc/self/cgroup should list the current cgroup | ||
# membership. For each hierarchy, you can follow the cgroup path from | ||
# this file to the cgroup filesystem (usually /sys/fs/cgroup/) and | ||
# introspect the statistics for the cgroup for the given | ||
# hierarchy. Alas, Docker breaks this by mounting the container | ||
# statistics at the root while leaving the cgroup paths as the actual | ||
# paths. Therefore, OpenSearch-Dashboards provides a mechanism to override | ||
# reading the cgroup path from /proc/self/cgroup and instead uses the | ||
# cgroup path defined the configuration properties | ||
# cpu.cgroup.path.override and cpuacct.cgroup.path.override. | ||
# Therefore, we set this value here so that cgroup statistics are | ||
# available for the container this process will run in. | ||
|
||
exec /usr/share/opensearch-dashboards/bin/opensearch-dashboards --cpu.cgroup.path.override=/ --cpuacct.cgroup.path.override=/ ${longopts} "$@" |
19 changes: 19 additions & 0 deletions
19
release/docker/config/opensearch-dashboards/opensearch.example.org.cert
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
-----BEGIN CERTIFICATE----- | ||
MIIDJTCCAg2gAwIBAgIJAKO3AgiyHbReMA0GCSqGSIb3DQEBBQUAMCkxJzAlBgNV | ||
BAMMHm9wZW5kaXN0cm9mb3JlbGFzdGljc2VhcmNoLm9yZzAeFw0xOTAyMTUwNzI5 | ||
MjNaFw0yOTAyMTIwNzI5MjNaMCkxJzAlBgNVBAMMHm9wZW5kaXN0cm9mb3JlbGFz | ||
dGljc2VhcmNoLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALPO | ||
w4iMMWj7wODNeAR+t9fFoFkhWmo7NiV9qteUtOTnOLBFG6VWVh2kQev1Ph2dF0uw | ||
Dg632Pk3Tl1er+eKCoG+YzwkJqVZ0CJlxZdpN5jCpliCYxIaGUHO0I+Kdhzg1IUk | ||
1Q2+8aeVN7ddiYZC13T/b5Kut8lr13O8OTqeBX2zRxuzX+jUNAZjAsCAdsv2jRrO | ||
94883OyDzF6UXvETJcW5uF4j7NK9N2nfAplMy6Z7v/0kA89/ecuAb8wmf7MOul1h | ||
sHyNd4aJwIGhKW/qBLJG+GHB5BiO6OaMJMzr5kzSV9we5r/plas5viAl/jWsYECS | ||
rvGjUqBEOKOFy6RS2ZECAwEAAaNQME4wHQYDVR0OBBYEFI05BOGEHtUhrZmkIL3W | ||
6KpJLE71MB8GA1UdIwQYMBaAFI05BOGEHtUhrZmkIL3W6KpJLE71MAwGA1UdEwQF | ||
MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBACvAn1fRvkJamVKdmsou+YTmxu5YhDva | ||
MepBVT6yeqctcgQgUfaneuBrl/+9zmxkjykZ1uimSS2IM1FxIXuB8rX+iAcgFyIs | ||
XXquOhJlaXs/kN0KBGUSRkTMQSGIaTh26U7GnCQrdaIZDtKp7CRWjNebeDucNOc+ | ||
aXOqiNFbVePNe8+EZIDb0FmV4IiHuLcqCwzZvgesl3EUPuMsnrxeNKIw83ecpjqK | ||
YRwWWhvY57asVbOZjn+M57bJSpzO9bO70uib0ItWs19aWqYP1vEOuNHEDbr2EVel | ||
dejL2fYF06uiw179PSYnvDQohWdiqm8dM0Nx+QtJcbOR6BiBh8aQTjw= | ||
-----END CERTIFICATE----- |
Oops, something went wrong.