Skip to content

nap-it/fog-operator

Repository files navigation

fog-operator

General Description

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

Citation

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}}

Important files:

  • 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

Basic Usage

  1. Generate the API definitions (repeat each time that the spec is changed)
make manifests
  1. Install the CRDs into the cluster:
make install
  1. Run the controller locally (for testing purposes):
make run
  1. Build and push your image to the location specified by IMG:
make docker-build docker-push IMG=<some-registry>/fog-operator:tag
  1. Deploy the controller to the cluster with the image specified by IMG:
make deploy IMG=<some-registry>/fog-operator:tag

Uninstall CRDs

To delete the CRDs from the cluster:

make uninstall

Undeploy controller

Undeploy the controller to the cluster:

make undeploy

License

Fog Operator is under LGPL v3 and GPL v3 licenses.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors