definitions:
    Condition:
        properties:
            message:
                type: string
                x-go-name: Message
            reason:
                type: string
                x-go-name: Reason
            status:
                $ref: '#/definitions/ConditionStatus'
            type:
                type: string
                x-go-name: Type
        type: object
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    ConditionStatus:
        type: string
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    Function:
        properties:
            configMap:
                additionalProperties:
                    type: string
                description: '`ConfigMap` is a convenient way to specify a function config of kind ConfigMap.'
                type: object
                x-go-name: ConfigMap
            configPath:
                description: |-
                    `ConfigPath` specifies a slash-delimited relative path to a file in the current directory
                    containing a KRM resource used as the function config. The function will
                    not see this resource in its input items — it is passed as configuration
                    only. Other functions in the pipeline can still see and modify the file.
                type: string
                x-go-name: ConfigPath
            exclude:
                description: |-
                    `Exclude` are used to specify resources on which the function should NOT be executed.
                    If not specified, all resources selected by `Selectors` are selected.
                items:
                    $ref: '#/definitions/Selector'
                type: array
                x-go-name: Exclusions
            exec:
                description: |-
                    Exec specifies the function binary executable.
                    The executable can be fully qualified or it must exists in the $PATH e.g:

                    exec: set-namespace
                    exec: /usr/local/bin/my-custom-fn
                type: string
                x-go-name: Exec
            image:
                description: |-
                    `Image` specifies the function container image.
                    It can either be fully qualified, e.g.:

                    image: ghcr.io/kptdev/krm-functions-catalog/set-labels

                    Optionally, kpt can be configured to use a image
                    registry host-path that will be used to resolve the image path in case
                    the image path is missing (Defaults to ghcr.io/kptdev/krm-functions-catalog).
                    e.g. The following resolves to ghcr.io/kptdev/krm-functions-catalog/set-labels

                    image: set-labels
                type: string
                x-go-name: Image
            name:
                description: |-
                    `Name` is used to uniquely identify the function declaration
                    this is primarily used for merging function declaration with upstream counterparts
                type: string
                x-go-name: Name
            selectors:
                description: |-
                    `Selectors` are used to specify resources on which the function should be executed
                    if not specified, all resources are selected
                items:
                    $ref: '#/definitions/Selector'
                type: array
                x-go-name: Selectors
            tag:
                description: |-
                    `Tag` is an optional field for specifying/overriding the tag of the function image.
                    Can be a semver constraint satisfying this spec: https://github.com/Masterminds/semver?tab=readme-ov-file#checking-version-constraints
                type: string
                x-go-name: Tag
        title: Function specifies a KRM function.
        type: object
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    GenericLock:
        properties:
            resourceID:
                description: |-
                    ResourceID is a unique identifier of the resource.
                    The format depends on the underlying storage.
                type: string
                x-go-name: ResourceID
            resourceVersion:
                description: |-
                    ResourceVersion indicates the last fetched version of the resource.
                    The format depends on the underlying storage.
                type: string
                x-go-name: ResourceVersion
            storeID:
                description: |-
                    StoreID is a descriptor of the underlying storage type.
                    e.g. 'DB' for database
                type: string
                x-go-name: StoreID
        title: GenericLock is a minimal locator for a package stored in a generic storage backend.
        type: object
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    Git:
        properties:
            directory:
                description: |-
                    Directory is the sub directory of the git repository.
                    e.g. 'staging/cockroachdb'
                type: string
                x-go-name: Directory
            ref:
                description: Ref can be a Git branch, tag, or a commit SHA-1.
                type: string
                x-go-name: Ref
            repo:
                description: |-
                    Repo is the git repository the package.
                    e.g. 'https://github.com/kubernetes/examples.git'
                type: string
                x-go-name: Repo
        title: Git is the user-specified locator for a package on Git.
        type: object
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    GitLock:
        properties:
            commit:
                description: |-
                    Commit is the SHA-1 for the last fetch of the package.
                    This is set by kpt for bookkeeping purposes.
                type: string
                x-go-name: Commit
            directory:
                description: |-
                    Directory is the sub directory of the git repository that was fetched.
                    e.g. 'staging/cockroachdb'
                type: string
                x-go-name: Directory
            ref:
                description: |-
                    Ref can be a Git branch, tag, or a commit SHA-1 that was fetched.
                    e.g. 'master'
                type: string
                x-go-name: Ref
            repo:
                description: |-
                    Repo is the git repository that was fetched.
                    e.g. 'https://github.com/kubernetes/examples.git'
                type: string
                x-go-name: Repo
        title: GitLock is the resolved locator for a package on Git.
        type: object
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    Inventory:
        description: All of the the parameters are required if any are set.
        properties:
            annotations:
                additionalProperties:
                    type: string
                type: object
                x-go-name: Annotations
            inventoryID:
                description: Unique label to identify inventory resource in cluster.
                type: string
                x-go-name: InventoryID
            labels:
                additionalProperties:
                    type: string
                type: object
                x-go-name: Labels
            name:
                description: Name of the inventory resource.
                type: string
                x-go-name: Name
            namespace:
                description: Namespace for the inventory resource.
                type: string
                x-go-name: Namespace
        title: Inventory encapsulates the parameters for the inventory resource applied to a cluster.
        type: object
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    Locator:
        properties:
            generic:
                $ref: '#/definitions/GenericLock'
            git:
                $ref: '#/definitions/GitLock'
            type:
                $ref: '#/definitions/OriginType'
        title: Locator is a resolved locator for the last fetch of the package.
        type: object
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    NameMeta:
        properties:
            name:
                description: Name is the metadata.name field of a Resource
                type: string
                x-go-name: Name
            namespace:
                description: Namespace is the metadata.namespace field of a Resource
                type: string
                x-go-name: Namespace
        title: NameMeta contains name information.
        type: object
        x-go-package: sigs.k8s.io/kustomize/kyaml/yaml
    ObjectMeta:
        description: ObjectMeta contains metadata about a Resource
        properties:
            annotations:
                additionalProperties:
                    type: string
                description: Annotations is the metadata.annotations field of a Resource.
                type: object
                x-go-name: Annotations
            labels:
                additionalProperties:
                    type: string
                description: Labels is the metadata.labels field of a Resource
                type: object
                x-go-name: Labels
            name:
                description: Name is the metadata.name field of a Resource
                type: string
                x-go-name: Name
            namespace:
                description: Namespace is the metadata.namespace field of a Resource
                type: string
                x-go-name: Namespace
        type: object
        x-go-package: sigs.k8s.io/kustomize/kyaml/yaml
    OriginType:
        title: OriginType defines the type of origin for a package.
        type: string
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    PackageInfo:
        description: |-
            These fields are not consumed by any functionality in kpt and are simply passed through.
            Note that like any other KRM resource, humans and automation can also use `metadata.labels` and
            `metadata.annotations` as the extension mechanism.
        properties:
            description:
                description: Description contains a short description of the package.
                type: string
                x-go-name: Description
            emails:
                description: Email is the list of emails for the package authors.
                items:
                    type: string
                type: array
                x-go-name: Emails
            keywords:
                description: Keywords is a list of keywords for this package.
                items:
                    type: string
                type: array
                x-go-name: Keywords
            license:
                description: 'SPDX license identifier (e.g. "Apache-2.0"). See: https://spdx.org/licenses/'
                type: string
                x-go-name: License
            licenseFile:
                description: Relative slash-delimited path to the license file (e.g. LICENSE.txt)
                type: string
                x-go-name: LicenseFile
            man:
                description: Man is the path to documentation about the package
                type: string
                x-go-name: Man
            readinessGates:
                items:
                    $ref: '#/definitions/ReadinessGate'
                type: array
                x-go-name: ReadinessGates
            site:
                description: Site is the URL for package web page.
                type: string
                x-go-name: Site
        title: PackageInfo contains optional information about the package such as license, documentation, etc.
        type: object
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    Pipeline:
        properties:
            mutators:
                description: Mutators defines a list of of KRM functions that mutate resources.
                items:
                    $ref: '#/definitions/Function'
                type: array
                x-go-name: Mutators
            validators:
                description: |-
                    Validators defines a list of KRM functions that validate resources.
                    Validators are not permitted to mutate resources.
                items:
                    $ref: '#/definitions/Function'
                type: array
                x-go-name: Validators
        title: Pipeline declares a pipeline of functions used to mutate or validate resources.
        type: object
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    ReadinessGate:
        properties:
            conditionType:
                type: string
                x-go-name: ConditionType
        type: object
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    ResourceMeta:
        properties:
            annotations:
                additionalProperties:
                    type: string
                description: Annotations is the metadata.annotations field of a Resource.
                type: object
                x-go-name: Annotations
            apiVersion:
                description: APIVersion is the apiVersion field of a Resource
                type: string
                x-go-name: APIVersion
            kind:
                description: Kind is the kind field of a Resource
                type: string
                x-go-name: Kind
            labels:
                additionalProperties:
                    type: string
                description: Labels is the metadata.labels field of a Resource
                type: object
                x-go-name: Labels
            name:
                description: Name is the metadata.name field of a Resource
                type: string
                x-go-name: Name
            namespace:
                description: Namespace is the metadata.namespace field of a Resource
                type: string
                x-go-name: Namespace
        title: ResourceMeta contains the metadata for a both Resource Type and Resource.
        type: object
        x-go-package: sigs.k8s.io/kustomize/kyaml/yaml
    Selector:
        description: |-
            Selector specifies the selection criteria
            please update IsEmpty method if more properties are added
        properties:
            annotations:
                additionalProperties:
                    type: string
                description: Annotations on the target resources
                type: object
                x-go-name: Annotations
            apiVersion:
                description: APIVersion of the target resources
                type: string
                x-go-name: APIVersion
            kind:
                description: Kind of the target resources
                type: string
                x-go-name: Kind
            labels:
                additionalProperties:
                    type: string
                description: Labels on the target resources
                type: object
                x-go-name: Labels
            name:
                description: Name of the target resources
                type: string
                x-go-name: Name
            namespace:
                description: Namespace of the target resources
                type: string
                x-go-name: Namespace
        type: object
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    Status:
        properties:
            conditions:
                items:
                    $ref: '#/definitions/Condition'
                type: array
                x-go-name: Conditions
        type: object
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    TypeMeta:
        description: |-
            TypeMeta partially copies apimachinery/pkg/apis/meta/v1.TypeMeta
            No need for a direct dependence; the fields are stable.
        properties:
            apiVersion:
                description: APIVersion is the apiVersion field of a Resource
                type: string
                x-go-name: APIVersion
            kind:
                description: Kind is the kind field of a Resource
                type: string
                x-go-name: Kind
        type: object
        x-go-package: sigs.k8s.io/kustomize/kyaml/yaml
    UpdateStrategyType:
        title: UpdateStrategyType defines the strategy for updating a package from upstream.
        type: string
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    Upstream:
        properties:
            git:
                $ref: '#/definitions/Git'
            type:
                $ref: '#/definitions/OriginType'
            updateStrategy:
                $ref: '#/definitions/UpdateStrategyType'
        title: Upstream is a user-specified upstream locator for a package.
        type: object
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
    kptfile:
        properties:
            annotations:
                additionalProperties:
                    type: string
                description: Annotations is the metadata.annotations field of a Resource.
                type: object
                x-go-name: Annotations
            apiVersion:
                description: APIVersion is the apiVersion field of a Resource
                type: string
                x-go-name: APIVersion
            info:
                $ref: '#/definitions/PackageInfo'
            inventory:
                $ref: '#/definitions/Inventory'
            kind:
                description: Kind is the kind field of a Resource
                type: string
                x-go-name: Kind
            labels:
                additionalProperties:
                    type: string
                description: Labels is the metadata.labels field of a Resource
                type: object
                x-go-name: Labels
            name:
                description: Name is the metadata.name field of a Resource
                type: string
                x-go-name: Name
            namespace:
                description: Namespace is the metadata.namespace field of a Resource
                type: string
                x-go-name: Namespace
            pipeline:
                $ref: '#/definitions/Pipeline'
            status:
                $ref: '#/definitions/Status'
            upstream:
                $ref: '#/definitions/Upstream'
            upstreamLock:
                $ref: '#/definitions/Locator'
        title: KptFile contains information about a package managed with kpt.
        type: object
        x-go-name: KptFile
        x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
info:
    title: Kptfile schema.
    version: v1
paths: {}
swagger: "2.0"
