Update certs and docs

This commit is contained in:
Brett 2022-08-22 10:33:15 +02:00
parent 51c568dc3d
commit 16163be065
4 changed files with 83 additions and 90 deletions

View File

@ -155,6 +155,10 @@ command: `python -m pdb /usr/lib/ckan/venv/bin/ckan --config /srv/app/ckan.ini r
* The base Docker Compose configuration uses an NGINX image as the front-end (ie: reverse proxy). It includes HTTPS running on port number 443. A "self-signed" SSL certificate is generated beforehand and the server certificate and key files are included. The NGINX `server_name` directive and the `CN` field in the SSL certificate have been both set to 'localhost'. This should obviously not be used for production. * The base Docker Compose configuration uses an NGINX image as the front-end (ie: reverse proxy). It includes HTTPS running on port number 443. A "self-signed" SSL certificate is generated beforehand and the server certificate and key files are included. The NGINX `server_name` directive and the `CN` field in the SSL certificate have been both set to 'localhost'. This should obviously not be used for production.
Creating the SSL cert and key files as follows:
`openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=DE/ST=Berlin/L=Berlin/O=None/CN=localhost” -keyout ckan-local.key -out ckan-local.crt`
The `ckan-local.*` files will then need to be moved into the nginx/setup/ directory
## Known Issues ## Known Issues
* Running the tests: Running the tests for CKAN or an extension inside the container will delete your current database. We need to patch CKAN core in our image to work around that. * Running the tests: Running the tests for CKAN or an extension inside the container will delete your current database. We need to patch CKAN core in our image to work around that.

View File

@ -34,17 +34,6 @@ NB: Had to update the prerun.py script as it was failing on check_solr_connecti
- prod, from source: no change from source stage, but listed last so in case a stage isn't targeted, the builder will default to this stage - prod, from source: no change from source stage, but listed last so in case a stage isn't targeted, the builder will default to this stage
Also check out https://github.com/ckan/ckan/pull/4635 for Francesco's test stuff Also check out https://github.com/ckan/ckan/pull/4635 for Francesco's test stuff
3. CKAN Worker (maybe) 3. CKAN Worker (maybe)
4. Implement SSL for the nginx container or include a howto in the docs 4. Implement SSL for the nginx container or include a howto in the docs ### NB: This has been done! albeit with a self-signed cert
### Container Canary notes
A list of what tests to run on the Docker containers to verify they have been built correctly
- Check the user name and the uid/gid
- Check the ports the container is listening on
- Check an httpget on the URL
- any command can be executed in the running container and can be configured t run every x minutes
- check processes running as non root
-

View File

@ -1,30 +1,30 @@
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIFJDCCAwwCCQCIrp/bc6dLYjANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQGEwJE MIIFIDCCAwgCCQD1XH0mNLOTdDANBgkqhkiG9w0BAQsFADBSMQswCQYDVQQGEwJE
RTEPMA0GA1UECAwGQmVybGluMQ8wDQYDVQQHDAZCZXJsaW4xDzANBgNVBAoMBkJl RTEPMA0GA1UECAwGQmVybGluMQ8wDQYDVQQHDAZCZXJsaW4xDTALBgNVBAoMBE5v
cmxpbjESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIyMDgxNTEzMDA0NFoXDTIzMDgx bmUxEjAQBgNVBAMMCWxvY2FsaG9zdDAeFw0yMjA4MTYxMzA4MzhaFw0yMzA4MTYx
NTEzMDA0NFowVDELMAkGA1UEBhMCREUxDzANBgNVBAgMBkJlcmxpbjEPMA0GA1UE MzA4MzhaMFIxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcM
BwwGQmVybGluMQ8wDQYDVQQKDAZCZXJsaW4xEjAQBgNVBAMMCWxvY2FsaG9zdDCC BkJlcmxpbjENMAsGA1UECgwETm9uZTESMBAGA1UEAwwJbG9jYWxob3N0MIICIjAN
AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK9VUkEY9A+aM9AXwWIS0MTQ BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzH0e9GPsegl86S1W77BgmINEtzuY
oiFS5p4rFlSH4UNuqRfWP7F4n+/QF/Zaky6lX7drkLGFWT7qde2ePum90YMhx/9V zbJ94i2O4DJKAgaegdvrLTX1QUWOxd7R4De9PVybg800Ay6jkp5Oirc0BaWgIIAU
WZK05PRkqER83Cv+v4YAsBmxvcvTISLczNv6yfsuQ5tggUC7dupl6Fn/yOyEuhkP Wg44Wdd3GSvXCkixqmETkK5V/20vIdAWfkswmUttEJw+eCdElQ4ZIXKVbUVotbiJ
5Opon1H0SBJxALEvHnOALItdDNwqhnD+j5yCUIKG47LqKTgNp/XTTb3O8p3OSHGi +9TcegmQxApnIiNfDcWlyWzCNprhV6YYUQaBQ9pJNZVovMP+LLX0LRL+bIr/zpeo
Td5DzNQQWJFNjdBfbI14+kcuHg9vrhTfaf3Wb2VMEXR3zIoZo6n7IV39rvFcnUeT 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
naZCOb+gpYVf3/0d/ohxYpn66iFX/lut OnhViZcPai3wbJjT1SDY+h8qnq8=
-----END CERTIFICATE----- -----END CERTIFICATE-----

View File

@ -1,52 +1,52 @@
-----BEGIN PRIVATE KEY----- -----BEGIN PRIVATE KEY-----
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
3NZYHoZNqp79Kl0T6Y0VWI/CpXCS7kgT9A== ru4R+r22/g05ks8IUKi+G/j0UeBSot8=
-----END PRIVATE KEY----- -----END PRIVATE KEY-----