-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
CI: Add container build #314
Conversation
Add a simple Dockerfile that can build kops, and a short README on how to build it. This generates a 425M image, which is about as tight as I could get it in a short amount of work without just busting apart the golang:1.6-alpine image to compress the Go layer itself. It's good enough for what I'm planning to use it for: CI builds. Along the way: Fix-up .gitignore to include more from k8s/.gitignore (include editor ones, and terraform output dir).
LGTM - thanks. Not sure I particularly care about image size - we can always just create a statically linked version of kops if needed and run with no OS at all. But I'm glad you do :-) |
Enh, the image size without Alpine and w/o pruning is into a whopping ~3GB or so. At that point I cared. Then it just became a game. :) |
But actually, having played with it on another project, the |
Contains the workaround for 1-year certificate expiry. Full changes * Release notes for 3.0.20200307 [kubernetes#303](kopeio/etcd-manager#303) * Add support for etcd 3.3.17 [kubernetes#304](kopeio/etcd-manager#304) * Adding client usage extension for server cert (kubernetes#305) [kubernetes#306](kopeio/etcd-manager#306) * Add a check to renew certificates on startup if they expire in 60 days or less [kubernetes#309](kopeio/etcd-manager#309) * Try github actions [kubernetes#310](kopeio/etcd-manager#310) * Upgrade bazel to 2.2.0 [kubernetes#311](kopeio/etcd-manager#311) * Update to go 1.13.10 [kubernetes#314](kopeio/etcd-manager#314) * Bazel: update dependency [kubernetes#316](kopeio/etcd-manager#316) * e2e tests should wait for cluster readiness [kubernetes#318](kopeio/etcd-manager#318) * Remove old bazel versions from travis [kubernetes#317](kopeio/etcd-manager#317) * Always renew certificates [kubernetes#313](kopeio/etcd-manager#313)
Contains the workaround for 1-year certificate expiry. Full changes * Release notes for 3.0.20200307 [kubernetes#303](kopeio/etcd-manager#303) * Add support for etcd 3.3.17 [kubernetes#304](kopeio/etcd-manager#304) * Adding client usage extension for server cert (kubernetes#305) [kubernetes#306](kopeio/etcd-manager#306) * Add a check to renew certificates on startup if they expire in 60 days or less [kubernetes#309](kopeio/etcd-manager#309) * Try github actions [kubernetes#310](kopeio/etcd-manager#310) * Upgrade bazel to 2.2.0 [kubernetes#311](kopeio/etcd-manager#311) * Update to go 1.13.10 [kubernetes#314](kopeio/etcd-manager#314) * Bazel: update dependency [kubernetes#316](kopeio/etcd-manager#316) * e2e tests should wait for cluster readiness [kubernetes#318](kopeio/etcd-manager#318) * Remove old bazel versions from travis [kubernetes#317](kopeio/etcd-manager#317) * Always renew certificates [kubernetes#313](kopeio/etcd-manager#313)
Contains the workaround for 1-year certificate expiry. Full changes * Release notes for 3.0.20200307 [kubernetes#303](kopeio/etcd-manager#303) * Add support for etcd 3.3.17 [kubernetes#304](kopeio/etcd-manager#304) * Adding client usage extension for server cert (kubernetes#305) [kubernetes#306](kopeio/etcd-manager#306) * Add a check to renew certificates on startup if they expire in 60 days or less [kubernetes#309](kopeio/etcd-manager#309) * Try github actions [kubernetes#310](kopeio/etcd-manager#310) * Upgrade bazel to 2.2.0 [kubernetes#311](kopeio/etcd-manager#311) * Update to go 1.13.10 [kubernetes#314](kopeio/etcd-manager#314) * Bazel: update dependency [kubernetes#316](kopeio/etcd-manager#316) * e2e tests should wait for cluster readiness [kubernetes#318](kopeio/etcd-manager#318) * Remove old bazel versions from travis [kubernetes#317](kopeio/etcd-manager#317) * Always renew certificates [kubernetes#313](kopeio/etcd-manager#313)
Contains the workaround for 1-year certificate expiry. Full changes * Release notes for 3.0.20200307 [kubernetes#303](kopeio/etcd-manager#303) * Add support for etcd 3.3.17 [kubernetes#304](kopeio/etcd-manager#304) * Adding client usage extension for server cert (kubernetes#305) [kubernetes#306](kopeio/etcd-manager#306) * Add a check to renew certificates on startup if they expire in 60 days or less [kubernetes#309](kopeio/etcd-manager#309) * Try github actions [kubernetes#310](kopeio/etcd-manager#310) * Upgrade bazel to 2.2.0 [kubernetes#311](kopeio/etcd-manager#311) * Update to go 1.13.10 [kubernetes#314](kopeio/etcd-manager#314) * Bazel: update dependency [kubernetes#316](kopeio/etcd-manager#316) * e2e tests should wait for cluster readiness [kubernetes#318](kopeio/etcd-manager#318) * Remove old bazel versions from travis [kubernetes#317](kopeio/etcd-manager#317) * Always renew certificates [kubernetes#313](kopeio/etcd-manager#313)
Contains the workaround for 1-year certificate expiry. Full changes * Release notes for 3.0.20200307 [kubernetes#303](kopeio/etcd-manager#303) * Add support for etcd 3.3.17 [kubernetes#304](kopeio/etcd-manager#304) * Adding client usage extension for server cert (kubernetes#305) [kubernetes#306](kopeio/etcd-manager#306) * Add a check to renew certificates on startup if they expire in 60 days or less [kubernetes#309](kopeio/etcd-manager#309) * Try github actions [kubernetes#310](kopeio/etcd-manager#310) * Upgrade bazel to 2.2.0 [kubernetes#311](kopeio/etcd-manager#311) * Update to go 1.13.10 [kubernetes#314](kopeio/etcd-manager#314) * Bazel: update dependency [kubernetes#316](kopeio/etcd-manager#316) * e2e tests should wait for cluster readiness [kubernetes#318](kopeio/etcd-manager#318) * Remove old bazel versions from travis [kubernetes#317](kopeio/etcd-manager#317) * Always renew certificates [kubernetes#313](kopeio/etcd-manager#313)
Contains the workaround for 1-year certificate expiry. Full changes * Release notes for 3.0.20200307 [kubernetes#303](kopeio/etcd-manager#303) * Add support for etcd 3.3.17 [kubernetes#304](kopeio/etcd-manager#304) * Adding client usage extension for server cert (kubernetes#305) [kubernetes#306](kopeio/etcd-manager#306) * Add a check to renew certificates on startup if they expire in 60 days or less [kubernetes#309](kopeio/etcd-manager#309) * Try github actions [kubernetes#310](kopeio/etcd-manager#310) * Upgrade bazel to 2.2.0 [kubernetes#311](kopeio/etcd-manager#311) * Update to go 1.13.10 [kubernetes#314](kopeio/etcd-manager#314) * Bazel: update dependency [kubernetes#316](kopeio/etcd-manager#316) * e2e tests should wait for cluster readiness [kubernetes#318](kopeio/etcd-manager#318) * Remove old bazel versions from travis [kubernetes#317](kopeio/etcd-manager#317) * Always renew certificates [kubernetes#313](kopeio/etcd-manager#313)
Contains the workaround for 1-year certificate expiry. Full changes * Release notes for 3.0.20200307 [kubernetes#303](kopeio/etcd-manager#303) * Add support for etcd 3.3.17 [kubernetes#304](kopeio/etcd-manager#304) * Adding client usage extension for server cert (kubernetes#305) [kubernetes#306](kopeio/etcd-manager#306) * Add a check to renew certificates on startup if they expire in 60 days or less [kubernetes#309](kopeio/etcd-manager#309) * Try github actions [kubernetes#310](kopeio/etcd-manager#310) * Upgrade bazel to 2.2.0 [kubernetes#311](kopeio/etcd-manager#311) * Update to go 1.13.10 [kubernetes#314](kopeio/etcd-manager#314) * Bazel: update dependency [kubernetes#316](kopeio/etcd-manager#316) * e2e tests should wait for cluster readiness [kubernetes#318](kopeio/etcd-manager#318) * Remove old bazel versions from travis [kubernetes#317](kopeio/etcd-manager#317) * Always renew certificates [kubernetes#313](kopeio/etcd-manager#313)
Add a simple Dockerfile that can build kops, and a short README on how
to build it. This generates a 425M image, which is about as tight as I
could get it in a short amount of work without just busting apart the
golang:1.6-alpine image to compress the Go layer itself. It's good
enough for what I'm planning to use it for: CI builds.
Along the way: Fix-up .gitignore to include more from k8s/.gitignore
(include editor ones, and terraform output dir).