From ea319e25ff8dc179f4b0bcfc10e7868d737c63bc Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Thu, 9 Jul 2020 16:41:47 -0400 Subject: [PATCH] attempt kubernetes deployment --- .drone.yml | 47 ++++++++++++++++++++++++++++++++++++++++++++++ nix/dhall.nix | 5 +++++ printerfacts.dhall | 8 ++++---- scripts/release.sh | 6 ++++++ 4 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 .drone.yml create mode 100644 nix/dhall.nix create mode 100755 scripts/release.sh diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..beef90c --- /dev/null +++ b/.drone.yml @@ -0,0 +1,47 @@ +kind: pipeline +name: docker +steps: + - name: build docker image + image: "monacoremo/nix:2020-04-05-05f09348-circleci" + environment: + USER: root + commands: + - nix-build + - cp $(readlink result) /result/docker.tgz + volumes: + - name: image + path: /result + + - name: push docker image + image: docker:dind + volumes: + - name: image + path: /result + - name: dockersock + path: /var/run/docker.sock + commands: + - docker load -i /result/docker.tgz + - docker tag xena/printerfacts:latest xena/printerfacts:$DRONE_COMMIT_SHA + - echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin + - docker push xena/printerfacts:$DRONE_COMMIT_SHA + environment: + DOCKER_USERNAME: xena + DOCKER_PASSWORD: + from_secret: DOCKER_PASSWORD + + - name: kubenetes release + image: "monacoremo/nix:2020-04-05-05f09348-circleci" + environment: + USER: root + DIGITALOCEAN_ACCESS_TOKEN: + from_secret: DIGITALOCEAN_ACCESS_TOKEN + commands: + - ./scripts/release.sh + +volumes: + - name: image + temp: {} + - name: dockersock + host: + path: /var/run/docker.sock + diff --git a/nix/dhall.nix b/nix/dhall.nix new file mode 100644 index 0000000..ddb8c3d --- /dev/null +++ b/nix/dhall.nix @@ -0,0 +1,5 @@ +let + sources = import ./sources.nix; + pkgs = import sources.nixpkgs { }; + dhall = import sources.easy-dhall-nix { inherit pkgs; }; +in dhall.dhall-yaml-simple diff --git a/printerfacts.dhall b/printerfacts.dhall index 75a2a1b..97125c4 100644 --- a/printerfacts.dhall +++ b/printerfacts.dhall @@ -1,16 +1,16 @@ let kms = https://xena.greedo.xeserv.us/pkg/dhall/kubermemes/k8s/package.dhall sha256:e47e95aba6a08f8ca3e38fbabc436566d6558a05a9b4ac149e8e712c8583b8f0 -let tag = env:GITHUB_SHA as Text ? "latest" +let tag = env:DRONE_COMMIT_SHA as Text ? "latest" -let image = "xena/printerfacts-warp:${tag}" +let image = "xena/printerfacts:${tag}" in kms.app.make kms.app.Config::{ - , name = "printerfacts-warp" + , name = "printerfacts" , appPort = 5000 , image , replicas = 2 - , domain = "printerfacts-warp.cetacean.club" + , domain = "printerfacts.cetacean.club" , leIssuer = "prod" } diff --git a/scripts/release.sh b/scripts/release.sh new file mode 100755 index 0000000..17b0bbe --- /dev/null +++ b/scripts/release.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env nix-shell +#! nix-shell -p doctl -p kubectl +nix-env -i -f ./nix/dhall.nix +doctl kubernetes cluster kubeconfig save kubermemes +dhall-to-yaml-ng < ./printerfacts.dhall | kubectl apply -n apps -f - +kubectl rollout status -n apps deployment/printerfacts