mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-20 19:04:59 +00:00
PT-1741 Migrated Go pt-mongo-tools to new driver
This commit is contained in:
26
src/go/docker/Dockerfile.common
Normal file
26
src/go/docker/Dockerfile.common
Normal file
@@ -0,0 +1,26 @@
|
||||
FROM registry.access.redhat.com/ubi7/ubi-minimal
|
||||
RUN microdnf update && microdnf clean all
|
||||
|
||||
MAINTAINER Percona Development <info@percona.com>
|
||||
LABEL name="Percona Backup for MongoDB" \
|
||||
vendor="Percona" \
|
||||
summary="Percona Backup for MongoDB is a distributed, low-impact solution for achieving consistent backups of MongoDB Sharded Clusters and Replica Sets." \
|
||||
description=" This is a tool for creating consistent backups across a MongoDB sharded cluster (or a single replica set), and for restoring those backups to a specific point in time. Percona Backup for MongoDB uses a distributed client/server architecture to perform backup/restore actions."
|
||||
|
||||
COPY LICENSE /licenses/
|
||||
|
||||
# kubectl needed for Percona Operator for PSMDB
|
||||
ENV KUBECTL_VERSION=v1.14.1
|
||||
ENV KUBECTL_MD5SUM=223668b6d47121a9011645b04f5ef349
|
||||
RUN curl -o /usr/bin/kubectl \
|
||||
https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl \
|
||||
&& chmod +x /usr/bin/kubectl \
|
||||
&& echo "${KUBECTL_MD5SUM} /usr/bin/kubectl" | md5sum -c - \
|
||||
&& curl -o /licenses/LICENSE.kubectl \
|
||||
https://raw.githubusercontent.com/kubernetes/kubectl/master/LICENSE
|
||||
|
||||
COPY pbmctl pbm-agent pbm-coordinator /usr/local/bin/
|
||||
|
||||
USER nobody
|
||||
|
||||
CMD ["pbmctl"]
|
9
src/go/docker/Dockerfile.release
Normal file
9
src/go/docker/Dockerfile.release
Normal file
@@ -0,0 +1,9 @@
|
||||
FROM goreleaser/goreleaser
|
||||
|
||||
RUN apk --no-cache add upx
|
||||
|
||||
WORKDIR /go/src/github.com/percona/percona-backup-mongodb
|
||||
COPY . .
|
||||
|
||||
ENTRYPOINT ["goreleaser"]
|
||||
CMD ["release"]
|
15
src/go/docker/test/Dockerfile
Normal file
15
src/go/docker/test/Dockerfile
Normal file
@@ -0,0 +1,15 @@
|
||||
ARG GOLANG_DOCKERHUB_TAG
|
||||
FROM golang:$GOLANG_DOCKERHUB_TAG
|
||||
|
||||
RUN wget https://repo.percona.com/apt/percona-release_0.1-7.stretch_all.deb && dpkg -i percona-release_0.1-7.stretch_all.deb
|
||||
RUN apt-get update && apt-get install -y percona-server-mongodb-36-server
|
||||
|
||||
WORKDIR /go/src/github.com/percona/percona-backup-mongodb
|
||||
COPY . .
|
||||
RUN chown -R mongod.mongod /go
|
||||
|
||||
USER mongod
|
||||
RUN make vendor
|
||||
CMD make test && \
|
||||
make test-gosec && \
|
||||
make
|
18
src/go/docker/test/entrypoint-mongod.sh
Executable file
18
src/go/docker/test/entrypoint-mongod.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
cp /mongod.key /tmp/mongod.key
|
||||
cp /mongod.pem /tmp/mongod.pem
|
||||
cp /rootCA.crt /tmp/mongod-rootCA.crt
|
||||
chmod 400 /tmp/mongod.key /tmp/mongod.pem /tmp/mongod-rootCA.pem
|
||||
|
||||
/usr/bin/mongod \
|
||||
--bind_ip=0.0.0.0 \
|
||||
--dbpath=/data/db \
|
||||
--keyFile=/tmp/mongod.key \
|
||||
--oplogSize=50 \
|
||||
--profile=2 \
|
||||
--sslMode=preferSSL \
|
||||
--sslCAFile=/tmp/mongod-rootCA.crt \
|
||||
--sslPEMKeyFile=/tmp/mongod.pem \
|
||||
--wiredTigerCacheSizeGB=0.1 \
|
||||
$*
|
14
src/go/docker/test/entrypoint-mongos.sh
Executable file
14
src/go/docker/test/entrypoint-mongos.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
cp /mongos.key /tmp/mongos.key
|
||||
cp /mongos.pem /tmp/mongos.pem
|
||||
cp /rootCA.crt /tmp/mongod-rootCA.crt
|
||||
chmod 400 /tmp/mongos.key /tmp/mongos.pem /tmp/mongod-rootCA.pem
|
||||
|
||||
/usr/bin/mongos \
|
||||
--keyFile=/tmp/mongos.key \
|
||||
--bind_ip=127.0.0.1 \
|
||||
--sslMode=preferSSL \
|
||||
--sslCAFile=/tmp/mongod-rootCA.crt \
|
||||
--sslPEMKeyFile=/tmp/mongos.pem \
|
||||
$*
|
17
src/go/docker/test/init-cluster-wait.sh
Executable file
17
src/go/docker/test/init-cluster-wait.sh
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
tries=1
|
||||
max_tries=60
|
||||
sleep_secs=1
|
||||
|
||||
while [ $tries -lt $max_tries ]; do
|
||||
docker-compose ps init 2>/dev/null | grep -q 'Exit 0'
|
||||
[ $? == 0 ] && break
|
||||
echo "# INFO: 'init' has not completed, retrying check in $sleep_secs secs (try $tries/$max_tries)"
|
||||
sleep $sleep_secs
|
||||
tries=$(($tries + 1))
|
||||
done
|
||||
if [ $tries -ge $max_tries ]; then
|
||||
echo "# ERROR: reached max tries $max_tries, exiting"
|
||||
exit 1
|
||||
fi
|
245
src/go/docker/test/init-cluster.sh
Executable file
245
src/go/docker/test/init-cluster.sh
Executable file
@@ -0,0 +1,245 @@
|
||||
#!/bin/bash
|
||||
|
||||
max_tries=45
|
||||
sleep_secs=1
|
||||
|
||||
cp /rootCA.crt /tmp/rootCA.crt
|
||||
cp /client.pem /tmp/client.pem
|
||||
chmod 400 /tmp/rootCA.crt /tmp/client.pem
|
||||
|
||||
MONGODB_IP=127.0.0.1
|
||||
MONGO_FLAGS="--quiet --host=${MONGODB_IP} --ssl --sslCAFile=/tmp/rootCA.crt --sslPEMKeyFile=/tmp/client.pem"
|
||||
|
||||
sleep $sleep_secs
|
||||
|
||||
/usr/bin/mongo --version
|
||||
|
||||
|
||||
## Shard 1
|
||||
tries=1
|
||||
while [ $tries -lt $max_tries ]; do
|
||||
/usr/bin/mongo ${MONGO_FLAGS} \
|
||||
--port=${TEST_MONGODB_S1_PRIMARY_PORT} \
|
||||
--eval='rs.initiate({
|
||||
_id: "'${TEST_MONGODB_S1_RS}'",
|
||||
version: 1,
|
||||
members: [
|
||||
{ _id: 0, host: "'${MONGODB_IP}':'${TEST_MONGODB_S1_PRIMARY_PORT}'", priority: 10 },
|
||||
{ _id: 1, host: "'${MONGODB_IP}':'${TEST_MONGODB_S1_SECONDARY1_PORT}'", priority: 1 },
|
||||
{ _id: 2, host: "'${MONGODB_IP}':'${TEST_MONGODB_S1_SECONDARY2_PORT}'", priority: 0, hidden: true, tags: { role: "backup" } }
|
||||
]})' | tee /tmp/init-result.json
|
||||
if [ $? == 0 ]; then
|
||||
grep -q '"ok" : 1' /tmp/init-result.json
|
||||
[ $? == 0 ] && rm -vf /tmp/init-result.json && break
|
||||
fi
|
||||
echo "# INFO: retrying rs.initiate() on ${TEST_MONGODB_S1_RS} in $sleep_secs secs (try $tries/$max_tries)"
|
||||
sleep $sleep_secs
|
||||
tries=$(($tries + 1))
|
||||
done
|
||||
if [ $tries -ge $max_tries ]; then
|
||||
echo "# ERROR: reached max tries $max_tries for ${TEST_MONGODB_S1_RS}, exiting"
|
||||
exit 1
|
||||
fi
|
||||
echo "# INFO: replset ${TEST_MONGODB_S1_RS} is initiated"
|
||||
|
||||
|
||||
## Shard 2
|
||||
tries=1
|
||||
while [ $tries -lt $max_tries ]; do
|
||||
/usr/bin/mongo ${MONGO_FLAGS} \
|
||||
--port=${TEST_MONGODB_S2_PRIMARY_PORT} \
|
||||
--eval='rs.initiate({
|
||||
_id: "'${TEST_MONGODB_S2_RS}'",
|
||||
version: 1,
|
||||
members: [
|
||||
{ _id: 0, host: "'${MONGODB_IP}':'${TEST_MONGODB_S2_PRIMARY_PORT}'", priority: 10 },
|
||||
{ _id: 1, host: "'${MONGODB_IP}':'${TEST_MONGODB_S2_SECONDARY1_PORT}'", priority: 1 },
|
||||
{ _id: 2, host: "'${MONGODB_IP}':'${TEST_MONGODB_S2_SECONDARY2_PORT}'", priority: 0, hidden: true, tags: { role: "backup" } }
|
||||
]})' | tee /tmp/init-result.json
|
||||
if [ $? == 0 ]; then
|
||||
grep -q '"ok" : 1' /tmp/init-result.json
|
||||
[ $? == 0 ] && rm -vf /tmp/init-result.json && break
|
||||
fi
|
||||
echo "# INFO: retrying rs.initiate() on ${TEST_MONGODB_S2_RS} in $sleep_secs secs (try $tries/$max_tries)"
|
||||
sleep $sleep_secs
|
||||
tries=$(($tries + 1))
|
||||
done
|
||||
if [ $tries -ge $max_tries ]; then
|
||||
echo "# ERROR: reached max tries $max_tries for ${TEST_MONGODB_S2_RS}, exiting"
|
||||
exit 1
|
||||
fi
|
||||
echo "# INFO: replset ${TEST_MONGODB_S2_RS} is initiated"
|
||||
|
||||
|
||||
## Configsvr replset
|
||||
tries=1
|
||||
while [ $tries -lt $max_tries ]; do
|
||||
/usr/bin/mongo ${MONGO_FLAGS} \
|
||||
--port=${TEST_MONGODB_CONFIGSVR1_PORT} \
|
||||
--eval='rs.initiate({
|
||||
_id: "'${TEST_MONGODB_CONFIGSVR_RS}'",
|
||||
configsvr: true,
|
||||
version: 1,
|
||||
members: [
|
||||
{ _id: 0, host: "'${MONGODB_IP}':'${TEST_MONGODB_CONFIGSVR1_PORT}'" }
|
||||
]
|
||||
})'
|
||||
[ $? == 0 ] && break
|
||||
echo "# INFO: retrying rs.initiate() for configsvr in $sleep_secs secs (try $tries/$max_tries)"
|
||||
sleep $sleep_secs
|
||||
tries=$(($tries + 1))
|
||||
done
|
||||
if [ $tries -ge $max_tries ]; then
|
||||
echo "# ERROR: reached max tries $max_tries, exiting"
|
||||
exit 1
|
||||
fi
|
||||
echo "# INFO: sharding configsvr is initiated"
|
||||
|
||||
## Replica set 3 (non sharded)
|
||||
tries=1
|
||||
while [ $tries -lt $max_tries ]; do
|
||||
/usr/bin/mongo ${MONGO_FLAGS} \
|
||||
--port=${TEST_MONGODB_S3_PRIMARY_PORT} \
|
||||
--eval='rs.initiate({
|
||||
_id: "'${TEST_MONGODB_S3_RS}'",
|
||||
version: 1,
|
||||
members: [
|
||||
{ _id: 0, host: "'${MONGODB_IP}':'${TEST_MONGODB_S3_PRIMARY_PORT}'", priority: 10 },
|
||||
{ _id: 1, host: "'${MONGODB_IP}':'${TEST_MONGODB_S3_SECONDARY1_PORT}'", priority: 1 },
|
||||
{ _id: 2, host: "'${MONGODB_IP}':'${TEST_MONGODB_S3_SECONDARY2_PORT}'", priority: 0, hidden: true, tags: { role: "backup" } }
|
||||
]})' | tee /tmp/init3-result.json
|
||||
if [ $? == 0 ]; then
|
||||
grep -q '"ok" : 1' /tmp/init3-result.json
|
||||
[ $? == 0 ] && rm -vf /tmp/init3-result.json && break
|
||||
fi
|
||||
echo "# INFO: retrying rs.initiate() on ${TEST_MONGODB_S3_RS} in $sleep_secs secs (try $tries/$max_tries)"
|
||||
sleep $sleep_secs
|
||||
tries=$(($tries + 1))
|
||||
done
|
||||
if [ $tries -ge $max_tries ]; then
|
||||
echo "# ERROR: reached max tries $max_tries for ${TEST_MONGODB_S3_RS}, exiting"
|
||||
exit 1
|
||||
fi
|
||||
echo "# INFO: replset ${TEST_MONGODB_S3_RS} is initiated"
|
||||
|
||||
for MONGODB_PORT in ${TEST_MONGODB_S1_PRIMARY_PORT} ${TEST_MONGODB_S2_PRIMARY_PORT} ${TEST_MONGODB_CONFIGSVR1_PORT}; do
|
||||
tries=1
|
||||
while [ $tries -lt $max_tries ]; do
|
||||
ISMASTER=$(/usr/bin/mongo ${MONGO_FLAGS} \
|
||||
--port=${MONGODB_PORT} \
|
||||
--eval='printjson(db.isMaster().ismaster)' 2>/dev/null)
|
||||
[ "$ISMASTER" == "true" ] && break
|
||||
echo "# INFO: retrying db.isMaster() check on 127.0.0.1:${MONGODB_PORT} in $sleep_secs secs (try $tries/$max_tries)"
|
||||
sleep $sleep_secs
|
||||
tries=$(($tries + 1))
|
||||
done
|
||||
if [ $tries -ge $max_tries ]; then
|
||||
echo "# ERROR: reached max tries $max_tries, exiting"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
echo "# INFO: all replsets have primary"
|
||||
|
||||
|
||||
for MONGODB_PORT in 27017 ${TEST_MONGODB_S1_PRIMARY_PORT} ${TEST_MONGODB_S2_PRIMARY_PORT} ${TEST_MONGODB_CONFIGSVR1_PORT} ${TEST_MONGODB_S3_PRIMARY_PORT}; do
|
||||
echo "PORT $MONGODB_PORT"
|
||||
tries=1
|
||||
while [ $tries -lt $max_tries ]; do
|
||||
/usr/bin/mongo ${MONGO_FLAGS} \
|
||||
--port=${MONGODB_PORT} \
|
||||
--eval='db.createUser({
|
||||
user: "'${TEST_MONGODB_ADMIN_USERNAME}'",
|
||||
pwd: "'${TEST_MONGODB_ADMIN_PASSWORD}'",
|
||||
roles: [
|
||||
{ db: "admin", role: "root" }
|
||||
]
|
||||
})' \
|
||||
admin
|
||||
if [ $? == 0 ]; then
|
||||
echo "# INFO: added admin user to 127.0.0.1:${MONGODB_PORT}"
|
||||
/usr/bin/mongo ${MONGO_FLAGS} \
|
||||
--username=${TEST_MONGODB_ADMIN_USERNAME} \
|
||||
--password=${TEST_MONGODB_ADMIN_PASSWORD} \
|
||||
--port=${MONGODB_PORT} \
|
||||
--eval='db.createUser({
|
||||
user: "'${TEST_MONGODB_USERNAME}'",
|
||||
pwd: "'${TEST_MONGODB_PASSWORD}'",
|
||||
roles: [
|
||||
{ db: "admin", role: "backup" },
|
||||
{ db: "admin", role: "clusterMonitor" },
|
||||
{ db: "admin", role: "restore" },
|
||||
{ db: "config", role: "read" },
|
||||
{ db: "test", role: "readWrite" }
|
||||
]
|
||||
})' \
|
||||
admin
|
||||
[ $? == 0 ] && echo "# INFO: added test user to 127.0.0.1:${MONGODB_PORT}" && break
|
||||
fi
|
||||
echo "# INFO: retrying db.createUser() on 127.0.0.1:${MONGODB_PORT} in $sleep_secs secs (try $tries/$max_tries)"
|
||||
sleep $sleep_secs
|
||||
tries=$(($tries + 1))
|
||||
done
|
||||
done
|
||||
echo "# INFO: all replsets have auth user(s)"
|
||||
|
||||
|
||||
shard1=${TEST_MONGODB_S1_RS}'/127.0.0.1:'${TEST_MONGODB_S1_PRIMARY_PORT}',127.0.0.1:'${TEST_MONGODB_S1_SECONDARY1_PORT}
|
||||
shard2=${TEST_MONGODB_S2_RS}'/127.0.0.1:'${TEST_MONGODB_S2_PRIMARY_PORT}',127.0.0.1:'${TEST_MONGODB_S2_SECONDARY1_PORT}
|
||||
for shard in $shard1 $shard2; do
|
||||
tries=1
|
||||
while [ $tries -lt $max_tries ]; do
|
||||
ADDSHARD=$(/usr/bin/mongo ${MONGO_FLAGS} \
|
||||
--username=${TEST_MONGODB_ADMIN_USERNAME} \
|
||||
--password=${TEST_MONGODB_ADMIN_PASSWORD} \
|
||||
--port=${TEST_MONGODB_MONGOS_PORT} \
|
||||
--eval='printjson(sh.addShard("'$shard'").ok)' \
|
||||
admin 2>/dev/null)
|
||||
[ $? == 0 ] && [ "$ADDSHARD" == "1" ] && break
|
||||
echo "# INFO: retrying sh.addShard() check for '$shard' in $sleep_secs secs (try $tries/$max_tries)"
|
||||
sleep $sleep_secs
|
||||
tries=$(($tries + 1))
|
||||
done
|
||||
if [ $tries -ge $max_tries ]; then
|
||||
echo "# ERROR: reached max tries $max_tries for '$shard', exiting"
|
||||
exit 1
|
||||
fi
|
||||
echo "# INFO: added shard: $shard"
|
||||
done
|
||||
|
||||
tries=1
|
||||
while [ $tries -lt $max_tries ]; do
|
||||
ENABLESHARDING=$(/usr/bin/mongo ${MONGO_FLAGS} \
|
||||
--username=${TEST_MONGODB_ADMIN_USERNAME} \
|
||||
--password=${TEST_MONGODB_ADMIN_PASSWORD} \
|
||||
--port=${TEST_MONGODB_MONGOS_PORT} \
|
||||
--eval='sh.enableSharding("test").ok' \
|
||||
admin 2>/dev/null)
|
||||
[ $? == 0 ] && [ "$ENABLESHARDING" == "1" ] && break
|
||||
echo "# INFO: retrying sh.enableSharding(\"test\") check in $sleep_secs secs (try $tries/$max_tries)"
|
||||
sleep $sleep_secs
|
||||
tries=$(($tries + 1))
|
||||
done
|
||||
if [ $tries -ge $max_tries ]; then
|
||||
echo "# ERROR: reached max tries $max_tries for '$shard', exiting"
|
||||
exit 1
|
||||
fi
|
||||
echo "# INFO: \"test\" database is now sharded"
|
||||
|
||||
tries=1
|
||||
while [ $tries -lt $max_tries ]; do
|
||||
SHARDCOL=$(/usr/bin/mongo ${MONGO_FLAGS} \
|
||||
--username=${TEST_MONGODB_ADMIN_USERNAME} \
|
||||
--password=${TEST_MONGODB_ADMIN_PASSWORD} \
|
||||
--port=${TEST_MONGODB_MONGOS_PORT} \
|
||||
--eval='sh.shardCollection("test.test", {_id: 1}).ok' \
|
||||
admin 2>/dev/null)
|
||||
[ $? == 0 ] && [ "$ENABLESHARDING" == "1" ] && break
|
||||
echo "# INFO: retrying sh.shardCollection(\"test.test\", {_id: 1}) check in $sleep_secs secs (try $tries/$max_tries)"
|
||||
sleep $sleep_secs
|
||||
tries=$(($tries + 1))
|
||||
done
|
||||
if [ $tries -ge $max_tries ]; then
|
||||
echo "# ERROR: reached max tries $max_tries for '$shard', exiting"
|
||||
exit 1
|
||||
fi
|
||||
echo "# INFO: \"test.test\" collection is now sharded"
|
16
src/go/docker/test/mongod.key
Normal file
16
src/go/docker/test/mongod.key
Normal file
@@ -0,0 +1,16 @@
|
||||
T774VtseEvMWhy5MjNvfZaxaMHRAEeSw/2coSJgL1NZGgMhOsVHR+5srsyQqVSu3
|
||||
E4trWyzH/lL/NV5gNaVpKiqGZbCxVbsVU4IwPIvkbNBqa2qrlO6pPzSLkOY+9S72
|
||||
3RFZX2h7NgldxofH5OXRpQeldKYwJOvZCBgH4sCzN/hZwBLGfqUOGHbOotuxcWXP
|
||||
Jhm4HIlIu1F7OFv2SOFGSX+EBpGrMKVElbvCV16A8s4hV2hjqq/ZMiLyzK5sX1hV
|
||||
CiQ8P8fmRJ83k3C6It6b714Kq0NYhRiAJDVzEOBaU7m76x+QnADZ0op/Zhd/mseb
|
||||
H22kqXSJgJnfd8D8xaEdUU0UKNoMLrluQnuKYcM6OrbKqQcucEh68kAiRYgdMvBi
|
||||
QFDV5QmBBSUwY3ZbbBzr8jZs1AnkAt8I01TQzjPrzA7jIP5YdcvHYd/0YA9tug4B
|
||||
pyDSUnSysDuJOMSB0Lsc5bj4G+vx1IL73uBMZXzIJZKaSFLkvpWVTyGydqDQkwl4
|
||||
+bWZwPBDWegL+rCCm8pvjVHuEpb7tmZqlZnE73Snm6QGdAy2hXu0iAk/wnNlpS1B
|
||||
UqOUwWa4H+u2oTHGT75T3uui4RfMMF1LqMooTsPMTsRGCU8mH3FAKZIIDSy9LTVf
|
||||
x8CpffgMMvmBfHuiOEwh/79KjWX/906dUx9wcGiOoKFbH/8DHFYePqd6J/HFSKLb
|
||||
w0izT8aU+VlDebRhe6uMTCU8eIOzBJ6vXxIbaXovO/69vBBEqVGMMOF9zr2soFxr
|
||||
0P7Fv/fAPD6HeBCzQbd/O2WUlvYCLaYwTZYhZYVnuESfur93Bh82QxEMQP+9GHU6
|
||||
o912HkSNvCwSt2kpG4BRHbCYRm4AE2YUNx4LjcY6kpo6RGNPCcyXduC1BVFDFPj2
|
||||
ZVJ/GN3MGf8QdhswPo7fnYsG7QF2oke45CHExsYC99XJPb+QdEElzuKeiUoEjvHL
|
||||
Pjlglnj+mGuAPMiVyKxzsz6yU6iKSl8LFBrfTA2GkbeT4G3h
|
52
src/go/docker/test/ssl/client.pem
Normal file
52
src/go/docker/test/ssl/client.pem
Normal file
@@ -0,0 +1,52 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIESjCCAjKgAwIBAgIRAKG/1k+fiFpnx/pdBHp0Hc8wDQYJKoZIhvcNAQELBQAw
|
||||
ETEPMA0GA1UEAxMGcm9vdENBMB4XDTE4MDkwNjExMDQzNloXDTIwMDMwNjExMDQz
|
||||
M1owFDESMBAGA1UEAxMJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
||||
MIIBCgKCAQEAl+Qnlg3dSlyYi34yF2D35g9PhU6o5gm3qN22pEdDTOrTEihnF6lq
|
||||
XqieDAaTTYehilqSsBjdZN8uTeJQ5Dsr/g8n43y8KCQFIcpNJLldV+pNEZydCK3R
|
||||
sPr4+GgWGdpmA5Za8VlRgilYNVzSmABz9LZoa33YIjMSQ0BftAFnFl6N0ikDwPuN
|
||||
L1A40EaE121QeEQgUTbcWcrJ1vJkJgcSGK6blVOy1dmHL4ABoD+n1+abDsoKM1Yz
|
||||
XOgci8rbNUTS6P/2j4VW+MZRnM6rFCbo7wW11IUYSyShhTJoWFMdtc7zmQdTVBlo
|
||||
RhKU0Ok1QDVr6vO+3PKriUcWY0cLFRcsGwIDAQABo4GZMIGWMA4GA1UdDwEB/wQE
|
||||
AwIDuDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYEFAaP
|
||||
Vu/GKnWUUjNznMkpU7t1V8V3MB8GA1UdIwQYMBaAFNVjkwWn6aryJsRlIsOr4gFM
|
||||
ISnFMCUGA1UdEQQeMByCCWxvY2FsaG9zdIIJMTI3LjAuMC4xhwR/AAABMA0GCSqG
|
||||
SIb3DQEBCwUAA4ICAQCYl8SMZJlaBOyUM0VAOZDks+OICJn8PUdu5XqvFA5ATnXE
|
||||
MRGP1h34R/6Vkl/jwB/+2+9zEgT1z4hZ55blyOmZFB/j/jPrlqEIkUMHK1CVC6jI
|
||||
f8ubNp4MNHVoV2Cw6wLw8E/GMZIcZ4t0G9Z7kFjHh0qS5PN00zbBCj927Q2FoBc2
|
||||
oybS4KVgFeD9fklYCMoETp+WWaM7dec0OBdKWyCEP3JmMHITKTipro5yf6RZDvAB
|
||||
TvoGcZIsIdKnoAknMYwG4ibcyI0z6XIF6/Hy/E6XdbsnmCHGIBHbRMMvqNXz3XJa
|
||||
1s/vA4MHkUF9N14MRVI8cepFMsYBZkztNylYw159b9qiHzbeUm3BrSaJzQjefqkD
|
||||
cMFLJ0jcZDg8N+pyMi3vvr41HfONw8iyqis3ZAjftZ56fwoj6ap4QZI8P+M7R//X
|
||||
A4r11+ldDRsJRnLi6kCJK/ta2pKGuUvFeVqDDc/wNfBUMkmUeyZ9AcNoxFNDMmZT
|
||||
sEhj6mTHcKlo+BcVdYMO4FrrgXkuRS0gY82qZucHRGQh3G1QPs4di7pVCopXuWjQ
|
||||
8foI+SSRFqfcdPS5ljVyLV1g+RVBJnGYQiCM/JAPokRZpimZherxsmdnAW1A/XR1
|
||||
/LXHw/5upwkouzsjFTEM8g1WDwtfp3HGFnHUxVHSe2lXI/2o+DZBU/ILEpxrgQ==
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEowIBAAKCAQEAl+Qnlg3dSlyYi34yF2D35g9PhU6o5gm3qN22pEdDTOrTEihn
|
||||
F6lqXqieDAaTTYehilqSsBjdZN8uTeJQ5Dsr/g8n43y8KCQFIcpNJLldV+pNEZyd
|
||||
CK3RsPr4+GgWGdpmA5Za8VlRgilYNVzSmABz9LZoa33YIjMSQ0BftAFnFl6N0ikD
|
||||
wPuNL1A40EaE121QeEQgUTbcWcrJ1vJkJgcSGK6blVOy1dmHL4ABoD+n1+abDsoK
|
||||
M1YzXOgci8rbNUTS6P/2j4VW+MZRnM6rFCbo7wW11IUYSyShhTJoWFMdtc7zmQdT
|
||||
VBloRhKU0Ok1QDVr6vO+3PKriUcWY0cLFRcsGwIDAQABAoIBACCfhFEaUTkzgiAT
|
||||
zrZuwU/MYgwDxQsDc0r1s9C87ZuLpCH2Q441eP8zwB5dGy4/v1Zz9aWU8ZhExzE7
|
||||
NpyOiPhcUPjvRYppkiCbzs3gckf7runldWTz0GHuxaK02GpdGiQTGx1TTcpjDusH
|
||||
MMQs9LrOosbTlKRjy7xeCzAiTP3kpGRw0+C8ey5GJ6PxchPQVDp0ONlfUjpsPO+c
|
||||
FussLv5zg0UwaI62HPuJCGYEOXF8DLKcq/0YuZjesdbyrRzJ3B4KVVsG07BOWpoc
|
||||
4Rn7E45oa1nXclfAo2ivJPuNsa/77lYtJnk+/o48U1UwzysjfYvrtZ6QeJ9nNcG9
|
||||
9bbSsmECgYEAxZVHZTwoEVsa9rqWFs1gBU4ZziH57Sxt42zD0uQ5cBRvtAbNqRo6
|
||||
C/nnSuJEdxanPB8YRCkV2iJcsrrVY2AuEci1WJyGdCoP5LMl1DEUEYIRsot1hxL8
|
||||
l0Cab2IwpHZ52hYpEfR/Zfa7G2/UBJ+sLu8IDwNqGxqljFCzmO4PSBcCgYEAxMyJ
|
||||
TCPGGX8Rk6t1GoBxGl97OrsOdKNQsKgk/c91tsZKqItUGeYhx0YS29xg5uJ3WNmN
|
||||
3I9LW3RyVrn2DIn1fftKe4PCvy0/bf7Wr1U2PeaD8vLgWbos7fHn0cYlJInMABV2
|
||||
8QQheCOj+fhSummiwqH7OhorGQ4Y+Gnzjkqrep0CgYA5pMOflV1bMuk68lS3clOB
|
||||
OLfum5r+xueIYkL/U/Yt7MhqDVIS88Pbmp0QC9NNqx4/PBMoT5RAf6XrvvZid7z5
|
||||
E0VVBNV1LpBUeK+gqHDiasAfBvDS54cp2X8038CxOp9yMOTqiBpi9QjBiG6iqrLh
|
||||
PntrZeOe5LdHqIO9KjbrIQKBgBaEvPUcZs+GDbHS/axRpB97a3NV8hqAkXwVUV5F
|
||||
fdezKtnMT4xDG/xcVU4ZEnF42mUtR6FEOEA3u9mWn8PhiVioB2bIteEAQXDJpzEa
|
||||
1AETPmfvSKKbvgZgFsGXJarfpZsg2aJMcbP4iAvTUUwJSFlzBXcphWLxjQPnw7m1
|
||||
a5e1AoGBALK70cpPmDMtKp3kmmTIDVlry42rMH/vSd31uXeEuO7xGOA2ijzpgoU2
|
||||
sS7sD/Rf4m+3rJ5E+ys5aWi0vffnSBcLCxXJQS0Ck4lK+hTmPucHcZKy3o/cJNEM
|
||||
rhkNdLdtzhtKMwbBcKeFAHdnp+2yzFOrjbbRKFFyirWfOZ9eVoZ3
|
||||
-----END RSA PRIVATE KEY-----
|
52
src/go/docker/test/ssl/mongodb.pem
Normal file
52
src/go/docker/test/ssl/mongodb.pem
Normal file
@@ -0,0 +1,52 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIESjCCAjKgAwIBAgIRAKG/1k+fiFpnx/pdBHp0Hc8wDQYJKoZIhvcNAQELBQAw
|
||||
ETEPMA0GA1UEAxMGcm9vdENBMB4XDTE4MDkwNjExMDQzNloXDTIwMDMwNjExMDQz
|
||||
M1owFDESMBAGA1UEAxMJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
||||
MIIBCgKCAQEAl+Qnlg3dSlyYi34yF2D35g9PhU6o5gm3qN22pEdDTOrTEihnF6lq
|
||||
XqieDAaTTYehilqSsBjdZN8uTeJQ5Dsr/g8n43y8KCQFIcpNJLldV+pNEZydCK3R
|
||||
sPr4+GgWGdpmA5Za8VlRgilYNVzSmABz9LZoa33YIjMSQ0BftAFnFl6N0ikDwPuN
|
||||
L1A40EaE121QeEQgUTbcWcrJ1vJkJgcSGK6blVOy1dmHL4ABoD+n1+abDsoKM1Yz
|
||||
XOgci8rbNUTS6P/2j4VW+MZRnM6rFCbo7wW11IUYSyShhTJoWFMdtc7zmQdTVBlo
|
||||
RhKU0Ok1QDVr6vO+3PKriUcWY0cLFRcsGwIDAQABo4GZMIGWMA4GA1UdDwEB/wQE
|
||||
AwIDuDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYEFAaP
|
||||
Vu/GKnWUUjNznMkpU7t1V8V3MB8GA1UdIwQYMBaAFNVjkwWn6aryJsRlIsOr4gFM
|
||||
ISnFMCUGA1UdEQQeMByCCWxvY2FsaG9zdIIJMTI3LjAuMC4xhwR/AAABMA0GCSqG
|
||||
SIb3DQEBCwUAA4ICAQCYl8SMZJlaBOyUM0VAOZDks+OICJn8PUdu5XqvFA5ATnXE
|
||||
MRGP1h34R/6Vkl/jwB/+2+9zEgT1z4hZ55blyOmZFB/j/jPrlqEIkUMHK1CVC6jI
|
||||
f8ubNp4MNHVoV2Cw6wLw8E/GMZIcZ4t0G9Z7kFjHh0qS5PN00zbBCj927Q2FoBc2
|
||||
oybS4KVgFeD9fklYCMoETp+WWaM7dec0OBdKWyCEP3JmMHITKTipro5yf6RZDvAB
|
||||
TvoGcZIsIdKnoAknMYwG4ibcyI0z6XIF6/Hy/E6XdbsnmCHGIBHbRMMvqNXz3XJa
|
||||
1s/vA4MHkUF9N14MRVI8cepFMsYBZkztNylYw159b9qiHzbeUm3BrSaJzQjefqkD
|
||||
cMFLJ0jcZDg8N+pyMi3vvr41HfONw8iyqis3ZAjftZ56fwoj6ap4QZI8P+M7R//X
|
||||
A4r11+ldDRsJRnLi6kCJK/ta2pKGuUvFeVqDDc/wNfBUMkmUeyZ9AcNoxFNDMmZT
|
||||
sEhj6mTHcKlo+BcVdYMO4FrrgXkuRS0gY82qZucHRGQh3G1QPs4di7pVCopXuWjQ
|
||||
8foI+SSRFqfcdPS5ljVyLV1g+RVBJnGYQiCM/JAPokRZpimZherxsmdnAW1A/XR1
|
||||
/LXHw/5upwkouzsjFTEM8g1WDwtfp3HGFnHUxVHSe2lXI/2o+DZBU/ILEpxrgQ==
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEowIBAAKCAQEAl+Qnlg3dSlyYi34yF2D35g9PhU6o5gm3qN22pEdDTOrTEihn
|
||||
F6lqXqieDAaTTYehilqSsBjdZN8uTeJQ5Dsr/g8n43y8KCQFIcpNJLldV+pNEZyd
|
||||
CK3RsPr4+GgWGdpmA5Za8VlRgilYNVzSmABz9LZoa33YIjMSQ0BftAFnFl6N0ikD
|
||||
wPuNL1A40EaE121QeEQgUTbcWcrJ1vJkJgcSGK6blVOy1dmHL4ABoD+n1+abDsoK
|
||||
M1YzXOgci8rbNUTS6P/2j4VW+MZRnM6rFCbo7wW11IUYSyShhTJoWFMdtc7zmQdT
|
||||
VBloRhKU0Ok1QDVr6vO+3PKriUcWY0cLFRcsGwIDAQABAoIBACCfhFEaUTkzgiAT
|
||||
zrZuwU/MYgwDxQsDc0r1s9C87ZuLpCH2Q441eP8zwB5dGy4/v1Zz9aWU8ZhExzE7
|
||||
NpyOiPhcUPjvRYppkiCbzs3gckf7runldWTz0GHuxaK02GpdGiQTGx1TTcpjDusH
|
||||
MMQs9LrOosbTlKRjy7xeCzAiTP3kpGRw0+C8ey5GJ6PxchPQVDp0ONlfUjpsPO+c
|
||||
FussLv5zg0UwaI62HPuJCGYEOXF8DLKcq/0YuZjesdbyrRzJ3B4KVVsG07BOWpoc
|
||||
4Rn7E45oa1nXclfAo2ivJPuNsa/77lYtJnk+/o48U1UwzysjfYvrtZ6QeJ9nNcG9
|
||||
9bbSsmECgYEAxZVHZTwoEVsa9rqWFs1gBU4ZziH57Sxt42zD0uQ5cBRvtAbNqRo6
|
||||
C/nnSuJEdxanPB8YRCkV2iJcsrrVY2AuEci1WJyGdCoP5LMl1DEUEYIRsot1hxL8
|
||||
l0Cab2IwpHZ52hYpEfR/Zfa7G2/UBJ+sLu8IDwNqGxqljFCzmO4PSBcCgYEAxMyJ
|
||||
TCPGGX8Rk6t1GoBxGl97OrsOdKNQsKgk/c91tsZKqItUGeYhx0YS29xg5uJ3WNmN
|
||||
3I9LW3RyVrn2DIn1fftKe4PCvy0/bf7Wr1U2PeaD8vLgWbos7fHn0cYlJInMABV2
|
||||
8QQheCOj+fhSummiwqH7OhorGQ4Y+Gnzjkqrep0CgYA5pMOflV1bMuk68lS3clOB
|
||||
OLfum5r+xueIYkL/U/Yt7MhqDVIS88Pbmp0QC9NNqx4/PBMoT5RAf6XrvvZid7z5
|
||||
E0VVBNV1LpBUeK+gqHDiasAfBvDS54cp2X8038CxOp9yMOTqiBpi9QjBiG6iqrLh
|
||||
PntrZeOe5LdHqIO9KjbrIQKBgBaEvPUcZs+GDbHS/axRpB97a3NV8hqAkXwVUV5F
|
||||
fdezKtnMT4xDG/xcVU4ZEnF42mUtR6FEOEA3u9mWn8PhiVioB2bIteEAQXDJpzEa
|
||||
1AETPmfvSKKbvgZgFsGXJarfpZsg2aJMcbP4iAvTUUwJSFlzBXcphWLxjQPnw7m1
|
||||
a5e1AoGBALK70cpPmDMtKp3kmmTIDVlry42rMH/vSd31uXeEuO7xGOA2ijzpgoU2
|
||||
sS7sD/Rf4m+3rJ5E+ys5aWi0vffnSBcLCxXJQS0Ck4lK+hTmPucHcZKy3o/cJNEM
|
||||
rhkNdLdtzhtKMwbBcKeFAHdnp+2yzFOrjbbRKFFyirWfOZ9eVoZ3
|
||||
-----END RSA PRIVATE KEY-----
|
29
src/go/docker/test/ssl/rootCA.crt
Normal file
29
src/go/docker/test/ssl/rootCA.crt
Normal file
@@ -0,0 +1,29 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIE4jCCAsqgAwIBAgIBATANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZyb290
|
||||
Q0EwHhcNMTgwOTA2MTEwNDM0WhcNMjAwMzA2MTEwNDM0WjARMQ8wDQYDVQQDEwZy
|
||||
b290Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDqVvFpIft91o1x
|
||||
ALjDQ+zoCke2daQ5tntwbDwosbiGB58Jz5p/KVwGHQvYIt5yKSzc7KN7OkTFF8Xt
|
||||
QGbVY2ZHOONHHZHOtuiBPz05fE/HDPxic2MO9jN4GGTphgFDBBfaEaF0G/19Rffk
|
||||
1wtB8PoOY3MU0mSTxT1q2Ka2yY2VRbvoPxo7qbhCfXuAu1cA8RmbYCWQzGsqxPC6
|
||||
s7cen9C5IOhHB/osQcI7ZoSL2fkiDch8SLFBPj7W5nofjH+P4Xncm2c65tHSy4pI
|
||||
hbYW44NDR9o2RS1OdD2GhS9MHBppzQGAnXM3yxsbKDyzjcxZpIjwMlxaGz97y404
|
||||
8ROET8Hu7CoOK9kPA20rmhpX/3ET7kiHs2f4/BlD7xNVL74tr1Plva/C8DcCWDC8
|
||||
sf1PW4RJsuwadbkMAST4MY87HknIiN4NGKE6mSlfukaKKkW1HdCY7ynpCyv3Uru3
|
||||
FiD5XrphSvonZbSfcnKjYQVKEudJWyMbdoO5JX6cDIb7QP3jsKADzedwrtWBWx2Z
|
||||
CxWOJPeVan/I6OfV45q3LZFAsNjK2gquOe/3WmJKpO+EspivY+Fv/32IAACmjoY/
|
||||
90Szf6YUKEE1Etpj9PT2gqmFleOx51A7jg3z4wUl3KI8CTcdVlDogct+4CHiQfJU
|
||||
4ajXTqd3O0qGbulQPrZuhPZWBSbVqQIDAQABo0UwQzAOBgNVHQ8BAf8EBAMCAQYw
|
||||
EgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU1WOTBafpqvImxGUiw6viAUwh
|
||||
KcUwDQYJKoZIhvcNAQELBQADggIBAMEw6cOWi7s/6A5cMObSbbfS91yXx4tjFda/
|
||||
5lJ+7gxO935pQas2ZppxVpGUZezXH5rYl8bR/xGTZ1SLDqp0mjphVp4G6VQFtonK
|
||||
E9nNRuVK9jDJ41IXjWEtdgeig5Sf6hRUbwTDTBulhSviQQzo7hQUpSknMC1UNAgy
|
||||
op3q1dluBaG8BWi9aZu0WL5VdxdQdTCAXSrYqmeGZlc0IgiNiebRmkQwNImnvfzb
|
||||
WmrCK8rThNdXml7G/BD+m9na1OwUVoee1oohbHmxH1YsNwe1rSEBL7oAHzNi695H
|
||||
QrriZWu7t7QdO5ZITGZpzmVU1nrwSB/VgPH0tBAUeZSifctNII9NuW9FS1h3Gys1
|
||||
JV2cwQYVCLK9+M/VhRdSv6u+UCHE1TtZwHmSKYjcdN52pUEnWZNtlwPyrJ7cbSEj
|
||||
Wrq+iZBBO9qcPg20ldYLkjv1QlOGLnVbl2K9ePTTYbUaGo0DLGlA6E2lVjoD8FvS
|
||||
DQYS6qQGHCgVgOPhca8FOCxKEfMvXSzKOF9eGn0rnzsUcJbiYxNArjDDKSRSyMhD
|
||||
2TfBupFV+tYM8OXBDArgk464IZnjsrT4DeQQ+WOtEm3kHo/NVhZ/6A1uV/JyQhkF
|
||||
D6FSNoKvWz3LIC5v42+hvj6teAk4wC9tFk4Q76c2PQxiwY1Ur8ySVUYiIv8bETCt
|
||||
nQT44DuY
|
||||
-----END CERTIFICATE-----
|
Reference in New Issue
Block a user