OpenCHAMI / bss

MIT License
1 stars 2 forks source link

[BUG] BSS container race condition with docker compose #31

Open njones-lanl opened 2 months ago

njones-lanl commented 2 months ago

Describe the bug BSS seems to not have a good ready state for docker compose while using JWT authentication with hydra. It seems to mark ready when the bss binary is running, not when it's gotten its first token and is ready to serve requests.

To Reproduce Steps to reproduce the behavior: Run the quickstart compose.

Expected behavior I'd expect a different readyness endpoint maybe for when the service is ready to serve requests vs when it's running?

davidallendj commented 2 months ago

Looks like the router is initialized before the JWKS fetch. https://github.com/davidallendj/bss/blob/main/cmd/boot-script-service/main.go#L451 I just pushed a fix changing the order and changing how the JWKS is verified using the jwtauth library and about to open a PR.

alexlovelltroy commented 2 months ago

The code change seems to help, but it also appears to trigger a build error. https://github.com/OpenCHAMI/bss/actions/runs/8983805918

I think it doesn't like the capitalization on the import. OpenCHAMI/jwtauth/v5 might need to be converted to openchami/jwtauth/v5

davidallendj commented 2 months ago

That's odd since SMD has the same import. https://github.com/OpenCHAMI/smd/blob/main/cmd/smd/routers.go#L31

It looks like the builds for SMD were failing for a different reason as well. https://github.com/OpenCHAMI/smd/actions/runs/8383461156

alexlovelltroy commented 2 months ago

Yeah. I wasn't sure of the reason. SMD appears to build and upload, but can't seem to attest. It looks like bss fails to build.

davidallendj commented 2 months ago

I opened a PR to update the go.sum and go.mod files which may fix the issue with PR #33.