--- # ---------------------------------------------- # -- Build the site and push it to the registry # ---------------------------------------------- kind: pipeline type: kubernetes name: Build badhouseplants.net trigger: event: - push steps: - name: Publish the Helm chart image: alpine/helm environment: GITEA_TOKEN: from_secret: GITEA_TOKEN commands: - helm plugin install https://github.com/chartmuseum/helm-push - helm package chart -d chart-package - helm repo add --username allanger --password $GITEA_TOKEN allanger-charts https://git.badhouseplants.net/api/packages/allanger/helm - helm cm-push "./chart-package/$(ls chart-package)" allanger-charts - name: Init git submodules with themes image: alpine/git commands: - git submodule update --init --recursive - name: Test a build image: git.badhouseplants.net/badhouseplants/hugo-builder commands: - hugo - name: Build and push the docker image image: plugins/docker settings: registry: git.badhouseplants.net username: allanger password: from_secret: GITEA_TOKEN repo: git.badhouseplants.net/allanger/badhouseplants-net tags: ${DRONE_COMMIT_SHA} - name: Deploy a preview ApplicationSet image: alpine/k8s:1.24.10 when: branch: exclude: - main environment: KUBECONFIG_CONTENT: from_secret: KUBECONFIG_CONTENT commands: - mkdir $HOME/.kube - echo $KUBECONFIG_CONTENT | base64 -d > $HOME/.kube/config - apk update --no-cache && apk add yq gettext - export ARGO_APP_CHART_VERSION=`cat chart/Chart.yaml | yq '.version'` - export ARGO_APP_BRANCH=$DRONE_BRANCH - export ARGO_APP_HOSTNAME="${DRONE_BRANCH}-dev.badhouseplants.net" - export ARGO_APP_IMAGE_TAG=$DRONE_COMMIT_SHA - kubectl get -f ./kube/applicationset.yaml -o yaml > /tmp/old_appset.yaml - yq 'del(.spec.generators[].list.elements[] | select(.name == ""))' /tmp/old_appset.yaml > /tmp/clean_appset.yaml - envsubst < ./kube/template.yaml > /tmp/elements.yaml - yq '.spec.generators[].list.elements + load("/tmp/elements.yaml")' /tmp/clean_appset.yaml > /tmp/new_appset.yaml - kubectl apply -f /tmp/new_appset.yaml --- # ---------------------------------------------- # -- Upload a newer version of my CV # ---------------------------------------------- kind: pipeline type: kubernetes name: CV Builder trigger: branch: - main event: - push steps: - name: Build the CV image: ghcr.io/puppeteer/puppeteer commands: - cp -R ./content/cv/* $HOME - cd $HOME - npm install md-to-pdf - npx md-to-pdf index.md - mkdir $DRONE_WORKSPACE/cv - mv index.pdf $DRONE_WORKSPACE/cv/n.rodionov.pdf - name: Upload the CV image: rclone/rclone:latest environment: RCLONE_CONFIG_CONTENT: from_secret: RCLONE_CONFIG_CONTENT_PRIVATE RCLONE_CONFIG: /tmp/rclone.conf commands: - echo "$RCLONE_CONFIG_CONTENT" > $RCLONE_CONFIG - rclone copy -P $DRONE_WORKSPACE/cv badhouseplants-minio:/public-download