v1alpha1

package
v0.0.0-...-9202c9a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 9, 2024 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ConfigKind = "Config"
	API        = "ingest.nagare.media"
	Version    = "v1alpha1"
)

Functions

This section is empty.

Types

type App

type App struct {
	Name      string     `mapstructure:"name"`
	Functions []Function `mapstructure:"functions,omitempty"`

	HTTP *HTTPApp `mapstructure:"http,omitempty"`

	GenericServe *GenericServe `mapstructure:"genericServe,omitempty"`

	CMAFIngest       *CMAFIngest       `mapstructure:"cmafIngest,omitempty"`
	DASHAndHLSIngest *DASHAndHLSIngest `mapstructure:"dashAndHlsIngest,omitempty"`
}

type Auth

type Auth struct {
	Basic  *BasicAuth  `mapstructure:"basic,omitempty"`
	Digest *DigestAuth `mapstructure:"digest,omitempty"`
	Bearer *BearerAuth `mapstructure:"bearer,omitempty"`
}

type BasicAuth

type BasicAuth struct {
	Users []User `mapstructure:"users"`
}

type BearerAuth

type BearerAuth struct {
	Tokens []Token `mapstructure:"tokens"`
}

type CMAFIngest

type CMAFIngest struct {
	VolumeRef Reference `mapstructure:"volumeRef"`

	StreamTimeout      time.Duration     `mapstructure:"streamTimeout,omitempty"`
	MaxManifestSize    bytesize.ByteSize `mapstructure:"maxManifestSize,omitempty"`
	MaxHeaderSize      bytesize.ByteSize `mapstructure:"maxHeaderSize,omitempty"`
	MaxChunkHeaderSize bytesize.ByteSize `mapstructure:"maxChunkHeaderSize,omitempty"`
	MaxChunkMdatSize   bytesize.ByteSize `mapstructure:"maxChunkDataSize,omitempty"`
}

type CORS

type CORS struct {
	AllowOrigins     string `mapstructure:"AllowOrigins,omitempty"`
	AllowMethods     string `mapstructure:"AllowMethods,omitempty"`
	AllowHeaders     string `mapstructure:"AllowHeaders,omitempty"`
	AllowCredentials bool   `mapstructure:"AllowCredentials,omitempty"`
	ExposeHeaders    string `mapstructure:"ExposeHeaders,omitempty"`
	MaxAge           int    `mapstructure:"MaxAge,omitempty"`
}

type CleanupFunction

type CleanupFunction struct {
	Schedule   string        `mapstructure:"schedule"`
	VolumeRefs []Reference   `mapstructure:"volumeRefs"`
	Files      []string      `mapstructure:"files,omitempty"`
	Age        time.Duration `mapstructure:"age,omitempty"`
}

type CloudEventFunction

type CloudEventFunction struct {
}

type Config

type Config struct {
	APIVersion string `mapstructure:"apiVersion"`
	Kind       string `mapstructure:"kind"`

	Servers []Server `mapstructure:"servers,omitempty"`
	Volumes []Volume `mapstructure:"volumes,omitempty"`
}

type CopyFunction

type CopyFunction struct {
	VolumeRef Reference `mapstructure:"volumeRef"`
}

type DASHAndHLSIngest

type DASHAndHLSIngest struct {
	VolumeRef Reference `mapstructure:"volumeRef"`

	StreamTimeout           time.Duration     `mapstructure:"streamTimeout,omitempty"`
	ReleaseCompleteSegments bool              `mapstructure:"releaseCompleteSegments,omitempty"` // needs to be false for low latency mode
	RequestBodyBufferSize   bytesize.ByteSize `mapstructure:"requestBodyBufferSize,omitempty"`
	MaxManifestSize         bytesize.ByteSize `mapstructure:"maxManifestSize,omitempty"`
	MaxSegmentSize          bytesize.ByteSize `mapstructure:"maxSegmentSize,omitempty"`
	MaxEncryptionKeySize    bytesize.ByteSize `mapstructure:"maxEncryptionKeySize,omitempty"`
}

type DigestAuth

type DigestAuth struct {
	Realm string `mapstructure:"realm"`
	Users []User `mapstructure:"users"`
}

type FileSystemVolume

type FileSystemVolume struct {
	Path                     string        `mapstructure:"path"`
	GarbageCollectionPeriode time.Duration `mapstructure:"garbageCollectionPeriode,omitempty"`
}

type Function

type Function struct {
	Name string `mapstructure:"name"`

	Cleanup    *CleanupFunction    `mapstructure:"cleanup,omitempty"`
	CloudEvent *CloudEventFunction `mapstructure:"cloudEvent,omitempty"`
	Copy       *CopyFunction       `mapstructure:"copy,omitempty"`
	Manifest   *ManifestFunction   `mapstructure:"manifest,omitempty"`
}

type GenericServe

type GenericServe struct {
	AppRef     Reference   `mapstructure:"appRef"`
	VolumesRef []Reference `mapstructure:"volumeRefs"`

	DefaultMIMEType    string `mapstructure:"defaultMIMEType,omitempty"`
	UseXAccelHeader    bool   `mapstructure:"useXAccelHeader,omitempty"`
	UseXSendfileHeader bool   `mapstructure:"useXSendfileHeader,omitempty"`
}

type HTTPApp

type HTTPApp struct {
	Host string `mapstructure:"host,omitempty"`
	Path string `mapstructure:"path,omitempty"`
	Auth *Auth  `mapstructure:"auth,omitempty"`
	CORS *CORS  `mapstructure:"cors,omitempty"`
}

type HTTPServer

type HTTPServer struct {
	IdleTimeout time.Duration `mapstructure:"idleTimeout,omitempty"`
}

type ManifestFunction

type ManifestFunction struct {
	VolumeRef Reference `mapstructure:"volumeRef"`
}

type MemoryVolume

type MemoryVolume struct {
	BlockSize                bytesize.ByteSize `mapstructure:"blockSize,omitempty"`
	GarbageCollectionPeriode time.Duration     `mapstructure:"garbageCollectionPeriode,omitempty"`
}

type NullVolume

type NullVolume struct{}

type Reference

type Reference struct {
	Name string `mapstructure:"name"`
}

type S3Volume

type S3Volume struct {
	Path string `mapstructure:"path"`
}

type Server

type Server struct {
	Name    string `mapstructure:"name"`
	Address string `mapstructure:"address"`
	Network string `mapstructure:"network,omitempty"`
	Apps    []App  `mapstructure:"apps,omitempty"`

	HTTP *HTTPServer `mapstructure:"http,omitempty"`
}

type Token

type Token struct {
	Name string `mapstructure:"name"`
}

type User

type User struct {
	Name     string `mapstructure:"name"`
	Password string `mapstructure:"password"`
}

type Volume

type Volume struct {
	Name string `mapstructure:"name"`

	Null       *NullVolume       `mapstructure:"null,omitempty"`
	Memory     *MemoryVolume     `mapstructure:"mem,omitempty"`
	FileSystem *FileSystemVolume `mapstructure:"fs,omitempty"`
	S3         *S3Volume         `mapstructure:"s3,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL