GuidesChangelogDiscussions
Log In

Application Management

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

Deploying Applications

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

apiVersion: ketch.io/v1alpha1
kind: App
metadata:
  name: app
spec:
  forProvider:
    name: bulletin
    image: docker.io/shipasoftware/bulletinboard:1.0
    framework: dev
    cnames: [ "app1.ketch.io", "app2.ketch.io", "app3.ketch.io"]
    ports: [7000, 7001, 7002]
    units: 5
    processes:
    - cmd:
        - docker-entrypoint.sh
        - npm
        - start
      name: web
    routingSettings:
      weight: 100

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.