squid/.drone/drone-home.jsonnet

90 lines
2.2 KiB
Plaintext
Raw Normal View History

2020-08-05 07:30:16 +00:00
local images = import 'lib/images.libsonnet';
local util = import 'lib/util.libsonnet';
local compose = import 'node_modules/@sigyl/jsonnet-compose/compose.libsonnet';
local secretSecrets = import 'lib/secret-secrets.libsonnet';
local publicSecrets = import 'lib/public-secrets.libsonnet';
2020-07-30 14:32:27 +00:00
[
{
kind: 'pipeline',
type: 'docker',
name: 'build',
clone: {
disable: false,
depth: 0,
},
services: [
images.docker {
privileged: true,
volumes: [
{
name: 'dockersock',
path: '/var/run',
},
{
name: 'ca',
path: '/etc/docker/certs.d',
},
],
},
],
volumes: [
{
name: 'dockersock',
temp: {},
},
{
name: 'ca',
host: {
path: '/etc/docker/certs.d',
},
},
],
steps:[
images.scp(
'/stack/squid'
),
images.wait(15),
2020-08-05 07:30:16 +00:00
compose(
2020-07-30 14:32:27 +00:00
std.map(
2020-08-04 20:54:49 +00:00
function(s) util.envSet(s),
publicSecrets + secretSecrets
) +
std.map(
function(s) function(step) step {
settings +: {
script +: [
'export %(env)s="$${%(env)s}"' % {
env: util.environment(s),
},
'echo "$${%s}"' % util.environment(s),
],
2020-07-30 14:32:27 +00:00
},
2020-08-04 20:54:49 +00:00
},
publicSecrets + secretSecrets
2020-07-30 14:32:27 +00:00
)
2020-08-04 20:54:49 +00:00
)
2020-07-30 14:32:27 +00:00
(
images.ssh {
name: 'deploy squid',
settings +: {
//username: util.fromSecret("ssh-root-user"),
//password: util.fromSecret("ssh-root-password"),
script +: [
'set -e',
"docker network prune -f",
2020-08-04 19:48:14 +00:00
"cd /stack/squid/myCA",
'openssl genrsa -out CA_key.pem 2048',
'openssl req -x509 -days 600 -new -nodes -key CA_key.pem -out CA_crt.pem -extensions v3_ca -config openssl.cnf -subj "/C=US/ST=California/L=Mountain View/O=Google/OU=Enterprise/CN=MyCA"',
'cd ..',
2020-07-30 14:32:27 +00:00
"docker stack rm squid",
"sleep 30",
"docker stack deploy -c docker-compose.yml squid",
]
}
}
),
],
}
]