Page MenuHomePhabricator

Cloud services enhancement proposal: Toolforge API gateway
Closed, ResolvedPublic

Description

Proposal Title:Toolforge API gateway

Brief description: Implement a new single API gateway that will route traffic to the various Toolforge APIs (for example to the Jobs API and the Build service API).

Why: This will provide an unified entry point for the API clients and simplify the set up of new services.

Risks: If implemented poorly, the new service could end up as an unnecessary complication without any value add, or in the worst case decrease service reliability or add security risks.

Design documentation: https://wikitech.wikimedia.org/wiki/Wikimedia_Cloud_Services_team/EnhancementProposals/Toolforge_API_gateway

Event Timeline

This sounds like a good idea. I briefly thought that you might use a new Keystone install for this but it sounds like what you want is a shared gateway rather than just catalog/discovery?

This sounds like a good idea. I briefly thought that you might use a new Keystone install for this but it sounds like what you want is a shared gateway rather than just catalog/discovery?

Yes, correct, at this point I just want to add an additional HTTP proxy for these requests.

Change 891239 had a related patch set uploaded (by Majavah; author: Majavah):

[cloud/toolforge/jobs-framework-api@main] deployment: Add extra Nginx server for the API gateway

https://gerrit.wikimedia.org/r/891239

Change 891240 had a related patch set uploaded (by Majavah; author: Majavah):

[cloud/toolforge/jobs-framework-api@main] deployment: Drop direct access

https://gerrit.wikimedia.org/r/891240

Change 891827 had a related patch set uploaded (by Majavah; author: Majavah):

[operations/puppet@production] P:toolforge::k8s::haproxy: add api gateway load balancer

https://gerrit.wikimedia.org/r/891827

Change 892370 had a related patch set uploaded (by Majavah; author: Majavah):

[operations/puppet@production] P:toolforge: use api gateway for jobs cli

https://gerrit.wikimedia.org/r/892370

Change 891827 merged by David Caro:

[operations/puppet@production] P:toolforge::k8s::haproxy: add api gateway load balancer

https://gerrit.wikimedia.org/r/891827

Change 891239 merged by jenkins-bot:

[cloud/toolforge/jobs-framework-api@main] deployment: Add extra Nginx server for the API gateway

https://gerrit.wikimedia.org/r/891239

Change 892370 merged by Arturo Borrero Gonzalez:

[operations/puppet@production] P:toolforge: use api gateway for jobs cli

https://gerrit.wikimedia.org/r/892370

Change 893474 had a related patch set uploaded (by Majavah; author: Majavah):

[operations/puppet@production] P:toolforge::k8s::haproxy: drop standalone jobs ingress

https://gerrit.wikimedia.org/r/893474

Change 893474 merged by Arturo Borrero Gonzalez:

[operations/puppet@production] P:toolforge::k8s::haproxy: drop standalone jobs ingress

https://gerrit.wikimedia.org/r/893474

Change 891240 merged by jenkins-bot:

[cloud/toolforge/jobs-framework-api@main] deployment: Drop direct access

https://gerrit.wikimedia.org/r/891240

Change 893707 had a related patch set uploaded (by Arturo Borrero Gonzalez; author: Arturo Borrero Gonzalez):

[cloud/toolforge/jobs-framework-api@main] tests: add support for new api-gateway setup

https://gerrit.wikimedia.org/r/893707

Change 893709 had a related patch set uploaded (by Arturo Borrero Gonzalez; author: Arturo Borrero Gonzalez):

[cloud/toolforge/jobs-framework-cli@master] tests: add support for new api-gateway setup

https://gerrit.wikimedia.org/r/893709

Change 893709 merged by jenkins-bot:

[cloud/toolforge/jobs-framework-cli@master] tests: add support for new api-gateway setup

https://gerrit.wikimedia.org/r/893709

Change 893707 merged by jenkins-bot:

[cloud/toolforge/jobs-framework-api@main] tests: add support for new api-gateway setup

https://gerrit.wikimedia.org/r/893707