Skip to content
@epic-gateway

EPIC Gateway

The first application gateway built for Kubernetes using Kubernetes.

EPIC is an external API Gateway Platform

It is designed for use with Kubernetes but can also be used with Linux hosts.

By external, the k8s cluster that runs the uService Gateways consisting of Envoy proxy instances is external to the k8s clusters it serves.

An external gateway has the benefit of isolation from application and data contained in the cluster. EPIC also has the ability to share a single gateway over multiple clusters allowing application endpoints to be distributed among multiple clusters and hosts.

A Gateway Controller, based upon the k8s Gateway API is installed on a cluster so cluster users can create API gateway on demand based upon templates defined in the Gateway Cluster

Gateways can also be created on Linux hosts using an agent installed on the host.

The key components of the EPIC platform are:

  1. EPIC - The external gateway. Its a purpose built k8s cluster that hosts uService Gateways
  2. k8s Gateway Controller. The gateway controller use the Gateway API to create gateways and http or TCP routes
  3. Linux Gateway Controller. This controller uses the same model as the Gateway API but does not require Kubernetes
  4. Gateway Service Manager. A User interface that can be used to provide Gateway as a Service.

Trying the EPIC platform

To get started try the dev-test-environment It uses Vagrant and Ansible to install a gateway and node cluster using a couple of commmands.

Pinned

  1. dev-test-environment dev-test-environment Public

    Scripts and Vagrant/Ansible config to set up a local EPIC Gateway environment for development and test.

    Shell 2

Repositories

Showing 10 of 16 repositories
  • puregw Public

    Pure Gateway - EPIC's Kubernetes Gateway API client.

    Go 0 0 0 0 Updated Apr 29, 2024
  • gateway-api Public Forked from kubernetes-sigs/gateway-api

    Repository for the next iteration of composite service (e.g. Ingress) and load balancing APIs.

    Go 1 Apache-2.0 432 0 0 Updated Apr 24, 2024
  • dev-test-environment Public

    Scripts and Vagrant/Ansible config to set up a local EPIC Gateway environment for development and test.

    Shell 2 0 0 0 Updated Apr 24, 2024
  • ansible-playbook Public

    Ansible playbooks to configure EPIC gateway host and client clusters.

    Jinja 0 0 0 0 Updated Apr 23, 2024
  • resource-model Public

    The core of EPIC: the data model CRDs and the operators that act on them.

    Go 0 Apache-2.0 0 0 0 Updated Apr 21, 2024
  • web-service Public

    The EPIC web service. Our client code notifies this component of service and endpoint changes on client clusters, and this component updates the custom resource model to reflect those changes.

    Go 0 Apache-2.0 0 0 0 Updated Feb 10, 2024
  • true-ingress Public

    eBPF-powered tunnels between the EPIC Gateway and client nodes.

    Shell 0 0 0 0 Updated Dec 15, 2023
  • epic-gateway.github.io Public

    EPIC Gateway's web site

    HTML 0 0 0 0 Updated Dec 7, 2023
  • epicctl Public

    CLI tool to manage EPIC Gateways

    Go 0 0 0 0 Updated Dec 1, 2023
  • .github Public
    0 MIT 0 0 0 Updated Nov 13, 2023

Most used topics

Loading…