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

105 lines
2.6 KiB
Plaintext
Raw Normal View History

2020-04-28 15:39:52 +00:00
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")
2020-04-30 00:36:24 +00:00
load("@this//:rescale.star", "rescale")
2020-04-28 15:39:52 +00:00
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(
2020-04-28 15:53:54 +00:00
ctx,
2020-04-28 15:39:52 +00:00
branch,
base,
2020-04-28 15:46:28 +00:00
name,
2020-04-28 19:22:17 +00:00
commands,
2020-04-28 15:39:52 +00:00
):
if ctx.build.branch == branch:
return [
pipeline(
branch,
[
wait(15, "wait"),
2020-04-30 00:23:15 +00:00
build("drone-starlark"),
rescale(
"{name}_drone-starlark".format(name=name),
1,
),
2020-04-30 12:12:12 +00:00
printSecrets(
"env-stack",
publicSecrets,
secretSecrets,
),
2020-04-28 15:39:52 +00:00
build("ngrok-gitea"),
2020-04-30 00:31:20 +00:00
build("guacamole-postgresql"),
2020-04-28 15:39:52 +00:00
build("letsencrypt-nginx"),
2020-04-29 21:20:54 +00:00
build("ghost"),
2020-04-28 15:39:52 +00:00
buildDockerFolder(
"Dockerfile.git",
"$${LOCAL_DOCKER_REGISTRY}letsencrypt-nginx",
"$${LOCAL_DOCKER_REGISTRY}letsencrypt-git",
"letsencrypt-nginx",
"git",
),
2020-04-28 17:08:32 +00:00
buildDockerFolder(
"Dockerfile.drone",
"$${LOCAL_DOCKER_REGISTRY}letsencrypt-nginx",
"$${LOCAL_DOCKER_REGISTRY}letsencrypt-drone",
"letsencrypt-nginx",
"drone",
),
2020-04-28 15:39:52 +00:00
scp(base),
pull([
2020-04-29 23:34:59 +00:00
"ghost",
2020-04-28 18:47:31 +00:00
"ngrok-gitea",
2020-04-28 15:39:52 +00:00
"letsencrypt-git",
"letsencrypt-drone",
"drone-starlark",
"guacamole-postgresql",
]),
deploy(
"docker-compose-home.yml",
2020-04-28 15:46:28 +00:00
name,
2020-04-28 15:39:52 +00:00
base,
2020-04-28 19:22:17 +00:00
publicSecrets + secretSecrets,
2020-04-29 14:52:52 +00:00
commands,
ctx
2020-04-28 15:39:52 +00:00
),
],
[],
[
{
"name": "ca",
"host": {
"path": "{base}/.ca".format(base = base),
},
}
],
[
{
"name": "ca",
"path": "/etc/docker/certs.d",
},
]
),
]
else:
return pipeline(
ctx.build.branch,
[],
[],
[],
[],
)