DockerMetadata

container.DockerMetadata$

Copyright (C) 2017 Jonathan Passerat-Palmbach

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

case class ContainerConfig(User: Option[String], Memory: Option[Int], MemorySwap: Option[Int], CpuShares: Option[Int], ExposedPorts: Option[Map[String, EmptyObject]], Env: Option[List[String]], Entrypoint: Option[List[String]], Cmd: Option[List[String]], Healthcheck: Option[HealthCheck], Volumes: Option[Volumes], WorkingDir: Option[String], Domainname: Option[String], AttachStdout: Option[Boolean], Hostname: Option[String], StdinOnce: Option[Boolean], Labels: Option[Map[String, String]], AttachStderr: Option[Boolean], OnBuild: Option[List[String]], Tty: Option[Boolean], OpenStdin: Option[Boolean], Image: Option[String], AttachStdin: Option[Boolean], ArgsEscaped: Option[Boolean])

Container RunConfig Field Descriptions "The execution parameters which should be used as a base when running a container using the image."

Container RunConfig Field Descriptions "The execution parameters which should be used as a base when running a container using the image."

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Digest(blobSum: String)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class EmptyObject()

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class HealthCheck(Test: Option[List[String]], Interval: Option[Int], Timeout: Option[Int], Retries: Option[Int])

All HealthCheck's fields are optional as a field can be omitted to indicate that the value should be inherited from the base layer

All HealthCheck's fields are optional as a field can be omitted to indicate that the value should be inherited from the base layer

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class HistoryEntry(created: String, created_by: String, empty_layer: Option[Boolean], author: Option[String], comment: Option[String])

Most examples seem to have at least created and created_by fields populated

Most examples seem to have at least created and created_by fields populated

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ImageJSON(created: Option[String], author: Option[String], architecture: Option[String], os: Option[String], config: Option[ContainerConfig], rootfs: Option[RootFS], history: Option[List[HistoryEntry]], id: Option[String], parent: Option[String], docker_version: Option[String], container: Option[ContainerID], container_config: Option[ContainerConfig])

Image JSON (term from Terminology https://github.com/moby/moby/blob/master/image/spec/v1.2.md#terminology)

Image JSON (term from Terminology https://github.com/moby/moby/blob/master/image/spec/v1.2.md#terminology)

Representation of the metadata stored in the json file under the key Config in manifest.json

Attributes

See also
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ImageManifestV2Schema1(name: Option[String], tag: Option[String], architecture: Option[String], fsLayers: Option[List[Digest]], history: Option[List[V1History]], schemaVersion: Option[Int], signatures: Option[List[Signature]])

Registry image Manifest of an image in a repo according to Docker image spec v1

Registry image Manifest of an image in a repo according to Docker image spec v1

Attributes

See also
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class JOSE(jwk: Option[JWK], alg: Option[String])

JSON Web Signature

JSON Web Signature

Attributes

See also
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class JWK(crv: Option[String], kid: Option[String], kty: Option[String], x: Option[String], y: Option[String])

JSON Web Key

JSON Web Key

Attributes

See also
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class RootFS(`type`: String, diff_ids: List[String])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Signature(header: Option[JOSE], signature: Option[String], `protected`: Option[String])

Support for signed manifests

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class TopLevelImageManifest(Config: String, Layers: Vector[String], RepoTags: Vector[String], Parent: Option[String])

image JSON for the top-level image according to Docker Image spec v1.2

image JSON for the top-level image according to Docker Image spec v1.2

NOT TO BE confused with the distribution manifest, used to push and pull images

Usually presented in a Vector[TopLevelImageManifest] with one entry per image (current one + parent images it was derived from).

Attributes

See also

https:://github.com/moby/moby/blob/master/image/spec/v1.2.md#combined-image-json--filesystem-changeset-format

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class V1History(v1Compatibility: String)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Types

type Command = String
type ContainerID = String
type DockerDate = LocalDateTime
type Volumes = Map[String, EmptyObject]

Value members

Concrete methods

def v1HistoryToImageJson(manifest: ImageManifestV2Schema1, layersHash: Map[String, Option[String]]): ImageJSON

Concrete fields

val dockerDateFormatter: DateTimeFormatter

Implicits

Implicits

implicit val ContainerConfigDecoder: Decoder[ContainerConfig]
implicit val ContainerConfigEncoder: Encoder[ContainerConfig]
implicit val EmptyObjectDecoder: Decoder[EmptyObject]
implicit val EmptyObjectEncoder: Encoder[EmptyObject]
implicit val HealthCheckDecoder: Decoder[HealthCheck]
implicit val HealthCheckEncoder: Encoder[HealthCheck]
implicit val HistoryEntryDecoder: Decoder[HistoryEntry]
implicit val RootFSDecoder: Decoder[RootFS]
implicit val RootFSEncoder: Encoder[RootFS]
implicit val VolumesDecoder: Decoder[Volumes]
implicit val VolumesEncoder: Encoder[Volumes]
implicit val decodeDate: Decoder[DockerDate]
implicit val encodeDate: Encoder[DockerDate]
implicit val historyEntryEncoder: Encoder[HistoryEntry]
implicit val imageJSONDecoder: Decoder[ImageJSON]
implicit val imageJSONEncoder: Encoder[ImageJSON]