<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-virtualization.git/classes, branch nanbield</title>
<subtitle>Mirror of git.yoctoproject.org/meta-virtualization</subtitle>
<id>https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=nanbield</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=nanbield'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/'/>
<updated>2023-11-07T14:14:54+00:00</updated>
<entry>
<title>image-oci: map architectures using local function</title>
<updated>2023-11-07T14:14:54+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2023-11-07T14:14:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=0c785e1100862ed6280fa96a39b021bea08f7cd0'/>
<id>urn:sha1:0c785e1100862ed6280fa96a39b021bea08f7cd0</id>
<content type='text'>
commit 115f636 [classes/image-oci: Map image architecture correctly]
fixes architecture mapping, but uses a library function that isn't
available in nanbield.

We make a local copy of that go_arch mapping function and maintain
it locally, so we fix the architecture mapping exactly the same
way.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>classes/image-oci: Map image architecture correctly</title>
<updated>2023-11-06T16:21:12+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>JPEWhacker@gmail.com</email>
</author>
<published>2023-10-30T19:08:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=115f6367f37095415f289fb6981cda9608ac72ff'/>
<id>urn:sha1:115f6367f37095415f289fb6981cda9608ac72ff</id>
<content type='text'>
OCI requires that the architecture [1] be a valid GOARCH [2]. To
correctly perform this mapping, use the go library code from OE core.

[1]: https://github.com/opencontainers/image-spec/blob/main/config.md#properties
[2]: https://go.dev/doc/install/source#environment

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>classes/image-oci-umoci: Replace ":" in image file name</title>
<updated>2023-11-06T16:21:12+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>JPEWhacker@gmail.com</email>
</author>
<published>2023-10-04T16:02:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=4275f25388f13ffdd69a12c13e37f731c80e5126'/>
<id>urn:sha1:4275f25388f13ffdd69a12c13e37f731c80e5126</id>
<content type='text'>
The OCI_IMAGE_TAG variable can contain a ":" if the user wants to give
the image a name and a tag, as in:

    OCI_IMAGE_TAG = "${IMAGE_BASENAME}:latest"

However, while this is valid for tag name, the ":" is illegal in OCI
image file names so replace it with "_" when naming the symlinks

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>classes/image-oci-umoci: Allow labels to have spaces</title>
<updated>2023-11-06T16:21:12+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>JPEWhacker@gmail.com</email>
</author>
<published>2023-10-16T21:08:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=e133bbf7bb71387763a7b0c2df9c25e12a9e05c0'/>
<id>urn:sha1:e133bbf7bb71387763a7b0c2df9c25e12a9e05c0</id>
<content type='text'>
Quote the label argument passed to umoci to allow it to correctly handle
spaces. Note that this requires that OCI_IMAGE_LABELS have the argument
quoted with single quotes, as in:

    OCI_IMAGE_LABELS = "org.opencontainers.image.description='${SUMMARY}'"

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>classes/image-oci-umoci: Allow environment variables to have spaces</title>
<updated>2023-11-06T16:21:12+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>JPEWhacker@gmail.com</email>
</author>
<published>2023-10-16T21:34:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=d8a2857633ed3fc8c7589cf92ba1cf85fbaa4da0'/>
<id>urn:sha1:d8a2857633ed3fc8c7589cf92ba1cf85fbaa4da0</id>
<content type='text'>
Quote the environment variable argument passed to umoci to allow it to
correctly handle spaces. Note that this requires that OCI_IMAGE_ENV_VARS
have the argument quoted with single quotes, as in:

    OCI_IMAGE_ENV_VARS = "FOO='bar bat'"

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>umoci: allow encoding of multiple entrypoint or cmd arguments</title>
<updated>2023-11-06T16:21:12+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2023-10-16T18:13:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=2474e287c9c658c5ea9bb1b1c52fa37f60522221'/>
<id>urn:sha1:2474e287c9c658c5ea9bb1b1c52fa37f60522221</id>
<content type='text'>
umoci can encode both entrypoint and cmd lists into the oci image.

This is done by using the --config.entrypoint and --config.cmd arguments
multiple times.

