Bump the required osbuild version to v93 (due to the systemd units change). Pin the new osbuild version in Schutzfile. Update repo snapshots in Schutzfile due to osbuild v93 depending on new selinux-policy build.
47 lines
1.3 KiB
Go
47 lines
1.3 KiB
Go
package image
|
|
|
|
import (
|
|
"math/rand"
|
|
|
|
"github.com/osbuild/images/internal/environment"
|
|
"github.com/osbuild/images/internal/workload"
|
|
"github.com/osbuild/images/pkg/artifact"
|
|
"github.com/osbuild/images/pkg/manifest"
|
|
"github.com/osbuild/images/pkg/platform"
|
|
"github.com/osbuild/images/pkg/rpmmd"
|
|
"github.com/osbuild/images/pkg/runner"
|
|
)
|
|
|
|
type BaseContainer struct {
|
|
Base
|
|
Platform platform.Platform
|
|
OSCustomizations manifest.OSCustomizations
|
|
Environment environment.Environment
|
|
Workload workload.Workload
|
|
Filename string
|
|
}
|
|
|
|
func NewBaseContainer() *BaseContainer {
|
|
return &BaseContainer{
|
|
Base: NewBase("base-container"),
|
|
}
|
|
}
|
|
|
|
func (img *BaseContainer) InstantiateManifest(m *manifest.Manifest,
|
|
repos []rpmmd.RepoConfig,
|
|
runner runner.Runner,
|
|
rng *rand.Rand) (*artifact.Artifact, error) {
|
|
buildPipeline := manifest.NewBuild(m, runner, repos)
|
|
buildPipeline.Checkpoint()
|
|
|
|
osPipeline := manifest.NewOS(m, buildPipeline, img.Platform, repos)
|
|
osPipeline.OSCustomizations = img.OSCustomizations
|
|
osPipeline.Environment = img.Environment
|
|
osPipeline.Workload = img.Workload
|
|
|
|
ociPipeline := manifest.NewOCIContainer(buildPipeline, osPipeline)
|
|
ociPipeline.SetFilename(img.Filename)
|
|
artifact := ociPipeline.Export()
|
|
|
|
return artifact, nil
|
|
}
|