GuidesChangelogDiscussions
Log In

Application Management

Ketch enables you to focus on your application code and updates by automatically creating all application-related objects required by Kubernetes to run your applications. This reduces the learning curve associated with Kubernetes adoption, simplifies the application deployment process, and gives you an application context view post-deployment.

The sections below describe how you can manage your application's lifecycle on Kubernetes using Ketch.

Deploying Applications

The command below allows you to deploy your application code in the framework that you created in the Creating Framework section:

ketch app deploy APPNAME [flags]

Flags:

FlagTypeDescription
--build-packstringA list of build packs
--builderstringBuilder to use when building from source
-d, --descriptionstringApplication description
-e, --envstringApplication environment variables
-k, --frameworkstringFramework to deploy your app
--fsgroupintThe fsGroup for pod's security context; root if not set.
-i, --imagestringThe image that should be used with the application
--ketch-yamlstringThe path to the ketch.yaml file
--procfilestringThe path to Procfile. If not set, ketch will use the entrypoint and cmd from the image
--registry-secretstringA name of a Secret with docker credentials. This secret must be created in the same namespace of the framework
--run-as-userintThe user to use for running pod's processes; root if not set.
--step-intervalstringTime interval between each step. Supported min: m, hour:h, second:s. ex. 1m, 60s, 1h
--stepsintNumber of steps to roll out the new deployment (default 1)
--strictbooleanStrict decoding of ketch.yaml
--timeoutstringDefines the length of time to block waiting for deployment completion. Supported min: m, hour:h, second:s. ex. 1m, 60s, 1h. (default "20s")
--unit-processstringSpecify process whose units to update. Must be used with units flag!
-unit-versionintSpecify version whose units to update. Must be used with units flag! (default 1)
--unitsintSet number of units for deployment. (default 1)
--volumestringName of the volume to bind to the application.
--volume-mount-optionsstringToStringOptions for volume mount. (default [])
--volume-mount-pathstringPath to mount a volume.
--waitbooleanIf true blocks until deploy completes or a timeout occurs.

Exporting Applications

Ketch allows you to export a Helm chart of your application before deployment. This allows you to customize the chart to your specifications before it is deployed to your application framework.

Exporting applications can also be useful in scenarios where you need to share applications with other users, share application templates, and more.

You can export your application by using the command below:

ketch app export APPNAME [flags]

Flags:

FlagTypeDescription
-d, --directorystringThe directory where the template should be exported to

Application Info

You can get application info by running the following command:

ketch app info APPNAME

Listing Applications

You can list all available applications by using the following command:

ketch app list

Removing Applications

You can remove applications with a simple app remove command:

ketch app remove APPNAME

Starting Applications

You can start an application or one of the processes associated with the application by using the following command:

ketch app start APPNAME [flags]

Flags:

FlagTypeDescription
-p, --processstringProcess name
-v, --versionintDeployment version

Stopping Applications

You can stop an application or one of the processes associated with the application by using the following command:

ketch app stop APPNAME [flags]

Flags:

FlagTypeDescription
-p, --processstringProcess name
-v, --versionintDeployment version

Updating Applications

You can update your application's description and registry configuration by using the command below:

ketch app update APPNAME [flags]

Flags:

FlagTypeDescription
-d, --descriptionstringApplication description
--registry-secretstringA name of a Secret with docker credentials. This secret must be created in the same namespace of the pool

Application log

ketch app log APPNAME [flags]

Flags

FlagTypeDescription
-f, --followSpecify if the logs should be streamed
--ignore-errorsIf watching / following pod logs, allow for any errors that occur to be non-fatal
--prefixPrefix each log line with the log source (pod name and container name)
-p, --processstringProcess name
--timestampsInclude timestamps on each line in the log output
-v, --versionintDeployment version

List builders

You can list Cloud Native Buildpack builders to use. Ketch uses heroku/buildpacks:20 builder by default.

ketch builder list

Flags

FlagTypeDescription
listlist builders