REST API in Traefik v3.1

Hello,
we want to upgrade our Traefic version from v1.7 to v3.1, until now we were using the REST provider, however I don't find REST in the list of the providers supported in v3. Has the REST provider been removed or is this just a lack of documentation? If it is just lack of documentation, are there breaking changes between REST provider in v1/v2/v3? And are you planning to release a documentation for it in v3 in the near future?

Thank you very much.

Is providers.http (doc) what you are looking for?

Hi, thanks for the answer. The http provider is not exactly the same, since it will poll from an endpoint, while with the REST provider of v1 we would send a put request to /api/providers/rest of traefik. So I understand it correctly that now there is no REST provider that can be used in the same way as in the old v1.7, meaning by sending a put/post request to traefik? Is the http provider what comes closest?

Traefik v2/v3 will pull dynamic config. AFAIK you can’t push (PUT/POST), but you can set the pull frequency for GET from http source.

Maybe it's still there, see discussion (link).

At least there is still some providers/rest source code (link).

Thank you, indeed it looks like it should still be there, I added it to the providers and I can see it in the dashboard in the list of available providers. However, when I send a request to /api/providers/rest I get a 404. From the source code it looks like it should have created a router for the REST provider (same link you posted):

// CreateRouter creates a router for the Rest API.
func (p *Provider) CreateRouter() *mux.Router {
router := mux.NewRouter()
router.Methods(http.MethodPut).Path("/api/providers/{provider}").Handler(p)
return router
}

but I don't see that in my list of routers. I see that a "rest@internal" service has been created, but it is not used by any router. Any ideas?

Try to assign it as a service, similar to api@internal.

I finally had time to try this out, creating a router that uses the rest@internal service works and I can use the rest api. Thank you very much @bluepuma77 !