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

ComponentTypeDescription
namestringThe 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
ingressControllerTop-level attribute for ingress configuration

Required: Yes
classNamestringThe 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
serviceEndpointstringThe EXTERNAL-IP assigned to your ingress controller.

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

Required: Yes
typestringThe ingress controller type you have installed in your cluster.

Currently supported controllers are:
- Istio
- Traefik

Required: Yes