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

Implement ko builder beta features #7131

Open
halvards opened this issue Feb 18, 2022 · 0 comments
Open

Implement ko builder beta features #7131

halvards opened this issue Feb 18, 2022 · 0 comments
Assignees
Labels
area/build builder/ko kind/design discussion kind/feature-request kind/todo implementation task/epic for the skaffold team ko priority/p2 May take a couple of releases

Comments

@halvards
Copy link
Contributor

Tracking issue for the ko builder beta features.

See the release plan in the design proposal for further details.

Related: #6041 (ko builder alpha tracking issue)

@halvards halvards self-assigned this Feb 18, 2022
@halvards halvards added area/build builder/ko kind/design discussion kind/feature-request kind/todo implementation task/epic for the skaffold team ko priority/p2 May take a couple of releases labels Feb 18, 2022
halvards added a commit to halvards/skaffold that referenced this issue Mar 15, 2022
Use a new logrus.Logger instance instead of the default logrus
singleton.

Relying on the default singleton is problematic when dependencies (or
transitive dependencies) also use logrus. When code paths in these
dependencies modify the default singleton, it also impacts Skaffold
logging.

I ran into this issue while trying to upgrade the `ko` dependency to
v0.10, and there was unwanted error-level log output messages from
`amazon-ecr-credential-helper`.

Context:
- ko-build/ko#586
- awslabs/amazon-ecr-credential-helper#309

This change also moves us closer to not leaking the logger
implementation dependency outside the `output/log` package.

Tracking: GoogleContainerTools#7131
halvards added a commit to halvards/skaffold that referenced this issue Mar 23, 2022
The new `ko` build option to produce SBOM is disabled until we
have a design for how this should work across Skaffold builders.

Additional transitive dependencies (mainly authentication libraries
for various image registries) means that the Skaffold binary grows
by about 4.8MB.

Related: GoogleContainerTools#7193
Tracking: GoogleContainerTools#7131
halvards added a commit to halvards/skaffold that referenced this issue Mar 24, 2022
The new `ko` build option to produce SBOM is disabled until we
have a design for how this should work across Skaffold builders.

Additional transitive dependencies (mainly authentication libraries
for various image registries) means that the Skaffold binary grows
by about 4.8MB.

The change to labels_test.go works around the tests failing due to
this change in `client-go` between `v0.21.3` and `v0.21.4`:
kubernetes/client-go@c6c0ca0
That commit came from this k/k PR:
kubernetes/kubernetes#102928

Related: GoogleContainerTools#7193
Tracking: GoogleContainerTools#7131
halvards added a commit to halvards/skaffold that referenced this issue Jul 15, 2022
Enables remote builds on Google Cloud Build when using the Skaffold `ko`
builder.

Since Skaffold embeds ko as a module, the Cloud Build step uses the
`skaffold` binary to build and push the image. This means that we don't
need to create and maintain a separate `ko` builder image.

Tracking: GoogleContainerTools#7131
Related: GoogleContainerTools#7258
halvards added a commit to halvards/skaffold that referenced this issue Jul 15, 2022
Enables remote builds on Google Cloud Build when using the Skaffold `ko`
builder.

Since Skaffold embeds ko as a module, the Cloud Build step uses the
`skaffold` binary to build and push the image. This means that we don't
need to create and maintain a separate `ko` builder image.

Tracking: GoogleContainerTools#7131
Related: GoogleContainerTools#7258
halvards added a commit to halvards/skaffold that referenced this issue Jul 15, 2022
Enables remote builds on Google Cloud Build when using the Skaffold `ko`
builder.

Since Skaffold embeds ko as a module, the Cloud Build step uses the
`skaffold` binary to build and push the image. This means that we don't
need to create and maintain a separate `ko` builder image.

Tracking: GoogleContainerTools#7131
Related: GoogleContainerTools#7258
tejal29 pushed a commit that referenced this issue Jul 18, 2022
Enables remote builds on Google Cloud Build when using the Skaffold `ko`
builder.

