Versioning of Broadsea components (e.g. webapi)

I recently set up a new build of my Broadsea instance after some time away from this type of work. I am now getting new errors that I had not seen the last time I did a new deployment as shown below (the specific error is not really important for this discussion, the fact that something changed is what I’m concerned with).
Caused by: org.postgresql.util.PSQLException: The server requested SCRAM-based authentication, but the password is an empty string.

I’d like to create something close to a code freeze and a stable (unchanging) production build using Broadsea.

I’ve cloned Broadsea and checked out the version I’d like to freeze at locally using the following:

git clone https://github.com/OHDSI/Broadsea

git checkout v3.5.0

I then start Broadsea using:
docker-compose --profile default up -d

This causes Docker to go out and pull resources according to what is in the .yml file.

I think that the .yml file that is included in v3.5.0 pulls the latest version of web-api. There are two entries in the .yml file for webapi as shown below. Both look like they are pulling the latest version of webapi.

# WebAPI and Atlas services based on the standard Docker Hub images -------------
  ohdsi-webapi-from-image:
    profiles: [ "default", "webapi-from-image" ]
    image: docker.io/ohdsi/webapi:latest
    extends: 
      file: "ohdsi-webapi.yml"
      service: ohdsi-webapi

  ohdsi-atlas-from-image:
    profiles: [ "default", "atlas-from-image" ]
    image: docker.io/ohdsi/atlas:latest
    extends: 
      file: "ohdsi-atlas.yml"
      service: ohdsi-atlas

# WebAPI and Atlas services based on git repo (for developers) -------------
  ohdsi-webapi-from-git:
    profiles: [ "webapi-from-git" ]
    build: 
      context: ${WEBAPI_GITHUB_URL}
      args:
        MAVEN_PARAMS: "-DskipTests=true -DskipUnitTests=true"
    extends: 
      file: "ohdsi-webapi.yml"
      service: ohdsi-webapi

  ohdsi-atlas-from-git:
    profiles: [ "atlas-from-git" ]
    build: ${ATLAS_GITHUB_URL}
    extends: 
      file: "ohdsi-atlas.yml"
      service: ohdsi-atlas

Is my assumption correct that the latest version of webapi is being pulled in both cases?

Which of the above two references to webapi has precedence?

How do I specify a specific version of webapi?

Is my assumption correct that the latest version of webapi is being pulled in both cases?
Yes

Which of the above two references to webapi has precedence?
“default” is selected if no profile is specified. Profile is specified as shown below:
docker-compose --profile default up -d

How do I specify a specific version of webapi?
Available versions are at https://hub.docker.com/r/ohdsi/webapi/tags

This issue does not seem to have anything to do with webapi but was a mismatch between versions of the docker-compose.yml file: I had been using a modified version of the v3.0.0 yml in a v3.5.0 build.

HI @greshje.gmail , sorry for the delay.

Right, when we made the last release, we changed the compose file version to 3.9.

For the prior question, though, if you pick default profile, then we use the latest docker image of webapi, which is published only when a new official WebAPI release is created.

To override this, you’d need to instead use the webapi-from-git profile and specify in the env file which WebAPI repo / branch to use.

Thanks Ajit!

I was actually running a strange hybrid of 3.0.0 and 3.5.0. Basically I had checked out 3.5.0 but was using a .yml file derived from 3.0.0. It worked in the past but when I did a new deployment a couple of days ago I started getting this error:

org.postgresql.util.PSQLException: The server requested SCRAM-based authentication, but the password is an empty string.

I’m not sure what changed, but since I was running such a strange configuration it’s not really all that important, I’m just a little curious why it used to run but isn’t running now.

However, I am getting a “prohibited character” error when I try to run 3.5.0 out of the box on Windows as described here:
https://forums.ohdsi.org/t/prohibited-character-error-for-broadsea-3-5-0/23452