Skip to content

Latest commit

 

History

History
44 lines (32 loc) · 2.12 KB

README.md

File metadata and controls

44 lines (32 loc) · 2.12 KB

Super Simple Mesh

gopherbadger-tag-do-not-edit

A very simple service mesh providing only inter-services TLS. Super Simple Mesh is useful for teams who just want to encrypt flows between their containers without bothering with the extra features and complexity a classic Service Mesh brings

SSM needs Cert-Manager for delivering certificates. It will request certificates for your workloads based on annotations that you provide.

Setup

git clone git@github.com:etiennejournet/Super-Simple-Mesh.git
kubectl apply -f Super-Simple-Mesh/deploy/manifest

Configuration

Super Simple Mesh is configured using environnement variables

Environnement Variable Description Required Default
Global
WEBHOOK_NAME Name of the SSM service (only useful if you changed it in the YAML manifest) No ssm
WEBHOOK_PORT Port of the SSM service (only useful if you changed it in the YAML manifest) No 8080
ENVOY_UID User ID of the Envoy Proxy User, change it to a unique value if the default is already used No 777
Cert Manager
CERTMANAGER_ISSUER Issuer that should be used for delivering certificates. For now SSM only supports ClusterIssuers No ca-issuer

Usage With Cert-Manager

Basic setup

Setup Cert-Manager, using helm for example :

helm install cert-manager jetstack/cert-manager -n cert-manager

Define a CA Cluster Issuer according to this documentation. Note that SSM will use a Cluster Issuer called "caIssuer" by default, refer to the annotation list for another behavior

Annotations

Annotation Name Description Required Default
cert-manager.ssm.io/service-name Name of the Service for which the pods should be certified for Yes None
cert-manager.ssm.io/cert-duration Duration of the requested certificate No 24h
cert-manager.ssm.io/cert-path Path in which to put the requested certificate No