We can split our OCI_* variables on space and support multiple arguments
in either command and keep compatibility with existing users.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>conf: make container recipes parseable when virtualization is not set</title>
<updated>2023-03-20T13:06:47+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2023-03-20T13:04:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=df08c3643f4a8920cd6ce90b8d6a5099d7543e61'/>
<id>urn:sha1:df08c3643f4a8920cd6ce90b8d6a5099d7543e61</id>
<content type='text'>
The container stack flexibilty features set defaults (like other
parts of the layer) when 'virtualization' is in the distro features.

That reqirement means that the recipes fail parsing and QA checks
when the distro feature isn't enabled.

The defaults are currently safe for a virtualization enabled and
disabled configuration, so we include them in either case.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>conf: introduce container configuration values</title>
<updated>2023-03-08T22:08:02+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2023-03-02T20:49:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=534e8b6ed7016aff57794dd66645556f5994d151'/>
<id>urn:sha1:534e8b6ed7016aff57794dd66645556f5994d151</id>
<content type='text'>
From the configuration file itself:

 These variables represent groupings of functionality in the CNCF
 landscape. In particular, they are areas where there is a choice
 between more than one implementation or an area where abstraction
 is beneficial.

 The contents of the variables are are runtime components that
 recipes may use for RDEPENDS.

 Build dependencies are not typically flexible, so do not currently
 have DEPENDS equivalents for the components (i.e. DEPENDS on runc
 versus crun).

 Distro features such as kubernetes or other container stacks
 can be used to set different defaults for these variables.

 Note: these are "global" values, since they represent choices.
 If more than of a grouping is required on target, then the variable
 can be appended or set to multiple values. That being said, Recipes
 should generally agree on the values, hence the global namespace.
 Recipe specific choices  can still be done, but they risk
 conflicting on target or causing runtime issues / errors.

 ## CNCF "components"

 # engines: docker-ce/docker-moby, virtual-containerd, cri-o, podman
 VIRTUAL-RUNTIME_container_engine ??= "podman"
 # runtime: runc, crun, runv, runx
 VIRTUAL-RUNTIME_container_runtime ??= "virtual-runc"
 # networking: cni, netavark
 VIRTUAL-RUNTIME_container_networking ??= "cni"
 # dns: cni, aardvark-dns
 VIRTUAL-RUNTIME_container_dns ??= "cni"
 # orchestration: k8s, k3s
 VIRTUAL-RUNTIME_container_orchestration ??= "k3s"

 ## Kubernetes terminology "components"

 VIRTUAL-RUNTIME_cri ??= "containerd"
 VIRTUAL-RUNTIME_cni ??= "cni"

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>containers: introduce container-host class</title>
<updated>2023-02-17T20:21:53+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2023-02-17T20:14:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=85beb6ba2810ebeda74bbb5dab405ec697b8da02'/>
<id>urn:sha1:85beb6ba2810ebeda74bbb5dab405ec697b8da02</id>
<content type='text'>
Introducing a small (at the moment) class that represents configuration
and processing required to prepare a target image to be a container
host.

A recipe that requires container configuration should inherit this
class, and the container-host-config package will be added as a
RDEPENDS, and install common configuration files.

In the future, additional functionality or dependencies will be added
here to synchronize the configuration of multiple container host
packages.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>oci-image: create two different tar outputs</title>
<updated>2023-02-10T17:36:11+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2022-12-09T23:21:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=16c89216dc24021f574e7740b9f8a6e4ed112b9c'/>
<id>urn:sha1:16c89216dc24021f574e7740b9f8a6e4ed112b9c</id>
<content type='text'>
The original tar output of the oci image followed the sloci-image
convention of putting the oci contents into a subdirectory in the
tarball. This allows it to work directly with skopeo, etc, but it
isn't the format that tools like podman expect in an oci-image
tarball.

We move the original format to have "-dir" in the name, and let
the more simply named one be the oci-image format as expcted by
various 3rd party tools

   1) image_name.tar: compatible with oci tar format, blobs and
      rootfs are at the top level. Can load directly from something like podman

   2) image_name-dir.tar: original format from meta-virt, is just a
      tar'd up oci image directory (compatible with skopeo :dir format)

We also fix a bug in the sloci-image backend, where the sloci tar
was removing the raw oci image directory leaving a dangling symlink.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
</feed>
