PhilanthropyDataCommons / deploy

Deployment scripts for Philanthropy Data Commons service
GNU Affero General Public License v3.0
2 stars 2 forks source link

Deploy Keycloak at auth.pdco #66

Closed jasonaowen closed 1 year ago

jasonaowen commented 1 year ago

Currently, Keycloak is living in a subdirectory on pilot.philanthropydatacommons.org, along with the back-end.

During today's team meeting, we decided to instead deploy Keycloak at auth.philanthropydatacommons.org.

This follows standard IdP patterns, and should avoid future turbulence if/when we sunset pilot.pdco: partners and other applications that are authenticating through Keycloak will not have to change. That will also let us avoid any cookie issues that come from two apps sharing the same domain name, and it also sets us up to disentangle the deployment of Keycloak from the deployment of the back-end (although we do not necessarily need to tackle that just yet).

bickelj commented 1 year ago

At the moment, the auth repository is agnostic with regard to target environment hostname or domain name. All the specifics are in the deploy repository (and even that is relatively agnostic). This is as good a place as any to track progress, though. The change to auth.[pdco] is pending the creation of the subdomain at the moment.

bickelj commented 1 year ago

I changed my mind about where this ticket should live because I went to the deploy project to find it and it wasn't there. If it is clearly better to track it over in auth, please move it back.

bickelj commented 1 year ago

Last night I discovered it was not as easy as expected to get the reverse proxy config and keycloak command line args to cooperate with the goal of keeping the development-friendly configuration of having keycloak run under /auth while the reverse proxy would use /. This morning I remembered that there are two issues, not one. Issue #65 is straightforward: change from pilot to api subdomain. That is now done. This one should also be straightforward but the trick is deciding how much configuration to keep development-friendly in the actual configuration vs documented differences.

bickelj commented 1 year ago

Currently, Keycloak is living in a subdirectory on pilot.philanthropydatacommons.org, along with the back-end.

That is a technically correct view (of a possible future) but it can also be stated another way. Keycloak lives in a bitnami image, our configuration of keycloak lives in a compose.yml file, and additional configuration or code can be added to the host where compose.yml is used. The pilot domain names pointed to machines where this configuration lives, along with configuration for a reverse proxy to terminate TLS and proxy to the container.

The change for a new domain name is to

bickelj commented 1 year ago

I have a working version of all but the last (documentation) point developed on the test host. The next step is to update the repo with the changes.

bickelj commented 1 year ago

Completed.