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

ComponentTypeDescription
namestringThe name of the application.

Required: Yes
imagestringThe address of the image to be deployed

Required: Yes
frameworkstringThe name of the framework that was previously created and should be used by Ketch to deploy the application.

Required: Yes
cnamesstringAdditional CNAMEs that should be created and assigned to the application.

Required: No
portsintA 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.
unitsintThe number of containers that should be used to deploy the application.

Required: No
Default: 1
processesprocessesCustom commands that should be executed by Ketch.

Required: No
routingSettingsroutingSettingsThe traffic weight that should be assigned to your application in case this is a follow on deployment.

Required: No

Processes

ComponentTypeDescription
namestringThe name of the process to be executed by Ketch.
cmdsstringThe breakdown of the command to be executed by Ketch.

Router Settings

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