consul-api-gateway

command module
v0.1.0-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 26, 2022 License: MPL-2.0 Imports: 9 Imported by: 0

README

Consul API Gateway CI Status Discuss

Overview

The Consul API Gateway is a dedicated ingress solution for intelligently routing traffic to applications running on a Consul Service Mesh. Currently it only runs on Kubernetes and is implemented as a Kubernetes Gateway Controller but, in future releases, it will work across multiple scheduler and runtime ecosystems.

Usage

Prerequisites

The Consul API Gateway must be installed on a Kubernetes cluster with the Consul K8s service mesh deployed on it. The installed version of Consul must be v1.11-beta2 or greater.

The Consul Helm chart must be used, with specific settings, to install Consul on the Kubernetes cluster. This can be done with the following commands:

helm repo add hashicorp https://helm.releases.hashicorp.com
cat <<EOF | helm install consul hashicorp/consul --version 0.39.0 -f -
global:
  name: consul
  image: "hashicorp/consul:1.11.2"
  tls:
    enabled: true
connectInject:
  enabled: true
controller:
  enabled: true
EOF

Install the Tech Preview

To install the Consul API Gateway controller and a base Kubernetes GatewayClass that leverages the API Gateway, run the following commands:

kubectl apply -k "github.com/hashicorp/consul-api-gateway/config/crd?ref=v0.1.0-beta"
kubectl apply -k "github.com/hashicorp/consul-api-gateway/config?ref=v0.1.0-beta"

You should now be able to deploy a Gateway by referencing the gateway class default-consul-gateway-class in a Kubernetes Gateway manifest.

Configuring and Deploying API Gateways

Consul API Gateways are configured and deployed via the Kubernetes Gateway API standard. The Kubernetes Gateway API webite explains the design of the standard, examples of how to use it and the complete specification of the API.

The Consul API Gateway Tech Preview supports current version (v1alpha2) of the Gateway API.

Supported Features: Please see Supported Features for a list of K8s Gateway API features supported by the current release of Consul API Gateway.

Tutorial

For an example of how to deploy a Consul API Gateway and use it alongside CertManager and External DNS, see the Example Setup.

Contributing

Thank you for your interest in contributing! Please refer to CONTRIBUTING.md for guidance.

For development, please see our Quick Start guide. Other documentation can be found inside our in-repo developer documentation.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
consul/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
envoy/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
k8s
k8s/gatewayclient/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
k8s/reconciler/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
k8s/service/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
store/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL