|
Packit |
63bb0d |
package worker
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
import (
|
|
Packit Service |
509fd4 |
"encoding/json"
|
|
Packit |
63bb0d |
|
|
Packit Service |
509fd4 |
"github.com/google/uuid"
|
|
Packit |
63bb0d |
"github.com/osbuild/osbuild-composer/internal/distro"
|
|
Packit Service |
509fd4 |
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
|
Packit |
63bb0d |
"github.com/osbuild/osbuild-composer/internal/target"
|
|
Packit |
63bb0d |
)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
//
|
|
Packit |
63bb0d |
// JSON-serializable types for the jobqueue
|
|
Packit |
63bb0d |
//
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
type OSBuildJob struct {
|
|
Packit Service |
509fd4 |
Manifest distro.Manifest `json:"manifest"`
|
|
Packit Service |
509fd4 |
Targets []*target.Target `json:"targets,omitempty"`
|
|
Packit Service |
509fd4 |
ImageName string `json:"image_name,omitempty"`
|
|
Packit Service |
509fd4 |
StreamOptimized bool `json:"stream_optimized,omitempty"`
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
type OSBuildJobResult struct {
|
|
Packit Service |
509fd4 |
Success bool `json:"success"`
|
|
Packit Service |
509fd4 |
OSBuildOutput *osbuild.Result `json:"osbuild_output,omitempty"`
|
|
Packit Service |
509fd4 |
TargetErrors []string `json:"target_errors,omitempty"`
|
|
Packit Service |
509fd4 |
}
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
type KojiInitJob struct {
|
|
Packit Service |
509fd4 |
Server string `json:"server"`
|
|
Packit Service |
509fd4 |
Name string `json:"name"`
|
|
Packit Service |
509fd4 |
Version string `json:"version"`
|
|
Packit Service |
509fd4 |
Release string `json:"release"`
|
|
Packit Service |
509fd4 |
}
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
type KojiInitJobResult struct {
|
|
Packit Service |
509fd4 |
BuildID uint64 `json:"build_id"`
|
|
Packit Service |
509fd4 |
Token string `json:"token"`
|
|
Packit Service |
509fd4 |
KojiError string `json:"koji_error"`
|
|
Packit Service |
509fd4 |
}
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
type OSBuildKojiJob struct {
|
|
Packit Service |
509fd4 |
Manifest distro.Manifest `json:"manifest"`
|
|
Packit Service |
509fd4 |
ImageName string `json:"image_name"`
|
|
Packit Service |
509fd4 |
KojiServer string `json:"koji_server"`
|
|
Packit Service |
509fd4 |
KojiDirectory string `json:"koji_directory"`
|
|
Packit Service |
509fd4 |
KojiFilename string `json:"koji_filename"`
|
|
Packit Service |
509fd4 |
}
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
type OSBuildKojiJobResult struct {
|
|
Packit Service |
509fd4 |
HostOS string `json:"host_os"`
|
|
Packit Service |
509fd4 |
Arch string `json:"arch"`
|
|
Packit Service |
509fd4 |
OSBuildOutput *osbuild.Result `json:"osbuild_output"`
|
|
Packit Service |
509fd4 |
ImageHash string `json:"image_hash"`
|
|
Packit Service |
509fd4 |
ImageSize uint64 `json:"image_size"`
|
|
Packit Service |
509fd4 |
KojiError string `json:"koji_error"`
|
|
Packit Service |
509fd4 |
}
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
type KojiFinalizeJob struct {
|
|
Packit Service |
509fd4 |
Server string `json:"server"`
|
|
Packit Service |
509fd4 |
Name string `json:"name"`
|
|
Packit Service |
509fd4 |
Version string `json:"version"`
|
|
Packit Service |
509fd4 |
Release string `json:"release"`
|
|
Packit Service |
509fd4 |
KojiFilenames []string `json:"koji_filenames"`
|
|
Packit Service |
509fd4 |
KojiDirectory string `json:"koji_directory"`
|
|
Packit Service |
509fd4 |
TaskID uint64 `json:"task_id"` /* https://pagure.io/koji/issue/215 */
|
|
Packit Service |
509fd4 |
StartTime uint64 `json:"start_time"`
|
|
Packit Service |
509fd4 |
}
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
type KojiFinalizeJobResult struct {
|
|
Packit Service |
509fd4 |
KojiError string `json:"koji_error"`
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
//
|
|
Packit |
63bb0d |
// JSON-serializable types for the HTTP API
|
|
Packit |
63bb0d |
//
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
type statusResponse struct {
|
|
Packit |
63bb0d |
Status string `json:"status"`
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit Service |
509fd4 |
type requestJobResponse struct {
|
|
Packit Service |
509fd4 |
Id uuid.UUID `json:"id"`
|
|
Packit Service |
509fd4 |
Location string `json:"location"`
|
|
Packit Service |
509fd4 |
ArtifactLocation string `json:"artifact_location"`
|
|
Packit Service |
509fd4 |
Type string `json:"type"`
|
|
Packit Service |
509fd4 |
Args json.RawMessage `json:"args,omitempty"`
|
|
Packit Service |
509fd4 |
DynamicArgs []json.RawMessage `json:"dynamic_args,omitempty"`
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit Service |
509fd4 |
type getJobResponse struct {
|
|
Packit Service |
509fd4 |
Canceled bool `json:"canceled"`
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
type updateJobRequest struct {
|
|
Packit Service |
509fd4 |
Result json.RawMessage `json:"result"`
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
type updateJobResponse struct {
|
|
Packit |
63bb0d |
}
|