Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate alpha features #1111

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 29 additions & 13 deletions deploy/crds/shipwright.io_buildruns.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,11 @@ spec:
description: BuildSpec refers to an embedded build specification
properties:
builder:
description: Builder refers to the image containing the build
tools inside which the source code would be built.
description: "Builder refers to the image containing the build
tools inside which the source code would be built. \n NOTICE:
Builder is deprecated, and will be removed in a future release.
Build strategies which rely on \"builder\" should provide an
equivalent parameter instead."
properties:
annotations:
additionalProperties:
Expand Down Expand Up @@ -103,9 +106,11 @@ spec:
- image
type: object
dockerfile:
description: Dockerfile is the path to the Dockerfile to be used
description: "Dockerfile is the path to the Dockerfile to be used
for build strategies which bank on the Dockerfile for building
an image.
an image. \n NOTICE: Dockerfile is deprecated, and will be removed
in a future release. Build strategies which rely on \"dockerfile\"
should provide an equivalent parameter instead."
type: string
env:
description: Env contains additional environment variables that
Expand Down Expand Up @@ -419,8 +424,10 @@ spec:
type: string
type: object
sources:
description: Sources slice of BuildSource, defining external build
artifacts complementary to VCS (`.spec.source`) data.
description: "Sources slice of BuildSource, defining external
build artifacts complementary to VCS (`.spec.source`) data.
\n NOTICE: Multiple sources in a build are deprecated. This
feature will be removed in a future release."
items:
description: BuildSource remote artifact definition, also known
as "sources". Simple "name" and "url" pairs, initially without
Expand Down Expand Up @@ -2350,7 +2357,9 @@ spec:
be set if it is empty
properties:
generate:
description: If generates a new ServiceAccount for the build
description: "If generates a new ServiceAccount for the build
\n NOTICE: Generated ServiceAccounts are deprecated, and will
be removed in a future release."
type: boolean
name:
description: 'Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names'
Expand Down Expand Up @@ -3877,8 +3886,11 @@ spec:
description: BuildSpec is the Build Spec of this BuildRun.
properties:
builder:
description: Builder refers to the image containing the build
tools inside which the source code would be built.
description: "Builder refers to the image containing the build
tools inside which the source code would be built. \n NOTICE:
Builder is deprecated, and will be removed in a future release.
Build strategies which rely on \"builder\" should provide an
equivalent parameter instead."
properties:
annotations:
additionalProperties:
Expand Down Expand Up @@ -3908,9 +3920,11 @@ spec:
- image
type: object
dockerfile:
description: Dockerfile is the path to the Dockerfile to be used
description: "Dockerfile is the path to the Dockerfile to be used
for build strategies which bank on the Dockerfile for building
an image.
an image. \n NOTICE: Dockerfile is deprecated, and will be removed
in a future release. Build strategies which rely on \"dockerfile\"
should provide an equivalent parameter instead."
type: string
env:
description: Env contains additional environment variables that
Expand Down Expand Up @@ -4224,8 +4238,10 @@ spec:
type: string
type: object
sources:
description: Sources slice of BuildSource, defining external build
artifacts complementary to VCS (`.spec.source`) data.
description: "Sources slice of BuildSource, defining external
build artifacts complementary to VCS (`.spec.source`) data.
\n NOTICE: Multiple sources in a build are deprecated. This
feature will be removed in a future release."
items:
description: BuildSource remote artifact definition, also known
as "sources". Simple "name" and "url" pairs, initially without
Expand Down
23 changes: 16 additions & 7 deletions deploy/crds/shipwright.io_builds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,11 @@ spec:
description: BuildSpec defines the desired state of Build
properties:
builder:
description: Builder refers to the image containing the build tools
inside which the source code would be built.
description: "Builder refers to the image containing the build tools
inside which the source code would be built. \n NOTICE: Builder
is deprecated, and will be removed in a future release. Build strategies
which rely on \"builder\" should provide an equivalent parameter
instead."
properties:
annotations:
additionalProperties:
Expand Down Expand Up @@ -90,8 +93,11 @@ spec:
- image
type: object
dockerfile:
description: Dockerfile is the path to the Dockerfile to be used for
build strategies which bank on the Dockerfile for building an image.
description: "Dockerfile is the path to the Dockerfile to be used
for build strategies which bank on the Dockerfile for building an
image. \n NOTICE: Dockerfile is deprecated, and will be removed
in a future release. Build strategies which rely on \"dockerfile\"
should provide an equivalent parameter instead."
type: string
env:
description: Env contains additional environment variables that should
Expand Down Expand Up @@ -397,8 +403,10 @@ spec:
type: string
type: object
sources:
description: Sources slice of BuildSource, defining external build
artifacts complementary to VCS (`.spec.source`) data.
description: "Sources slice of BuildSource, defining external build
artifacts complementary to VCS (`.spec.source`) data. \n NOTICE:
Multiple sources in a build are deprecated. This feature will be
removed in a future release."
items:
description: BuildSource remote artifact definition, also known
as "sources". Simple "name" and "url" pairs, initially without
Expand Down Expand Up @@ -2010,7 +2018,8 @@ spec:
- strategy
type: object
status:
description: BuildStatus defines the observed state of Build
description: "BuildStatus defines the observed state of Build \n NOTICE:
This is deprecated and will be removed in a future release."
properties:
message:
description: The message of the registered Build, either an error
Expand Down
14 changes: 10 additions & 4 deletions docs/build.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ SPDX-License-Identifier: Apache-2.0
A `Build` resource allows the user to define:

