CrazyMax
63073b65c0
dockerutil pkg to manage docker api client and context
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
Justin Chadwell
a50e89c38e
progress: explicitly fail if tty requested but not available
...
The NewPrinter function is mostly borrowed from buildkit. However, at
some point, it seems that the implementations drifted.
This patch updates buildx to be more similar in behavior to it's
buildkit counterpart, specifically, it will explicitly fail if a TTY
output is requested using "--progress=tty", but the output is not
available.
To gracefully fallback to plain progress in this scenario,
"--progress=plain" is required.
Signed-off-by: Justin Chadwell <me@jedevc.com>
2 years ago
Justin Chadwell
a4c3efe783
lint: add nolintlint and fix violations
...
We should be able to detect nolint comments that point to linters that
are disabled (such as with the removed structcheck).
Signed-off-by: Justin Chadwell <me@jedevc.com>
2 years ago
Justin Chadwell
966c4d4e14
invoke: load defaults from image config
...
If user does not specify image certain container parameters, we can load
them from the exporter metadata.
Additionally, we introduce a new "default" value for the --invoke flag,
that keeps all of the default parameters (since cobra does not have an
easy way of accepting an optional flag argument).
Signed-off-by: Justin Chadwell <me@jedevc.com>
2 years ago
Justin Chadwell
d01d394a2b
build: ensure consistent help messages for experimental cli help
...
Append an [experimental] tag to the end of each experimental command to
highlight that these are experimental options. Square brackets are used
instead of parentheses as parentheses are already in use to highlight
examples and defaults.
Signed-off-by: Justin Chadwell <me@jedevc.com>
2 years ago
Tonis Tiigi
fb5e1393a4
commands: use buildx env for experimental opt-in
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2 years ago
Tonis Tiigi
c834ba1389
add formatting support to print function
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2 years ago
Tonis Tiigi
eefa8188e1
build: add experimental support for print flag
...
Print flag can be used to make additional information
requests about the build and print their results.
Currently Dockerfile supports: outline, targets, subrequests.describe
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2 years ago
Kohei Tokunaga
2f9d46ce27
invoke: add messages
...
Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
2 years ago
Justin Chadwell
3b4780ef19
vendor: bump buildkit to master
...
Signed-off-by: Justin Chadwell <me@jedevc.com>
3 years ago
Kohei Tokunaga
387e1ecca6
Add `--invoke` option to launch a container from the build result
...
Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
3 years ago
CrazyMax
94c5dde85a
docs: small fixes
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
3 years ago
Tõnis Tiigi
6ac01ec9ac
Merge pull request #965 from tonistiigi/bake-context-validation
...
bake: additional support for named context on remote inputs
3 years ago
Tonis Tiigi
280c008f81
bake: make named contexts relative to remote bake input
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
3 years ago
Tonis Tiigi
b5bf28d722
bake: use better error in named contexts not supported
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
3 years ago
CrazyMax
230dfa96a3
docs: built-in build args
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
3 years ago
Tõnis Tiigi
eef6deb7c2
Merge pull request #860 from tonistiigi/no-cache-filter
...
build: add no-cache-filter
3 years ago
Tõnis Tiigi
e5f590a7fa
Merge pull request #946 from crazy-max/metadata-output
...
build: enhance metadata json output
3 years ago
CrazyMax
299fd19c49
build: enhance metadata json output
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
3 years ago
Tonis Tiigi
eb8057e8e0
forbid setting no-cache and no-cache-filter together
...
Per review request.
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
3 years ago
Tonis Tiigi
3b47722032
build: add no-cache-filter
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
3 years ago
CrazyMax
b39ebab666
docs: secret usage examples
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
3 years ago
Edgar Lee
2d7540fb0a
Separate io.Writer from console.File for NewPrinter
...
Signed-off-by: Edgar Lee <edgarl@netflix.com>
3 years ago
Tonis Tiigi
f37c253ae4
commands: provide more helpful error when —build-context is not supported
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
3 years ago
Tonis Tiigi
d77e2453da
commands: rename context flag to build-context
...
Avoid conflicts with docker context
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
3 years ago
Tonis Tiigi
de6b04d726
build: add support for named contexts
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
3 years ago
Tonis Tiigi
ed4103ef52
commands: build summary of warnings on build
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
3 years ago
Tonis Tiigi
cc2a879660
commands: clean up unnecessary code
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
3 years ago
CrazyMax
a0a7db127c
cli: fix flags usage
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
3 years ago
Tonis Tiigi
88d0775692
refactor accessing registry configs via drivers
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
3 years ago
Tonis Tiigi
aa52a5a699
build: set local sharedkey per project basename
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
3 years ago
CrazyMax
dd15969c93
build: add cgroup-parent support
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
3 years ago
CrazyMax
25d2f73858
build: warning on deprecated flags
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
3 years ago
CrazyMax
36a37a624e
refactor: flags lexical order
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
3 years ago
CrazyMax
8e5595b7c7
build: add shm-size support
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
3 years ago
CrazyMax
b89e2f35df
build: add ulimit support
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
3 years ago
CrazyMax
9e62c9f074
Fix --driver flag usage markdown output
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
3 years ago
Tõnis Tiigi
b05c313204
Merge pull request #740 from bossmc/support-quiet
...
Implement `--quiet` support
3 years ago
CrazyMax
8a12884814
Fix flags usage markdown output
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
3 years ago
Andy Caldwell
ef3e46fd62
Move printing to stdout up to the command itself
...
Signed-off-by: Andy Caldwell <andrew.caldwell@metaswitch.com>
3 years ago
Andy Caldwell
c19c018a4c
Implement `--quiet` support
...
Signed-off-by: Andy Caldwell <andrew.caldwell@metaswitch.com>
3 years ago
CrazyMax
3d1ab82dc6
Duplicated progress env var
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
4 years ago
Tonis Tiigi
9d88450118
enable opentelemetry support
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
4 years ago
CrazyMax
1253020b3d
Add metadata-file flag
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
4 years ago
Akihiro Suda
399df854ea
build: split buildflags package
...
Planned to be imported by nerdctl in future.
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
4 years ago
Alex Couture-Beil
eec843a325
include default ssh socket when given an ssh-based git url
...
Signed-off-by: Alex Couture-Beil <alex@earthly.dev>
4 years ago
Tonis Tiigi
4047bccf6c
docs: add external docs links support
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
4 years ago
Tonis Tiigi
dba79ba223
update lint to go1.16/golangci
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
4 years ago
CrazyMax
d05504c50f
Allow to set default progress through env var
...
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
4 years ago
Tonis Tiigi
1496ac9b55
util: simplify progress syncronization
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
4 years ago
Jean-Yves Gastaud
1f04ec9575
fixes #401
...
Replace error generated by `quiet` option by a warning.
Signed-off-by: Jean-Yves Gastaud <jygastaud@gmail.com>
4 years ago
Tonis Tiigi
18095ee87b
bake: reset no-cache and pull if not set
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
5 years ago
Tibor Vass
c4d07f67e3
commands: check if flag is set instead of using flagutil.Tristate
...
Fixes --pull and --no-cache without argument
Signed-off-by: Tibor Vass <tibor@docker.com>
5 years ago
Brian Goff
b2ec1d331c
Add builder as a global flag.
...
This allows all subcommands to use this flag.
Additionally reads the default value for the flag from the
`BUILDX_BUILDER` env var.
Precedence is:
CLI ARG > flag > env var > config file
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
5 years ago
Brian Goff
213d3af3b0
Add option to build/bake to override instance
...
This helps prevent race conditions with concurrent build invocations.
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
5 years ago
Tibor Vass
2a257a8252
bake: allow overriding no-cache and pull per target via --set
...
Signed-off-by: Tibor Vass <tibor@docker.com>
5 years ago
Tibor Vass
417f52e001
bake: add --load and --push shorthands for --set
...
Signed-off-by: Tibor Vass <tibor@docker.com>
5 years ago
Brian Goff
5e4444823c
build: only use env for args if set
...
When following this pattern:
buildx build --arg FOO
Where we want to pull `FOO` from env, currently we always set `FOO`
regardless if the `FOO` env var is even set.
This change makes it so that `FOO` would only be set if it has been set
in the env (even if it is set to empty).
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
5 years ago
Akihiro Suda
6b65b0c982
new driver: kubernetes
...
Tested with `kind` and GKE.
Note: "nodes" shown in `docker buildx ls` are unrelated to Kubernetes "nodes".
Probably buildx should come up with an alternative term.
Usage:
$ kind create cluster
$ export KUBECONFIG="$(kind get kubeconfig-path --name="kind")"
$ docker buildx create --driver kubernetes --driver-opt replicas=3 --use
$ docker buildx build -t foo --load .
`--load` loads the image into the local Docker.
Driver opts:
- `image=IMAGE` - Sets the container image to be used for running buildkit.
- `namespace=NS` - Sets the Kubernetes namespace. Defaults to the current namespace.
- `replicas=N` - Sets the number of `Pod` replicas. Defaults to 1.
- `rootless=(true|false)` - Run the container as a non-root user without `securityContext.privileged`. Defaults to false.
- `loadbalance=(sticky|random)` - Load-balancing strategy. If set to "sticky", the pod is chosen using the hash of the context path. Defaults to "sticky"
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
5 years ago
Tibor Vass
096d1befc9
Merge pull request #104 from tonistiigi/entitlements
...
build: add allowed entitlements
6 years ago
Tonis Tiigi
43150ef849
build: load default build args from env
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tonis Tiigi
6b81b0bed6
build: add allowed entitlements
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tibor Vass
715d38ff96
Merge pull request #75 from tonistiigi/update-buildkit
...
vendor: update buildkit to f238f1e
6 years ago
Tonis Tiigi
717a4afae0
build: add missing flags
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tonis Tiigi
b68b005f68
vendor: update buildkit to f238f1e
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tonis Tiigi
94a0422a1b
rename to docker/buildx
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tonis Tiigi
0398fa337b
build: multi-node build support
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tibor Vass
6e3dfe72cb
Merge pull request #31 from tonistiigi/platforms-fixes
...
fixes for managing platforms
6 years ago
Tonis Tiigi
96a148020a
build: add cache-from and cache-to support
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tonis Tiigi
e773d0eb2a
util: add platformutil
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tonis Tiigi
aa421f9c9e
build: add push and load flags
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tonis Tiigi
cac37434aa
build: add docker output for non-moby drivers
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tibor Vass
635e393ae5
build: handle --network
...
Signed-off-by: Tibor Vass <tibor@docker.com>
6 years ago
Tibor Vass
77ed999572
build: handle --add-host
...
Signed-off-by: Tibor Vass <tibor@docker.com>
6 years ago
Tibor Vass
dc07613bd2
build: support more variations on context and dockerfile + iidfile
...
Signed-off-by: Tibor Vass <tibor@docker.com>
6 years ago
Tibor Vass
81b35147e4
build: do not error out if --network is default
...
Signed-off-by: Tibor Vass <tibor@docker.com>
6 years ago
Tonis Tiigi
103b452876
commands: add missing flags as hidden in build
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tonis Tiigi
bd3d5cd19e
commands: add implementations for create, use, rm, stop
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tonis Tiigi
a932d52e35
bake: initial implementation
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tonis Tiigi
15dae19cf8
driver: add client method
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tonis Tiigi
a6d893efca
driver: add logging support to bootstrap
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tonis Tiigi
f302881c0d
driver: start implemeting bootstrap for docker
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago
Tonis Tiigi
4b0c0468d0
build: basis of build command
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
6 years ago