What is the difference between controller and edge-controller?

I am a little confused between controller and edge-controller. What is the difference?

If the controller config has edge section, does that make it edge-controller? What happens if I remove that?

Also what is the difference between “mgmt” ( top level in yaml config ) section and the “client-management” ( under top-level “web” in yaml config ) webListener?


I found the answer to the first question in the OpenZiti configuration files topic which states that controller without “edge” is not very useful.

The controller and router both have fabric logic as a baseline, which are concerned with routing and getting data where it needs to be. The edge layers on a whole bunch of things including identities, access policies, configuration, lots of authentication stuff, sdks, end-to-end encryption, etc.

So using pure fabric is only useful if you just care about shuffling data around. Maybe you’ve got a single-user use case where you control all the machines and you just want the mesh networking and dark servers.
Alternately, someone might want to build their own policy mechanisms, using the same extension points that the edge does.

In the vast majority of cases, though, you’re going to want at least some of the good stuff the edge provides, even for single user systems. For example, the edge makes it easier to manage edge routers with enrollment, instead of having to manually manage certs.


1 Like

Could someone please help with above?

I will get clarity on this, but I’m 90% sure that the “mgmt” section of the config is largely vestigial now. I believe it was how the ziti-fabric binary (which we no longer produce) connected to the ziti controller to do fabric operations. I am pretty sure that was replaced not too long back by ziti fabric (the ziti binary, fabric subcommand).

I think @plorenz can clarify if I’m right :wink:

1 Like

@TheLumberjack is correct. mgmt is no longer used. It was used to configure a binary socket management endpoint, which has been replaced by the fabric REST API.

1 Like