GuidesChangelogDiscussions
Log In

Framework Management

What Are Frameworks?

A framework is the same as a namespace in Kubernetes. Ketch uses frameworks to:

  • Isolate the deployment of workloads
  • Define ingress configuration

When you create a framework using Ketch, Ketch will automatically create a namespace in your cluster.

Ketch will use the ingress configuration you enter when creating a framework to create endpoints for the applications you deploy automatically.

Creating Frameworks

You can use the example below to manage frameworks in Ketch using TypeScript.

Additional programming languages will be supported soon.

TypeScript

import * as pulumi from "@pulumi/pulumi";
import * as ketch from "@shipa-corp/kpulumi";

const item = new ketch.Framework("ketch-framework-1", {
    framework: {
        name: "pulumi-framework-1",
        ingressController: {
            className: "istio",
            serviceEndpoint: "1.2.3.4",
            type: "istio",
        }
    }
});

export const frameworkName = item.framework.name;

Specification

Component

Type

Description

name

string

The name of the framework

The name used here will be used by Ketch to create a namespace in your cluster.

Ketch will add ketch- as the suffix to your namespace name followed by the framework name you enter.

Required: Yes

ingressController

Top-level attribute for ingress configuration

Required: Yes

className

string

The class name used by the ingress controller you have installed in your cluster.

You can find more information about installing an ingress controller here

Ketch can also leverage your pre-installed ingress controller.

Required: Yes

serviceEndpoint

string

The EXTERNAL-IP assigned to your ingress controller.

Ketch will use this IP to assign an endpoint to applications you deploy.

Required: Yes

type

string

The ingress controller type you have installed in your cluster.

Currently supported controllers are:

  • Istio
  • Traefik

Required: Yes