load("@this//:from-secret.star", "fromSecret") load("@this//:map.star", "map") load("@this//:environment.star", "environment") load("@this//:export.star", "export") def pull( name, images, ): secrets = [ "local-docker-registry", "registry-password", ] return { "name": name, "image": "appleboy/drone-ssh:1.6.2", "environment": environment(secrets), "settings": { "envs": [x.replace("-", "_") for x in secrets ], "host": fromSecret("ssh-host"), "port": fromSecret("ssh-port"), "username": fromSecret("ssh-root-user"), "password": fromSecret("ssh-root-password"), "script": [ "set -e" ] + map(export, secrets) + ['docker login $${LOCAL_DOCKER_REGISTRY} --username client --password "$${REGISTRY_PASSWORD}"'] + ["docker pull $${{LOCAL_DOCKER_REGISTRY}}{image}".format(image=image) for image in images ] } }