commit 65bbcbc6740c5139cc1fda2f0c83c77b4a9cbfc4 Author: Junwei Zhao Date: Thu May 13 21:59:37 2021 +1000 add miner diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..d7dfd9d --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,41 @@ +# This is a basic workflow to help you get started with Actions + +name: ci + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for the master branch +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + ci: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + + - name: Build and push backend docker image + run: | + docker build . --tag docker.pkg.github.com/wahyd4/chia/miner:v0.1.$GITHUB_RUN_NUMBER + docker login docker.pkg.github.com -u wahyd4 -p ${{ secrets.GITHUB_TOKEN }} + docker push docker.pkg.github.com/wahyd4/chia/miner:v0.1.$GITHUB_RUN_NUMBER + - name: deploy deployment to cluster + uses: wahyd4/kubectl-helm-action@master + env: + KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }} + with: + args: | + set -e + IMAGE_VERSION=v0.1.$GITHUB_RUN_NUMBER + rm -rf tmp && mkdir tmp + cat manifest.yaml | sed "s/{{IMAGE_VERSION}}/${IMAGE_VERSION}/g" > tmp/manifest.yaml + kubectl apply -f tmp/manifest.yaml -n apps + rm -rf tmp diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f1a9ef7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM alpine:edge + +LABEL AUTHOR=Junv + +WORKDIR /app + + +RUN apk update \ + && apk add zip bash \ + && version=v1.3.0-3 \ + && miner_file=HPool-Miner-chia-${version}-linux.zip \ + && wget https://github.com/hpool-dev/chia-miner/releases/download/${version}/${miner_file} \ + && unzip ${miner_file} \ + && mv linux/hpool-miner-chia ./ \ + && rm ${miner_file} \ + && rm -rf linux + +ADD config.yaml . + +# file downloading folder +VOLUME /chia + +CMD [ "./hpool-miner-chia" ] diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..eb4bfe3 --- /dev/null +++ b/config.yaml @@ -0,0 +1,15 @@ +path: ["/chia"] +minerName: +apiKey: "6ab1d7e3-a835-4e0b-8c17-9ad7aeed034d" +cachePath: "" +deviceId: "" +extraParams: {} +log: + lv: info + path: ./log/ + name: miner.log +url: + info: "" + submit: "" +scanPath: true +scanMinute: 5 diff --git a/manifest.yaml b/manifest.yaml new file mode 100644 index 0000000..08230fc --- /dev/null +++ b/manifest.yaml @@ -0,0 +1,48 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: chia-miner +spec: + selector: + matchLabels: + app: chia-miner + replicas: 2 + template: + metadata: + labels: + app: chia-miner + spec: + containers: + - name: chia-miner + image: "docker.pkg.github.com/wahyd4/chia/miner:{{IMAGE_VERSION}}" + # securityContext: + # runAsUser: 1000 + imagePullPolicy: Always + resources: + requests: + cpu: 500m + memory: 512m + limits: + cpu: 2000m + memory: 2048m + imagePullSecrets: + - name: regcred + +# --- +# apiVersion: monitoring.coreos.com/v1 +# kind: ServiceMonitor +# metadata: +# name: badger +# labels: +# app: badger +# release: prometheus # this can make the service monitor be discovered by prometheus +# spec: +# namespaceSelector: +# matchNames: +# - apps +# selector: +# matchLabels: +# app: badger +# endpoints: +# - port: metrics-port +# interval: 30s