{"componentChunkName":"component---src-templates-post-jsx","path":"/docs/2/developing-microservices/debugging.html","result":{"data":{"markdownRemark":{"html":"
Because ioFog microservices are just Docker containers with nearly arbitrary code in them, how you'll do most of your debugging should be the same as other traditional development in Docker.
\nThe easiest way to debug your microservice code is going to be running it locally on your development machine, inside Docker. But remote debugging in production is possible as well.
\nIf your language and IDE have support for live debugging, you'll need to make sure the necessary ports on your Docker setup are open/mapped correctly.
\nThe Docker folks have several wonderful tutorials on debugging, e.g. a Node.js app or a Java app in Docker.
\n","fields":{"slug":"/docs/2/developing-microservices/debugging.html"}},"allConfigJson":{"edges":[{"node":{"version":"3.7.0","menus":[{"title":"Getting Started","subMenus":[{"title":"What's New in ioFog 3.7.0?","description":"Learn about What's New in ioFog 3.7.0?.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/getting-started/whats-new.html"}}},"subMenus":null},{"title":"Core Concepts","description":"Learn about Core Concepts.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/getting-started/core-concepts.html"}}},"subMenus":null},{"title":"Architecture","description":"Learn about Architecture.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/getting-started/architecture.html"}}},"subMenus":null},{"title":"Quick Start With Local Deployment","description":"Learn about Quick Start With Local Deployment.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/getting-started/quick-start-local.html"}}},"subMenus":null}]},{"title":"iofogctl","subMenus":[{"title":"Introduction","description":"Learn about Introduction.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/iofogctl/introduction.html"}}},"subMenus":null},{"title":"Download","description":"Learn about Download.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/iofogctl/download.html"}}},"subMenus":null},{"title":"Getting Familiar","description":"Learn about Getting Familiar.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/iofogctl/getting-familiar.html"}}},"subMenus":null},{"title":"Resource Management","description":"Learn about Resource Management.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/iofogctl/resource-management.html"}}},"subMenus":null},{"title":"Connect/Disconnect","description":"Learn about Connect/Disconnect.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/iofogctl/connect-disconnect.html"}}},"subMenus":null},{"title":"Legacy","description":"Learn about Legacy.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/iofogctl/legacy.html"}}},"subMenus":null},{"title":"CLI Reference","description":"CLI reference for iofogctl.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/iofogctl/cli/iofogctl.html"}}},"subMenus":[{"title":"iofogctl","description":"CLI reference for iofogctl.","entry":"./iofogctl/cli/iofogctl.md"},{"title":"iofogctl attach","description":"CLI reference for iofogctl attach.","entry":"./iofogctl/cli/iofogctl_attach.md"},{"title":"iofogctl attach agent","description":"CLI reference for iofogctl attach agent.","entry":"./iofogctl/cli/iofogctl_attach_agent.md"},{"title":"iofogctl attach edge-resource","description":"CLI reference for iofogctl attach edge-resource.","entry":"./iofogctl/cli/iofogctl_attach_edge-resource.md"},{"title":"iofogctl attach exec","description":"CLI reference for iofogctl attach exec.","entry":"./iofogctl/cli/iofogctl_attach_exec.md"},{"title":"iofogctl attach exec agent","description":"CLI reference for iofogctl attach exec agent.","entry":"./iofogctl/cli/iofogctl_attach_exec_agent.md"},{"title":"iofogctl attach exec microservice","description":"CLI reference for iofogctl attach exec microservice.","entry":"./iofogctl/cli/iofogctl_attach_exec_microservice.md"},{"title":"iofogctl attach volume-mount","description":"CLI reference for iofogctl attach volume-mount.","entry":"./iofogctl/cli/iofogctl_attach_volume-mount.md"},{"title":"iofogctl completion","description":"CLI reference for iofogctl completion.","entry":"./iofogctl/cli/iofogctl_completion.md"},{"title":"iofogctl completion bash","description":"CLI reference for iofogctl completion bash.","entry":"./iofogctl/cli/iofogctl_completion_bash.md"},{"title":"iofogctl completion fish","description":"CLI reference for iofogctl completion fish.","entry":"./iofogctl/cli/iofogctl_completion_fish.md"},{"title":"iofogctl completion powershell","description":"CLI reference for iofogctl completion powershell.","entry":"./iofogctl/cli/iofogctl_completion_powershell.md"},{"title":"iofogctl completion zsh","description":"CLI reference for iofogctl completion zsh.","entry":"./iofogctl/cli/iofogctl_completion_zsh.md"},{"title":"iofogctl configure","description":"CLI reference for iofogctl configure.","entry":"./iofogctl/cli/iofogctl_configure.md"},{"title":"iofogctl connect","description":"CLI reference for iofogctl connect.","entry":"./iofogctl/cli/iofogctl_connect.md"},{"title":"iofogctl create","description":"CLI reference for iofogctl create.","entry":"./iofogctl/cli/iofogctl_create.md"},{"title":"iofogctl create namespace","description":"CLI reference for iofogctl create namespace.","entry":"./iofogctl/cli/iofogctl_create_namespace.md"},{"title":"iofogctl delete","description":"CLI reference for iofogctl delete.","entry":"./iofogctl/cli/iofogctl_delete.md"},{"title":"iofogctl delete agent","description":"CLI reference for iofogctl delete agent.","entry":"./iofogctl/cli/iofogctl_delete_agent.md"},{"title":"iofogctl delete all","description":"CLI reference for iofogctl delete all.","entry":"./iofogctl/cli/iofogctl_delete_all.md"},{"title":"iofogctl delete application-template","description":"CLI reference for iofogctl delete application-template.","entry":"./iofogctl/cli/iofogctl_delete_application-template.md"},{"title":"iofogctl delete application","description":"CLI reference for iofogctl delete application.","entry":"./iofogctl/cli/iofogctl_delete_application.md"},{"title":"iofogctl delete catalogitem","description":"CLI reference for iofogctl delete catalogitem.","entry":"./iofogctl/cli/iofogctl_delete_catalogitem.md"},{"title":"iofogctl delete certificate","description":"CLI reference for iofogctl delete certificate.","entry":"./iofogctl/cli/iofogctl_delete_certificate.md"},{"title":"iofogctl delete configmap","description":"CLI reference for iofogctl delete configmap.","entry":"./iofogctl/cli/iofogctl_delete_configmap.md"},{"title":"iofogctl delete controller","description":"CLI reference for iofogctl delete controller.","entry":"./iofogctl/cli/iofogctl_delete_controller.md"},{"title":"iofogctl delete edge-resource","description":"CLI reference for iofogctl delete edge-resource.","entry":"./iofogctl/cli/iofogctl_delete_edge-resource.md"},{"title":"iofogctl delete microservice","description":"CLI reference for iofogctl delete microservice.","entry":"./iofogctl/cli/iofogctl_delete_microservice.md"},{"title":"iofogctl delete namespace","description":"CLI reference for iofogctl delete namespace.","entry":"./iofogctl/cli/iofogctl_delete_namespace.md"},{"title":"iofogctl delete nats-account-rule","description":"CLI reference for iofogctl delete nats-account-rule.","entry":"./iofogctl/cli/iofogctl_delete_nats-account-rule.md"},{"title":"iofogctl delete nats-user-rule","description":"CLI reference for iofogctl delete nats-user-rule.","entry":"./iofogctl/cli/iofogctl_delete_nats-user-rule.md"},{"title":"iofogctl delete registry","description":"CLI reference for iofogctl delete registry.","entry":"./iofogctl/cli/iofogctl_delete_registry.md"},{"title":"iofogctl delete role","description":"CLI reference for iofogctl delete role.","entry":"./iofogctl/cli/iofogctl_delete_role.md"},{"title":"iofogctl delete rolebinding","description":"CLI reference for iofogctl delete rolebinding.","entry":"./iofogctl/cli/iofogctl_delete_rolebinding.md"},{"title":"iofogctl delete secret","description":"CLI reference for iofogctl delete secret.","entry":"./iofogctl/cli/iofogctl_delete_secret.md"},{"title":"iofogctl delete service","description":"CLI reference for iofogctl delete service.","entry":"./iofogctl/cli/iofogctl_delete_service.md"},{"title":"iofogctl delete serviceaccount","description":"CLI reference for iofogctl delete serviceaccount.","entry":"./iofogctl/cli/iofogctl_delete_serviceaccount.md"},{"title":"iofogctl delete volume-mount","description":"CLI reference for iofogctl delete volume-mount.","entry":"./iofogctl/cli/iofogctl_delete_volume-mount.md"},{"title":"iofogctl delete volume","description":"CLI reference for iofogctl delete volume.","entry":"./iofogctl/cli/iofogctl_delete_volume.md"},{"title":"iofogctl deploy","description":"CLI reference for iofogctl deploy.","entry":"./iofogctl/cli/iofogctl_deploy.md"},{"title":"iofogctl describe","description":"CLI reference for iofogctl describe.","entry":"./iofogctl/cli/iofogctl_describe.md"},{"title":"iofogctl describe agent-config","description":"CLI reference for iofogctl describe agent-config.","entry":"./iofogctl/cli/iofogctl_describe_agent-config.md"},{"title":"iofogctl describe agent","description":"CLI reference for iofogctl describe agent.","entry":"./iofogctl/cli/iofogctl_describe_agent.md"},{"title":"iofogctl describe application-template","description":"CLI reference for iofogctl describe application-template.","entry":"./iofogctl/cli/iofogctl_describe_application-template.md"},{"title":"iofogctl describe application","description":"CLI reference for iofogctl describe application.","entry":"./iofogctl/cli/iofogctl_describe_application.md"},{"title":"iofogctl describe certificate","description":"CLI reference for iofogctl describe certificate.","entry":"./iofogctl/cli/iofogctl_describe_certificate.md"},{"title":"iofogctl describe configmap","description":"CLI reference for iofogctl describe configmap.","entry":"./iofogctl/cli/iofogctl_describe_configmap.md"},{"title":"iofogctl describe controller","description":"CLI reference for iofogctl describe controller.","entry":"./iofogctl/cli/iofogctl_describe_controller.md"},{"title":"iofogctl describe controlplane","description":"CLI reference for iofogctl describe controlplane.","entry":"./iofogctl/cli/iofogctl_describe_controlplane.md"},{"title":"iofogctl describe edge-resource","description":"CLI reference for iofogctl describe edge-resource.","entry":"./iofogctl/cli/iofogctl_describe_edge-resource.md"},{"title":"iofogctl describe microservice","description":"CLI reference for iofogctl describe microservice.","entry":"./iofogctl/cli/iofogctl_describe_microservice.md"},{"title":"iofogctl describe namespace","description":"CLI reference for iofogctl describe namespace.","entry":"./iofogctl/cli/iofogctl_describe_namespace.md"},{"title":"iofogctl describe nats-account-rule","description":"CLI reference for iofogctl describe nats-account-rule.","entry":"./iofogctl/cli/iofogctl_describe_nats-account-rule.md"},{"title":"iofogctl describe nats-account","description":"CLI reference for iofogctl describe nats-account.","entry":"./iofogctl/cli/iofogctl_describe_nats-account.md"},{"title":"iofogctl describe nats-user-rule","description":"CLI reference for iofogctl describe nats-user-rule.","entry":"./iofogctl/cli/iofogctl_describe_nats-user-rule.md"},{"title":"iofogctl describe nats-user","description":"CLI reference for iofogctl describe nats-user.","entry":"./iofogctl/cli/iofogctl_describe_nats-user.md"},{"title":"iofogctl describe registry","description":"CLI reference for iofogctl describe registry.","entry":"./iofogctl/cli/iofogctl_describe_registry.md"},{"title":"iofogctl describe role","description":"CLI reference for iofogctl describe role.","entry":"./iofogctl/cli/iofogctl_describe_role.md"},{"title":"iofogctl describe rolebinding","description":"CLI reference for iofogctl describe rolebinding.","entry":"./iofogctl/cli/iofogctl_describe_rolebinding.md"},{"title":"iofogctl describe secret","description":"CLI reference for iofogctl describe secret.","entry":"./iofogctl/cli/iofogctl_describe_secret.md"},{"title":"iofogctl describe service","description":"CLI reference for iofogctl describe service.","entry":"./iofogctl/cli/iofogctl_describe_service.md"},{"title":"iofogctl describe serviceaccount","description":"CLI reference for iofogctl describe serviceaccount.","entry":"./iofogctl/cli/iofogctl_describe_serviceaccount.md"},{"title":"iofogctl describe system-microservice","description":"CLI reference for iofogctl describe system-microservice.","entry":"./iofogctl/cli/iofogctl_describe_system-microservice.md"},{"title":"iofogctl describe volume-mount","description":"CLI reference for iofogctl describe volume-mount.","entry":"./iofogctl/cli/iofogctl_describe_volume-mount.md"},{"title":"iofogctl describe volume","description":"CLI reference for iofogctl describe volume.","entry":"./iofogctl/cli/iofogctl_describe_volume.md"},{"title":"iofogctl detach","description":"CLI reference for iofogctl detach.","entry":"./iofogctl/cli/iofogctl_detach.md"},{"title":"iofogctl detach agent","description":"CLI reference for iofogctl detach agent.","entry":"./iofogctl/cli/iofogctl_detach_agent.md"},{"title":"iofogctl detach edge-resource","description":"CLI reference for iofogctl detach edge-resource.","entry":"./iofogctl/cli/iofogctl_detach_edge-resource.md"},{"title":"iofogctl detach exec","description":"CLI reference for iofogctl detach exec.","entry":"./iofogctl/cli/iofogctl_detach_exec.md"},{"title":"iofogctl detach exec agent","description":"CLI reference for iofogctl detach exec agent.","entry":"./iofogctl/cli/iofogctl_detach_exec_agent.md"},{"title":"iofogctl detach exec microservice","description":"CLI reference for iofogctl detach exec microservice.","entry":"./iofogctl/cli/iofogctl_detach_exec_microservice.md"},{"title":"iofogctl detach volume-mount","description":"CLI reference for iofogctl detach volume-mount.","entry":"./iofogctl/cli/iofogctl_detach_volume-mount.md"},{"title":"iofogctl disconnect","description":"CLI reference for iofogctl disconnect.","entry":"./iofogctl/cli/iofogctl_disconnect.md"},{"title":"iofogctl exec","description":"CLI reference for iofogctl exec.","entry":"./iofogctl/cli/iofogctl_exec.md"},{"title":"iofogctl exec agent","description":"CLI reference for iofogctl exec agent.","entry":"./iofogctl/cli/iofogctl_exec_agent.md"},{"title":"iofogctl exec microservice","description":"CLI reference for iofogctl exec microservice.","entry":"./iofogctl/cli/iofogctl_exec_microservice.md"},{"title":"iofogctl get","description":"CLI reference for iofogctl get.","entry":"./iofogctl/cli/iofogctl_get.md"},{"title":"iofogctl legacy","description":"CLI reference for iofogctl legacy.","entry":"./iofogctl/cli/iofogctl_legacy.md"},{"title":"iofogctl logs","description":"CLI reference for iofogctl logs.","entry":"./iofogctl/cli/iofogctl_logs.md"},{"title":"iofogctl move","description":"CLI reference for iofogctl move.","entry":"./iofogctl/cli/iofogctl_move.md"},{"title":"iofogctl move agent","description":"CLI reference for iofogctl move agent.","entry":"./iofogctl/cli/iofogctl_move_agent.md"},{"title":"iofogctl move microservice","description":"CLI reference for iofogctl move microservice.","entry":"./iofogctl/cli/iofogctl_move_microservice.md"},{"title":"iofogctl nats","description":"CLI reference for iofogctl nats.","entry":"./iofogctl/cli/iofogctl_nats.md"},{"title":"iofogctl nats accounts","description":"CLI reference for iofogctl nats accounts.","entry":"./iofogctl/cli/iofogctl_nats_accounts.md"},{"title":"iofogctl nats accounts ensure","description":"CLI reference for iofogctl nats accounts ensure.","entry":"./iofogctl/cli/iofogctl_nats_accounts_ensure.md"},{"title":"iofogctl nats operator","description":"CLI reference for iofogctl nats operator.","entry":"./iofogctl/cli/iofogctl_nats_operator.md"},{"title":"iofogctl nats operator describe","description":"CLI reference for iofogctl nats operator describe.","entry":"./iofogctl/cli/iofogctl_nats_operator_describe.md"},{"title":"iofogctl nats users","description":"CLI reference for iofogctl nats users.","entry":"./iofogctl/cli/iofogctl_nats_users.md"},{"title":"iofogctl nats users create-mqtt-bearer","description":"CLI reference for iofogctl nats users create-mqtt-bearer.","entry":"./iofogctl/cli/iofogctl_nats_users_create-mqtt-bearer.md"},{"title":"iofogctl nats users create","description":"CLI reference for iofogctl nats users create.","entry":"./iofogctl/cli/iofogctl_nats_users_create.md"},{"title":"iofogctl nats users creds","description":"CLI reference for iofogctl nats users creds.","entry":"./iofogctl/cli/iofogctl_nats_users_creds.md"},{"title":"iofogctl nats users delete-mqtt-bearer","description":"CLI reference for iofogctl nats users delete-mqtt-bearer.","entry":"./iofogctl/cli/iofogctl_nats_users_delete-mqtt-bearer.md"},{"title":"iofogctl nats users delete","description":"CLI reference for iofogctl nats users delete.","entry":"./iofogctl/cli/iofogctl_nats_users_delete.md"},{"title":"iofogctl prune","description":"CLI reference for iofogctl prune.","entry":"./iofogctl/cli/iofogctl_prune.md"},{"title":"iofogctl prune agent","description":"CLI reference for iofogctl prune agent.","entry":"./iofogctl/cli/iofogctl_prune_agent.md"},{"title":"iofogctl rebuild","description":"CLI reference for iofogctl rebuild.","entry":"./iofogctl/cli/iofogctl_rebuild.md"},{"title":"iofogctl rebuild microservice","description":"CLI reference for iofogctl rebuild microservice.","entry":"./iofogctl/cli/iofogctl_rebuild_microservice.md"},{"title":"iofogctl rebuild system-microservice","description":"CLI reference for iofogctl rebuild system-microservice.","entry":"./iofogctl/cli/iofogctl_rebuild_system-microservice.md"},{"title":"iofogctl rename","description":"CLI reference for iofogctl rename.","entry":"./iofogctl/cli/iofogctl_rename.md"},{"title":"iofogctl rename agent","description":"CLI reference for iofogctl rename agent.","entry":"./iofogctl/cli/iofogctl_rename_agent.md"},{"title":"iofogctl rename application","description":"CLI reference for iofogctl rename application.","entry":"./iofogctl/cli/iofogctl_rename_application.md"},{"title":"iofogctl rename controller","description":"CLI reference for iofogctl rename controller.","entry":"./iofogctl/cli/iofogctl_rename_controller.md"},{"title":"iofogctl rename edge-resource","description":"CLI reference for iofogctl rename edge-resource.","entry":"./iofogctl/cli/iofogctl_rename_edge-resource.md"},{"title":"iofogctl rename microservice","description":"CLI reference for iofogctl rename microservice.","entry":"./iofogctl/cli/iofogctl_rename_microservice.md"},{"title":"iofogctl rename namespace","description":"CLI reference for iofogctl rename namespace.","entry":"./iofogctl/cli/iofogctl_rename_namespace.md"},{"title":"iofogctl rollback","description":"CLI reference for iofogctl rollback.","entry":"./iofogctl/cli/iofogctl_rollback.md"},{"title":"iofogctl start","description":"CLI reference for iofogctl start.","entry":"./iofogctl/cli/iofogctl_start.md"},{"title":"iofogctl start application","description":"CLI reference for iofogctl start application.","entry":"./iofogctl/cli/iofogctl_start_application.md"},{"title":"iofogctl start microservice","description":"CLI reference for iofogctl start microservice.","entry":"./iofogctl/cli/iofogctl_start_microservice.md"},{"title":"iofogctl stop","description":"CLI reference for iofogctl stop.","entry":"./iofogctl/cli/iofogctl_stop.md"},{"title":"iofogctl stop application","description":"CLI reference for iofogctl stop application.","entry":"./iofogctl/cli/iofogctl_stop_application.md"},{"title":"iofogctl stop microservice","description":"CLI reference for iofogctl stop microservice.","entry":"./iofogctl/cli/iofogctl_stop_microservice.md"},{"title":"iofogctl upgrade","description":"CLI reference for iofogctl upgrade.","entry":"./iofogctl/cli/iofogctl_upgrade.md"},{"title":"iofogctl version","description":"CLI reference for iofogctl version.","entry":"./iofogctl/cli/iofogctl_version.md"},{"title":"iofogctl view","description":"CLI reference for iofogctl view.","entry":"./iofogctl/cli/iofogctl_view.md"}]}]},{"title":"Platform Deployment","subMenus":[{"title":"Introduction","description":"Learn about Introduction.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/platform-deployment/introduction.html"}}},"subMenus":null},{"title":"Prepare Your Network","description":"Learn about Prepare Your Network.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/platform-deployment/prepare-your-network.html"}}},"subMenus":null},{"title":"Prepare Realm and OIDC Client","description":"Learn about Prepare Realm and OIDC Client.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/platform-deployment/prepare-realm.html"}}},"subMenus":null},{"title":"Keycloak Deployment","description":"Learn about Keycloak Deployment.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/platform-deployment/keycloak-deployment.html"}}},"subMenus":null},{"title":"Prepare Your Remote Hosts","description":"Learn about Prepare Your Remote Hosts.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/platform-deployment/prepare-your-remote-hosts.html"}}},"subMenus":null},{"title":"Remote Control Plane","description":"Learn about Remote Control Plane.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/platform-deployment/remote-control-plane.html"}}},"subMenus":null},{"title":"Kubernetes Prepare Cluster","description":"Learn about Kubernetes Prepare Cluster.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/platform-deployment/kubernetes-prepare-cluster.html"}}},"subMenus":null},{"title":"External Database Deployment","description":"Learn about External Database Deployment.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/platform-deployment/database.html"}}},"subMenus":null},{"title":"Kubernetes iofogctl","description":"Learn about Kubernetes iofogctl.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/platform-deployment/kubernetes-iofogctl.html"}}},"subMenus":null},{"title":"Setup Your Agents","description":"Learn about Setup Your Agents.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/platform-deployment/setup-your-agents.html"}}},"subMenus":null},{"title":"Airgap Deployment","description":"Learn about Airgap Deployment.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/platform-deployment/airgap-deployment.html"}}},"subMenus":null}]},{"title":"Security and RBAC","subMenus":[{"title":"Securing Cluster","description":"Learn about Securing Cluster.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/security/introduction.html"}}},"subMenus":null},{"title":"Roles","description":"Learn about Roles.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/security/roles.html"}}},"subMenus":null},{"title":"Role Bindings","description":"Learn about Role Bindings.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/security/role-bindings.html"}}},"subMenus":null},{"title":"Certificates Manager","description":"Learn about Certificates Manager.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/security/certificates-manager.html"}}},"subMenus":null},{"title":"NATs Account Rule","description":"Learn about NATs Account Rule.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/security/nats-account-rule.html"}}},"subMenus":null},{"title":"NATs User Rule","description":"Learn about NATs User Rule.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/security/nats-user-rule.html"}}},"subMenus":null},{"title":"NATs JWT Authentication","description":"Learn about NATs JWT Authentication.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/security/nats-jwt-authentication.html"}}},"subMenus":null}]},{"title":"Agent Management","subMenus":[{"title":"Introduction","description":"Learn about Introduction.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/agent-management/introduction.html"}}},"subMenus":null},{"title":"Agent Configuration","description":"Learn about Agent Configuration.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/agent-management/agent-configuration.html"}}},"subMenus":null},{"title":"Attach/Detach","description":"Learn about Attach/Detach.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/agent-management/attach-detach.html"}}},"subMenus":null},{"title":"Volumes","description":"Learn about Volumes.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/agent-management/volumes.html"}}},"subMenus":null},{"title":"Docker Image Pruning","description":"Learn about Docker Image Pruning.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/agent-management/docker-image-pruning.html"}}},"subMenus":null},{"title":"Upgrade/Rollback","description":"Learn about Upgrade/Rollback.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/agent-management/upgrade-rollback.html"}}},"subMenus":null}]},{"title":"Application Management","subMenus":[{"title":"Introduction","description":"Learn about Introduction.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/applications/introduction.html"}}},"subMenus":null},{"title":"Application Templates","description":"Learn about Application Templates.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/applications/application-templates.html"}}},"subMenus":null},{"title":"Microservice Lifecycle Management","description":"Learn about Microservice Lifecycle Management.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/applications/microservice-lifecycle-management.html"}}},"subMenus":null},{"title":"Microservice Logs","description":"Learn about Microservice Logs.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/applications/microservice-logs.html"}}},"subMenus":null},{"title":"Microservice Move/Rename","description":"Learn about Microservice Move/Rename.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/applications/microservice-move-rename.html"}}},"subMenus":null},{"title":"Microservice Registry Catalog","description":"Learn about Microservice Registry Catalog.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/applications/microservice-registry-catalog.html"}}},"subMenus":null}]},{"title":"YAML References","subMenus":[{"title":"YAML Kinds","description":"Learn about YAML Kinds.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-kinds.html"}}},"subMenus":null},{"title":"Control Plane","description":"Learn about Control Plane.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-control-plane.html"}}},"subMenus":null},{"title":"Agent","description":"Learn about Agent.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-agent.html"}}},"subMenus":null},{"title":"Application","description":"Learn about Application.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-application.html"}}},"subMenus":null},{"title":"Application Template","description":"Learn about Application Template.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-application-template.html"}}},"subMenus":null},{"title":"Registry","description":"Learn about Registry.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-registry.html"}}},"subMenus":null},{"title":"Catalog","description":"Learn about Catalog.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-catalog.html"}}},"subMenus":null},{"title":"OfflineImage","description":"Learn about OfflineImage.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-offlineimage.html"}}},"subMenus":null},{"title":"Secret","description":"Learn about Secret.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-secret.html"}}},"subMenus":null},{"title":"Certificate","description":"Learn about Certificate.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-certificate.html"}}},"subMenus":null},{"title":"ConfigMap","description":"Learn about ConfigMap.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-configmap.html"}}},"subMenus":null},{"title":"VolumeMount","description":"Learn about VolumeMount.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-volumemount.html"}}},"subMenus":null},{"title":"Service","description":"Learn about Service.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-service.html"}}},"subMenus":null},{"title":"Role","description":"Learn about Role.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-roles.html"}}},"subMenus":null},{"title":"RoleBinding","description":"Learn about RoleBinding.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-role-binding.html"}}},"subMenus":null},{"title":"NatsAccountRule","description":"Learn about NatsAccountRule.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-nats-account-rule.html"}}},"subMenus":null},{"title":"NatsUserRule","description":"Learn about NatsUserRule.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/yaml-references/reference-nats-user-rule.html"}}},"subMenus":null}]},{"title":"ECN Viewer","subMenus":[{"title":"ECN Viewer","description":"Learn about ECN Viewer.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/ECN-Viewer/ecn-viewer.html"}}},"subMenus":null}]},{"title":"Reference - Controller","subMenus":[{"title":"Overview","description":"Learn about Overview.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/reference-controller/overview.html"}}},"subMenus":null},{"title":"Configuration","description":"Learn about Configuration.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/reference-controller/configuration.html"}}},"subMenus":null},{"title":"REST API","description":"Learn about REST API.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/reference-controller/rest-api.html"}}},"subMenus":null}]},{"title":"Reference - Agent","subMenus":[{"title":"Overview","description":"Learn about Overview.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/reference-agent/overview.html"}}},"subMenus":null},{"title":"CLI Usage","description":"Learn about CLI Usage.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/reference-agent/cli-usage.html"}}},"subMenus":null},{"title":"Local API","description":"Learn about Local API.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/reference-agent/local-api.html"}}},"subMenus":null},{"title":"Configuration","description":"Learn about Configuration.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/reference-agent/configuration.html"}}},"subMenus":null},{"title":"Agent Logs","description":"Learn about Agent Logs.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/reference-agent/agent-logs.html"}}},"subMenus":null}]},{"title":"Reference - Catalog Microservices","subMenus":[{"title":"HAL","description":"Learn about HAL.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/reference-microservices-catalog/hal.html"}}},"subMenus":null},{"title":"REST Blue","description":"Learn about REST Blue.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/reference-microservices-catalog/rest-blue.html"}}},"subMenus":null}]},{"title":"Contributing","subMenus":[{"title":"Guidelines","description":"Learn about Guidelines.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/contributing/guidelines.html"}}},"subMenus":null},{"title":"Code of Conduct","description":"Learn about Code of Conduct.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3.7/contributing/code-of-conduct.html"}}},"subMenus":null}]}],"fields":{"path":"/docs/3.7/"}}},{"node":{"version":"3.0.0","menus":[{"title":"Getting Started","subMenus":[{"title":"What's New in ioFog 3.0?","description":"List of features in ioFog 3.0 and their impact to users.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/getting-started/whats-new.html"}}},"subMenus":null},{"title":"Core Concepts","description":"iofog core concepts and introduction.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/getting-started/core-concepts.html"}}},"subMenus":null},{"title":"Architecture","description":"Overview of ioFog architecture.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/getting-started/architecture.html"}}},"subMenus":null},{"title":"Quick Start With Local Deployment","description":"Getting started with iofog, iofogctl by deploying an ioFog local stack.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/getting-started/quick-start-local.html"}}},"subMenus":null},{"title":"Quick Start On Minikube and Vagrant","description":"Getting started with iofog, iofogctl by deploying an ioFog local stack on Kubernetes minikube.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/getting-started/quick-start-minikube.html"}}},"subMenus":null}]},{"title":"iofogctl","subMenus":[{"title":"iofogctl - ioFog Unified Command Line Interface","description":"Getting started with iofogctl. Overview of available commands like deploy, connect, namespaces, update, delete","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/iofogctl/introduction.html"}}},"subMenus":null},{"title":"Download And Install iofogctl","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/iofogctl/download.html"}}},"subMenus":null},{"title":"Getting Familiar With iofogctl","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/iofogctl/getting-familiar.html"}}},"subMenus":null},{"title":"iofogctl Resource Management","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/iofogctl/resource-management.html"}}},"subMenus":null},{"title":"Connecting To Existing Edge Compute Networks","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/iofogctl/connect-disconnect.html"}}},"subMenus":null},{"title":"Legacy Commands in iofogctl","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/iofogctl/legacy.html"}}},"subMenus":null}]},{"title":"Platform Deployment","subMenus":[{"title":"Introduction","description":"Introduction to remote deployment of iofog using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/platform-deployment/introduction.html"}}},"subMenus":null},{"title":"Prepare Network","description":"Set up ingress and outgress rules for iofog and iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/platform-deployment/prepare-your-network.html"}}},"subMenus":null},{"title":"Prepare Remote Hosts","description":"Set up remote hosts to be accessible by iofogctl in order to deploy iofog Controller","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/platform-deployment/prepare-your-remote-hosts.html"}}},"subMenus":null},{"title":"Remote Host - Deploy Control Plane using iofogctl","description":"Deploy ioFog Controller","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/platform-deployment/remote-control-plane.html"}}},"subMenus":null},{"title":"Kubernetes - Prepare A Cluster","description":"Set up Kubernetes cluster to be accessible by iofogctl in order to deploy iofog components","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/platform-deployment/kubernetes-prepare-cluster.html"}}},"subMenus":null},{"title":"Kubernetes - Deploy Control Plane Using iofogctl","description":"How to deploy a control plane (ioFog Controller) using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/platform-deployment/kubernetes-iofogctl.html"}}},"subMenus":null},{"title":"Kubernetes - Deploy Control Plane Using Helm","description":"How to deploy a control plane (ioFog Controller) using Helm","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/platform-deployment/kubernetes-helm.html"}}},"subMenus":null},{"title":"Setup Agents","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/platform-deployment/setup-your-agents.html"}}},"subMenus":null}]},{"title":"Agent Management","subMenus":[{"title":"Introduction","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/agent-management/introduction.html"}}},"subMenus":null},{"title":"Configuration","description":"Getting started with iofogctl. Overview of available commands like deploy, connect, namespaces, update, delete","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/agent-management/agent-configuration.html"}}},"subMenus":null},{"title":"Attach / Detach","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/agent-management/attach-detach.html"}}},"subMenus":null},{"title":"Volume Management","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/agent-management/volumes.html"}}},"subMenus":null},{"title":"Docker Image Pruning","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/agent-management/docker-image-pruning.html"}}},"subMenus":null},{"title":"Edge Resources","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/agent-management/edge-resources.html"}}},"subMenus":null},{"title":"Upgrade / Rollback","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/agent-management/upgrade-rollback.html"}}},"subMenus":null}]},{"title":"Developing Microservices","subMenus":[{"title":"Writing Microservices","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/developing-microservices/overview.html"}}},"subMenus":null},{"title":"ioFog SDK","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/developing-microservices/sdk.html"}}},"subMenus":null},{"title":"Debugging","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/developing-microservices/debugging.html"}}},"subMenus":null}]},{"title":"Tutorial - Our First Microservice","subMenus":[{"title":"Introduction","description":"ioFog tutorial and demo of deploying microservices using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/tutorial/introduction.html"}}},"subMenus":null},{"title":"Get To Know ioFog","description":"ioFog tutorial, what is in the ioFog stack ?","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/tutorial/get-to-know-iofog.html"}}},"subMenus":null},{"title":"Manage Our Microservices","description":"ioFog tutorial, how to manage microservices using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/tutorial/manage-our-microservices.html"}}},"subMenus":null},{"title":"Create Our First Microservice - JavaScript","description":"ioFog tutorial, how to create an iofog microservice using the Javascript SDK","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/tutorial/create-our-first-microservice-javascript.html"}}},"subMenus":null},{"title":"Deploy Our Microservice","description":"ioFog tutorial, how to deploy a microservice and/or an application using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/tutorial/deploy-our-microservice.html"}}},"subMenus":null}]},{"title":"Applications Management","subMenus":[{"title":"Introduction","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/applications/introduction.html"}}},"subMenus":null},{"title":"Public services","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/applications/microservice-exposing.html"}}},"subMenus":null},{"title":"Move and Rename Microservices","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/applications/microservice-move-rename.html"}}},"subMenus":null},{"title":"Microservice Updates and Lifecycle","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/applications/microservice-lifecycle-management.html"}}},"subMenus":null},{"title":"Microservice Registry and Catalog Management","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/applications/microservice-registry-catalog.html"}}},"subMenus":null},{"title":"Application templates","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/applications/application-templates.html"}}},"subMenus":null},{"title":"Microservice Logs","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/applications/microservice-logs.html"}}},"subMenus":null}]},{"title":"Reference - iofogctl","subMenus":[{"title":"Kinds of Resources","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-iofogctl/reference-kinds.html"}}},"subMenus":null},{"title":"Control Plane YAML Specification","description":"iofogctl YAML structure and specifications for platform (Controller and Agent)","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-iofogctl/reference-control-plane.html"}}},"subMenus":null},{"title":"Agent YAML Specification","description":"iofogctl YAML structure and specifications for configuring an ioFog Agent","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-iofogctl/reference-agent.html"}}},"subMenus":null},{"title":"Application YAML Specification","description":"iofogctl YAML structure and specification for deploying an application","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-iofogctl/reference-application.html"}}},"subMenus":null},{"title":"Application Template YAML Specification","description":"iofogctl YAML structure and specification for deploying an application template","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-iofogctl/reference-application-template.html"}}},"subMenus":null},{"title":"Route YAML Specification","description":"iofogctl YAML structure and specification for deploying a route","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-iofogctl/reference-route.html"}}},"subMenus":null},{"title":"Catalog Item YAML Specification","description":"iofogctl YAML structure and specification for deploying a catalog item","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-iofogctl/reference-catalog.html"}}},"subMenus":null},{"title":"Registry YAML Specification","description":"iofogctl YAML structure and specification for deploying a registry","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-iofogctl/reference-registry.html"}}},"subMenus":null},{"title":"Edge Resources YAML Specification","description":"iofogctl YAML structure and specification for deploying edge resources","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-iofogctl/reference-edge-resources.html"}}},"subMenus":null},{"title":"Template engine for ioFog YAML Specification","description":"ioFog template engine for parametric YAML specification","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-iofogctl/reference-template-engine.html"}}},"subMenus":null}]},{"title":"Reference - Controller","subMenus":[{"title":"Overview","description":"What is the ioFog Controller","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-controller/overview.html"}}},"subMenus":null},{"title":"Legacy Controller CLI Usage","description":"How to use iofog-controller CLI","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-controller/cli-usage.html"}}},"subMenus":null},{"title":"Controller REST API Reference","description":"ioFog Controller REST API","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-controller/rest-api.html"}}},"subMenus":null},{"title":"ECN Viewer","description":"ioFog Controller ECN Viewer","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-controller/ecn-viewer.html"}}},"subMenus":null}]},{"title":"Reference - Agent","subMenus":[{"title":"Overview","description":"What is the ioFog Agent","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-agent/overview.html"}}},"subMenus":null},{"title":"Legacy Agent CLI Usage","description":"How to use iofog-agent CLI","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-agent/cli-usage.html"}}},"subMenus":null},{"title":"Agent Local API Reference","description":"ioFog Agent REST API","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-agent/rest-api.html"}}},"subMenus":null},{"title":"Agent Configurations","description":"ioFog Agent Configurations","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-agent/configuration.html"}}},"subMenus":null},{"title":"Agent Logs","description":"ioFog Agent Logs","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-agent/agent-logs.html"}}},"subMenus":null},{"title":"Remote debugging using IntelliJ","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-agent/debugging.html"}}},"subMenus":null}]},{"title":"Reference - Catalog Microservices","subMenus":[{"title":"System: Diagnostics Microservice","description":"Prebuilt iofog system microservice. Diagnostic basic functionalities on your edge device","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-microserivces-catalog/diagnostics.html"}}},"subMenus":null},{"title":"System: Hardware Abstraction Layer Microservice","description":"Prebuilt iofog system microservice. Hardware interactions on your edge device","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-microserivces-catalog/hal.html"}}},"subMenus":null},{"title":"System: Bluetooth REST API Microservice","description":"Prebuilt iofog system microservice. Enable/Disable bluetooth on your edge device","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-microserivces-catalog/rest-blue.html"}}},"subMenus":null},{"title":"JSON REST API And Open Weather Map Microservices","description":"Prebuilt iofog system microservice. Transform into JSON data generated by your edge device","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/reference-microserivces-catalog/jsonrestapi.html"}}},"subMenus":null}]},{"title":"Contributing","subMenus":[{"title":"Contributing Guidelines","description":"Guidelines to contributing to ioFog. How to contribute ?","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/contributing/guidelines.html"}}},"subMenus":null},{"title":"Code of Conduct","description":"ioFog Code of Conduct for contributing","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/3/contributing/code-of-conduct.html"}}},"subMenus":null}]}],"fields":{"path":"/docs/3/"}}},{"node":{"version":"2.0.0","menus":[{"title":"Getting Started","subMenus":[{"title":"What's New in ioFog 2?","description":"List of features in ioFog 2 and their impact to users.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/getting-started/whats-new.html"}}},"subMenus":null},{"title":"Core Concepts","description":"iofog core concepts and introduction.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/getting-started/core-concepts.html"}}},"subMenus":null},{"title":"Architecture","description":"Overview of ioFog architecture.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/getting-started/architecture.html"}}},"subMenus":null},{"title":"Quick Start With Local Deployment","description":"Getting started with iofog, iofogctl by deploying an ioFog local stack.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/getting-started/quick-start-local.html"}}},"subMenus":null},{"title":"Quick Start On Minikube and Vagrant","description":"Getting started with iofog, iofogctl by deploying an ioFog local stack on Kubernetes minikube.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/getting-started/quick-start-minikube.html"}}},"subMenus":null}]},{"title":"iofogctl","subMenus":[{"title":"iofogctl - ioFog Unified Command Line Interface","description":"Getting started with iofogctl. Overview of available commands like deploy, connect, namespaces, update, delete","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/iofogctl/introduction.html"}}},"subMenus":null},{"title":"Download And Install iofogctl","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/iofogctl/download.html"}}},"subMenus":null},{"title":"Getting Familiar With iofogctl","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/iofogctl/getting-familiar.html"}}},"subMenus":null},{"title":"iofogctl Resource Management","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/iofogctl/resource-management.html"}}},"subMenus":null},{"title":"Connecting To Existing Edge Compute Networks","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/iofogctl/connect-disconnect.html"}}},"subMenus":null},{"title":"Legacy Commands in iofogctl","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/iofogctl/legacy.html"}}},"subMenus":null}]},{"title":"Platform Deployment","subMenus":[{"title":"Introduction","description":"Introduction to remote deployment of iofog using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/platform-deployment/introduction.html"}}},"subMenus":null},{"title":"Prepare Network","description":"Set up ingress and outgress rules for iofog and iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/platform-deployment/prepare-your-network.html"}}},"subMenus":null},{"title":"Prepare Remote Hosts","description":"Set up remote hosts to be accessible by iofogctl in order to deploy iofog Controller","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/platform-deployment/prepare-your-remote-hosts.html"}}},"subMenus":null},{"title":"Remote - Deploy Control Plane","description":"Deploy ioFog Controller","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/platform-deployment/remote-control-plane.html"}}},"subMenus":null},{"title":"Kubernetes - Prepare A Cluster","description":"Set up Kubernetes cluster to be accessible by iofogctl in order to deploy iofog components","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/platform-deployment/kubernetes-prepare-cluster.html"}}},"subMenus":null},{"title":"Kubernetes - Deploy Control Plane Using iofogctl","description":"How to deploy a control plane (ioFog Controller) using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/platform-deployment/kubernetes-iofogctl.html"}}},"subMenus":null},{"title":"Kubernetes - Deploy Control Plane Using Helm","description":"How to deploy a control plane (ioFog Controller) using Helm","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/platform-deployment/kubernetes-helm.html"}}},"subMenus":null},{"title":"Setup Agents","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/platform-deployment/setup-your-agents.html"}}},"subMenus":null}]},{"title":"Agent Management","subMenus":[{"title":"Introduction","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/agent-management/introduction.html"}}},"subMenus":null},{"title":"Configuration","description":"Getting started with iofogctl. Overview of available commands like deploy, connect, namespaces, update, delete","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/agent-management/agent-configuration.html"}}},"subMenus":null},{"title":"Attach / Detach","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/agent-management/attach-detach.html"}}},"subMenus":null},{"title":"Volume Management","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/agent-management/volumes.html"}}},"subMenus":null},{"title":"Docker Image Pruning","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/agent-management/docker-image-pruning.html"}}},"subMenus":null}]},{"title":"Developing Microservices","subMenus":[{"title":"Writing Microservices","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/developing-microservices/overview.html"}}},"subMenus":null},{"title":"ioFog SDK","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/developing-microservices/sdk.html"}}},"subMenus":null},{"title":"Debugging","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/developing-microservices/debugging.html"}}},"subMenus":null}]},{"title":"Tutorial - Our First Microservice","subMenus":[{"title":"Introduction","description":"ioFog tutorial and demo of deploying microservices using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/tutorial/introduction.html"}}},"subMenus":null},{"title":"Get To Know ioFog","description":"ioFog tutorial, what is in the ioFog stack ?","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/tutorial/get-to-know-iofog.html"}}},"subMenus":null},{"title":"Manage Our Microservices","description":"ioFog tutorial, how to manage microservices using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/tutorial/manage-our-microservices.html"}}},"subMenus":null},{"title":"Create Our First Microservice - JavaScript","description":"ioFog tutorial, how to create an iofog microservice using the Javascript SDK","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/tutorial/create-our-first-microservice-javascript.html"}}},"subMenus":null},{"title":"Deploy Our Microservice","description":"ioFog tutorial, how to deploy a microservice and/or an application using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/tutorial/deploy-our-microservice.html"}}},"subMenus":null}]},{"title":"Microservice Management","subMenus":[{"title":"Distributed Applications","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/microservices/applications.html"}}},"subMenus":null},{"title":"Microservice Public Ports","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/microservices/microservice-exposing.html"}}},"subMenus":null},{"title":"Move and Rename Microservices","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/microservices/microservice-move-rename.html"}}},"subMenus":null},{"title":"Microservice Updates and Lifecycle","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/microservices/microservice-lifecycle-management.html"}}},"subMenus":null},{"title":"Microservice Registry and Catalog Management","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/microservices/microservice-registry-catalog.html"}}},"subMenus":null},{"title":"Microservice Logs","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/microservices/microservice-logs.html"}}},"subMenus":null}]},{"title":"Reference - iofogctl","subMenus":[{"title":"Kinds of Resources","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-iofogctl/reference-kinds.html"}}},"subMenus":null},{"title":"Control Plane YAML Specification","description":"iofogctl YAML structure and specifications for platform (Controller and Agent)","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-iofogctl/reference-control-plane.html"}}},"subMenus":null},{"title":"Agent configuration YAML Specification","description":"iofogctl YAML structure and specifications for configuring an ioFog Agent","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-iofogctl/reference-agent.html"}}},"subMenus":null},{"title":"Application YAML Specification","description":"iofogctl YAML structure and specification for deploying an Application Template","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-iofogctl/reference-application.html"}}},"subMenus":null},{"title":"Route YAML Specification","description":"iofogctl YAML structure and specification for deploying a Route","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-iofogctl/reference-route.html"}}},"subMenus":null},{"title":"Catalog Item YAML Specification","description":"iofogctl YAML structure and specification for deploying a Catalog Item","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-iofogctl/reference-catalog.html"}}},"subMenus":null},{"title":"Registry YAML Specification","description":"iofogctl YAML structure and specification for deploying a Registry","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-iofogctl/reference-registry.html"}}},"subMenus":null}]},{"title":"Reference - Controller","subMenus":[{"title":"Overview","description":"What is the ioFog Controller","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-controller/overview.html"}}},"subMenus":null},{"title":"Legacy Controller CLI Usage","description":"How to use iofog-controller CLI","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-controller/cli-usage.html"}}},"subMenus":null},{"title":"Controller REST API Reference","description":"ioFog Controller REST API","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-controller/rest-api.html"}}},"subMenus":null}]},{"title":"Reference - Agent","subMenus":[{"title":"Overview","description":"What is the ioFog Agent","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-agent/overview.html"}}},"subMenus":null},{"title":"Legacy Agent CLI Usage","description":"How to use iofog-agent CLI","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-agent/cli-usage.html"}}},"subMenus":null},{"title":"Agent Local API Reference","description":"ioFog Agent REST API","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-agent/rest-api.html"}}},"subMenus":null},{"title":"Agent Configurations","description":"ioFog Agent Configurations","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-agent/configuration.html"}}},"subMenus":null},{"title":"Remote debugging using IntelliJ","description":"","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-agent/debugging.html"}}},"subMenus":null}]},{"title":"Reference - Catalog Microservices","subMenus":[{"title":"System: Diagnostics Microservice","description":"Prebuilt iofog system microservice. Diagnostic basic functionalities on your edge device","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-microserivces-catalog/diagnostics.html"}}},"subMenus":null},{"title":"System: Hardware Abstraction Layer Microservice","description":"Prebuilt iofog system microservice. Hardware interactions on your edge device","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-microserivces-catalog/hal.html"}}},"subMenus":null},{"title":"System: Bluetooth REST API Microservice","description":"Prebuilt iofog system microservice. Enable/Disable bluetooth on your edge device","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-microserivces-catalog/rest-blue.html"}}},"subMenus":null},{"title":"JSON REST API And Open Weather Map Microservices","description":"Prebuilt iofog system microservice. Transform into JSON data generated by your edge device","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/reference-microserivces-catalog/jsonrestapi.html"}}},"subMenus":null}]},{"title":"Contributing","subMenus":[{"title":"Contributing Guidelines","description":"Guidelines to contributing to ioFog. How to contribute ?","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/contributing/guidelines.html"}}},"subMenus":null},{"title":"Code of Conduct","description":"ioFog Code of Conduct for contributing","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/2/contributing/code-of-conduct.html"}}},"subMenus":null}]}],"fields":{"path":"/docs/2/"}}},{"node":{"version":"1.2.0","menus":[{"title":"Getting Started","subMenus":[{"title":"Core Concepts","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/getting-started/core-concepts.html"}}},"subMenus":null},{"title":"Quick Start","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/getting-started/quick-start.html"}}},"subMenus":null}]},{"title":"Remote Deployment","subMenus":[{"title":"Prepare Your Remote Hosts","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/remote-deployment/prepare-your-remote-hosts.html"}}},"subMenus":null},{"title":"Prepare Your Network","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/remote-deployment/prepare-your-network.html"}}},"subMenus":null},{"title":"Setup Your Control Plane","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/remote-deployment/setup-your-controlplane.html"}}},"subMenus":null},{"title":"Setup Your Agents","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/remote-deployment/setup-your-agents.html"}}},"subMenus":null},{"title":"Setup All-in-one","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/remote-deployment/setup-all-in-one.html"}}},"subMenus":null}]},{"title":"Tutorial: Developing and deploying microservices","subMenus":[{"title":"Introduction","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/tutorial/introduction.html"}}},"subMenus":null},{"title":"Get To Know ioFog","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/tutorial/get-to-know-iofog.html"}}},"subMenus":null},{"title":"Manage Your Microservices","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/tutorial/manage-our-microservices.html"}}},"subMenus":null},{"title":"Create Your First Microservice - JavaScript","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/tutorial/create-our-first-microservice-javascript.html"}}},"subMenus":null},{"title":"Deploy Your Microservice","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/tutorial/deploy-our-microservice.html"}}},"subMenus":null}]},{"title":"Tools","subMenus":[{"title":"Introduction to iofogctl","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/tools/iofogctl/usage.html"}}},"subMenus":null},{"title":"Iofogctl YAML Specification","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/tools/iofogctl/yaml-spec.html"}}},"subMenus":null},{"title":"Platform Tools","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/tools/platform-tools.html"}}},"subMenus":null},{"title":"Helm Guide","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/tools/how-to-helm.html"}}},"subMenus":null}]},{"title":"Writing Microservices","subMenus":[{"title":"Overview","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/writing-microservices/overview.html"}}},"subMenus":null},{"title":"SDK","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/writing-microservices/sdk.html"}}},"subMenus":null},{"title":"Debugging","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/writing-microservices/debugging.html"}}},"subMenus":null}]},{"title":"Using System Microservices","subMenus":[{"title":"Diagnostics","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/using-system-microservices/diagnostics.html"}}},"subMenus":null},{"title":"Hardware Abstraction Layer","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/using-system-microservices/hal.html"}}},"subMenus":null},{"title":"Bluetooth REST API","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/using-system-microservices/rest-blue.html"}}},"subMenus":null}]},{"title":"Using Public Catalog Microservices","subMenus":[{"title":"JSON REST API And Open Weather Map","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/using-public-catalog-microservices/jsonrestapi.html"}}},"subMenus":null}]},{"title":"Controllers","subMenus":[{"title":"Overview","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/controllers/overview.html"}}},"subMenus":null},{"title":"CLI Usage","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/controllers/cli-usage.html"}}},"subMenus":null},{"title":"REST API Reference","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/controllers/rest-api.html"}}},"subMenus":null}]},{"title":"Connectors","subMenus":[{"title":"Overview","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/connectors/overview.html"}}},"subMenus":null},{"title":"CLI Usage","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/connectors/cli-usage.html"}}},"subMenus":null},{"title":"API Reference","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/connectors/api-reference.html"}}},"subMenus":null}]},{"title":"Agents","subMenus":[{"title":"Overview","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/agents/overview.html"}}},"subMenus":null},{"title":"CLI Usage","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/agents/cli-usage.html"}}},"subMenus":null},{"title":"Local API Reference","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/agents/local-api.html"}}},"subMenus":null}]},{"title":"Contributing","subMenus":[{"title":"Guidelines","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/contributing/guidelines.html"}}},"subMenus":null},{"title":"Code of Conduct","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.2.0/contributing/code-of-conduct.html"}}},"subMenus":null}]}],"fields":{"path":"/docs/1.2.0/"}}},{"node":{"version":"1.3.0","menus":[{"title":"Getting Started","subMenus":[{"title":"Core Concepts","description":"iofog core concepts and introduction.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/getting-started/core-concepts.html"}}},"subMenus":null},{"title":"Quick Start","description":"Getting started with iofog, iofogctl by deploying an ioFog local stack.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/getting-started/quick-start.html"}}},"subMenus":null},{"title":"Minikube and Vagrant, the Kubernetes local stack","description":"Getting started with iofog, iofogctl by deploying an ioFog local stack on Kubernetes minikube.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/getting-started/minikube.html"}}},"subMenus":null}]},{"title":"Platform Deployment","subMenus":[{"title":"Introduction","description":"Introduction to remote deployment of iofog using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/remote-deployment/introduction.html"}}},"subMenus":null},{"title":"Prepare Your Remote Hosts","description":"Set up remote hosts to be accessible by iofogctl in order to deploy iofog components","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/remote-deployment/prepare-your-remote-hosts.html"}}},"subMenus":null},{"title":"Prepare Your Kubernetes Cluster","description":"Set up Kubernetes cluster to be accessible by iofogctl in order to deploy iofog components","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/remote-deployment/prepare-your-kubernetes-cluster.html"}}},"subMenus":null},{"title":"Prepare Your Network","description":"Set up ingress and outgress rules for iofog and iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/remote-deployment/prepare-your-network.html"}}},"subMenus":null},{"title":"Setup Your Control Plane","description":"How to deploy a control plane (ioFog Controller) using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/remote-deployment/setup-your-controlplane.html"}}},"subMenus":null},{"title":"Setup Your Connectors","description":"How to deploy ioFog Connectors using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/remote-deployment/setup-your-connectors.html"}}},"subMenus":null},{"title":"Setup Your Agents","description":"How to deploy ioFog Agents using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/remote-deployment/setup-your-agents.html"}}},"subMenus":null}]},{"title":"Microservice Development and Deployment","subMenus":[{"title":"Introduction","description":"ioFog tutorial and demo of deploying microservices using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/tutorial/introduction.html"}}},"subMenus":null},{"title":"Get To Know ioFog","description":"ioFog tutorial, what is in the ioFog stack ?","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/tutorial/get-to-know-iofog.html"}}},"subMenus":null},{"title":"Manage Your Microservices","description":"ioFog tutorial, how to manage microservices using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/tutorial/manage-our-microservices.html"}}},"subMenus":null},{"title":"Create Your First Microservice - JavaScript","description":"ioFog tutorial, how to create an iofog microservice using the Javascript SDK","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/tutorial/create-our-first-microservice-javascript.html"}}},"subMenus":null},{"title":"Deploy Your Microservice","description":"ioFog tutorial, how to deploy a microservice and/or an application using iofogctl","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/tutorial/deploy-our-microservice.html"}}},"subMenus":null}]},{"title":"iofogctl","subMenus":[{"title":"Introduction to iofogctl","description":"Getting started with iofogctl. Overview of available commands like deploy, connect, namespaces, update, delete","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/iofogctl/usage.html"}}},"subMenus":null},{"title":"Common Header YAML Specification","description":"iofogctl YAML structure. Common header, Kubernetes style","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/iofogctl/header.html"}}},"subMenus":null},{"title":"Platform YAML Specification","description":"iofogctl YAML structure and specifications for platform (Controller, Connector and Agent)","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/iofogctl/platform-yaml-spec.html"}}},"subMenus":null},{"title":"Agent configuration YAML Specification","description":"iofogctl YAML structure and specifications for configuring an ioFog Agent","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/iofogctl/agent-config-yaml-spec.html"}}},"subMenus":null},{"title":"Application YAML Specification","description":"iofogctl YAML structure and specification for deploy an application","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/iofogctl/application-yaml-spec.html"}}},"subMenus":null}]},{"title":"Tools","subMenus":[{"title":"Platform Tools","description":"How to set up a complete infrastructure supporting iofog using Terraform","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/tools/platform-tools.html"}}},"subMenus":null},{"title":"Helm Guide","description":"How to set up a complete infrastructure running iofog using Helm","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/tools/how-to-helm.html"}}},"subMenus":null}]},{"title":"Writing Microservices","subMenus":[{"title":"Overview","description":"How to write and deploy an iofog microservice","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/writing-microservices/overview.html"}}},"subMenus":null},{"title":"SDK","description":"iofog SDKs available to write microservices","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/writing-microservices/sdk.html"}}},"subMenus":null},{"title":"Debugging","description":"How to debug an iofog microservice","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/writing-microservices/debugging.html"}}},"subMenus":null}]},{"title":"Using Microservices Catalog","subMenus":[{"title":"Controller microservices overview","description":"What is iofog microservice catalog and how to use it.","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/microservice-catalog/introduction.html"}}},"subMenus":null},{"title":"System: Diagnostics","description":"Prebuilt iofog system microservice. Diagnostic basic functionalities on your edge device","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/microservice-catalog/using-system-microservices/diagnostics.html"}}},"subMenus":null},{"title":"System: Hardware Abstraction Layer","description":"Prebuilt iofog system microservice. Hardware interactions on your edge device","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/microservice-catalog/using-system-microservices/hal.html"}}},"subMenus":null},{"title":"System: Bluetooth REST API","description":"Prebuilt iofog system microservice. Enable/Disable bluetooth on your edge device","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/microservice-catalog/using-system-microservices/rest-blue.html"}}},"subMenus":null},{"title":"JSON REST API And Open Weather Map","description":"Prebuilt iofog system microservice. Transform into JSON data generated by your edge device","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/microservice-catalog/using-public-catalog-microservices/jsonrestapi.html"}}},"subMenus":null}]},{"title":"Controllers","subMenus":[{"title":"Overview","description":"What is the ioFog Controller","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/controllers/overview.html"}}},"subMenus":null},{"title":"Legacy CLI Usage","description":"How to use iofog-controller CLI","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/controllers/cli-usage.html"}}},"subMenus":null},{"title":"REST API Reference","description":"ioFog Controller REST API","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/controllers/rest-api.html"}}},"subMenus":null}]},{"title":"Connectors","subMenus":[{"title":"Overview","description":"What is the ioFog Connector","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/connectors/overview.html"}}},"subMenus":null},{"title":"Legacy CLI Usage","description":"How to use iofog-connector CLI","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/connectors/cli-usage.html"}}},"subMenus":null},{"title":"API Reference","description":"ioFog Connector REST API","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/connectors/api-reference.html"}}},"subMenus":null}]},{"title":"Agents","subMenus":[{"title":"Overview","description":"What is the ioFog Agent","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/agents/overview.html"}}},"subMenus":null},{"title":"Legacy CLI Usage","description":"How to use iofog-agent CLI","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/agents/cli-usage.html"}}},"subMenus":null},{"title":"Local API Reference","description":"ioFog Agent REST API","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/agents/local-api.html"}}},"subMenus":null}]},{"title":"Contributing","subMenus":[{"title":"Guidelines","description":"Guidelines to contributing to ioFog. How to contribute ?","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/contributing/guidelines.html"}}},"subMenus":null},{"title":"Code of Conduct","description":"ioFog Code of Conduct for contributing","entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.3.0/contributing/code-of-conduct.html"}}},"subMenus":null}]}],"fields":{"path":"/docs/1.3.0/"}}},{"node":{"version":"1.1.0","menus":[{"title":"Getting Started","subMenus":[{"title":"Core Concepts","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/getting-started/core-concepts.html"}}},"subMenus":null},{"title":"Quick Start","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/getting-started/quick-start.html"}}},"subMenus":null},{"title":"Setup Your Controllers","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/getting-started/setup-your-controllers.html"}}},"subMenus":null},{"title":"Setup Your Connectors","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/getting-started/setup-your-connectors.html"}}},"subMenus":null},{"title":"Setup Your Agents","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/getting-started/setup-your-agents.html"}}},"subMenus":null}]},{"title":"Tutorial","subMenus":[{"title":"Introduction","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/tutorial/introduction.html"}}},"subMenus":null},{"title":"Get To Know ioFog","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/tutorial/get-to-know-iofog.html"}}},"subMenus":null},{"title":"Manage Your Microservices","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/tutorial/manage-our-microservices.html"}}},"subMenus":null},{"title":"Create Your First Microservice - JavaScript","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/tutorial/create-our-first-microservice-javascript.html"}}},"subMenus":null},{"title":"Deploy Your Microservice","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/tutorial/deploy-our-microservice.html"}}},"subMenus":null}]},{"title":"Writing Microservices","subMenus":[{"title":"Overview","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/writing-microservices/overview.html"}}},"subMenus":null},{"title":"SDK","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/writing-microservices/sdk.html"}}},"subMenus":null},{"title":"Debugging","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/writing-microservices/debugging.html"}}},"subMenus":null}]},{"title":"Using System Microservices","subMenus":[{"title":"Diagnostics","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/using-system-microservices/diagnostics.html"}}},"subMenus":null},{"title":"Hardware Abstraction Layer","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/using-system-microservices/hal.html"}}},"subMenus":null},{"title":"Bluetooth REST API","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/using-system-microservices/rest-blue.html"}}},"subMenus":null}]},{"title":"Using Public Catalog Microservices","subMenus":[{"title":"JSON REST API And Open Weather Map","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/using-public-catalog-microservices/jsonrestapi.html"}}},"subMenus":null}]},{"title":"Controllers","subMenus":[{"title":"Overview","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/controllers/overview.html"}}},"subMenus":null},{"title":"CLI Usage","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/controllers/cli-usage.html"}}},"subMenus":null},{"title":"REST API Reference","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/controllers/rest-api.html"}}},"subMenus":null}]},{"title":"Connectors","subMenus":[{"title":"Overview","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/connectors/overview.html"}}},"subMenus":null},{"title":"CLI Usage","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/connectors/cli-usage.html"}}},"subMenus":null},{"title":"API Reference","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/connectors/api-reference.html"}}},"subMenus":null}]},{"title":"Agents","subMenus":[{"title":"Overview","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/agents/overview.html"}}},"subMenus":null},{"title":"CLI Usage","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/agents/cli-usage.html"}}},"subMenus":null},{"title":"Local API Reference","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/agents/local-api.html"}}},"subMenus":null}]},{"title":"Contributing","subMenus":[{"title":"Guidelines","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/contributing/guidelines.html"}}},"subMenus":null},{"title":"Code of Conduct","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.1.0/contributing/code-of-conduct.html"}}},"subMenus":null}]}],"fields":{"path":"/docs/1.1.0/"}}},{"node":{"version":"1.0.0","menus":[{"title":"Getting Started","subMenus":[{"title":"Core Concepts","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/getting-started/core-concepts.html"}}},"subMenus":null},{"title":"Quick Start","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/getting-started/quick-start.html"}}},"subMenus":null},{"title":"Setup Your Controllers","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/getting-started/setup-your-controllers.html"}}},"subMenus":null},{"title":"Setup Your Connectors","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/getting-started/setup-your-connectors.html"}}},"subMenus":null},{"title":"Setup Your Agents","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/getting-started/setup-your-agents.html"}}},"subMenus":null}]},{"title":"Tutorial","subMenus":[{"title":"Introduction","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/tutorial/introduction.html"}}},"subMenus":null},{"title":"Get To Know ioFog","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/tutorial/get-to-know-iofog.html"}}},"subMenus":null},{"title":"Manage Your Microservices","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/tutorial/manage-our-microservices.html"}}},"subMenus":null},{"title":"Create Your First Microservice - JavaScript","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/tutorial/create-our-first-microservice-javascript.html"}}},"subMenus":null},{"title":"Deploy Your Microservice","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/tutorial/deploy-our-microservice.html"}}},"subMenus":null}]},{"title":"Writing Microservices","subMenus":[{"title":"Overview","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/writing-microservices/overview.html"}}},"subMenus":null},{"title":"SDK","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/writing-microservices/sdk.html"}}},"subMenus":null},{"title":"Debugging","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/writing-microservices/debugging.html"}}},"subMenus":null}]},{"title":"Using System Microservices","subMenus":[{"title":"Diagnostics","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/using-system-microservices/diagnostics.html"}}},"subMenus":null},{"title":"Hardware Abstraction Layer","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/using-system-microservices/hal.html"}}},"subMenus":null},{"title":"Bluetooth REST API","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/using-system-microservices/rest-blue.html"}}},"subMenus":null}]},{"title":"Using Public Catalog Microservices","subMenus":[{"title":"JSON REST API And Open Weather Map","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/using-public-catalog-microservices/jsonrestapi.html"}}},"subMenus":null}]},{"title":"Controllers","subMenus":[{"title":"Overview","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/controllers/overview.html"}}},"subMenus":null},{"title":"CLI Usage","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/controllers/cli-usage.html"}}},"subMenus":null},{"title":"REST API Reference","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/controllers/rest-api.html"}}},"subMenus":null}]},{"title":"Connectors","subMenus":[{"title":"Overview","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/connectors/overview.html"}}},"subMenus":null},{"title":"CLI Usage","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/connectors/cli-usage.html"}}},"subMenus":null},{"title":"API Reference","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/connectors/api-reference.html"}}},"subMenus":null}]},{"title":"Agents","subMenus":[{"title":"Overview","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/agents/overview.html"}}},"subMenus":null},{"title":"CLI Usage","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/agents/cli-usage.html"}}},"subMenus":null},{"title":"Local API Reference","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/agents/local-api.html"}}},"subMenus":null}]},{"title":"Contributing","subMenus":[{"title":"Guidelines","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/contributing/guidelines.html"}}},"subMenus":null},{"title":"Code of Conduct","description":null,"entry":{"childMarkdownRemark":{"fields":{"slug":"/docs/1.0.0/contributing/code-of-conduct.html"}}},"subMenus":null}]}],"fields":{"path":"/docs/1.0.0/"}}}]}},"pageContext":{"slug":"/docs/2/developing-microservices/debugging.html"}},"staticQueryHashes":["683422493"],"slicesMap":{}}