This repository has been archived on 2020-08-11. You can view files and clone it, but cannot push or open issues or pull requests.
stack/drone-starlark/repos/stack/drone.star

113 lines
2.8 KiB
Plaintext

load("@this//:from-secret.star", "fromSecret")
load("@this//:print-secrets.star", "printSecrets")
load("@this//:map.star", "map")
load("@this//:environment.star", "environment")
load("@this//:echo.star", "echo")
load("@this//:export.star", "export")
load("@this//:echo-secret.star", "echoSecret")
load("@this//:wait.star", "wait")
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")
load("@this//:build-docker-folder.star", "buildDockerFolder")
load("@this//:pipeline.star", "pipeline")
def drone(
ctx,
branch,
base,
name,
commands,
):
if ctx.build.branch == branch:
return [
pipeline(
branch,
[
wait(15, "wait"),
build("drone-starlark"),
pull(
"pull drone",
[
"drone-starlark",
]),
rescale(
"{name}_drone-starlark".format(name=name),
1,
),
printSecrets(
"env-stack",
publicSecrets,
secretSecrets,
),
build("gitea"),
#build("guacamole-postgresql"),
#build("ngrok-gitea"),
#build("letsencrypt-nginx"),
#build("ghost"),
#buildDockerFolder(
# "Dockerfile.git",
# "$${LOCAL_DOCKER_REGISTRY}letsencrypt-nginx",
# "$${LOCAL_DOCKER_REGISTRY}letsencrypt-git",
# "letsencrypt-nginx",
# "git",
#),
#buildDockerFolder(
# "Dockerfile.drone",
# "$${LOCAL_DOCKER_REGISTRY}letsencrypt-nginx",
# "$${LOCAL_DOCKER_REGISTRY}letsencrypt-drone",
# "letsencrypt-nginx",
# "drone",
#),
scp(base),
pull(
"pull images",
[
"ghost",
"ngrok-gitea",
"letsencrypt-git",
"letsencrypt-drone",
"guacamole-postgresql",
],
),
deploy(
"docker-compose-home.yml",
name,
base,
publicSecrets + secretSecrets,
commands,
ctx
),
],
[],
[
{
"name": "ca",
"host": {
"path": "{base}/.ca".format(base = base),
},
}
],
[
{
"name": "ca",
"path": "/etc/docker/certs.d",
},
]
),
]
else:
return pipeline(
ctx.build.branch,
[],
[],
[],
[],
)