Make CKAN and ODK add-ca-cert parametrizable

This commit is contained in:
Disassembler 2020-04-06 10:45:46 +02:00
parent 5f6a7a2517
commit 09a146b54c
Signed by: Disassembler
GPG Key ID: 524BD33A0EE29499
8 changed files with 15 additions and 3 deletions

@ -1 +1 @@
Subproject commit b3f2a4be70309c51a3a119cc32bd01ec1a08d2de Subproject commit d70fe9756a978e231a504fdc740a829bf343ad55

View File

@ -2,7 +2,10 @@
import ssl import ssl
cert = ssl.get_server_certificate(('host', 443)) with open('/etc/ckan-datapusher/add-ca-cert.env') as f:
env = dict(tuple(line.split('=')) for line in f.read().splitlines())
cert = ssl.get_server_certificate((env['DOMAIN'], env['PORT']))
with open('/usr/lib/python2.7/site-packages/requests/cacert.pem', 'a') as f: with open('/usr/lib/python2.7/site-packages/requests/cacert.pem', 'a') as f:
f.write(cert) f.write(cert)

View File

@ -47,6 +47,7 @@ spoc-container start ckan-solr
# Configure CKAN DataPusher # Configure CKAN DataPusher
install -o 100000 -g 108080 -m 750 -d ${DATAPUSHER_CONF} install -o 100000 -g 108080 -m 750 -d ${DATAPUSHER_CONF}
install -o 108080 -g 108080 -m 750 -d ${DATAPUSHER_DATA} install -o 108080 -g 108080 -m 750 -d ${DATAPUSHER_DATA}
install -o 100000 -g 108080 -m 640 datapusher_conf/add-ca-cert.env ${DATAPUSHER_CONF}/add-ca-cert.env
install -o 100000 -g 108080 -m 640 datapusher_conf/datapusher.wsgi ${DATAPUSHER_CONF}/datapusher.wsgi install -o 100000 -g 108080 -m 640 datapusher_conf/datapusher.wsgi ${DATAPUSHER_CONF}/datapusher.wsgi
install -o 100000 -g 108080 -m 640 datapusher_conf/datapusher_settings.py ${DATAPUSHER_CONF}/datapusher_settings.py install -o 100000 -g 108080 -m 640 datapusher_conf/datapusher_settings.py ${DATAPUSHER_CONF}/datapusher_settings.py

View File

@ -0,0 +1,2 @@
DOMAIN=ckan.spotter.vm
PORT=443

View File

@ -24,6 +24,7 @@
"opendatakit-postgres" "opendatakit-postgres"
], ],
"mounts": { "mounts": {
"opendatakit/odkbuild_conf/add-ca-cert.env": "srv/opendatakit-build/add-ca-cert.env:file"
"opendatakit/odkbuild_conf/config.yml": "srv/opendatakit-build/config.yml:file" "opendatakit/odkbuild_conf/config.yml": "srv/opendatakit-build/config.yml:file"
} }
}, },

View File

@ -31,6 +31,7 @@ install -o 108080 -g 108080 -m 640 odk_conf/server.xml ${ODK_CONF}/server.xml
# Configure OpenDataKit Build # Configure OpenDataKit Build
export OPENDATAKITBUILD_COOKIE_SECRET=$(head -c 8 /dev/urandom | hexdump -e '"%x"') export OPENDATAKITBUILD_COOKIE_SECRET=$(head -c 8 /dev/urandom | hexdump -e '"%x"')
install -o 108080 -g 108080 -m 750 -d ${ODKBUILD_CONF} install -o 108080 -g 108080 -m 750 -d ${ODKBUILD_CONF}
install -o 108080 -g 108080 -m 640 odkbuild_conf/add-ca-cert.env ${ODKBUILD_CONF}/add-ca-cert.env
envsubst <odkbuild_conf/config.yml | install -o 108080 -g 108080 -m 640 /dev/stdin ${ODKBUILD_CONF}/config.yml envsubst <odkbuild_conf/config.yml | install -o 108080 -g 108080 -m 640 /dev/stdin ${ODKBUILD_CONF}/config.yml
spoc-container exec opendatakit-build -- sh -c 'cd /srv/opendatakit-build; rake db:migrate' spoc-container exec opendatakit-build -- sh -c 'cd /srv/opendatakit-build; rake db:migrate'

View File

@ -0,0 +1,2 @@
DOMAIN=odk.spotter.vm
PORT=443

View File

@ -1,4 +1,6 @@
#!/bin/sh #!/bin/sh
true | openssl s_client -connect host:443 | openssl x509 -out /usr/local/share/ca-certificates/host.crt . /srv/opendatakit-build/add-ca-cert.env
true | openssl s_client -connect ${DOMAIN}:${PORT} | openssl x509 -out /usr/local/share/ca-certificates/opendatakit.crt
update-ca-certificates update-ca-certificates