From d7bc0a7f7ffb3bb6cf0ffee6efc05397667af905 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Fri, 14 Dec 2018 11:02:52 -0500 Subject: [PATCH 01/28] Update Dockerfile --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7740dd3..7f65e54 100644 --- a/Dockerfile +++ b/Dockerfile @@ -112,7 +112,7 @@ COPY --from=php-build /usr/local/lib/php /usr/local/lib/php/ COPY --from=php-build /usr/local/include/php /usr/local/include/php/ COPY --from=php-build /usr/local/bin /usr/local/bin/ -ARG COMANAGE_REGISTRY_VERSION=3.1.1 +ARG COMANAGE_REGISTRY_VERSION=3.2 ARG COMANAGE_REGISTRY_SRC_URL=https://github.com/Internet2/comanage-registry/archive/${COMANAGE_REGISTRY_VERSION}.tar.gz ENV COMANAGE_REGISTRY_VERSION ${COMANAGE_REGISTRY_VERSION} @@ -191,7 +191,7 @@ COPY docker-supervisord-entrypoint /usr/local/bin/ # following line (to prevent other scripts from processing it). ##### ENV TIER_BEACON_OPT_OUT True -ENV TIER_RELEASE=180801 +ENV TIER_RELEASE=181201 ENV TIER_MAINTAINER=tier ENTRYPOINT ["docker-supervisord-entrypoint"] From 0de0eb1f1a8d51fac78393208be2bea50e6426f0 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Fri, 14 Dec 2018 11:10:19 -0500 Subject: [PATCH 02/28] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7f65e54..ac25cb5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -112,7 +112,7 @@ COPY --from=php-build /usr/local/lib/php /usr/local/lib/php/ COPY --from=php-build /usr/local/include/php /usr/local/include/php/ COPY --from=php-build /usr/local/bin /usr/local/bin/ -ARG COMANAGE_REGISTRY_VERSION=3.2 +ARG COMANAGE_REGISTRY_VERSION=develop ARG COMANAGE_REGISTRY_SRC_URL=https://github.com/Internet2/comanage-registry/archive/${COMANAGE_REGISTRY_VERSION}.tar.gz ENV COMANAGE_REGISTRY_VERSION ${COMANAGE_REGISTRY_VERSION} From ab927712f94da4ff428ba4b1983dcd62a186f843 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Thu, 20 Dec 2018 15:49:15 -0500 Subject: [PATCH 03/28] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ac25cb5..a8d9f8f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -112,7 +112,7 @@ COPY --from=php-build /usr/local/lib/php /usr/local/lib/php/ COPY --from=php-build /usr/local/include/php /usr/local/include/php/ COPY --from=php-build /usr/local/bin /usr/local/bin/ -ARG COMANAGE_REGISTRY_VERSION=develop +ARG COMANAGE_REGISTRY_VERSION=3.2.0-rc1 ARG COMANAGE_REGISTRY_SRC_URL=https://github.com/Internet2/comanage-registry/archive/${COMANAGE_REGISTRY_VERSION}.tar.gz ENV COMANAGE_REGISTRY_VERSION ${COMANAGE_REGISTRY_VERSION} From f009b44a1ee77f37024162ce244a6b8a10cc1ef9 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Thu, 20 Dec 2018 15:54:29 -0500 Subject: [PATCH 04/28] Update Jenkinsfile --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 278e7f7..e8652d7 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ pipeline { maintainer = "t" imagename = 'g' tag = 'l' - version='3.1.1' + version='3.2.0-rc1' } stages { stage('Setting build context') { @@ -34,7 +34,7 @@ pipeline { steps { script { docker.withRegistry('https://registry.hub.docker.com/', "dockerhub-$maintainer") { - def baseImg = docker.build("$maintainer/$imagename", "--build-arg COMANAGE_REGISTRY_VERSION=$version .") + def baseImg = docker.build("$maintainer/$imagename", "--no-cache --build-arg COMANAGE_REGISTRY_VERSION=$version .") baseImg.push("$tag") } } From 05b90c9c51cff13fb1444ccf40b535c9255c9369 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Thu, 20 Dec 2018 16:09:35 -0500 Subject: [PATCH 05/28] Update common.bash --- common.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.bash b/common.bash index 5b0a486..4e20c57 100644 --- a/common.bash +++ b/common.bash @@ -1,3 +1,3 @@ maintainer="tier" imagename="comanage" -COMANAGE_REGISTRY_VERSION="3.1.1" +COMANAGE_REGISTRY_VERSION="3.2.0-rc1" From 868deaceb28ec52b18afcba9893487b74ba453e6 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Thu, 20 Dec 2018 16:14:11 -0500 Subject: [PATCH 06/28] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a8d9f8f..e209979 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,7 +41,7 @@ RUN yum -y update && yum -y install \ WORKDIR /usr/local/src -ARG PHP_VERSION=7.2.5 +ARG PHP_VERSION=7.2.12 ARG PHP_SRC_URL=https://github.com/php/php-src/archive/php-${PHP_VERSION}.tar.gz RUN mkdir php-src \ From a23919f8829958f8c7ba27f80395ab82c22e25f9 Mon Sep 17 00:00:00 2001 From: Paul Caskey <pcaskey@internet2.edu> Date: Mon, 7 Jan 2019 09:03:03 -0600 Subject: [PATCH 07/28] bump COmanage and PHP --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index e209979..e9290e5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,7 +41,7 @@ RUN yum -y update && yum -y install \ WORKDIR /usr/local/src -ARG PHP_VERSION=7.2.12 +ARG PHP_VERSION=7.2.13 ARG PHP_SRC_URL=https://github.com/php/php-src/archive/php-${PHP_VERSION}.tar.gz RUN mkdir php-src \ @@ -112,7 +112,7 @@ COPY --from=php-build /usr/local/lib/php /usr/local/lib/php/ COPY --from=php-build /usr/local/include/php /usr/local/include/php/ COPY --from=php-build /usr/local/bin /usr/local/bin/ -ARG COMANAGE_REGISTRY_VERSION=3.2.0-rc1 +ARG COMANAGE_REGISTRY_VERSION=3.2.0 ARG COMANAGE_REGISTRY_SRC_URL=https://github.com/Internet2/comanage-registry/archive/${COMANAGE_REGISTRY_VERSION}.tar.gz ENV COMANAGE_REGISTRY_VERSION ${COMANAGE_REGISTRY_VERSION} From d7e03edc6d0d63e011330cafe30723fade9cd765 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Wed, 6 Feb 2019 16:30:03 -0500 Subject: [PATCH 08/28] Create InCommon.crt --- container_files/cert/InCommon.crt | 91 +++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 container_files/cert/InCommon.crt diff --git a/container_files/cert/InCommon.crt b/container_files/cert/InCommon.crt new file mode 100644 index 0000000..f4d6eee --- /dev/null +++ b/container_files/cert/InCommon.crt @@ -0,0 +1,91 @@ +-----BEGIN CERTIFICATE----- +MIIF+TCCA+GgAwIBAgIQRyDQ+oVGGn4XoWQCkYRjdDANBgkqhkiG9w0BAQwFADCB +iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl +cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV +BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQx +MDA2MDAwMDAwWhcNMjQxMDA1MjM1OTU5WjB2MQswCQYDVQQGEwJVUzELMAkGA1UE +CBMCTUkxEjAQBgNVBAcTCUFubiBBcmJvcjESMBAGA1UEChMJSW50ZXJuZXQyMREw +DwYDVQQLEwhJbkNvbW1vbjEfMB0GA1UEAxMWSW5Db21tb24gUlNBIFNlcnZlciBD +QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJwb8bsvf2MYFVFRVA+e +xU5NEFj6MJsXKZDmMwysE1N8VJG06thum4ltuzM+j9INpun5uukNDBqeso7JcC7v +HgV9lestjaKpTbOc5/MZNrun8XzmCB5hJ0R6lvSoNNviQsil2zfVtefkQnI/tBPP +iwckRR6MkYNGuQmm/BijBgLsNI0yZpUn6uGX6Ns1oytW61fo8BBZ321wDGZq0GTl +qKOYMa0dYtX6kuOaQ80tNfvZnjNbRX3EhigsZhLI2w8ZMA0/6fDqSl5AB8f2IHpT +eIFken5FahZv9JNYyWL7KSd9oX8hzudPR9aKVuDjZvjs3YncJowZaDuNi+L7RyML +fzcCAwEAAaOCAW4wggFqMB8GA1UdIwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bL +MB0GA1UdDgQWBBQeBaN3j2yW4luHS6a0hqxxAAznODAOBgNVHQ8BAf8EBAMCAYYw +EgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUH +AwIwGwYDVR0gBBQwEjAGBgRVHSAAMAgGBmeBDAECAjBQBgNVHR8ESTBHMEWgQ6BB +hj9odHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVNFUlRydXN0UlNBQ2VydGlmaWNh +dGlvbkF1dGhvcml0eS5jcmwwdgYIKwYBBQUHAQEEajBoMD8GCCsGAQUFBzAChjNo +dHRwOi8vY3J0LnVzZXJ0cnVzdC5jb20vVVNFUlRydXN0UlNBQWRkVHJ1c3RDQS5j +cnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZI +hvcNAQEMBQADggIBAC0RBjjW29dYaK+qOGcXjeIT16MUJNkGE+vrkS/fT2ctyNMU +11ZlUp5uH5gIjppIG8GLWZqjV5vbhvhZQPwZsHURKsISNrqOcooGTie3jVgU0W+0 ++Wj8mN2knCVANt69F2YrA394gbGAdJ5fOrQmL2pIhDY0jqco74fzYefbZ/VS29fR +5jBxu4uj1P+5ZImem4Gbj1e4ZEzVBhmO55GFfBjRidj26h1oFBHZ7heDH1Bjzw72 +hipu47Gkyfr2NEx3KoCGMLCj3Btx7ASn5Ji8FoU+hCazwOU1VX55mKPU1I2250Lo +RCASN18JyfsD5PVldJbtyrmz9gn/TKbRXTr80U2q5JhyvjhLf4lOJo/UzL5WCXED +Smyj4jWG3R7Z8TED9xNNCxGBMXnMete+3PvzdhssvbORDwBZByogQ9xL2LUZFI/i +eoQp0UM/L8zfP527vWjEzuDN5xwxMnhi+vCToh7J159o5ah29mP+aJnvujbXEnGa +nrNxHzu+AGOePV8hwrGGG7hOIcPDQwkuYwzN/xT29iLp/cqf9ZhEtkGcQcIImH3b +oJ8ifsCnSbu0GB9L06Yqh7lcyvKDTEADslIaeSEINxhO2Y1fmcYFX/Fqrrp1WnhH +OjplXuXE0OPa0utaKC25Aplgom88L2Z8mEWcyfoB7zKOfD759AN7JKZWCYwk +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIFdzCCBF+gAwIBAgIQE+oocFv07O0MNmMJgGFDNjANBgkqhkiG9w0BAQwFADBv +MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk +ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF +eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow +gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK +ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD +VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjAN +BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sIs9CsVw127c0n00yt +UINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnGvDoZtF+mvX2do2NC +tnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQIjy8/hPwhxR79uQf +jtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfbIWax1Jt4A8BQOujM +8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0tyA9yn8iNK5+O2hm +AUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97Exwzf4TKuzJM7UXiV +Z4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNVicQNwZNUMBkTrNN9 +N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5D9kCnusSTJV882sF +qV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJWBp/kjbmUZIO8yZ9 +HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ5lhCLkMaTLTwJUdZ ++gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzGKAgEJTm4Diup8kyX +HAc/DVL17e8vgg8CAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTv +A73gJMtUGjAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/ +BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1Ud +HwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4 +dGVybmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0 +dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAJNl9jeD +lQ9ew4IcH9Z35zyKwKoJ8OkLJvHgwmp1ocd5yblSYMgpEg7wrQPWCcR23+WmgZWn +RtqCV6mVksW2jwMibDN3wXsyF24HzloUQToFJBv2FAY7qCUkDrvMKnXduXBBP3zQ +YzYhBx9G/2CkkeFnvN4ffhkUyWNnkepnB2u0j4vAbkN9w6GAbLIevFOFfdyQoaS8 +Le9Gclc1Bb+7RrtubTeZtv8jkpHGbkD4jylW6l/VXxRTrPBPYer3IsynVgviuDQf +Jtl7GQVoP7o81DgGotPmjw7jtHFtQELFhLRAlSv0ZaBIefYdgWOWnU914Ph85I6p +0fKtirOMxyHNwu8= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU +MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs +IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 +MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux +FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h +bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v +dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt +H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 +uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX +mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX +a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN +E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 +WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD +VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 +Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU +cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx +IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN +AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH +YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC +Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX +c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a +mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- From 70c27e85342077b945f2bb0bbfca63e82fec2488 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Wed, 6 Feb 2019 16:30:45 -0500 Subject: [PATCH 09/28] Update CA trust anchors --- Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Dockerfile b/Dockerfile index e9290e5..ed7c1ca 100644 --- a/Dockerfile +++ b/Dockerfile @@ -39,6 +39,10 @@ RUN yum -y update && yum -y install \ re2c \ wget +RUN update-ca-trust force-enable +ADD container_files/cert/InCommon.crt /etc/pki/ca-trust/source/anchors/ +RUN update-ca-trust extract + WORKDIR /usr/local/src ARG PHP_VERSION=7.2.13 From 06d8fc0bac74a5a295eba4f058324044deeb7c81 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Wed, 6 Feb 2019 17:12:37 -0500 Subject: [PATCH 10/28] update php version --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ed7c1ca..a4a1c5c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,7 +45,7 @@ RUN update-ca-trust extract WORKDIR /usr/local/src -ARG PHP_VERSION=7.2.13 +ARG PHP_VERSION=7.2.14 ARG PHP_SRC_URL=https://github.com/php/php-src/archive/php-${PHP_VERSION}.tar.gz RUN mkdir php-src \ From 55dec100faaed07bd57b91e04c9704e36cf7ce55 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Wed, 6 Feb 2019 17:40:06 -0500 Subject: [PATCH 11/28] bump to php 7.3.1 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a4a1c5c..2abcdd0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,7 +45,7 @@ RUN update-ca-trust extract WORKDIR /usr/local/src -ARG PHP_VERSION=7.2.14 +ARG PHP_VERSION=7.3.1 ARG PHP_SRC_URL=https://github.com/php/php-src/archive/php-${PHP_VERSION}.tar.gz RUN mkdir php-src \ From d36c8abba7e1007ead67a602bd102bb695467a51 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Wed, 6 Feb 2019 17:50:12 -0500 Subject: [PATCH 12/28] Update Dockerfile --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 2abcdd0..d5f1b50 100644 --- a/Dockerfile +++ b/Dockerfile @@ -63,6 +63,7 @@ RUN cd php-src \ --disable-cgi \ --enable-mbstring \ --enable-mysqlnd \ + --enable-phar=shared \ --with-apxs2=/usr/bin/apxs \ --with-config-file-path=/usr/local/etc/php \ --with-config-file-scan-dir=/usr/local/etc/php/conf.d \ From 1c034ae56eed79d276676bb86d22b295faab96dd Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Thu, 7 Feb 2019 12:49:41 -0500 Subject: [PATCH 13/28] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d5f1b50..fdc6787 100644 --- a/Dockerfile +++ b/Dockerfile @@ -63,7 +63,7 @@ RUN cd php-src \ --disable-cgi \ --enable-mbstring \ --enable-mysqlnd \ - --enable-phar=shared \ + --without-pear \ --with-apxs2=/usr/bin/apxs \ --with-config-file-path=/usr/local/etc/php \ --with-config-file-scan-dir=/usr/local/etc/php/conf.d \ From 077a38e3f4e671e0bd433222347bca9cca046d77 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Tue, 26 Feb 2019 22:03:15 -0500 Subject: [PATCH 14/28] 3.2.1 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index fdc6787..0acefa1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -117,7 +117,7 @@ COPY --from=php-build /usr/local/lib/php /usr/local/lib/php/ COPY --from=php-build /usr/local/include/php /usr/local/include/php/ COPY --from=php-build /usr/local/bin /usr/local/bin/ -ARG COMANAGE_REGISTRY_VERSION=3.2.0 +ARG COMANAGE_REGISTRY_VERSION=3.2.1 ARG COMANAGE_REGISTRY_SRC_URL=https://github.com/Internet2/comanage-registry/archive/${COMANAGE_REGISTRY_VERSION}.tar.gz ENV COMANAGE_REGISTRY_VERSION ${COMANAGE_REGISTRY_VERSION} From 9791b80c2f58d6766e3559f2d677b286f3d9034d Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Tue, 26 Feb 2019 22:03:46 -0500 Subject: [PATCH 15/28] Update common.bash --- common.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.bash b/common.bash index 4e20c57..b5d80b9 100644 --- a/common.bash +++ b/common.bash @@ -1,3 +1,3 @@ maintainer="tier" imagename="comanage" -COMANAGE_REGISTRY_VERSION="3.2.0-rc1" +COMANAGE_REGISTRY_VERSION="3.2.1-rc1" From 8516c70eef65c557c81511726b44e8e3f3b8772b Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Tue, 26 Feb 2019 22:20:00 -0500 Subject: [PATCH 16/28] Update common.bash --- common.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.bash b/common.bash index b5d80b9..015a49a 100644 --- a/common.bash +++ b/common.bash @@ -1,3 +1,3 @@ maintainer="tier" imagename="comanage" -COMANAGE_REGISTRY_VERSION="3.2.1-rc1" +COMANAGE_REGISTRY_VERSION="3.2.1" From 7c32b103881ee3882bf042eef1a9b32f6ad19ce7 Mon Sep 17 00:00:00 2001 From: Paul Caskey <pcaskey@internet2.edu> Date: Fri, 3 May 2019 14:21:01 +0000 Subject: [PATCH 17/28] bump COmanage to 3.2.2 and PHP to 7.3.5 --- Dockerfile | 6 +++--- common.bash | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0acefa1..3fd2b35 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,7 +45,7 @@ RUN update-ca-trust extract WORKDIR /usr/local/src -ARG PHP_VERSION=7.3.1 +ARG PHP_VERSION=7.3.5 ARG PHP_SRC_URL=https://github.com/php/php-src/archive/php-${PHP_VERSION}.tar.gz RUN mkdir php-src \ @@ -117,7 +117,7 @@ COPY --from=php-build /usr/local/lib/php /usr/local/lib/php/ COPY --from=php-build /usr/local/include/php /usr/local/include/php/ COPY --from=php-build /usr/local/bin /usr/local/bin/ -ARG COMANAGE_REGISTRY_VERSION=3.2.1 +ARG COMANAGE_REGISTRY_VERSION=3.2.2 ARG COMANAGE_REGISTRY_SRC_URL=https://github.com/Internet2/comanage-registry/archive/${COMANAGE_REGISTRY_VERSION}.tar.gz ENV COMANAGE_REGISTRY_VERSION ${COMANAGE_REGISTRY_VERSION} @@ -196,7 +196,7 @@ COPY docker-supervisord-entrypoint /usr/local/bin/ # following line (to prevent other scripts from processing it). ##### ENV TIER_BEACON_OPT_OUT True -ENV TIER_RELEASE=181201 +ENV TIER_RELEASE=190501 ENV TIER_MAINTAINER=tier ENTRYPOINT ["docker-supervisord-entrypoint"] diff --git a/common.bash b/common.bash index 015a49a..00efbb9 100644 --- a/common.bash +++ b/common.bash @@ -1,3 +1,3 @@ maintainer="tier" imagename="comanage" -COMANAGE_REGISTRY_VERSION="3.2.1" +COMANAGE_REGISTRY_VERSION="3.2.2" From c4e39a179484395c97c2c025290543179c6eb0a9 Mon Sep 17 00:00:00 2001 From: Chris Hubing <chubing@internet2.edu> Date: Fri, 8 Nov 2019 14:56:30 +0000 Subject: [PATCH 18/28] updated ARGS to point to dockerhub versions --- 000-comanage.conf | 37 +- Dockerfile | 140 ++--- README.md | 619 ++++------------------- docker-comanage-entrypoint | 326 +----------- docker-comanage-shibboleth-sp-entrypoint | 107 +--- docker-supervisord-entrypoint | 31 +- sendtierbeacon.sh | 16 +- setupcron.sh | 10 +- shibboleth.repo | 7 +- 9 files changed, 198 insertions(+), 1095 deletions(-) diff --git a/000-comanage.conf b/000-comanage.conf index b198062..5ad4912 100644 --- a/000-comanage.conf +++ b/000-comanage.conf @@ -18,28 +18,22 @@ # limitations under the License. Listen 443 -ServerName %%SERVER_NAME%% +ServerName ${COMANAGE_REGISTRY_VIRTUAL_HOST_FQDN} PassEnv ENV PassEnv USERTOKEN -<VirtualHost *:80> -ServerName http://%%SERVER_NAME%%:80 -RewriteEngine On -RewriteCond %{HTTPS} off -RewriteRule ^ https://%{HTTP_HOST}:443%{REQUEST_URI} [R=302,L,QSA] -</VirtualHost> +Include apache-include-virtual-host-port80-redirect <VirtualHost *:443> -ServerName https://%%SERVER_NAME%%:443 +Include apache-include-virtual-host-port443-base + +SSLCertificateFile /etc/httpd/cert.pem +SSLCertificateKeyFile /etc/httpd/privkey.pem PassEnv ENV PassEnv USERTOKEN -DocumentRoot /var/www/html - -RedirectMatch ^/$ /registry/ - ErrorLogFormat "httpd;ssl_error_log;%{ENV}e;%{USERTOKEN}e;[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i" ErrorLog /tmp/logpipe LogLevel warn @@ -47,22 +41,7 @@ LogLevel warn LogFormat "httpd;ssl_access_log;%{ENV}e;%{USERTOKEN}e;%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" ssl_combined CustomLog /tmp/logpipe ssl_combined -Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains" - -SSLEngine on -SSLProtocol all -SSLv2 -SSLv3 -SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH -SSLHonorCipherOrder on - -SSLCertificateFile /etc/httpd/cert.pem -SSLCertificateKeyFile /etc/httpd/privkey.pem - -<Directory /var/www/html/registry> -Options Indexes FollowSymLinks -DirectoryIndex index.php -AllowOverride All -Require all granted -</Directory> +Include apache-include-directory-registry <Location "/Shibboleth.sso"> SetHandler shib @@ -81,6 +60,6 @@ Require shibboleth RewriteEngine On RewriteCond %{QUERY_STRING} !after_redirect -RewriteRule ^/registry/auth/logout.* https://%%SERVER_NAME%%/Shibboleth.sso/Logout?return=https://%%SERVER_NAME%%/registry/auth/logout/?after_redirect [L,R] +RewriteRule ^/registry/auth/logout.* https://%{HTTP_HOST}/Shibboleth.sso/Logout?return=https://%{HTTP_HOST}/registry/auth/logout/?after_redirect [L,R] </VirtualHost> diff --git a/Dockerfile b/Dockerfile index 3fd2b35..61f2a11 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,78 +16,32 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -FROM centos:centos7 AS php-build +ARG COMANAGE_REGISTRY_VERSION=3.2.2 +ARG COMANAGE_REGISTRY_BASE_IMAGE_VERSION=20191108 +ARG COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=3.2.2-20191108 -RUN yum -y install epel-release +FROM comanage-registry-base:${COMANAGE_REGISTRY_VERSION}-${COMANAGE_REGISTRY_BASE_IMAGE_VERSION} AS comanage -RUN yum -y update && yum -y install \ - autoconf \ - bison \ - gcc \ - httpd-devel \ - libargon2-devel \ - libcurl-devel \ - libedit-devel \ - libsodium-devel \ - libxml2-devel \ - libxslt-devel \ - make \ - mariadb-devel \ - openldap-devel \ - openssl-devel \ - postgresql-devel \ - re2c \ - wget - -RUN update-ca-trust force-enable -ADD container_files/cert/InCommon.crt /etc/pki/ca-trust/source/anchors/ -RUN update-ca-trust extract - -WORKDIR /usr/local/src - -ARG PHP_VERSION=7.3.5 -ARG PHP_SRC_URL=https://github.com/php/php-src/archive/php-${PHP_VERSION}.tar.gz - -RUN mkdir php-src \ - && wget -O php-src.tar.gz ${PHP_SRC_URL} \ - && tar zxf php-src.tar.gz -C php-src --strip-components=1 \ - && rm php-src.tar.gz - -ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2" -ENV PHP_CPPFLAGS="$PHP_CFLAGS" -ENV PHP_LDFLAGS="-Wl,-O1 -Wl,--hash-style=both -pie" - -RUN cd php-src \ - && ./buildconf --force \ - && ./configure \ - --disable-cgi \ - --enable-mbstring \ - --enable-mysqlnd \ - --without-pear \ - --with-apxs2=/usr/bin/apxs \ - --with-config-file-path=/usr/local/etc/php \ - --with-config-file-scan-dir=/usr/local/etc/php/conf.d \ - --with-curl \ - --with-ldap \ - --with-libdir=lib64 \ - --with-libedit \ - --with-mysqli \ - --with-openssl \ - --with-password-argon2 \ - --with-pdo-mysql \ - --with-pdo-pgsql \ - --with-pgsql \ - --with-sodium \ - --with-xsl \ - --with-zlib \ - && export CFLAGS="$PHP_CFLAGS" \ - && export CPPFLAGS="$PHP_CPPFLAGS" \ - && export LDFLAGS="$PHP_LDFLAGS" \ - && make -j "$(nproc)" \ - && make install +FROM comanage-registry-internet2-tier-base:${COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION} AS php-build FROM centos:centos7 +ARG COMANAGE_REGISTRY_VERSION +ENV COMANAGE_REGISTRY_VERSION ${COMANAGE_REGISTRY_VERSION} +LABEL comanage_registry_version=${COMANAGE_REGISTRY_VERSION} + +ARG COMANAGE_REGISTRY_BASE_IMAGE_VERSION +ENV COMANAGE_REGISTRY_BASE_IMAGE_VERSION ${COMANAGE_REGISTRY_BASE_IMAGE_VERSION} +LABEL comanage_registry_base_image_version=${COMANAGE_REGISTRY_BASE_IMAGE_VERSION} + +ARG COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION +ENV COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION ${COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION} +LABEL comanage_registry_i2_base_image_version=${COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION} + +ARG COMANAGE_REGISTRY_DIR +ENV COMANAGE_REGISTRY_DIR ${COMANAGE_REGISTRY_DIR:-/srv/comanage-registry} +LABEL comanage_registry_dir=${COMANAGE_REGISTRY_DIR} + RUN yum -y install epel-release COPY shibboleth.repo /etc/yum.repos.d/ @@ -106,6 +60,7 @@ RUN yum -y update && yum -y install \ postgresql \ python-pip \ shibboleth \ + sudo \ wget \ zlib \ && pip install --upgrade pip \ @@ -117,28 +72,13 @@ COPY --from=php-build /usr/local/lib/php /usr/local/lib/php/ COPY --from=php-build /usr/local/include/php /usr/local/include/php/ COPY --from=php-build /usr/local/bin /usr/local/bin/ -ARG COMANAGE_REGISTRY_VERSION=3.2.2 -ARG COMANAGE_REGISTRY_SRC_URL=https://github.com/Internet2/comanage-registry/archive/${COMANAGE_REGISTRY_VERSION}.tar.gz -ENV COMANAGE_REGISTRY_VERSION ${COMANAGE_REGISTRY_VERSION} - -LABEL comanage_registry_version=${COMANAGE_REGISTRY_VERSION} -LABEL comanage_registry_src_url=${COMANAGE_REGISTRY_SRC_URL} - -ENV COMANAGE_REGISTRY_DIR /srv/comanage-registry - -WORKDIR "$COMANAGE_REGISTRY_DIR" - -RUN mkdir -p "${COMANAGE_REGISTRY_DIR}" \ - && wget -O comanage.tar.gz ${COMANAGE_REGISTRY_SRC_URL} \ - && tar -zxf comanage.tar.gz -C ${COMANAGE_REGISTRY_DIR} --strip-components=1 \ - && rm -f comanage.tar.gz \ - && rm -f ${COMANAGE_REGISTRY_DIR}/app/tmp \ - && cp -r ${COMANAGE_REGISTRY_DIR}/app/tmp.dist ${COMANAGE_REGISTRY_DIR}/app/tmp \ - && chown -R apache:apache ${COMANAGE_REGISTRY_DIR}/app/tmp \ - && cd /var/www/html \ - && ln -s ${COMANAGE_REGISTRY_DIR}/app/webroot registry \ - && rm -rf ${COMANAGE_REGISTRY_DIR}/local/* \ - && ln -s ${COMANAGE_REGISTRY_DIR}/local /local +COPY --from=comanage ${COMANAGE_REGISTRY_DIR} ${COMANAGE_REGISTRY_DIR}/ +COPY --from=comanage /etc/apache2/apache-include-directory-registry /etc/httpd/ +COPY --from=comanage /etc/apache2/apache-include-virtual-host-port443-base /etc/httpd/ +COPY --from=comanage /etc/apache2/apache-include-virtual-host-port80-redirect /etc/httpd/ +COPY --from=comanage /usr/local/lib/comanage_utils.sh /usr/local/lib/ +COPY --from=comanage /usr/local/lib/comanage_shibboleth_sp_utils.sh /usr/local/lib/ +COPY --from=comanage /usr/local/bin/docker-comanage-entrypoint /usr/local/bin/ COPY 000-comanage.conf /etc/httpd/conf.d/ COPY 10-php7.conf /etc/httpd/conf.modules.d/ @@ -149,6 +89,9 @@ COPY native.logger /etc/shibboleth/ COPY httpd.conf /etc/httpd/conf/ COPY sendtierbeacon.sh /usr/local/bin/sendtierbeacon.sh COPY setupcron.sh /usr/local/bin/setupcron.sh +COPY docker-comanage-entrypoint /usr/local/bin/ +COPY docker-comanage-shibboleth-sp-entrypoint /usr/local/bin/ +COPY docker-supervisord-entrypoint /usr/local/bin/ RUN cd /etc/httpd/conf.d \ && rm -f autoindex.conf ssl.conf userdir.conf welcome.conf \ @@ -157,7 +100,12 @@ RUN cd /etc/httpd/conf.d \ && ln -s /etc/pki/tls/private/localhost.key privkey.pem \ && chmod 755 /usr/local/bin/sendtierbeacon.sh \ && chmod 755 /usr/local/bin/setupcron.sh \ - && /usr/local/bin/setupcron.sh + && /usr/local/bin/setupcron.sh \ + && cd /var/www/html \ + && ln -s ${COMANAGE_REGISTRY_DIR}/app/webroot registry \ + && rm -rf ${COMANAGE_REGISTRY_DIR}/local/* \ + && chown -R apache:apache ${COMANAGE_REGISTRY_DIR}/app/tmp \ + && rm -f /etc/shibboleth/shibboleth2.xml # Allow values for first administrator bootstrapped into the # platform to be specified at image build time, in addition to @@ -174,15 +122,9 @@ ENV COMANAGE_REGISTRY_ADMIN_FAMILY_NAME ${COMANAGE_REGISTRY_ADMIN_FAMILY_NAME:-A ENV COMANAGE_REGISTRY_ADMIN_USERNAME ${COMANAGE_REGISTRY_ADMIN_USERNAME:-registry.admin} ENV COMANAGE_REGISTRY_ENABLE_POOLING ${COMANAGE_REGISTRY_ENABLE_POOLING:-No} -EXPOSE 80 443 +VOLUME ${COMANAGE_REGISTRY_DIR}/local /etc/shibboleth -VOLUME ["/srv/comanage-registry/local"] - -VOLUME ["/etc/shibboleth"] - -COPY docker-comanage-entrypoint /usr/local/bin/ -COPY docker-comanage-shibboleth-sp-entrypoint /usr/local/bin/ -COPY docker-supervisord-entrypoint /usr/local/bin/ +EXPOSE 80 443 # TIER Beacon Opt-out # @@ -196,7 +138,7 @@ COPY docker-supervisord-entrypoint /usr/local/bin/ # following line (to prevent other scripts from processing it). ##### ENV TIER_BEACON_OPT_OUT True -ENV TIER_RELEASE=190501 +ENV TIER_RELEASE=180501 ENV TIER_MAINTAINER=tier ENTRYPOINT ["docker-supervisord-entrypoint"] diff --git a/README.md b/README.md index 50d0a06..b4abaa9 100644 --- a/README.md +++ b/README.md @@ -1,556 +1,159 @@ -# COmanage Registry Internet2 TIER Docker - -## What it is -Docker version of [COmanage -Registry](https://spaces.internet2.edu/display/COmanage/Home) packaged to meet -the specifications of the +<!-- +COmanage Registry Docker documentation + +Portions licensed to the University Corporation for Advanced Internet +Development, Inc. ("UCAID") under one or more contributor license agreements. +See the NOTICE file distributed with this work for additional information +regarding copyright ownership. + +UCAID licenses this file to you under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with the +License. You may obtain a copy of the License at: + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +--> + +# COmanage Registry Internet2 TIER + +Intended to build a COmanage Registry image using the Shibboleth Native SP +for Apache HTTP Server (Shibboleth) as the authentication mechanism and that +meets the +[TIER Docker Container Specification](https://spaces.at.internet2.edu/x/m4ZyBw) +from the [Internet2 TIER](https://www.internet2.edu/vision-initiatives/initiatives/trust-identity-education-research/) program. -COmanage Registry is a web application that requires a relational database -and an authentication mechanism such as -[Shibboleth](http://shibboleth.net/products/service-provider.html). - -## How To +## Build Arguments -* Install Docker. These instructions require version 17.03.1 or higher. - -* Clone this repository: +Building the image requires the following build arguments: ``` -git clone https://github.com/Internet2/comanage-registry-docker.git -cd comanage-registry-docker +--build-arg COMANAGE_REGISTRY_VERSION=<version number> +--build-arg COMANAGE_REGISTRY_BASE_IMAGE_VERSION=<base image version number> +--build-arg COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=<I2 base image version number> ``` -* Define `COMANAGE_REGISTRY_VERSION`. Currently we recommend +## Build Requirements -``` -export COMANAGE_REGISTRY_VERSION=3.1.0 -``` +This image uses a [multi-stage build](https://docs.docker.com/develop/develop-images/multistage-build/). +It requires that the [COmanage Registry base image](../comanage-registry-base/README.md) +and [Internet2 TIER base image](../comanage-registry-internet2-tier-base/README.md) be built first. -* Build a local image for COmanage Registry: +## Building ``` -pushd comanage-registry-internet2-tier docker build \ - --build-arg COMANAGE_REGISTRY_VERSION=${COMANAGE_REGISTRY_VERSION} \ - -t comanage-registry:${COMANAGE_REGISTRY_VERSION}-internet2-tier . -popd + --build-arg COMANAGE_REGISTRY_VERSION=<COmanage Registry version number> \ + --build-arg COMANAGE_REGISTRY_BASE_IMAGE_VERSION=<base image version number> \ + --build-arg COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=<base image version number> \ + -t comanage-registry:<tag> . ``` -* Create directories to store local state files: +## Building Example ``` -sudo mkdir -p /srv/docker/internet2-tier/srv/comanage-registry/local -sudo mkdir -p /srv/docker/internet2-tier/var/lib/mysql -sudo mkdir -p /srv/docker/internet2-tier/var/lib/ldap -sudo mkdir -p /srv/docker/internet2-tier/etc/ldap/slapd.d +export COMANAGE_REGISTRY_VERSION=3.2.1 +export COMANAGE_REGISTRY_BASE_IMAGE_VERSION=1 +export COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=1 +export COMANAGE_REGISTRY_I2_IMAGE_VERSION=1 +TAG="${COMANAGE_REGISTRY_VERSION}-internet2-tier-${COMANAGE_REGISTRY_I2_IMAGE_VERSION}" +docker build \ + --build-arg COMANAGE_REGISTRY_VERSION=${COMANAGE_REGISTRY_VERSION} \ + --build-arg COMANAGE_REGISTRY_BASE_IMAGE_VERSION=${COMANAGE_REGISTRY_BASE_IMAGE_VERSION} \ + --build-arg COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=${COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION} \ + -t comanage-registry:$TAG . ``` -* Initialize Docker Swarm: - -``` -docker swarm init -``` +## Volumes and Data Persistence -* Hash a password to use as the LDAP admin password: +See [COmanage Registry Volumes and Data Persistence](../docs/volumes-and-data-persistence.md). -``` -/usr/sbin/slappasswd -c '$6$rounds=5000$%.86s' -``` -* Create Docker Swarm secrets (please be sure to substitute your own secrets): +## Environment Variables +See the [list of environment variables common to all images](../docs/comanage-registry-common-environment-variables.md) +including this image. -``` -echo "88cdfwOgQ1OblrHPNTyY" | docker secret create mysql_root_password - +See also the +[list of environment variables common to all images using Shibboleth](../docs/comanage-registry-common-shibboleth-environment-variables.md). -echo "5zY87knHxbP3sVQstRW2" | docker secret create mysql_password - +Additionally the Internet2 TIER image supports the following environment variables: -echo "5zY87knHxbP3sVQstRW2" | docker secret create comanage_registry_database_user_password - +`ENV` -echo "qselvrfaomxktlra" | docker secret create comanage_registry_email_account_password - +* Description: Environment +* Required: No +* Default: None +* Example: PROD +* Note: Usually one of PROD, TEST, or DEV. The value is included in log entries. -docker secret create https_cert_file fullchain.pem +`USERTOKEN` -docker secret create https_privkey_file privkey.pem +* Description: Deployer supplied +* Required: No +* Default: None +* Example: node01 +* Note: The value is included in log entries. -docker secret create shibboleth_sp_cert sp-cert.pem +## Authentication -docker secret create shibboleth_sp_privkey sp-key.pem +This image supports using the Shibboleth Native SP for Apache HTTP Server (Shibboleth) as the +authentication mechanism. Deployers should configure Shibboleth so that the desired +asserted user attribute is written into `REMOTE_USER`. -echo '{CRYPT}$6$rounds=5000$HHDyV7yz4yn4FH/d$eAg9uXbSnxvCCTZ8GstprFryip3Br111tArqsIaBDCF2Rm7tciEivDLCjpcMVT7OL.Lg5QKjEUM.C5UA2DNuf1' \ - | docker secret create olc_root_pw - +## Ports -docker secret create slapd_cert_file cert.pem +The image listens for web traffic on ports 80 and 443. All requests +on port 80 are redirected to port 443. -docker secret create slapd_privkey_file privkey.pem +## Running -docker secret create slapd_chain_file chain.pem -``` +See other documentation in this repository for details on how to orchestrate +running this image with other images using an orchestration tool like +Docker Compose, Docker Swarm, or Kubernetes. -* Create a Docker compose file: +To run this image: ``` -version: '3.1' - -services: - comanage-registry: - image: comanage-registry:3.1.0-internet2-tier - volumes: - - /srv/docker/internet2-tier/srv/comanage-registry/local:/srv/comanage-registry/local - environment: - - COMANAGE_REGISTRY_DATASOURCE=Database/Mysql - - COMANAGE_REGISTRY_DATABASE=registry - - COMANAGE_REGISTRY_DATABASE_HOST=comanage-registry-database - - COMANAGE_REGISTRY_DATABASE_USER=registry_user - - COMANAGE_REGISTRY_DATABASE_USER_PASSWORD_FILE=/run/secrets/comanage_registry_database_user_password - - COMANAGE_REGISTRY_EMAIL_FROM=registry@some.org - - COMANAGE_REGISTRY_EMAIL_TRANSPORT=Smtp - - COMANAGE_REGISTRY_EMAIL_HOST=tls://smtp.some.org - - COMANAGE_REGISTRY_EMAIL_PORT=465 - - COMANAGE_REGISTRY_EMAIL_ACCOUNT=registry@some.org - - COMANAGE_REGISTRY_EMAIL_ACCOUNT_PASSWORD_FILE=/run/secrets/comanage_registry_email_account_password - - COMANAGE_REGISTRY_ADMIN_GIVEN_NAME=Emma - - COMANAGE_REGISTRY_ADMIN_FAMILY_NAME=Sanchez - - COMANAGE_REGISTRY_ADMIN_USERNAME=emma.sanchez@some.org - - HTTPS_CERT_FILE=/run/secrets/https_cert_file - - HTTPS_PRIVKEY_FILE=/run/secrets/https_privkey_file - - SERVER_NAME=registry.some.org - - SHIBBOLETH_SP_CERT=/run/secrets/shibboleth_sp_cert - - SHIBBOLETH_SP_PRIVKEY=/run/secrets/shibboleth_sp_privkey - secrets: - - comanage_registry_database_user_password - - comanage_registry_email_account_password - - https_cert_file - - https_privkey_file - - shibboleth_sp_cert - - shibboleth_sp_privkey - networks: - - default - ports: - - "80:80" - - "443:443" - logging: - driver: syslog - options: - tag: "comanage_registry" - deploy: - replicas: 1 - - comanage-registry-database: - image: mariadb:10.2 - volumes: - - /srv/docker/internet2-tier/var/lib/mysql:/var/lib/mysql - environment: - - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql_root_password - - MYSQL_DATABASE=registry - - MYSQL_USER=registry_user - - MYSQL_PASSWORD_FILE=/run/secrets/mysql_password - secrets: - - mysql_root_password - - mysql_password - networks: - - default - logging: - driver: syslog - options: - tag: "mariadb" - deploy: - replicas: 1 - - comanage-registry-ldap: - image: sphericalcowgroup/comanage-registry-slapd - command: ["slapd", "-d", "256", "-h", "ldapi:/// ldap:/// ldaps:///", "-u", "openldap", "-g", "openldap"] - volumes: - - /srv/docker/development/var/lib/ldap:/var/lib/ldap - - /srv/docker/development/etc/ldap/slapd.d:/etc/ldap/slapd.d - environment: - - SLAPD_CERT_FILE=/run/secrets/slapd_cert_file - - SLAPD_PRIVKEY_FILE=/run/secrets/slapd_privkey_file - - SLAPD_CHAIN_FILE=/run/secrets/slapd_chain_file - - OLC_ROOT_PW_FILE=/run/secrets/olc_root_pw - - OLC_SUFFIX=dc=sphericalcowgroup,dc=com - - OLC_ROOT_DN=cn=admin,dc=sphericalcowgroup,dc=com - secrets: - - slapd_cert_file - - slapd_privkey_file - - slapd_chain_file - - olc_root_pw - networks: - - default - logging: - driver: syslog - options: - tag: "openldap" - ports: - - "636:636" - - "389:389" - deploy: - replicas: 1 - -secrets: - mysql_root_password: - external: true - mysql_password: - external: true - comanage_registry_database_user_password: - external: true - comanage_registry_email_account_password: - external: true - https_cert_file: - external: true - https_privkey_file: - external: true - shibboleth_sp_cert: - external: true - shibboleth_sp_privkey: - external: true - slapd_cert_file: - external: true - slapd_privkey_file: - external: true - slapd_chain_file: - external: true - olc_root_pw: - external: true - +docker run -d \ + --name comanage-registry \ + -e COMANAGE_REGISTRY_ADMIN_GIVEN_NAME=Julia \ + -e COMANAGE_REGISTRY_ADMIN_FAMILY_NAME=Janseen \ + -e COMANAGE_REGISTRY_ADMIN_USERNAME=julia.janseen@my.org \ + -e SHIBBOLETH_SP_ENTITY_ID=https://myapp.my.org/shibboleth/sp \ + -e SHIBBOLETH_SP_METADATA_PROVIDER_XML_FILE=/etc/shibboleth/my-org-metadata.xml \ + -v /opt/comanage-registry-local:/srv/comanage-registry/local \ + -v /etc/shibboleth/sp-encrypt-cert.pem:/etc/shibboleth/sp-encrypt-cert.pem \ + -v /etc/shibboleth/sp-encrypt-key.pem:/etc/shibboleth/sp-encrypt-key.pem \ + -v /etc/shibboleth/my-org-metadata.xml:/etc/shibboleth/my-org-metadata.xml \ + -p 80:80 \ + -p 443:443 \ + comanage-registry:3.2.1-internet2-tier-1 ``` -* Start the services: +## Logging -``` -docker stack deploy comanage-registry -``` - -* Visit the [COmanage wiki](https://spaces.internet2.edu/display/COmanage/Setting+Up+Your+First+CO) -to learn how to create your first collaborative organization (CO) and begin using -the platform. - -* To stop the services: -``` -docker stack rm comanage-registry -``` - -## Advanced Configuration Options +Apache HTTP Server, COmanage Registry, Shibboleth, and supervisord all log to the stdout and +stderr of the container. -* [Environment Variables](#environ) -* [Apache HTTP ServerName](#servername) -* [X.509 Certificates and Private Keys](#certskeys) -* [Full Control](#full) +The logging configuration meets version 1 of the +[TIER Docker Container Specification](https://spaces.at.internet2.edu/x/m4ZyBw). -## Environment Variables <a name="environ"></a> - -All deployment details for COmanage Registry may be configured using environment variables set for the container. -The set of possible environment variables is listed below. - -The entrypoint scripts will attempt to use values from environment variables and if not -present reasonable defaults will be used. *Note that some defaults like passwords are -easily guessable and not suitable for production deployments*. - -For secrets such as passwords you may wish to use the environment variable with -`_FILE` appended and set the value to a path. The entrypoint scripts will read the -file to find the value to use. For example to set the database user password to the -value `dEodxlXQE2dKl8own7T2` you can for the container either set the environment variable - -``` -COMANAGE_REGISTRY_DATABASE_USER_PASSWORD=dEodxlXQE2dKl8own7T2 -``` +## HTTPS Configuration -or instead ensure that inside the container the file -`/db_password` contains -on a single line the value `dEodxlXQE2dKl8own7T2` and then set the -environment variable +See the section on environment variables and the `HTTPS_CERT_FILE` and +`HTTPS_PRIVKEY_FILE` variables. -*When present an environment variable pointing to a file inside the container overrides -an otherwise configured environment variable*. +Additionally you may bind mount or COPY in an X.509 certificate file (containing the CA signing certificate(s), if any) +and associated private key file. For example ``` -COMANAGE_REGISTRY_DATABASE_USER_PASSWORD_FILE=/db_password +COPY cert.pem /etc/httpd/cert.pem +COPY privkey.pem /etc/httpd/privkey.pem ``` - -Some deployment details for the Shibboleth SP may be set using environment variables, but most -deployments will prefer to mount or COPY in `/etc/shibboleth/shibboleth2.xml` to be able -to configure SAML federation details. - -### COmanage Registry - -* COMANAGE_REGISTRY_ADMIN_GIVEN_NAME: - * Description: platform admin given name - * Default: Registry - * Example 1: Scott - * Example 2: Himari - -* COMANAGE_REGISTRY_ADMIN_FAMILY_NAME: - * Description: platform admin family name - * Default: Admin - * Example 1: Koranda - * Example 2: Tanaka - -* COMANAGE_REGISTRY_ADMIN_USERNAME: - * Description: platform admin username identifier (often eduPersonPrincipalName) - * Default: registry.admin - * Example 1: scott.koranda@sphericalcowgroup.com - * Example 2: himaritanaka@some.org - -* COMANAGE_REGISTRY_DATASOURCE - * Description: database type - * Default: Database/Postgres - * Example 1: Database/Mysql - * Example 2: Database/Postgres - -* COMANAGE_REGISTRY_DATABASE - * Description: name of the database - * Default: registry - * Example 1: comanage_registry - * Example 2: COmanageRegistryDB - -* COMANAGE_REGISTRY_DATABASE_HOST - * Description: hostname of the database server - * Default: comanage-registry-database - * Example 1: comanage-registry-database - * Example 2: my-db-container - -* COMANAGE_REGISTRY_DATABASE_USER - * Description: database username - * Default: registry_user - * Example 1: comanage - * Example 2: comanage_user - -* COMANAGE_REGISTRY_DATABASE_USER_PASSWORD - * Description: database user password - * Default: password - * Example 1: AFH9OiyuowiY3Wq6qX0j - * Example 2: qVcsJPo7$@ - -* COMANAGE_REGISTRY_EMAIL_FROM - * Description: default From used by Registry for sending email - * Default: none - * Example 1: registry@some.org - * Example 2: skoranda@gmail.com - -* COMANAGE_REGISTRY_EMAIL_TRANSPORT - * Description: email transport mechanism - * Default: Smtp - * Example 1: Smtp - * Example 2: MyCustom - -* COMANAGE_REGISTRY_EMAIL_PORT - * Description: email transport port - * Default: 465 - * Example 1: 465 - * Example 2: 25 - -* COMANAGE_REGISTRY_EMAIL_HOST - * Description: email server host - * Default: tls://smtp.gmail.com - * Example 1: smtp.my.org - * Example 2: mail.some.org - -* COMANAGE_REGISTRY_EMAIL_ACCOUNT - * Description: email server account - * Default: none - * Example 1: skoranda@gmail.com - * Example 2: registry_email_sender - -* COMANAGE_REGISTRY_EMAIL_ACCOUNT_PASSWORD - * Description: email server account password - * Default: none - * Example 1: 82P3mt1T0PByZRHNQ6he - * Example 2: ak&&u1$@ - -* COMANAGE_REGISTRY_SECURITY_SALT - * Description: security salt value - * Default: auto-generated at initial deployment if not specified - * Example 1: wciEjD1KbX9Q8nB3YdWItFuzEoRdf6l5BpoCuTHm - * Example 2: JpmKTdO88NX6RsCIVnru6hV79zKOfvjGk0tTG0Cb - -* COMANAGE_REGISTRY_SECURITY_SEED - * Description: security seed value - * Default: auto-generated at initial deployment if not specified - * Example 1: 32616298446590535751260992683 - * Example 2: 21812581423282761029813528278 - -* HTTPS_CERT_FILE - * Description: X.509 certificate and CA chain in PEM format for use with Apache HTTP Server to serve HTTPS - * Default: self-signed auto-generated certificate - -* HTTPS_KEY_FILE - * Description: Associated private key for HTTPS in PEM format - * Default: private key for self-signed auto-generated certificate - -* SERVER_NAME - * Description: ServerName for Apache HTTP Server virtual host configuration - * Default: none, parsed from X.509 certificate if not defined - * Example 1: registry.some.org - * Example 2: comanage.my.edu - -### MariaDB - -* MYSQL_ROOT_PASSWORD - * Description: password for root user - * Default: none - * Example 1: ukZd7IZDRfOqgF82938A - * Example 2: 28hvua3%,2 - -* MYSQL_DATABASE - * Description: name of the database, must be same as set for COmanage Registry container - * Default: none - * Example 1: comanage_registry - * Example 2: COmanageRegistryDB - -* MYSQL_USER: - * Description: database username, must be same as set for COmanage Registry container - * Default: none - * Example 1: comanage - * Example 2: comanage_user - -* MYSQL_PASSWORD_FILE: - * Description: database user password, must be same as set for COmanage Registry container - * Default: none - * Example 1: AFH9OiyuowiY3Wq6qX0j - * Example 2: qVcsJPo7$@ - -### Shibboleth SP - -* SHIBBOLETH_SP_CERT - * Description: SAML certificate - * Default: self-signed per-image, must be copied out to persist - -* SHIBBOLETH_SP_ENTITY_ID - * Description: entityID for SP - * Default: none - * Example 1: https://comanage.registry/shibboleth - * Example 2: https://my.org/comanage - -* SHIBBOLETH_SP_METADATA_PROVIDER_XML - * Description: Shibboleth SP metadata provider element - * Default: none - -* SHIBBOLETH_SP_PRIVKEY - * Description: SAML private key - * Default: self-signed per-image, must be copied out to persist - -* SHIBBOLETH_SP_SAMLDS_URL - * Description: URL for SAML IdP discovery service - * Default: none - * Example 1: https://my.org/registry/pages/eds/index - * Exammple 2: https://discovery.my.org - -### OpenLDAP slapd - -* OLC_ROOT_DN - * Description: DN for the administrator - * Default: cn=admin,dc=my,dc=org - * Exammle 1: cn=admin,dc=some,dc=edu - * Example 2: cn=admin,ou=service,dc=my,dc=org - -* OLC_ROOT_PW - * Description: hashed password for root DN - * Default: none - * Example 1: See compose file above - -* OLC_SUFFIX - * Description: Suffix for the directory - * Default: dc=my,dc=org - * Example 1: dc=some,dc=edu - * Example 2: o=unit,dc=my,dc=org - -* SLAPD_CERT_FILE - * Description: X.509 certificate in PEM format for use with OpenLDAP Server to serve ldaps:// - * Default: none - -* SLAPD_CHAIN_FILE - * Description: CA certificate chain in PEM format - * Default: none - -* SLAPD_KEY_FILE - * Description: Associated private key for ldaps:// in PEM format - * Default: none - -## X.509 Certificates and Private Keys <a name="certskeys"></a> - -### COmanage Registry - -The certificate and private key files used for HTTPS may -be injected into the COmanage Registry container using environment variables -to point to files mounted into the container. The certificate file should -include the server certificate and any intermediate CA signing certificates -sorted from leaf to root. - -Alternatively you can directly mount files in the container to - -``` -/etc/apache2/cert.pem -/etc/apache2/privkey.pem -``` - -If no files are configured the containers use self-signed certificates -for HTTPS by default. - -### Shibboleth SP - -The SAML certificate and private key used for decryption (and sometimes signing) -by the Shibboleth SP may be injected into the COmanage Registry container using -environment variables to point to files mounted into the container. - -Alternatively you can directly mount files in the container to - -``` -/etc/shibboleth/sp-cert.pem -/etc/shibboleth/sp-key.pem -``` - -If no files are configured the container uses a default self-signed certificate -*this is the same for all images and not suitable for production*. - -### OpenLDAP slapd - -The certificate, private key, and CA signing file or chain file used for TLS -(port 636 by default) may -be injected into the OpenLDAP slapd container using environment variables -to point to files mounted into the container. - -## ServerName <a name="servername"></a> - -The entrypoint scripts will attempt to parse the appropriate value for the -Apache HTTP Server configuration option `ServerName` from the X.509 certificate -provided for HTTPS. - -To override the parsing a deployer may explicitly set the environment variable -`SERVER_NAME`. - -## Full control <a name="full"></a> - -Deployers needing full control may inject configuration and deployment details directly. -The entrypoint scripts will *not* overwrite any details found so directly injected -details always override environment variables. - -### COmanage Registry - -COmanage Registry expects to find all local configuration details -in the container at `/srv/comanage-registry/local`. A deployer may therefore mount -a directory at that location to provide any and all configuration details. Note, however, -that Registry expects to find a particular directory structure under -`/srv/comanage-registry/local` and will not function properly if the structure is not -found. The entrypoint script will create the necessary structure if it does not find it -so it is recommended to mount an empty directory for the first deployment, let the -entrypoint script create the structure, then later adjust the details as necessary -for your deployment. - -### Shibboleth SP - -All Shibboleth SP configuration is available inside the container in -`/etc/shibboleth`. A deployer may therefore mount into that directory any -necessary adjustment to the Shibboleth configuration, such as static metadata -files, metadata signing certificates, or advanced attribute filtering -configurations. - -A default set of all configuration files is available in the image. - -### OpenLDAP slapd - -Since slapd is configured dynamically using standard LDAP operations on the -configuration directory (`cn=config`) the most straightforward way to inject -advanced configuration details at the time the container is *created* is -to customize the entrypoint script. diff --git a/docker-comanage-entrypoint b/docker-comanage-entrypoint index 6191e13..f275bc8 100755 --- a/docker-comanage-entrypoint +++ b/docker-comanage-entrypoint @@ -19,332 +19,34 @@ # See the License for the specific language governing permissions and # limitations under the License. -if [ -n "$COMANAGE_DEBUG" ] -then - OUTPUT=/dev/stdout -else - OUTPUT=/dev/null -fi -# Configuration details that may be injected through environment -# variables or the contents of files. +source /usr/local/lib/comanage_utils.sh -injectable_config_vars=( - COMANAGE_REGISTRY_DATASOURCE - COMANAGE_REGISTRY_DATABASE - COMANAGE_REGISTRY_DATABASE_HOST - COMANAGE_REGISTRY_DATABASE_USER - COMANAGE_REGISTRY_DATABASE_USER_PASSWORD - COMANAGE_REGISTRY_EMAIL_FROM - COMANAGE_REGISTRY_EMAIL_TRANSPORT - COMANAGE_REGISTRY_EMAIL_HOST - COMANAGE_REGISTRY_EMAIL_PORT - COMANAGE_REGISTRY_EMAIL_ACCOUNT - COMANAGE_REGISTRY_EMAIL_ACCOUNT_PASSWORD - COMANAGE_REGISTRY_SECURITY_SALT - COMANAGE_REGISTRY_SECURITY_SEED - ENV - HTTPS_CERT_FILE - HTTPS_PRIVKEY_FILE - SERVER_NAME - USERTOKEN -) +comanage_utils::consume_injected_environment -# If the file associated with a configuration variable is present then -# read the value from it into the appropriate variable. So for example -# if the variable COMANAGE_REGISTRY_DATASOURCE_FILE exists and its -# value points to a file on the file system then read the contents -# of that file into the variable COMANAGE_REGISTRY_DATASOURCE. +comanage_utils::prepare_local_directory -for config_var in "${injectable_config_vars[@]}" -do - eval file_name=\$"${config_var}_FILE"; +comanage_utils::configure_tier_logging - if [ -e "$file_name" ]; then - declare "${config_var}"=`cat $file_name` - fi -done +comanage_utils::prepare_database_config -# Make sure the directory structure we need is available -# in the data volume for $COMANAGE_REGISTRY_DIR/local -mkdir -p "$COMANAGE_REGISTRY_DIR/local/Config" -mkdir -p "$COMANAGE_REGISTRY_DIR/local/Plugin" -mkdir -p "$COMANAGE_REGISTRY_DIR/local/View/Pages/public" -mkdir -p "$COMANAGE_REGISTRY_DIR/local/webroot/img" +comanage_utils::prepare_email_config -# If the COmanage Registry database configuration file does not exist -# then try to create it from injected information with reasonable defaults -# that aid simple evaluation deployments. -if [ ! -e "$COMANAGE_REGISTRY_DIR/local/Config/database.php" ]; then - cat > "$COMANAGE_REGISTRY_DIR/local/Config/database.php" <<EOF -<?php +comanage_utils::prepare_https_cert_key -class DATABASE_CONFIG { +comanage_utils::prepare_server_name - public \$default = array( - 'datasource' => '${COMANAGE_REGISTRY_DATASOURCE:-Database/Mysql}', - 'persistent' => false, - 'host' => '${COMANAGE_REGISTRY_DATABASE_HOST:-comanage-registry-database}', - 'login' => '${COMANAGE_REGISTRY_DATABASE_USER:-registry_user}', - 'password' => '${COMANAGE_REGISTRY_DATABASE_USER_PASSWORD:-password}', - 'database' => '${COMANAGE_REGISTRY_DATABASE:-registry}', - 'prefix' => 'cm_', - ); +comanage_utils::wait_database_connectivity -} -EOF -fi +comanage_utils::registry_setup -# If the COmanage Registry email configuration file does not exist -# then try to create it from injected information with reasonable defaults -# that aid simple evaluation deployments. -email_config="$COMANAGE_REGISTRY_DIR/local/Config/email.php" +comanage_utils::registry_upgrade -if [ ! -e "$email_config" ]; then - # If the deployer has injected an email for from then use it, - # otherwise set a default purely as a template that can edited - # easier later. - if [ -n "$COMANAGE_REGISTRY_EMAIL_FROM" ]; then - email_from="$COMANAGE_REGISTRY_EMAIL_FROM" - else - email_from="array('account@gmail.com' => 'Registry')" - fi +comanage_utils::enable_plugins - # If the injected email from does not include a single quote (') - # then add them to make it a PHP string. - if [[ ! $email_from =~ .*"'".* ]]; then - email_from="'$email_from'" - fi +comanage_utils::registry_clear_cache - cat > "$email_config" <<EOF -<?php - -class EmailConfig { - - public \$default = array( - 'from' => $email_from, - 'transport' => '${COMANAGE_REGISTRY_EMAIL_TRANSPORT:-Smtp}', - 'host' => '${COMANAGE_REGISTRY_EMAIL_HOST:-tls://smtp.gmail.com}', - 'port' => ${COMANAGE_REGISTRY_EMAIL_PORT:-465}, -EOF - - # If the deployer has injected a username then add it to the configuration. - if [ -n "$COMANAGE_REGISTRY_EMAIL_ACCOUNT" ]; then - cat >> "$email_config" <<EOF - 'username' => '$COMANAGE_REGISTRY_EMAIL_ACCOUNT', -EOF - fi - - # If the deployer has injected a password then add it to the configuration. - if [ -n "$COMANAGE_REGISTRY_EMAIL_ACCOUNT_PASSWORD" ]; then - cat >> "$email_config" <<EOF - 'password' => '$COMANAGE_REGISTRY_EMAIL_ACCOUNT_PASSWORD', -EOF - fi - - # Complete the PHP array. - cat >> "$email_config" <<EOF - ); -} -EOF - -fi - -# Loop until we are able to open a connection to the database. -DATABASE_TEST_SCRIPT="$COMANAGE_REGISTRY_DIR/app/Console/Command/DatabaseTestShell.php" - -cat > $DATABASE_TEST_SCRIPT <<"EOF" -<?php - -App::import('Model', 'ConnectionManager'); - -class DatabaseTestShell extends AppShell { - function main() { - try { - $db = ConnectionManager::getDataSource('default'); - } catch (Exception $e) { - $this->error("Unable to connect to datasource"); - } - $this->out("Connected to datasource"); - } -} -EOF - -pushd "$COMANAGE_REGISTRY_DIR/app" > "$OUTPUT" 2>&1 - -until ./Console/cake databaseTest > "$OUTPUT" 2>&1; do - >&2 echo "Database is unavailable - sleeping" - sleep 1 -done - -rm -f "$DATABASE_TEST_SCRIPT" - -popd > "$OUTPUT" 2>&1 - -# We only want to run the setup script once since it creates -# state in the database. Until COmanage Registry has a better -# mechanism for telling us if setup has already been run -# we create an ephemeral CakePHP script to tell us. -SETUP_ALREADY_SCRIPT="$COMANAGE_REGISTRY_DIR/app/Console/Command/SetupAlreadyShell.php" - -cat > $SETUP_ALREADY_SCRIPT <<"EOF" -<?php - -class SetupAlreadyShell extends AppShell { - var $uses = array('Co'); - - function main() { - $args = array(); - $args['conditions']['Co.name'] = 'COmanage'; - $args['contain'] = false; - - try { - $co = $this->Co->find('first', $args); - } catch (CakeException $e) { - $this->out('Not setup already'); - } - - if(empty($co)) { - $this->out('Not setup already'); - } else { - $this->error('Setup already'); - } - } -} -EOF - -pushd "$COMANAGE_REGISTRY_DIR/app" > "$OUTPUT" 2>&1 -./Console/cake setupAlready > "$OUTPUT" 2>&1 -setup_already=$? - -rm -f "$SETUP_ALREADY_SCRIPT" - -if [ $setup_already -eq 0 ]; then - rm -f "$COMANAGE_REGISTRY_DIR/local/Config/security.salt" > "$OUTPUT" 2>&1 - rm -f "$COMANAGE_REGISTRY_DIR/local/Config/security.seed" > "$OUTPUT" 2>&1 - # Run database twice until issue on develop branch is resolved. Since - # the command is idempotent normally it is not a problem to have it run - # more than once. - ./Console/cake database > "$OUTPUT" 2>&1 && \ - ./Console/cake database > "$OUTPUT" 2>&1 && \ - ./Console/cake setup --admin-given-name "${COMANAGE_REGISTRY_ADMIN_GIVEN_NAME}" \ - --admin-family-name "${COMANAGE_REGISTRY_ADMIN_FAMILY_NAME}" \ - --admin-username "${COMANAGE_REGISTRY_ADMIN_USERNAME}" \ - --enable-pooling "${COMANAGE_REGISTRY_ENABLE_POOLING}" > "$OUTPUT" 2>&1 - AUTO_GENERATED_SECURITY=1 -fi - -popd > "$OUTPUT" 2>&1 - -# If COmanage Registry CakePHP security salt and seed have been -# injected and the files do not otherwise exist create them. -if [[ -n "$COMANAGE_REGISTRY_SECURITY_SALT" && ( -n "$AUTO_GENERATED_SECURITY" || ! -e "$COMANAGE_REGISTRY_DIR/local/Config/security.salt" ) ]]; then - echo "$COMANAGE_REGISTRY_SECURITY_SALT" > "$COMANAGE_REGISTRY_DIR/local/Config/security.salt" -fi - -if [[ -n "$COMANAGE_REGISTRY_SECURITY_SEED" && ( -n "$AUTO_GENERATED_SECURITY" || ! -e "$COMANAGE_REGISTRY_DIR/local/Config/security.seed" ) ]]; then - echo "$COMANAGE_REGISTRY_SECURITY_SEED" > "$COMANAGE_REGISTRY_DIR/local/Config/security.seed" -fi - -# We always run upgradeVersion since it will not make any changes -# if the current and target versions are the same or if -# an upgrade from the current to the target version is not allowed. -pushd "$COMANAGE_REGISTRY_DIR/app" > "$OUTPUT" 2>&1 - -./Console/cake upgradeVersion "${COMANAGE_REGISTRY_UPGRADE_VERSION_OPTS}" > "$OUTPUT" 2>&1 - -popd > "$OUTPUT" 2>&1 - -# Force a datbase update if requested. This is helpful when deploying -# a new version of the code that does not result in a change in the -# version number and so upgradeVersion does not fire. An example -# of this scenario is when new code is introduced in the develop -# branch but before a release happens. -if [ -n "$COMANAGE_REGISTRY_DATABASE_SCHEMA_FORCE" ]; then - echo "Forcing a database schema update..." > "$OUTPUT" 2>&1 - pushd "$COMANAGE_REGISTRY_DIR/app" > "$OUTPUT" 2>&1 - ./Console/cake database > "$OUTPUT" 2>&1 - popd > "$OUTPUT" 2>&1 -fi - -# Enable any supported non-core plugins if requested. -if [ -n "$COMANAGE_REGISTRY_ENABLE_PLUGIN" ]; then - plugins=(`echo "$COMANAGE_REGISTRY_ENABLE_PLUGIN" | sed -e 's@,@ @'`) > "$OUTPUT" 2>&1 - for plugin in "${plugins[@]}"; - do - echo "Enabling available plugin $plugin..." > "$OUTPUT" 2>&1 - pushd "$COMANAGE_REGISTRY_DIR/local/Plugin" > "$OUTPUT" 2>&1 - ln -s "../../app/AvailablePlugin/$plugin" "$plugin" > "$OUTPUT" 2>&1 - popd > "$OUTPUT" 2>&1 - pushd "$COMANAGE_REGISTRY_DIR/app" > "$OUTPUT" 2>&1 - ./Console/cake database > "$OUTPUT" 2>&1 - popd > "$OUTPUT" 2>&1 - done -fi - -# Remove any cache files generated thus far. -find "$COMANAGE_REGISTRY_DIR/app/tmp/cache" -type f -exec rm -f {} \; - -# If defined use configured location of Apache HTTP Server -# HTTPS certificate and key files. The certificate file may also -# include intermediate CA certificates, sorted from leaf to root. -if [ -n "$HTTPS_CERT_FILE" ]; then - rm -f /etc/httpd/cert.pem - cp "$HTTPS_CERT_FILE" /etc/httpd/cert.pem - chown apache /etc/httpd/cert.pem - chmod 0644 /etc/httpd/cert.pem -fi - -if [ -n "$HTTPS_PRIVKEY_FILE" ]; then - rm -f /etc/httpd/privkey.pem - cp "$HTTPS_PRIVKEY_FILE" /etc/httpd/privkey.pem - chown apache /etc/httpd/privkey.pem - chmod 0600 /etc/httpd/privkey.pem -fi - -# If SERVER_NAME has not been injected try to determine -# it from the HTTPS_CERT_FILE. -if [ -z "$SERVER_NAME" ]; then - SERVER_NAME=`openssl x509 -in /etc/httpd/cert.pem -text -noout | sed -n '/X509v3 Subject Alternative Name:/ {n;p}' | sed -E 's/.*DNS:(.*)\s*$/\1/'` - if [ -z "$SERVER_NAME" ]; then - SERVER_NAME=`openssl x509 -in /etc/httpd/cert.pem -subject -noout | sed -E 's/subject=.*CN=(.*)\s*/\1/'` - fi -fi - -# Configure Apache HTTP Server with the server name. -sed -i -e s@%%SERVER_NAME%%@"${SERVER_NAME:-unknown}"@g /etc/httpd/conf.d/000-comanage.conf - -# If ENV or USERTOKEN as injected by the deployer contain a semi-colon remove it. -if [[ $ENV =~ .*";".* ]]; then - ENV=`echo $ENV | tr -d ';'` - export ENV -fi - -if [[ $USERTOKEN =~ .*";".* ]]; then - USERTOKEN=`echo $USERTOKEN | tr -d ';'` - export USERTOKEN -fi - -# If ENV or USERTOKEN as injected by the deployer contain a space remove it. -if [[ $ENV =~ [[:space:]] ]]; then - ENV=`echo $ENV | tr -d [:space:]` - export ENV -fi - -if [[ $USERTOKEN =~ [[:space:]] ]]; then - USERTOKEN=`echo $USERTOKEN | tr -d [:space:]` - export USERTOKEN -fi - -# Create pipes to use for COmanage Registry instead of standard log files. -rm -f "$COMANAGE_REGISTRY_DIR/app/tmp/logs/error.log" > "$OUTPUT" 2>&1 -rm -f "$COMANAGE_REGISTRY_DIR/app/tmp/logs/debug.log" > "$OUTPUT" 2>&1 -mkfifo -m 666 "$COMANAGE_REGISTRY_DIR/app/tmp/logs/error.log" > "$OUTPUT" 2>&1 -mkfifo -m 666 "$COMANAGE_REGISTRY_DIR/app/tmp/logs/debug.log" > "$OUTPUT" 2>&1 - -# Format any output from COmanange Registry into standard TIER form. -(cat <> "$COMANAGE_REGISTRY_DIR/app/tmp/logs/error.log" | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "comanage_registry;error.log;%s;%s;%s\n", ENV, UT, $0; fflush()}' 1>/tmp/logpipe)& -(cat <> "$COMANAGE_REGISTRY_DIR/app/tmp/logs/debug.log" | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "comanage_registry;debug.log;%s;%s;%s\n", ENV, UT, $0; fflush()}' 1>/tmp/logpipe)& +comanage_utils::tmp_ownership # Start Apache HTTP Server exec /usr/sbin/httpd -DFOREGROUND diff --git a/docker-comanage-shibboleth-sp-entrypoint b/docker-comanage-shibboleth-sp-entrypoint index 11527b8..62c27a1 100755 --- a/docker-comanage-shibboleth-sp-entrypoint +++ b/docker-comanage-shibboleth-sp-entrypoint @@ -19,109 +19,10 @@ # See the License for the specific language governing permissions and # limitations under the License. -if [ -n "$COMANAGE_DEBUG" ] -then - OUTPUT=/dev/stdout -else - OUTPUT=/dev/null -fi +source /usr/local/lib/comanage_utils.sh -# Configuration details that may be injected through environment -# variables or the contents of files. -# -# SHIBBOLETH_SP_METADATA_PROVIDER_XML may also be injected in the -# same way but because of the presence of special characters in the -# XML it is handled differently. - -injectable_config_vars=( - SHIBBOLETH_SP_ENTITY_ID - SHIBBOLETH_SP_CERT - SHIBBOLETH_SP_PRIVKEY - SHIBBOLETH_SP_SAMLDS_URL -) - -# If the file associated with a configuration variable is present then -# read the value from it into the appropriate variable. So for example -# if the variable COMANAGE_REGISTRY_DATASOURCE_FILE exists and its -# value points to a file on the file system then read the contents -# of that file into the variable COMANAGE_REGISTRY_DATASOURCE. - -for config_var in "${injectable_config_vars[@]}" -do - eval file_name=\$"${config_var}_FILE"; - - if [ -e "$file_name" ]; then - payload=`cat $file_name` - declare "${config_var}"="${payload}" - fi -done - -# If no shibboleth2.xml file is present then create one using -# injected information or defaults that are not particularly -# useful in a federated context but will allow shibd to start. -if [ ! -e /etc/shibboleth/shibboleth2.xml ]; then - cp /etc/shibboleth/shibboleth2.xml.template /etc/shibboleth/shibboleth2.xml - sed -i -e s@%%SHIBBOLETH_SP_ENTITY_ID%%@"${SHIBBOLETH_SP_ENTITY_ID:-https://comanage.registry/shibboleth}"@ /etc/shibboleth/shibboleth2.xml - sed -i -e s@%%SHIBBOLETH_SP_SAMLDS_URL%%@"${SHIBBOLETH_SP_SAMLDS_URL:-https://localhost/registry/pages/eds/index}"@ /etc/shibboleth/shibboleth2.xml - - # The metadata provider injected input most likely contains special characters - # so use a sed script instead of simple substitution on the command line. - - if [ -n "$SHIBBOLETH_SP_METADATA_PROVIDER_XML_FILE" ]; then - xml_content_file="$SHIBBOLETH_SP_METADATA_PROVIDER_XML_FILE" - else - xml_content_file=`/bin/mktemp` - echo ${SHIBBOLETH_SP_METADATA_PROVIDER_XML:-} > ${xml_content_file} - fi - - sed_script_file=`/bin/mktemp` - cat > ${sed_script_file}<<EOF -/%%SHIBBOLETH_SP_METADATA_PROVIDER_XML%%/ { - r ${xml_content_file} - d -} -EOF - - sed -i -f ${sed_script_file} /etc/shibboleth/shibboleth2.xml - - chmod 0644 /etc/shibboleth/shibboleth2.xml -fi - -# If defined use configured location of Shibboleth SP SAML certificate and key. -if [ -n "$SHIBBOLETH_SP_CERT" ]; then - cp "$SHIBBOLETH_SP_CERT" /etc/shibboleth/sp-cert.pem - chown shibd /etc/shibboleth/sp-cert.pem - chmod 0644 /etc/shibboleth/sp-cert.pem -fi - -if [ -n "$SHIBBOLETH_SP_PRIVKEY" ]; then - cp "$SHIBBOLETH_SP_PRIVKEY" /etc/shibboleth/sp-key.pem - chown shibd /etc/shibboleth/sp-key.pem - chmod 0600 /etc/shibboleth/sp-key.pem -fi - -# If ENV or USERTOKEN as injected by the deployer contain a semi-colon remove it. -if [[ $ENV =~ .*";".* ]]; then - ENV=`echo $ENV | tr -d ';'` - export ENV -fi - -if [[ $USERTOKEN =~ .*";".* ]]; then - USERTOKEN=`echo $USERTOKEN | tr -d ';'` - export USERTOKEN -fi - -# If ENV or USERTOKEN as injected by the deployer contain a space remove it. -if [[ $ENV =~ [[:space:]] ]]; then - ENV=`echo $ENV | tr -d [:space:]` - export ENV -fi +source /usr/local/lib/comanage_shibboleth_sp_utils.sh -if [[ $USERTOKEN =~ [[:space:]] ]]; then - USERTOKEN=`echo $USERTOKEN | tr -d [:space:]` - export USERTOKEN -fi +comanage_utils::manage_tier_environment -# Start the daemon. -export LD_LIBRARY_PATH=/opt/shibboleth/lib64 -exec /usr/sbin/shibd -f -u shibd -g shibd -c /etc/shibboleth/shibboleth2.xml -p /var/run/shibboleth/shibd.pid -F +comanage_shibboleth_sp_utils::exec_shibboleth_sp_daemon diff --git a/docker-supervisord-entrypoint b/docker-supervisord-entrypoint index 8000116..9c218a6 100755 --- a/docker-supervisord-entrypoint +++ b/docker-supervisord-entrypoint @@ -19,34 +19,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -if [ -n "$DEBUG" ] -then - OUTPUT=/dev/stdout -else - OUTPUT=/dev/null -fi +source /usr/local/lib/comanage_utils.sh -# If ENV or USERTOKEN as injected by the deployer contain a semi-colon remove it. -if [[ $ENV =~ .*";".* ]]; then - ENV=`echo $ENV | tr -d ';'` - export ENV -fi - -if [[ $USERTOKEN =~ .*";".* ]]; then - USERTOKEN=`echo $USERTOKEN | tr -d ';'` - export USERTOKEN -fi - -# If ENV or USERTOKEN as injected by the deployer contain a space remove it. -if [[ $ENV =~ [[:space:]] ]]; then - ENV=`echo $ENV | tr -d [:space:]` - export ENV -fi - -if [[ $USERTOKEN =~ [[:space:]] ]]; then - USERTOKEN=`echo $USERTOKEN | tr -d [:space:]` - export USERTOKEN -fi +comanage_utils::manage_tier_environment # Make a "console" logging pipe that anyone can write to regardless of who owns the process. rm -f /tmp/logpipe > "$OUTPUT" 2>&1 @@ -61,7 +36,7 @@ mkfifo -m 666 /tmp/loghttpd > "$OUTPUT" 2>&1 # Format any console output from shibd into standard TIER form. rm -f /tmp/logshibd > "$OUTPUT" 2>&1 mkfifo -m 666 /tmp/logshibd > "$OUTPUT" 2>&1 -(cat <> /tmp/logshibd | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "httpd;console;%s;%s;%s\n", ENV, UT, $0; fflush()}' 1>/tmp/logpipe 2>&1)& +(cat <> /tmp/logshibd | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "shibd;console;%s;%s;%s\n", ENV, UT, $0; fflush()}' 1>/tmp/logpipe 2>&1)& # Format any console output from supervisord into standard TIER form. rm -f /tmp/logsuperd > "$OUTPUT" 2>&1 diff --git a/sendtierbeacon.sh b/sendtierbeacon.sh index 63e27f9..ebc8a34 100755 --- a/sendtierbeacon.sh +++ b/sendtierbeacon.sh @@ -19,13 +19,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -LOGHOST="collector.testbed.tier.internet2.edu" -LOGPORT="5001" +LOGHOST='collector.testbed.tier.internet2.edu' +LOGPORT='5001' -messagefile="/tmp/beaconmsg" +messagefile='/tmp/beaconmsg' -if [ -z "$TIER_BEACON_OPT_OUT" ]; then - cat > $messagefile <<EOF +if [[ -z "${TIER_BEACON_OPT_OUT}" ]]; then + cat > ${messagefile} <<EOF { "msgType" : "TIERBEACON", "msgName" : "TIER", @@ -37,13 +37,13 @@ if [ -z "$TIER_BEACON_OPT_OUT" ]; then } EOF - curl -s -XPOST "${LOGHOST}:${LOGPORT}/" -H 'Content-Type: application/json' -T $messagefile 1>/dev/null 2>&1 - if [ $? -eq 0 ]; then + curl -s -XPOST "${LOGHOST}:${LOGPORT}/" -H 'Content-Type: application/json' -T ${messagefile} 1>/dev/null 2>&1 + if [[ $? -eq 0 ]]; then echo "tier_beacon;none;$ENV;$USERTOKEN;"`date`"; TIER beacon sent" else echo "tier_beacon;none;$ENV;$USERTOKEN;"`date`"; Failed to send TIER beacon" fi - rm -f $messagefile 1>/dev/null 2>&1 + rm -f ${messagefile} 1>/dev/null 2>&1 fi diff --git a/setupcron.sh b/setupcron.sh index 3f45f05..4c99e55 100755 --- a/setupcron.sh +++ b/setupcron.sh @@ -19,11 +19,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -CRONFILE=/tmp/cronfile +CRONFILE='/tmp/cronfile' # Build and install crontab file with random start time # between midnight and 3:59am. -echo "#send daily beacon to TIER Central" > ${CRONFILE} -echo $(expr $RANDOM % 59) $(expr $RANDOM % 3) "* * * /usr/local/bin/sendtierbeacon.sh >> /tmp/logpipe 2>&1" >> ${CRONFILE} -chmod 644 ${CRONFILE} -crontab ${CRONFILE} +echo '#send daily beacon to TIER Central' > "${CRONFILE}" +echo $(expr $RANDOM % 59) $(expr $RANDOM % 3) "* * * /usr/local/bin/sendtierbeacon.sh >> /tmp/logpipe 2>&1" >> "${CRONFILE}" +chmod 644 "${CRONFILE}" +crontab "${CRONFILE}" diff --git a/shibboleth.repo b/shibboleth.repo index 393aa48..02877bb 100644 --- a/shibboleth.repo +++ b/shibboleth.repo @@ -1,7 +1,8 @@ -[security_shibboleth] +[shibboleth] name=Shibboleth (CentOS_7) +# Please report any problems to https://issues.shibboleth.net type=rpm-md -baseurl=http://downloadcontent.opensuse.org/repositories/security:/shibboleth/CentOS_7/ +mirrorlist=https://shibboleth.net/cgi-bin/mirrorlist.cgi/CentOS_7 gpgcheck=1 -gpgkey=http://downloadcontent.opensuse.org/repositories/security:/shibboleth/CentOS_7/repodata/repomd.xml.key +gpgkey=https://shibboleth.net/downloads/service-provider/RPMS/repomd.xml.key enabled=1 From a070e8864a789ec0eb78d64088bdf97fca47ee21 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Fri, 8 Nov 2019 10:24:08 -0500 Subject: [PATCH 19/28] add tier dockerhub to From --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 61f2a11..e79b0c3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,9 +20,9 @@ ARG COMANAGE_REGISTRY_VERSION=3.2.2 ARG COMANAGE_REGISTRY_BASE_IMAGE_VERSION=20191108 ARG COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=3.2.2-20191108 -FROM comanage-registry-base:${COMANAGE_REGISTRY_VERSION}-${COMANAGE_REGISTRY_BASE_IMAGE_VERSION} AS comanage +FROM tier/comanage-registry-base:${COMANAGE_REGISTRY_VERSION}-${COMANAGE_REGISTRY_BASE_IMAGE_VERSION} AS comanage -FROM comanage-registry-internet2-tier-base:${COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION} AS php-build +FROM tier/comanage-registry-internet2-tier-base:${COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION} AS php-build FROM centos:centos7 From 0d00ca00ed14aeb20b73284367deecfe5b20643a Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Mon, 18 Nov 2019 09:15:13 -0500 Subject: [PATCH 20/28] 3.2.3-20191118-rc1 --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index e79b0c3..a7d8d22 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,9 +16,9 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -ARG COMANAGE_REGISTRY_VERSION=3.2.2 -ARG COMANAGE_REGISTRY_BASE_IMAGE_VERSION=20191108 -ARG COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=3.2.2-20191108 +ARG COMANAGE_REGISTRY_VERSION=3.2.3 +ARG COMANAGE_REGISTRY_BASE_IMAGE_VERSION=20191118-rc1 +ARG COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=3.2.3-20191118-rc1 FROM tier/comanage-registry-base:${COMANAGE_REGISTRY_VERSION}-${COMANAGE_REGISTRY_BASE_IMAGE_VERSION} AS comanage From ebc9308444ad0d25373d55d78479dfeb370be445 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Mon, 18 Nov 2019 09:27:09 -0500 Subject: [PATCH 21/28] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index e8652d7..5fd991a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ pipeline { maintainer = "t" imagename = 'g' tag = 'l' - version='3.2.0-rc1' + version='3.2.3' } stages { stage('Setting build context') { From 35a2429a5d6b835721763c45b727ec759becdb07 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Mon, 18 Nov 2019 09:28:37 -0500 Subject: [PATCH 22/28] Update common.bash --- common.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.bash b/common.bash index 00efbb9..12bef13 100644 --- a/common.bash +++ b/common.bash @@ -1,3 +1,3 @@ maintainer="tier" imagename="comanage" -COMANAGE_REGISTRY_VERSION="3.2.2" +COMANAGE_REGISTRY_VERSION="3.2.3" From 1532f3a89d570838f8126a1eb8d2183ed4de8ce7 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Mon, 24 Feb 2020 16:02:11 -0500 Subject: [PATCH 23/28] Update Dockerfile --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index a7d8d22..7bbdcdb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,8 +17,8 @@ # See the License for the specific language governing permissions and # limitations under the License. ARG COMANAGE_REGISTRY_VERSION=3.2.3 -ARG COMANAGE_REGISTRY_BASE_IMAGE_VERSION=20191118-rc1 -ARG COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=3.2.3-20191118-rc1 +ARG COMANAGE_REGISTRY_BASE_IMAGE_VERSION=3.2.3-20200224-rc1 +ARG COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=3.2.3-20200224-rc1 FROM tier/comanage-registry-base:${COMANAGE_REGISTRY_VERSION}-${COMANAGE_REGISTRY_BASE_IMAGE_VERSION} AS comanage From 8b043ddaf7e89ec5ae432bb6283217d358fe4e80 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Tue, 3 Mar 2020 12:27:26 -0500 Subject: [PATCH 24/28] Update Dockerfile --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7bbdcdb..7eed88f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,8 +17,8 @@ # See the License for the specific language governing permissions and # limitations under the License. ARG COMANAGE_REGISTRY_VERSION=3.2.3 -ARG COMANAGE_REGISTRY_BASE_IMAGE_VERSION=3.2.3-20200224-rc1 -ARG COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=3.2.3-20200224-rc1 +ARG COMANAGE_REGISTRY_BASE_IMAGE_VERSION=3.2.3-20200303 +ARG COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=3.2.3-20200303 FROM tier/comanage-registry-base:${COMANAGE_REGISTRY_VERSION}-${COMANAGE_REGISTRY_BASE_IMAGE_VERSION} AS comanage @@ -138,7 +138,7 @@ EXPOSE 80 443 # following line (to prevent other scripts from processing it). ##### ENV TIER_BEACON_OPT_OUT True -ENV TIER_RELEASE=180501 +ENV TIER_RELEASE=20200303 ENV TIER_MAINTAINER=tier ENTRYPOINT ["docker-supervisord-entrypoint"] From 6ac676a026a3bcfce5d1f16eb3495456f4fd4756 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Tue, 3 Mar 2020 13:05:38 -0500 Subject: [PATCH 25/28] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7eed88f..2c687b6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ # See the License for the specific language governing permissions and # limitations under the License. ARG COMANAGE_REGISTRY_VERSION=3.2.3 -ARG COMANAGE_REGISTRY_BASE_IMAGE_VERSION=3.2.3-20200303 +ARG COMANAGE_REGISTRY_BASE_IMAGE_VERSION=20200303 ARG COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=3.2.3-20200303 FROM tier/comanage-registry-base:${COMANAGE_REGISTRY_VERSION}-${COMANAGE_REGISTRY_BASE_IMAGE_VERSION} AS comanage From 4b37fc84aca8401d521f006e55241d807bcee30f Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Thu, 30 Apr 2020 20:29:07 -0400 Subject: [PATCH 26/28] Update Dockerfile --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2c687b6..b5822fc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,9 +16,9 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -ARG COMANAGE_REGISTRY_VERSION=3.2.3 -ARG COMANAGE_REGISTRY_BASE_IMAGE_VERSION=20200303 -ARG COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=3.2.3-20200303 +ARG COMANAGE_REGISTRY_VERSION=3.2.4 +ARG COMANAGE_REGISTRY_BASE_IMAGE_VERSION=20200430 +ARG COMANAGE_REGISTRY_I2_BASE_IMAGE_VERSION=3.2.4-20200430 FROM tier/comanage-registry-base:${COMANAGE_REGISTRY_VERSION}-${COMANAGE_REGISTRY_BASE_IMAGE_VERSION} AS comanage From cdc0a32ee19fa7130dccc2e06f9971df661905f1 Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Thu, 30 Apr 2020 20:29:54 -0400 Subject: [PATCH 27/28] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b5822fc..88442b9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -138,7 +138,7 @@ EXPOSE 80 443 # following line (to prevent other scripts from processing it). ##### ENV TIER_BEACON_OPT_OUT True -ENV TIER_RELEASE=20200303 +ENV TIER_RELEASE=20200430 ENV TIER_MAINTAINER=tier ENTRYPOINT ["docker-supervisord-entrypoint"] From ea67b50ffc00a44f9b82725190096ce72cb1b27d Mon Sep 17 00:00:00 2001 From: Christopher Hubing <chubing@internet2.edu> Date: Thu, 30 Apr 2020 20:30:19 -0400 Subject: [PATCH 28/28] Update common.bash --- common.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.bash b/common.bash index 12bef13..2b4ae69 100644 --- a/common.bash +++ b/common.bash @@ -1,3 +1,3 @@ maintainer="tier" imagename="comanage" -COMANAGE_REGISTRY_VERSION="3.2.3" +COMANAGE_REGISTRY_VERSION="3.2.4"