Code Monkey home page Code Monkey logo

refdog's Introduction

Refdog

A configuration reference for Skupper

Contents

Overview

Site

A site is a place where components of your application are running. Sites are linked to form application networks.

There can be only one skupper-site definition per namespace.

Resource kind: ConfigMap
Resource name: skupper-site
Type label: skupper.io/type: site

YAML example

apiVersion: v1
kind: ConfigMap
metadata:
  name: skupper-site
  namespace: site-1
  labels:
    skupper.io/type: site
data:
  name: site-1
  ingress: loadbalancer

CLI example

# skupper site init <options>
$ skupper site init --name site-1 --ingress loadbalancer

Settings

name

A name of your choice for the Skupper site. This name is displayed in the console and CLI output.

Required: No
Type: String

ingress

The method for providing access to this site from outside the cluster. Cluster ingress enables a site to accept incoming links.

Required: No
Type: String
Default: route if the environment is OpenShift, otherwise loadbalancer
Choices: route, loadbalancer, nodeport, nginx-ingress-v1, contour-http-proxy, ingress, none

Connector

A connector binds local servers to listeners in remote sites.

Each namespace can contain multiple connector definitions.

Resource kind: ConfigMap
Resource name: skupper-connector-<qualifier>
Type label: skupper.io/type: connector

YAML example

apiVersion: v1
kind: ConfigMap
metadata:
  name: skupper-connector-backend
  namespace: site-2
  labels:
    skupper.io/type: connector
data:
  routing-key: backend:8080
  port: 8080
  selector: app=backend

CLI example

# skupper connector create <routing-key> <workload>
$ skupper connector create backend:8080 deployment/backend

Settings

routing-key

The identifier used to route traffic from listeners to connectors. To connect to a service at a remote site, the listener and connector must have matching routing keys.

Required: Yes
Type: String

selector

A Kubernetes label selector for identifying server pods.

Required: No
Type: String

host

The hostname or IP address of the server. This is an alternative to selector for specifying the target server.

Required: No
Type: String

port

The port number of the server listener.

Required: Yes
Type: Integer

tls-credentials

The name of a Kubernetes secret containing TLS credentials. The secret contains the trusted server certificate (typically a CA certificate).

It can optionally include a client certificate and key for mutual TLS.

Required: No
Type: String
Default: *None*

Listener

A listener is a local connection endpoint bound to servers in remote sites.

Each namespace can contain multiple listener definitions.

Resource kind: ConfigMap
Resource name: skupper-listener-<qualifier>
Type label: skupper.io/type: listener

YAML example

apiVersion: v1
kind: ConfigMap
metadata:
  name: skupper-listener-backend
  namespace: site-1
  labels:
    skupper.io/type: listener
data:
  routing-key: backend:8080
  host: backend
  port: 8080

CLI example

# skupper listener create <routing-key> <options>
$ skupper listener create backend:8080
# skupper listener create abc123 --host backend --port 8080

Settings

routing-key

The identifier used to route traffic from listeners to connectors. To connect to a service at a remote site, the listener and connector must have matching routing keys.

Required: Yes
Type: String

host

The hostname or IP address of the local listener. Clients at this site use the listener host and port to establish connections to the remote service.

Required: Yes
Type: String

port

The port of the local listener. Clients at this site use the listener host and port to establish connections to the remote service.

Required: Yes
Type: Integer

tls-credentials

The name of a Kubernetes secret containing TLS credentials. The secret contains the server certificate and key.

It can optionally include a client certificate for mutual TLS.

Required: No
Type: String
Default: *None*

Console

A web interface for viewing the application network and monitoring application traffic.

There can be only one skupper-console definition per namespace.

Resource kind: ConfigMap
Resource name: skupper-console
Type label: skupper.io/type: console

YAML example

apiVersion: v1
kind: ConfigMap
metadata:
  name: skupper-console
  namespace: site-1
  labels:
    skupper.io/type: console
data:
  ingress: loadbalancer
  auth: unsecured

CLI example

# skupper console init <options>
$ skupper console init --ingress loadbalancer --auth unsecured

Settings

ingress

The method for providing access to the console from outside the cluster.

Required: No
Type: String
Default: route if the environment is OpenShift, otherwise loadbalancer
Choices: route, loadbalancer, nodeport, nginx-ingress-v1, contour-http-proxy, ingress, none

auth

The user authentication mode for the console.

internal - Use Skupper's built-in authentication. See the users option.

openshift - Use OpenShift authentication, so that users who have permission to log into OpenShift and view the namespace (project) can view the console.

unsecured - No authentication. Anyone with the URL can view the console.

Required: No
Type: String
Default: internal
Choices: internal, openshift, unsecured

users

The name of the Kubernetes secret containing the console users and passwords for the internal authentication mode.

By default, a secret named skupper-console-users is generated with user admin and a random password.

Required: No
Type: String
Default: skupper-console-users

refdog's People

Contributors

ssorj avatar

Watchers

 avatar  avatar  avatar

Forkers

pwright

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.