Commit Graph

31 Commits

Author SHA1 Message Date
Avi Deitcher
4f765b5da0 support --tag in build.yml for packages
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-12-23 17:28:49 +02:00
Avi Deitcher
6af6291afe add tag to args passed for package builds
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-04-16 13:52:49 +03:00
Avi Deitcher
4df07ddb6e add support for pkg release tags
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-11 10:07:43 +02:00
Avi Deitcher
0c31697e10 add support for specifying dockerfile in build process
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-02-21 21:15:08 +02:00
Avi Deitcher
de13ee521d include source repo, revision and go package version as build-args
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-06-08 18:24:25 +03:00
Avi Deitcher
0929aabe50 build directly with buildkit
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-06-28 10:36:30 +03:00
Avi Deitcher
cd5cea8c02 remove need for maintainers to build packages
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-05-23 20:24:07 -10:00
Yuri Volchkov
1a013f4424 Declare build-args in build.yml
This allows multiple build flavors for a single codebase, without
sacrificing reproducible builds. The build-args are set in build.yml,
which is typically under the source control (if it is not, then no
reproducible builds are possible anyways). Meaning that mutating
build-args would result in setting "dirty" flag.

Intended use of this commit is to switch between build flavors by
specifying a different yaml file (presumably also under the version
control)  by  `-build-yml` option.

Because it is impossible to build a final image from packages in
cache, the test for this feature relies on the `RUN echo $build-arg`
output during the `pkg build` process.

Signed-off-by: Yuri Volchkov <yuri@zededa.com>
2022-04-13 17:36:55 +00:00
Dave Tucker
28f43e8121 docs: Document --skip-arches
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2021-05-02 17:31:33 +01:00
Avi Deitcher
c8ef7d0eb0 cross build packages
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2021-04-21 13:03:26 +03:00
Dave Tucker
561ce6f4be Remove Notary and Content Trust
This commit removes Notary and Content Trust.
Notary v1 is due to be replaced with Notary v2 soon.
There is no clean migration path from one to the other.
For now, this removes all signing from LinuxKit.
We will look to add this back once a new Notary alternative
becomes available.

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2021-03-30 14:51:11 +01:00
Avi Deitcher
9633d23d37 write to cache
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2021-02-12 16:18:21 +02:00
Petr Fedchenkov
301e7ef13e
update to linuxkit/containerd:1ae8f054e9fe792d1dbdb9a65f1b5e14491cb106
Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>
2021-01-18 16:54:37 +03:00
Avi Deitcher
34373e3b52 describe how to sign tags manually
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2020-11-12 14:40:36 +02:00
Avi Deitcher
ea18be414e options to split image steps and manifest steps
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2020-05-24 16:23:46 +03:00
Avi Deitcher
fad3354448 Add docker-standard ftp_proxy/FTP_PROXY env var, and socks-standard all_proxy/ALL_PROXY
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2019-09-03 11:00:26 +03:00
Rolf Neugebauer
29dd9f2004 doc: Add 'sources' documentation
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-07-26 16:23:35 +01:00
Rolf Neugebauer
074ad8391c doc: Add s390x to packages doc
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-04-04 19:55:52 +01:00
Avi Deitcher
c9169cbc70 Add CI info and dependency to packages doc
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2018-03-08 08:33:26 +02:00
Ian Campbell
ce639e8080 linuxkit: implement docker image dependencies for pkg build.
This allows the `linuxkit/kubernetes` "image-cache" packages to use a standard
`linuxkit pkg build` based flow rather than requiring surrounding scaffolding.

Fixes #2766. Compared with the original (actually, the second) proposal made in
issue #2766, the field is `docker-images` rather than `images` to allow for
future inclusion of e.g. `containerd-images`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-12-04 14:14:45 +00:00
Ian Campbell
1f6c1a59ca linuxkit pkg: Add config field to build.yml
This is a `moby.ImageConfig` struct which is marshalled into JSON and added as
the `org.mobyproject.config` label on the built image.

Convert `pkg/sysctl` as PoC.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-28 12:01:39 +00:00
Justin Cormack
934450c697 Update docs to only say install linuxkit tool.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-11-20 23:49:17 +00:00
Ilya Dmitrichenko
490a4d4cd8
docs: Improve intro in packages.md
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-11-20 13:05:12 +00:00
Ian Campbell
dd8e3d49e8 linuxkit: allow user to configure a content trust passphrase command
Could be e.g.:
```
pkg:
  content-trust-passphrase-command: "lpass show <key> --password"
```
or
```
pkg:
  content-trust-passphrase-command: "gpg -d ~/.notary/passphrase.gpg"
```

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 11:41:22 +01:00
Ian Campbell
2f10af2bf3 linuxkit-push-manifest is no longer required in $PATH
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-09 11:25:20 +01:00
Ian Campbell
4cdc90e221 Build fields default to false, rename accordingly
Added some test cases for the boolean fields because I kept getting confused.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-06 17:43:38 +01:00
Ian Campbell
784c24817f Couple of documentation nits.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-06 14:55:49 +01:00
Ian Campbell
ba60937754 Implement package build, push and show-tag in linuxkit tool
This implements the proposal in #2564 and converts a handful of representative
or especially interesting (from a build PoV) packages to use it.

For now those pkg/* affected get a stub-`Makefile`, once all packages are
converted then `pkg/Makefile` can be adjusted and those stubs can be removed.

For now only `pkg/package.mk`'s functionality is implemented. In particular:

- `push-manifest.sh` remains a separate script, to enable calling it on systems
  with just the LinuxKit tools installed arrange to install it under a less
  generic name.
- `kernel` and `tools/alpine` do not use `pkg/package.mk` and those cases are
  not yet fully considered/covered.

I have updated the documentation assuming that the existing uses of
`pkg/package.mk` will be removed quite soon in a follow up PR rather than
trying to document the situation which results after just this commit.

Due to `cmd/linuxkit` now gaining a library the build needs adjusting slightly to
allow both `make bin/linuxkit` and `go build` to work.

`go vet` has forced me to write some rather asinine comments for things that
are rather obvious from the name.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-06 12:59:25 +01:00
Rolf Neugebauer
6c6a89f5fa docs: Clarify restrictions for packages builds/signing
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-07 20:36:25 +01:00
Rolf Neugebauer
ad09ebd493 build: Use master of manifest-tool
The PR to enable notary signing has been merged. Also update
documentation as `got get` should now also work.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-04 18:34:56 +01:00
Rolf Neugebauer
aa44e41587 docs: Update docs, add document about packages
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-03 17:46:10 +01:00