This repository contains the FogService CRD definition that allows the instantiation of FogService resources and the corresponding FogService Controller responsible for performing state reconciliation of the FogService objects. This new type of FogService resource, enable the possibility to define the deployment of services optimized for the edge environment by providing capabilities such as higher grained control over service deployment behavior (e.g., instantiation locations, number of replicas, instantiation based on node’s capabilities) and the the possibility to define service-specific metrics that can be used to assess the status of a certain replica and influence user requests and the replica’s scheduling
Text format:
R. Rosmaninho, D. Raposo, P. Rito and S. Sargento, "Edge-Cloud Continuum Orchestration of Critical Services: A Smart-City Approach," in IEEE Transactions on Services Computing, vol. 18, no. 3, pp. 1381-1396, May-June 2025, doi: 10.1109/TSC.2025.3568251. keywords: {Resource management;Real-time systems;Computer architecture;Monitoring;Training;Quality of service;Network topology;Load management;5G mobile communication;Topology;Edge computing;smart-city;real-time;Kubernetes;MEC;5G},BibText format:
@ARTICLE{10994362,
author={Rosmaninho, Rodrigo and Raposo, Duarte and Rito, Pedro and Sargento, Susana},
journal={IEEE Transactions on Services Computing},
title={Edge-Cloud Continuum Orchestration of Critical Services: A Smart-City Approach},
year={2025},
volume={18},
number={3},
pages={1381-1396},
keywords={Resource management;Real-time systems;Computer architecture;Monitoring;Training;Quality of service;Network topology;Load management;5G mobile communication;Topology;Edge computing;smart-city;real-time;Kubernetes;MEC;5G},
doi={10.1109/TSC.2025.3568251}}
- controllers/fogservice_controller.go
- Base controller logic
- controllers/deploy_utils.go
- Native resource creation functions
- controllers/prometheus.go
- Metric PromQL query functions
- api/v1alpha1/fogservice_types.go
- FogService CRD Schema
- Generate the API definitions (repeat each time that the spec is changed)
make manifests- Install the CRDs into the cluster:
make install- Run the controller locally (for testing purposes):
make run- Build and push your image to the location specified by
IMG:
make docker-build docker-push IMG=<some-registry>/fog-operator:tag- Deploy the controller to the cluster with the image specified by
IMG:
make deploy IMG=<some-registry>/fog-operator:tagTo delete the CRDs from the cluster:
make uninstallUndeploy the controller to the cluster:
make undeploy