If you haven't done so, you should first go and read Core Concepts in order to understand what ioFog is and what is its purpose.
Architecture
The ioFog architecture consists of several basic building blocks. We are going to introduce all of these one by one and show what capabilities they bring into the system, and how they are commonly deployed. Instances of these ioFog components form a logical component called Edge Compute Network (ECN). We will gradually build up the definition of ioFog ECN from a bare bone ECN to a more robust, even heterogeneous ECN.
If you are interested in deeper dive into any of these components, and figuring out how to use them, there are links to documentation and their repositories in all the relevant sections.
Controller
The ioFog Controller is the heart of each Edge Compute Network. The Controller orchestrates all Agents, Microservices, Routers, users, and much more.
Controller can run on any compatible hardware that is network accessible by all of your edge nodes running an Agent. Usually that means either having a static IP address or DNS records. A common solution is to run your Controller on a cloud provider like Amazon Web Services or Google Cloud Platform, but it's also possible to run the Controller directly on one of your edge nodes or other local hardware, both as a native daemon or containerized.
It is also possible to have a Controller hidden behind HTTP Ingress service, since the Controller is fully functional using its REST API only.
If you want to learn advanced features, how to configure the Controller or how to directly use it, go to Controller reference documentation.
To deploy and use the Controller via potctl, go to platform deployment documentation.
Feel free to also explore and potentially contribute at the Datasance/Controller github repository.