consul-api-gateway

command module
v0.1.0-techpreview Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2021 License: MPL-2.0 Imports: 9 Imported by: 0

README

Consul API Gateway CI Status Discuss

Overview

The Consul API Gateway implements a North/South managed gateway that integrates natively with the Consul Service Mesh. Currently this is implemented as a Kubernetes Gateway Controller, but is meant to eventually work across multiple scheduler and runtime ecosystems.

Usage

The Consul API Gateway project Kubernetes integration leverages connect-injected services managed by the Consul K8s project. To use this project, make sure you have a running Kubernetes cluster and Consul 1.11 or greater installed via Helm with Connect injection support enabled.

Our default kustomization manifests also assume that the Consul helm chart has TLS enabled. To install a compatible Consul instance via Helm, you can run the following commands:

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

To install the 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-techpreview"
kubectl apply -k "github.com/hashicorp/consul-api/gateway/config?ref=v0.1.0-techpreview"

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

For more detailed instructions and an example of how to use this alongside CertManager and External DNS see the development documentation.

Tutorials

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