Since Skaffold embeds ko as a module, the Cloud Build step uses the
`skaffold` binary to build and push the image. This means that we don't
need to create and maintain a separate `ko` builder image.

Tracking: #7131
Related: #7258
halvards added a commit to halvards/skaffold that referenced this issue Jul 21, 2022
Adds the ko builder as an option when running `skaffold init` in a
directory containing Go code.

The ko builder will show up as an option for directories containing a
`go.mod` file.

The feature can be disabled by adding the `--XXenableKoInit=false` flag.

Tracking: GoogleContainerTools#7131
halvards added a commit to halvards/skaffold that referenced this issue Jul 21, 2022
Adds the ko builder as an option when running `skaffold init` in a
directory containing Go code.

The ko builder will show up as an option for directories containing a
`go.mod` file.

The feature can be disabled by adding the `--XXenableKoInit=false` flag.

Tracking: GoogleContainerTools#7131
halvards added a commit to halvards/skaffold that referenced this issue Jul 24, 2022
Use the flag `--XXenableKoInit` to enable the Ko builder when running
`skaffold init`.

Tracking: GoogleContainerTools#7131
tejal29 pushed a commit that referenced this issue Jul 26, 2022
* feat(ko): Init support for the ko builder

Adds the ko builder as an option when running `skaffold init` in a
directory containing Go code.

The ko builder will show up as an option for directories containing a
`go.mod` file.

The feature can be disabled by adding the `--XXenableKoInit=false` flag.

Tracking: #7131

* feat(ko): Disable ko builder init by default

Use the flag `--XXenableKoInit` to enable the Ko builder when running
`skaffold init`.

Tracking: #7131
halvards added a commit to halvards/skaffold that referenced this issue Aug 3, 2022
This change adds inferred file sync mode to the ko builder.

Skaffold syncs static assets from the workspace to a running
container, based on the `<importpath>/kodata/` convension:
https://github.com/google/ko#static-assets

Tracking: GoogleContainerTools#7131
halvards added a commit to halvards/skaffold that referenced this issue Aug 3, 2022
This change adds inferred file sync mode to the ko builder.

Skaffold syncs static assets from the workspace to a running
container, based on the `<importpath>/kodata/` convention:
https://github.com/google/ko#static-assets

Tracking: GoogleContainerTools#7131
halvards added a commit to halvards/skaffold that referenced this issue Aug 3, 2022
This change adds inferred file sync mode to the ko builder.

Skaffold syncs static assets from the workspace to a running
container, based on the `<importpath>/kodata/` convention:
https://github.com/google/ko#static-assets

Tracking: GoogleContainerTools#7131
halvards added a commit to halvards/skaffold that referenced this issue Aug 3, 2022
This change adds inferred file sync mode to the ko builder.

Skaffold syncs static assets from the workspace to a running
container, based on the `<importpath>/kodata/` convention:
https://github.com/google/ko#static-assets

Tracking: GoogleContainerTools#7131
halvards added a commit to halvards/skaffold that referenced this issue Aug 3, 2022
This change adds inferred file sync mode to the ko builder.

Skaffold syncs static assets from the workspace to a running
container, based on the `<importpath>/kodata/` convention:
https://github.com/google/ko#static-assets

Tracking: GoogleContainerTools#7131
tejal29 pushed a commit that referenced this issue Aug 12, 2022
This change adds inferred file sync mode to the ko builder.

Skaffold syncs static assets from the workspace to a running
container, based on the `<importpath>/kodata/` convention:
https://github.com/google/ko#static-assets

Tracking: #7131
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/build builder/ko kind/design discussion kind/feature-request kind/todo implementation task/epic for the skaffold team ko priority/p2 May take a couple of releases
Projects
None yet
Development

No branches or pull requests

1 participant