docker-bitcoind
Docker
This project is for xapo case study. Bitcoin core project used for run bitcoind. For detailed information visit: https://bitcoincore.org
A non-root user(bitcoin) used for docker run. Bitcoind daemon configuration can be customized via bitcoin.conf.
Aquasec trivy used for security scanning. We can change fail threshold by chaning --severity parameter. We can use multiple threshold by separating commas:
--severity HIGH,CRITICAL
.
Detailed info: https://aquasecurity.github.io/trivy/v0.19.2/vulnerability/examples/filter/
Available parameters:
HIGH
CRITICAL
MEDIUM
LOW
Pipeline
Pipeline has two jobs: build-artifact:
checkout: Checkouts code form GitHub repository
setup_remote_docker: Setups a remote docker daemon. CircleCI handles this stage by itself.
Build Docker Image: Building and pushing docker image
Scan Image: Image scanning process. If the image has one or more vulnerabilies in range of provided severity the pipeline fails and pushing step will not worked. We prevent vulnerable image to reach out image registry by this way.
Push Docker Image: Pushing image to given registry. `$DOCKER_LOGIN` and `$DOCKER_PASSWORD` variables set on CircleCI UI.
deploy_infrastructure:
- checkout
- terraform/init:
path: .
- terraform/validate:
path: .
- terraform/fmt:
path: .
- terraform/plan:
path: .
- terraform/apply:
var: "IMAGE=veyselsahin16/docker-bitcoind:0.1.${CIRCLE_BUILD_NUM},access_key=${access_key},secret_key=${secret_key}"
change change change change change change