id = "kn"
name = "kn"
homepage = "https://github.com/knative/client"
description = "Command-line interface for managing Knative Serving and Eventing resources"
executables = ["kn"]
[dotfiles]
paths = [
"[configHome]/kn/config.yaml",
"%APPDATA%/kn/config.yaml",
]
secret = []
[commands]
format = 1
label = "Knative client"
description = "Create a Knative service from a container image. Other kn commands, traffic splitting, secrets and sidecars are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "help"
kind = "manual"
url = "https://github.com/knative/client/blob/main/docs/cmd/kn_service_create.md"
revision = "main 2026-10"
evidence = """
kn service create NAME --image IMAGE
--image string Image to run.
-n, --namespace string Specify the namespace to operate in.
-p, --port string The port where application listens on, in the format 'NAME:PORT', where 'NAME' is optional.
-e, --env stringArray Environment variable to set. NAME=value; you may provide this flag any number of times to set multiple environment variables.
--scale string Set the Minimum and Maximum number of replicas.
--request strings The resource requirement requests for this Service. For example, 'cpu=100m,memory=256Mi'.
--limit strings The resource requirement limits for this Service. For example, 'cpu=100m,memory=256Mi'.
-l, --label stringArray Labels to set for both Service and Revision. name=value; you may provide this flag any number of times to set multiple labels.
--cluster-local Specify that the service be private.
--force Create service forcefully, replaces existing service if any.
--no-wait Do not wait for 'service create' operation to be completed.
"""
[[commands.subcommand]]
path = ["service", "create"]
label = "Create a service"
[[commands.subcommand.source]]
id = "help"
kind = "manual"
url = "https://github.com/knative/client/blob/main/docs/cmd/kn_service_create.md"
revision = "main 2026-10"
evidence = """
kn service create NAME --image IMAGE
--image string Image to run.
-n, --namespace string Specify the namespace to operate in.
-p, --port string The port where application listens on, in the format 'NAME:PORT', where 'NAME' is optional.
-e, --env stringArray Environment variable to set. NAME=value; you may provide this flag any number of times to set multiple environment variables.
--scale string Set the Minimum and Maximum number of replicas.
--request strings The resource requirement requests for this Service. For example, 'cpu=100m,memory=256Mi'.
--limit strings The resource requirement limits for this Service. For example, 'cpu=100m,memory=256Mi'.
-l, --label stringArray Labels to set for both Service and Revision. name=value; you may provide this flag any number of times to set multiple labels.
--cluster-local Specify that the service be private.
--force Create service forcefully, replaces existing service if any.
--no-wait Do not wait for 'service create' operation to be completed.
"""
[[commands.subcommand.field]]
id = "name"
label = "Service name"
type = "string"
position = 0
sources = ["help"]
[[commands.subcommand.field]]
id = "image"
label = "Container image"
type = "string"
option = ["--image"]
sources = ["help"]
[[commands.subcommand.field]]
id = "namespace"
label = "Namespace"
type = "string"
option = ["--namespace", "-n"]
sources = ["help"]
[[commands.subcommand.field]]
id = "port"
label = "Port"
description = "NAME:PORT or just PORT, for example 8080."
type = "string"
option = ["--port", "-p"]
sources = ["help"]
[[commands.subcommand.field]]
id = "env"
label = "Environment variables"
description = "NAME=value."
type = "string"
option = ["--env", "-e"]
multiple = true
sources = ["help"]
[[commands.subcommand.field]]
id = "scale"
label = "Replica range"
description = "A single value or min/max."
type = "string"
option = ["--scale"]
sources = ["help"]
[[commands.subcommand.field]]
id = "request"
label = "Resource requests"
description = "For example cpu=100m,memory=256Mi."
type = "string"
option = ["--request"]
sources = ["help"]
[[commands.subcommand.field]]
id = "limit"
label = "Resource limits"
description = "For example cpu=100m,memory=256Mi."
type = "string"
option = ["--limit"]
sources = ["help"]
[[commands.subcommand.field]]
id = "label"
label = "Labels"
description = "name=value."
type = "string"
option = ["--label", "-l"]
multiple = true
sources = ["help"]
[[commands.subcommand.field]]
id = "cluster_local"
label = "Private service"
type = "boolean"
option = ["--cluster-local"]
sources = ["help"]
[[commands.subcommand.field]]
id = "no_wait"
label = "Do not wait for readiness"
type = "boolean"
option = ["--no-wait"]
sources = ["help"]
[[commands.subcommand.field]]
id = "force"
label = "Replace existing service"
type = "boolean"
option = ["--force"]
effect = "overwrite"
sources = ["help"]
[[commands.subcommand.task]]
id = "create"
label = "Create a service"
fields = ["name", "image", "namespace", "port"]
required = ["name", "image"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["name", "image", "namespace", "port", "env"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["scale", "request", "limit", "label", "cluster_local", "no_wait", "force"]