diff --git a/drone-starlark/repos/rescale.star b/drone-starlark/repos/rescale.star new file mode 100644 index 0000000..5703b63 --- /dev/null +++ b/drone-starlark/repos/rescale.star @@ -0,0 +1,21 @@ +load("@this//:from-secret.star", "fromSecret") + +def rescale( + service, + scaleTo +): + return { + "name": "deploy", + "image": "appleboy/drone-ssh", + "settings": { + "host": fromSecret("ssh-host"), + "port": fromSecret("ssh-port"), + "username": fromSecret("ssh-root-user"), + "password": fromSecret("ssh-root-password"), + "script": [ + "set -e", + "docker service scale {service}=0".format(service=service), + "docker service scale {service}={scaleTo}".format(service=service, scaleTo=scaleTo), + ] + } + } diff --git a/drone-starlark/repos/stack/drone.star b/drone-starlark/repos/stack/drone.star index 3bd541d..c1a84b6 100644 --- a/drone-starlark/repos/stack/drone.star +++ b/drone-starlark/repos/stack/drone.star @@ -11,6 +11,7 @@ load("@this//:build.star", "build") load("@this//:scp.star", "scp") load("@this//stack:public-secrets.star", "publicSecrets") load("@this//stack:secret-secrets.star", "secretSecrets") +load("@this//rescale.star", "rescale") load("@this//:pull.star", "pull") load("@this//:deploy.star", "deploy") load("@this//:build-folder.star", "buildFolder") @@ -35,10 +36,14 @@ def drone( secretSecrets, ), wait(15, "wait"), + build("drone-starlark"), + rescale( + "{name}_drone-starlark".format(name=name), + 1, + ), build("guacamole-postgresql"), build("ngrok-gitea"), build("letsencrypt-nginx"), - build("drone-starlark"), build("ghost"), buildDockerFolder( "Dockerfile.git",