GuidesChangelogDiscussions
Log In

Application Management

You can use Ketch's provider for Pulumi to provide developers with an easy way to deploy applications across multiple Kubernetes clusters.

Deploying Applications

You can use the TypeScript example below as a base for creating applications:

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

const app = new ketch.App("a1", {
    app: {
        name: "a1",
        image: "docker.io/shipasoftware/bulletinboard:1.0",
        framework: "framework-name",
        cnames: ["a1.ketch.io", "a2.ketch.io"],
        ports: [8080, 8081],
        units: 1,
        processes: [
            {
                name: "web",
                cmds: ["docker-entrypoint.sh", "npm", "start"],
            }
        ],
        routingSettings: {
            weight: 100,
        }
    }});

export const appName = app.app.name;

Specification

Component

Type

Description

name

string

The name of the application.

Required: Yes

image

string

The address of the image to be deployed

Required: Yes

framework

string

The name of the framework that was previously created and should be used by Ketch to deploy the application.

Required: Yes

cnames

string

Additional CNAMEs that should be created and assigned to the application.

Required: No

ports

int

A port, or list of ports, that should be used by Ketch to expose the application once deployed.

Required: No
Default: Ketch will use the port defined in the EXPOSE definition of your container image.

units

int

The number of containers that should be used to deploy the application.

Required: No
Default: 1

processes

processes

Custom commands that should be executed by Ketch.

Required: No

routingSettings

routingSettings

The traffic weight that should be assigned to your application in case this is a follow on deployment.

Required: No

Processes

Component

Type

Description

name

string

The name of the process to be executed by Ketch.

cmds

string

The breakdown of the command to be executed by Ketch.

Router Settings

Component

Type

Description

weight

int

The traffic weight that should be shifted to the new deployment version.