mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-06-07 14:46:44 +00:00
[DEV-167] Create full docker-based environment for client team testing (#78)
* [DEV-167] Created Dockerfile, dockerignore, and docker-compose. * [DEV-167] Updated docker-compose to use remote image. * [DEV-167] Added --addrindex to docker-compose. * [DEV-167] Switched to testnet and plugged in the correct address. * [DEV-167] Removed the third and fourth nodes from docker-compose. * [DEV-167] Exposed RPC port, added rpcuser and rpcpass. * [DEV-167] Wrangled RPC stuff into shape. Moved docker stuff into btcd/docker. * [DEV-167] Moved dockerignore back to root. Corrected path for rpc.cert and rpc.key. * [DEV-167] Added Jenkins job stuff. * [DEV-167] Added deploy.sh. * [DEV-167] Removed .travis.yaml and a couple of files that shouldn't be in this branch.
This commit is contained in:
parent
201d7e0207
commit
d5787954ee
2
.dockerignore
Normal file
2
.dockerignore
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
vendor/
|
||||||
|
**/docker-compose.yml
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -38,3 +38,6 @@ _testmain.go
|
|||||||
.vscode
|
.vscode
|
||||||
debug
|
debug
|
||||||
debug.test
|
debug.test
|
||||||
|
|
||||||
|
# CI
|
||||||
|
version.txt
|
17
.travis.yml
17
.travis.yml
@ -1,17 +0,0 @@
|
|||||||
language: go
|
|
||||||
go:
|
|
||||||
- "1.9.5"
|
|
||||||
- "1.10.1"
|
|
||||||
sudo: false
|
|
||||||
install:
|
|
||||||
- GLIDE_TAG=v0.12.3
|
|
||||||
- GLIDE_DOWNLOAD="https://github.com/Masterminds/glide/releases/download/$GLIDE_TAG/glide-$GLIDE_TAG-linux-amd64.tar.gz"
|
|
||||||
- curl -L $GLIDE_DOWNLOAD | tar -xvz
|
|
||||||
- export PATH=$PATH:$PWD/linux-amd64/
|
|
||||||
- glide install
|
|
||||||
- go install . ./cmd/...
|
|
||||||
- go get -u gopkg.in/alecthomas/gometalinter.v2
|
|
||||||
- gometalinter.v2 --install
|
|
||||||
script:
|
|
||||||
- export PATH=$PATH:$HOME/gopath/bin
|
|
||||||
- ./goclean.sh
|
|
43
docker/Dockerfile
Normal file
43
docker/Dockerfile
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
# -- multistage docker build: stage #1: build stage
|
||||||
|
FROM golang:1.10-alpine AS build
|
||||||
|
|
||||||
|
RUN mkdir -p /go/src/github.com/daglabs/btcd
|
||||||
|
|
||||||
|
WORKDIR /go/src/github.com/daglabs/btcd
|
||||||
|
|
||||||
|
RUN apk add --no-cache curl git openssh binutils gcc musl-dev
|
||||||
|
RUN curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
|
||||||
|
RUN go get -u github.com/golang/lint/golint \
|
||||||
|
github.com/kisielk/errcheck \
|
||||||
|
github.com/opennota/check/cmd/aligncheck \
|
||||||
|
github.com/opennota/check/cmd/structcheck \
|
||||||
|
github.com/opennota/check/cmd/varcheck
|
||||||
|
|
||||||
|
COPY ./Gopkg.* ./
|
||||||
|
|
||||||
|
RUN dep ensure -v --vendor-only
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN gofmt -d -e -s . \
|
||||||
|
&& go tool vet -all . \
|
||||||
|
&& golint -set_exit_status . \
|
||||||
|
&& aligncheck . \
|
||||||
|
&& structcheck -e . \
|
||||||
|
&& varcheck -e .
|
||||||
|
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o btcd .
|
||||||
|
RUN strip btcd
|
||||||
|
|
||||||
|
RUN go test ./...
|
||||||
|
|
||||||
|
# --- multistage docker build: stage #2: runtime image
|
||||||
|
FROM alpine
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
RUN apk add --no-cache ca-certificates tini
|
||||||
|
|
||||||
|
COPY --from=build /go/src/github.com/daglabs/btcd/btcd /app/
|
||||||
|
COPY --from=build /go/src/github.com/daglabs/btcd/version.txt /app/
|
||||||
|
|
||||||
|
USER nobody
|
||||||
|
ENTRYPOINT [ "/sbin/tini", "--" ]
|
26
docker/docker-compose.yml
Normal file
26
docker/docker-compose.yml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
first:
|
||||||
|
image: 956501169541.dkr.ecr.us-east-1.amazonaws.com/btcd:latest
|
||||||
|
command: [
|
||||||
|
"btcd",
|
||||||
|
"--testnet",
|
||||||
|
"--addrindex",
|
||||||
|
"--generate",
|
||||||
|
"--miningaddr=dagtest:qrm4zaetvny2yuh4wudf8y43fd20lunkxs8quragg8",
|
||||||
|
"--rpcuser=user",
|
||||||
|
"--rpcpass=pass",
|
||||||
|
"--rpclisten=0.0.0.0:18334",
|
||||||
|
"--rpccert=docker/rpc.cert",
|
||||||
|
"--rpckey=docker/rpc.key"
|
||||||
|
]
|
||||||
|
ports: ["18334:18334"]
|
||||||
|
second:
|
||||||
|
image: 956501169541.dkr.ecr.us-east-1.amazonaws.com/btcd:latest
|
||||||
|
links: ["first"]
|
||||||
|
command: [
|
||||||
|
"btcd",
|
||||||
|
"--testnet",
|
||||||
|
"--addrindex",
|
||||||
|
"--connect=first"
|
||||||
|
]
|
17
docker/rpc.cert
Normal file
17
docker/rpc.cert
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICxjCCAiegAwIBAgIRAPJqXxfYxt2SS4zBDePySIcwCgYIKoZIzj0EAwQwNDEg
|
||||||
|
MB4GA1UEChMXYnRjZCBhdXRvZ2VuZXJhdGVkIGNlcnQxEDAOBgNVBAMTB1N0YXMt
|
||||||
|
UEMwHhcNMTgxMDAzMDkyNjI4WhcNMjgxMDAxMDkyNjI4WjA0MSAwHgYDVQQKExdi
|
||||||
|
dGNkIGF1dG9nZW5lcmF0ZWQgY2VydDEQMA4GA1UEAxMHU3Rhcy1QQzCBmzAQBgcq
|
||||||
|
hkjOPQIBBgUrgQQAIwOBhgAEAdQ6qvceZamb3kxvznD5WS22j+qZjZbFnakE7hmc
|
||||||
|
8C9l+7mx110qnGpflvk8kX2YIMeV68S8ZMPQr81zNNiQAc45AfZhKQvGGxeYiUAu
|
||||||
|
gSEsXyUbKYOZZTRVu3FA5i6fmC8yB0M/2HpVC3AgGViPR/1i/PzxL9olnvYpL2bw
|
||||||
|
mS61JUD9o4HWMIHTMA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MIGv
|
||||||
|
BgNVHREEgacwgaSCB1N0YXMtUEOCCWxvY2FsaG9zdIcEfwAAAYcQAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAYcQ/oAAAAAAAADopxgiQ7Ww/YcEwKgQA4cQ/oAAAAAAAABE0sNmcRO4
|
||||||
|
G4cEwKg4AYcQ/oAAAAAAAACxJJdG4/zVLIcEqf7VLIcQ/oAAAAAAAACE0Z2jFy6T
|
||||||
|
TYcEqf6TTYcQ/oAAAAAAAAAc1wgMEFA684cEwKgSFDAKBggqhkjOPQQDBAOBjAAw
|
||||||
|
gYgCQgDsBor/CJyCyljrvXTDhWoctL28dsTjb512+KXGjH1Gpr6g+1P1OGKJrVWu
|
||||||
|
d7M3GzOWT58y4qS63wwVwtL5lSAHhQJCAQZ0HVaGpmrY+S9yMxU1qrFlDyLt1GGA
|
||||||
|
Z+KWzqPj4NBftX6p5lrcw3reS+aOnAsQNKvIVHCrQl/mhzpPvkLLNqjq
|
||||||
|
-----END CERTIFICATE-----
|
7
docker/rpc.key
Normal file
7
docker/rpc.key
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
-----BEGIN EC PRIVATE KEY-----
|
||||||
|
MIHcAgEBBEIA8VXso04KwmMXkgRkJrVMP2uOuB8zhcxzzFsPYUpYDKHDItEL1XBK
|
||||||
|
Ffa0UXtBxOdOPK7lFtXjoao6iwNvPOxSJSCgBwYFK4EEACOhgYkDgYYABAHUOqr3
|
||||||
|
HmWpm95Mb85w+Vktto/qmY2WxZ2pBO4ZnPAvZfu5sdddKpxqX5b5PJF9mCDHlevE
|
||||||
|
vGTD0K/NczTYkAHOOQH2YSkLxhsXmIlALoEhLF8lGymDmWU0VbtxQOYun5gvMgdD
|
||||||
|
P9h6VQtwIBlYj0f9Yvz88S/aJZ72KS9m8JkutSVA/Q==
|
||||||
|
-----END EC PRIVATE KEY-----
|
Loading…
x
Reference in New Issue
Block a user