Skip to content

A comprehensive solution designed to streamline and enhance the deployment and management of infrastructure and applications at the edge

Notifications You must be signed in to change notification settings

open-edge-platform/edge-manageability-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Edge Manageability Framework

Overview

Welcome to the Edge Manageability Framework, a comprehensive solution designed to streamline and enhance the deployment and management of infrastructure and applications at the edge. This framework leverages cutting-edge technologies to provide robust solutions for hardware onboarding, secure workload deployment, and cluster lifecycle management, all centered around Kubernetes-based application deployment for edge computing.

Primary Product: Edge Orchestrator

At the center of Edge Manageability Framework is Edge Orchestrator, the primary solution to manage edge environments efficiently and securely. It encompasses a range of features that cater to the unique demands of edge computing, ensuring seamless integration and operation across diverse hardware and software landscapes. Edge Orchestrator is designed to be the central hub for managing edge infrastructure and edge application deployments at scale across geographically distributed edge sites. It offers automated application deployment based on customer-defined configuration & criteria, multitenancy and identity & access management for tenants, observability & alerting capabilities, dashboards for quick views of status & issue identification, and management of all software deployments & infrastructure components including edge nodes (i.e. hosts) and clusters.

Edge Manageability Framework High Level Component Diagram

Key Components

Edge Orchestrator is used to centrally manage all Edge Nodes at sites and perform all lifecycle management of OS, clusters, and applications in the managed nodes. Edge Orchestrator consists of six main components, and it is deployable on-premises or in the cloud:

  • Edge Infrastructure Manager: Policy-based secure life cycle management of a fleet of edge nodes/devices at scale, spread across distributed locations allowing onboarding, provisioning, inventory management, upgrades and more.
  • Edge Cluster Orchestrator: A lightweight orchestrator based on the Cluster API (CAPI) standard designed to automate the deployment and lifecycle management of Kubernetes* clusters at scale across distributed edges, providing centralized monitoring and access control.
  • Edge Application Orchestrator: Offers customers the ability to easily package, deploy and monitor cloud-native applications at scale across distributed edges
  • UI: The web user interface for the Edge Orchestrator, allowing the user to manage most of the features of the product in an intuitive, visual, manner without having to trigger a series of APIs individually.
  • Observability: A modular observability stack that provides visibility into the health and performance of the system, including logging, reporting, alerts, and SRE data from Edge Orchestrator components and Edge Nodes.
  • Platform Services: A collection of services that support the deployment and management of the Edge Orchestrator, including identity and access management, multitenancy management, ingress route configuration, secrets and certificate management, cloud and on-prem infrastruture life-cycle management and more.

Get Started

There are multiple ways to begin to learn about, use, or contribute to Edge Orchestrator.

  • Start by deploying your own orchestrator in the cloud or on-premises
  • Read the latest Release Notes including KPIs, container and Helm chart listing and 3rd party dependencies
  • Explore the User Guide and API Reference
  • Learn about all components, their architecture and inner workings, and how to contribute in the Developer Guide
    • CI based Developer workflow - make changes to 1 or more components of the Edge Orchestrator, locally build your change, test locally with prebuilt images of the rest of the components, and then submit a PR to the component CI and the Edge Manageability Framework CI.
    • Buildall based Developer workflow - if you do not wish to use our CI and pre-built images, the buildall script can clone all the repos, build the Helm chart and container images required to deploy the Edge Orchestrator from source, push the artifacts to a repository of your choice, and locally test in your developer environment.

Repositories

There are several repos that make up the Edge Manageability Framework in the Open Edge Platform. Here is brief description of all the repos.

Edge Manageability Framework (deploy)

  • edge-manageability-framework: The central hub for deploying the Edge Orchestrator. This repo includes Argo CD applications, Helm charts, and deployment scripts necessary for setting up the orchestrator in various environments, including on-premise and cloud-based setups. Once the Edge Orchestrator is operational, all Edge Node software is deployed via the Edge Orchestrator.

Edge Infrastructure Manager

  • infra-core (top-level repo): Core services for the Edge Infrastructure Manager including inventory, APIs, tenancy and more.
  • infra-managers: Provides life-cycle management services for edge infrastructure resources via a collection of resource managers.
  • infra-onboarding: A collection of services that enable remote onboarding and provisioning of Edge Nodes.
  • infra-external: Vendor extensions for the Edge Infrastructure Manager allowing integration with 3rd party software
  • infra-charts: Helm charts for deploying Edge Infrastructure Manager services.

Edge Cluster Orchestration

  • cluster-manager (top-level repo): Core services for life cycle management of edge clusters, including APIs, tenancy, integration with CAPI, and operation.
  • cluster-api-provider-intel: Cluster-API (CAPI) compliant provider for edge clusters on Edge Nodes managed by Edge Orchestrator.
  • cluster-tests: Offers testing framework for edge cluster management.
  • cluster-connect-gateway: Provides access to edge clusters via a secure tunnel between the Edge Orchestrator and Edge Nodes.

Edge Application Orchestrator

  • app-orch-catalog (top-level repo): Facilitates catalog services for end-user application definition and packaging for deployment to Edge Nodes.
  • app-orch-tenant-controller: Manages tenancy control for Application Orchestrator
  • app-orch-deployment: Manages deployment and application lifecycle for end-user cloud-native applications across distributed edges.

User Interface

  • orch-ui: The web user interface for the Edge Orchestrator, allowing the user to manage most of the features of the product in a single intuitive GUI.
  • orch-metadata-broker: Service responsible for storing and retrieving metadata, enabling the UI to populate dropdowns with previously entered metadata keys and values.

Observability

  • o11y-charts: This repository provides key Observability Helm Charts and its helper applications deployable on the Edge Orchestrator.
  • o11y-alerting-monitor: Alerting Monitor service handles management of alert notifications in the Edge Orchestrator.
  • o11y-sre-exporter: SRE Exporter service enables exporting Edge Orchestrator's Service Level Indicators (SLIs) and its key runtime metrics to external systems.
  • o11y-tenant-controller: Observability Tenant Controller service maintains multitenancy configuration for Observability (o11y) services on Edge Orchestrator.

Platform Services

  • orch-utils: The orch-utils repository provides various utility functions and tools that support the deployment and management of the Edge Orchestrator. This includes Kubernetes jobs, Helm charts, Dockerfiles, and Go code for tasks such as namespace creation, policy management, Traefik route configuration, IAM and multitenancy.

Documentation

  • orch-docs: Edge Orchestrator documentation includes deployment, user, and developer guides; and API references, tutorials, troubleshooting, and software architecture specifications. You can also visit our documentation.

Common Services

  • orch-library: Offers shared libraries and resources for application and cluster lifecycle management.
  • cluster-extensions: Provides extensions for edge clusters managed by Edge Orchestrator. A standard set of extensions are deployed on all edge clusters. An optional set of extensions can be deployed on-demand.

Edge Nodes / Hosts

  • edge-node-agents: Collection of all the agents installed in the Edge Node OS that work together with the Edge Orchestrator to manage Edge Node functionality.
  • virtual-edge-node: Collection of software based emulators and simulators for physical Edge Nodes used in test environments.

Secure Edge Deployment

  • trusted-compute: Security extensions that utilize hardware security capabilities in Edge Nodes to enable continuous monitoring and end-user appliction (workload) protection through isolated execution.

Shared CI

  • orch-ci: Central hub for continuous integration (CI) workflows and actions shared across all repos.

Community and Support

To learn more about the project, its community, and governance, visit the Edge Orchestrator Community.

License

Edge Manageability Framework is licensed under Apache 2.0