- source
- sources
- sources (**this is deprecated, and will be removed in a future release**)
- strategy
- params
- builder
Expand All @@ -51,6 +51,8 @@ When the controller reconciles it:

## Build Validations

**Note: reported validations in build status are deprecated, and will be removed in a future release.**

To prevent users from triggering `BuildRuns` (_execution of a Build_) that will eventually fail because of wrong or missing dependencies or configuration settings, the Build controller will validate them in advance. If all validations are successful, users can expect a `Succeeded` `status.reason`. However, if any validations fail, users can rely on the `status.reason` and `status.message` fields to understand the root cause.

| Status.Reason | Description |
Expand Down Expand Up @@ -79,14 +81,14 @@ The `Build` definition supports the following fields:
- [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/#required-fields) - Metadata that identify the CRD instance, for example the name of the `Build`.
- `spec.source` - Refers to the location of the source code, for example a Git repository or source bundle image.
- `spec.strategy` - Refers to the `BuildStrategy` to be used, see the [examples](../samples/buildstrategy)
- `spec.builder.image` - Refers to the image containing the build tools to build the source code. (_Use this path for Dockerless strategies, this is just required for `source-to-image` buildStrategy_)
- `spec.builder.image` - Refers to the image containing the build tools to build the source code. (_Use this path for Dockerless strategies, this is just required for `source-to-image` buildStrategy_) **This field has been deprecated, and will be removed in a future release.**
- `spec.output`- Refers to the location where the generated image would be pushed.
- `spec.output.credentials.name`- Reference an existing secret to get access to the container registry.

- Optional:
- `spec.paramValues` - Refers to a name-value(s) list to specify values for `parameters` defined in the `BuildStrategy`.
- `spec.dockerfile` - Path to a Dockerfile to be used for building an image. (_Use this path for strategies that require a Dockerfile_)
- `spec.sources` - [Sources](#Sources) describes a slice of artifacts that will be imported into the project context before the actual build process starts.
- `spec.dockerfile` - Path to a Dockerfile to be used for building an image. (_Use this path for strategies that require a Dockerfile_). **This field has been deprecated, and will be removed in a future release.**
- `spec.sources` - [Sources](#Sources) describes a slice of artifacts that will be imported into the project context before the actual build process starts. **This field has been deprecated, and will be removed in a future release.**
- `spec.timeout` - Defines a custom timeout. The value needs to be parsable by [ParseDuration](https://golang.org/pkg/time/#ParseDuration), for example, `5m`. The default is ten minutes. You can overwrite the value in the `BuildRun`.
- `metadata.annotations[build.shipwright.io/build-run-deletion]` - Defines if delete all related BuildRuns when deleting the Build. The default is `false`.
- `spec.output.annotations` - Refers to a list of `key/value` that could be used to [annotate](https://github.com/opencontainers/image-spec/blob/main/annotations.md) the output image.
Expand Down Expand Up @@ -415,6 +417,8 @@ Here, we pass three items in the `build-args` array:

### Defining the Builder or Dockerfile

**Note: Builder and Dockerfile options are deprecated, and will be removed in a future release.**

In the `Build` resource, you use the `spec.builder` or `spec.dockerfile` parameters to specify the image that contains the tools to build the final image. For example, the following Build definition specifies a `Dockerfile` image.

```yaml
Expand Down Expand Up @@ -708,6 +712,8 @@ spec:

### Sources

**Note: This feature has been deprecated, and will be removed in a future release**.

Sources represent remote artifacts, as in external entities added to the build context before the actual Build starts. Therefore, you may employ `.spec.sources` to download artifacts from external repositories.

```yaml
Expand Down
2 changes: 1 addition & 1 deletion docs/buildrun.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ spec:
name: pipeline
```

You can also use set the `spec.serviceAccount.generate` path to `true`. This will generate the service account during runtime for you. The name of the generated service account is the name of the BuildRun.
You can also use set the `spec.serviceAccount.generate` path to `true`. This will generate the service account during runtime for you. The name of the generated service account is the name of the BuildRun. **This field is deprecated, and will be removed in a future release.**

_**Note**_: When the service account is not defined, the `BuildRun` uses the `pipeline` service account if it exists in the namespace, and falls back to the `default` service account.

Expand Down
2 changes: 2 additions & 0 deletions pkg/apis/build/v1alpha1/build_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ const LocalCopy BuildSourceType = "LocalCopy"

// HTTP defines a (HTTP) remote artifact, which will be downloaded into the build POD, right before
// the build process starts. Represents a remote dependency.
//
// NOTICE: HTTP artifact downloads are deprecated. This feature will be removed in a future release.
const HTTP BuildSourceType = "HTTP"

// BuildSource remote artifact definition, also known as "sources". Simple "name" and "url" pairs,
Expand Down
10 changes: 10 additions & 0 deletions pkg/apis/build/v1alpha1/build_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,8 @@ type BuildSpec struct {
// (`.spec.source`) data.
//
// +optional
//
// NOTICE: Multiple sources in a build are deprecated. This feature will be removed in a future release.
Comment on lines 120 to +122
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to work based on what I see being generated. For consistency, I would always have the "annotations" at the end.

Suggested change
// +optional
//
// NOTICE: Multiple sources in a build are deprecated. This feature will be removed in a future release.
// NOTICE: Multiple sources in a build are deprecated. This feature will be removed in a future release.
//
// +optional

Sources []BuildSource `json:"sources,omitempty"`

// Trigger defines the scenarios where a new build should be triggered.
Expand All @@ -132,13 +134,19 @@ type BuildSpec struct {
// Builder refers to the image containing the build tools inside which
// the source code would be built.
//
// NOTICE: Builder is deprecated, and will be removed in a future release.
// Build strategies which rely on "builder" should provide an equivalent parameter instead.
//
// +optional
Builder *Image `json:"builder,omitempty"`

// Dockerfile is the path to the Dockerfile to be used for
// build strategies which bank on the Dockerfile for building
// an image.
//
// NOTICE: Dockerfile is deprecated, and will be removed in a future release.
// Build strategies which rely on "dockerfile" should provide an equivalent parameter instead.
//
// +optional
Dockerfile *string `json:"dockerfile,omitempty"`

Expand Down Expand Up @@ -220,6 +228,8 @@ type Image struct {
}

// BuildStatus defines the observed state of Build
//
// NOTICE: This is deprecated and will be removed in a future release.
type BuildStatus struct {
// The Register status of the Build
// +optional
Expand Down
2 changes: 2 additions & 0 deletions pkg/apis/build/v1alpha1/buildrun_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,8 @@ type ServiceAccount struct {
// +optional
Name *string `json:"name,omitempty"`
// If generates a new ServiceAccount for the build
//
// NOTICE: Generated ServiceAccounts are deprecated, and will be removed in a future release.
// +optional
Generate *bool `json:"generate,omitempty"`
}
Expand Down