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. |
Updated almost 2 years ago