apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.14.0 labels: group: fission.io name: packages.fission.io spec: group: fission.io names: kind: Package listKind: PackageList plural: packages shortNames: - pkg singular: package scope: Namespaced versions: - name: v1 schema: openAPIV3Schema: description: Package Think of these as function-level images. properties: apiVersion: description: |- APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: description: |- Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: description: PackageSpec includes source/deploy archives and the reference of environment to build the package. properties: buildcmd: description: BuildCommand is a custom build command that builder used to build the source archive. type: string deployment: description: Deployment is the deployable archive that environment runtime used to run user function. properties: checksum: description: |- Checksum ensures the integrity of packages referenced by URL. Ignored for literals. properties: sum: type: string type: description: |- ChecksumType specifies the checksum algorithm, such as sha256, used for a checksum. type: string type: object literal: description: |- Literal contents of the package. Can be used for encoding packages below TODO (256 KB?) size. format: byte type: string type: description: |- Type defines how the package is specified: literal or URL. Available value: - literal - url type: string url: description: URL references a package. type: string type: object environment: description: Environment is a reference to the environment for building source archive. properties: name: type: string namespace: type: string required: - name - namespace type: object source: description: |- Source is the archive contains source code and dependencies file. If the package status is in PENDING state, builder manager will then notify builder to compile source and save the result as deployable archive. properties: checksum: description: |- Checksum ensures the integrity of packages referenced by URL. Ignored for literals. properties: sum: type: string type: description: |- ChecksumType specifies the checksum algorithm, such as sha256, used for a checksum. type: string type: object literal: description: |- Literal contents of the package. Can be used for encoding packages below TODO (256 KB?) size. format: byte type: string type: description: |- Type defines how the package is specified: literal or URL. Available value: - literal - url type: string url: description: URL references a package. type: string type: object required: - environment type: object status: description: Status indicates the build status of package. properties: buildlog: description: BuildLog stores build log during the compilation. type: string buildstatus: default: pending description: BuildStatus is the package build status. type: string lastUpdateTimestamp: description: |- LastUpdateTimestamp will store the timestamp the package was last updated metav1.Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. https://github.com/kubernetes/apimachinery/blob/44bd77c24ef93cd3a5eb6fef64e514025d10d44e/pkg/apis/meta/v1/time.go#L26-L35 format: date-time nullable: true type: string type: object required: - metadata - spec type: object served: true storage: true