Skip to content

Add fallback simcore traefik routes #950

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Jun 25, 2025

Conversation

YuryHrytsuk
Copy link
Collaborator

@YuryHrytsuk YuryHrytsuk commented Jan 27, 2025

What do these changes do?

  • Add fallback routes for simcore traefik
  • Add fallback routes for simcore invitations

image

Read more in ITISFoundation/osparc-simcore#7899

Next steps

Serve custom html / json content to users if service is not in running state but keep 503 errors coming from a running (docker healthy) and ready (traefik lb healthy) services

Related issue/s

Related PR/s

Checklist

  • I tested and it works
  • Service has resource limits and reservations
  • Service has placement constraints or is global
  • Service is restartable
  • Service restart is zero-downtime
  • Service has >1 replicas in PROD
  • Service has docker heathlcheck enabled
  • Service is monitored (via prometheus and grafana)
  • Service is not bound to one specific node (e.g. via files or volumes)
  • Relevant OPS E2E Test are added --> no tests necessary

If exposed via traefik --> Not applicable since no new service is introduced

  • Service's Public URL is included in maintenance mode
  • Service's Public URL is included in testing mode
  • Service's has Traefik (Service Loadbalancer) Healthcheck enabled
  • Credentials page is updated
  • Url added to e2e test services (e2e test checking that URL can be accessed)

@YuryHrytsuk
Copy link
Collaborator Author

YuryHrytsuk commented Feb 14, 2025

Next progress shall be done during sprint that follows Singularity

Traefik placeholder will be used to define low priority traeifk
configuration that will kick in once main docker serviec is not heathy
(its configuration is removed)
This shall be done in separate PR. First we introduce proper 503 status
codes and then we sync about serving some content
Check first commit for explanations
YuryHrytsuk added a commit to YuryHrytsuk/osparc-simcore that referenced this pull request Jun 13, 2025
Add fallback routes that will take effect once main services (e.g.
webserver is not in `running` state). Once service is not in `running`
state, its configuration is removed from traefik leading to 404.

Related Issue(s):
* ITISFoundation/osparc-ops-environments#218

Related PR(s):
* ITISFoundation/osparc-ops-environments#950
@YuryHrytsuk YuryHrytsuk marked this pull request as ready for review June 13, 2025 14:33
@YuryHrytsuk YuryHrytsuk requested a review from mrnicegyu11 as a code owner June 13, 2025 14:33
@YuryHrytsuk YuryHrytsuk changed the title Add fallback nginx to serve "something went wrong" Add fallback simcore traefik routes Jun 13, 2025
@YuryHrytsuk YuryHrytsuk requested a review from sanderegg June 16, 2025 07:04
Copy link
Member

@sanderegg sanderegg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

Copy link
Member

@mrnicegyu11 mrnicegyu11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright, thanks a lot for this nice improvement.

Thanks also for the graphical schema, it took me some minutes to wrap my head around what is happening here, let's see if the traefik people maybe also respond to your issue that you filed there for allowEmptyServices.

I guess for now, as you write in "How to test", this specifically services 503 for invalid URLs or in case of "unhealthyness" of either traefik or simcore services down the line. Is it planned to somehow connect this to a maintenance-page ("Apologies our services are down please check our statuspage for more" or so) or is it even possible using these traefik patterns?

Anyway, very cool!

@YuryHrytsuk YuryHrytsuk merged commit 7a94f0d into ITISFoundation:main Jun 25, 2025
3 checks passed
@YuryHrytsuk YuryHrytsuk deleted the traefik-fallback-service branch June 25, 2025 12:13
YuryHrytsuk added a commit to YuryHrytsuk/osparc-ops-environments that referenced this pull request Jun 26, 2025
traefik http service name should be `invitations` (not `webserver`).
This is a typo (after copy pasting)

Related PR(s):
* Bug was introduced in ITISFoundation#950
YuryHrytsuk added a commit that referenced this pull request Jun 26, 2025
traefik http service name should be `invitations` (not `webserver`).
This is a typo (after copy pasting)

Related PR(s):
* Bug was introduced in #950
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants