create org.osbuild.ostree.aleph stage
Similar to the aleph file created for builds of FCOS based on ostree commit inputs, this adds an aleph file that contains information about the initial deployment of data when the disk image was built A new stage is preferred here as both the org.osbuild.ostree.deploy and org.osbuild.ostree.deploy.container stages need an aleph file and use of the aleph file may depend on the project/product. For example, right now CoreOS is the only project that uses an aleph file, but others may want it in the future.
This commit is contained in:
parent
96ee2e4bc8
commit
5fc3b565a2
6 changed files with 215 additions and 0 deletions
|
|
@ -228,6 +228,34 @@ def deployment_path(root: PathLike, osname: str, ref: str, serial: int):
|
|||
return sysroot
|
||||
|
||||
|
||||
def parse_origin(origin: PathLike):
|
||||
"""Parse the origin file and return the deployment type and imgref
|
||||
|
||||
Example container case: container-image-reference=ostree-remote-image:fedora:docker://quay.io/fedora/fedora-coreos:stable
|
||||
Example ostree commit case: refspec=fedora:fedora/x86_64/coreos/stable
|
||||
"""
|
||||
deploy_type = ""
|
||||
imgref = ""
|
||||
with open(origin, "r", encoding="utf8") as f:
|
||||
for line in f:
|
||||
separated_line = line.split("=")
|
||||
if separated_line[0] == "container-image-reference":
|
||||
deploy_type = "container"
|
||||
imgref = separated_line[1].rstrip()
|
||||
break
|
||||
if separated_line[0] == "refspec":
|
||||
deploy_type = "ostree_commit"
|
||||
imgref = separated_line[1].rstrip()
|
||||
break
|
||||
|
||||
if deploy_type == "":
|
||||
raise ValueError("Could not find 'container-image-reference' or 'refspec' in origin file")
|
||||
if imgref == "":
|
||||
raise ValueError("Could not find imgref in origin file")
|
||||
|
||||
return deploy_type, imgref
|
||||
|
||||
|
||||
class PasswdLike:
|
||||
"""Representation of a file with structure like /etc/passwd
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue