object 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/>.
- Alphabetic
- By Inheritance
- DockerMetadata
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- type Command = String
-
case class
ContainerConfig(User: Option[String] = Some(""), Memory: Option[Int] = Some(0), MemorySwap: Option[Int] = Some(0), CpuShares: Option[Int] = Some(0), ExposedPorts: Option[Map[String, EmptyObject]] = None, Env: Option[List[String]] = Some(List.empty), Entrypoint: Option[List[String]] = Some(List.empty), Cmd: Option[List[String]] = Some(List.empty), Healthcheck: Option[HealthCheck] = None, Volumes: Option[Volumes] = Some(Map.empty), WorkingDir: Option[String] = Some(""), Domainname: Option[String] = Some(""), AttachStdout: Option[Boolean] = None, Hostname: Option[String] = Some(""), StdinOnce: Option[Boolean] = None, Labels: Option[Map[String, EmptyObject]] = None, AttachStderr: Option[Boolean] = None, OnBuild: Option[List[String]] = None, Tty: Option[Boolean] = None, OpenStdin: Option[Boolean] = None, Image: Option[String] = None, AttachStdin: Option[Boolean] = None, ArgsEscaped: Option[Boolean] = None) extends Product with Serializable
Container RunConfig Field Descriptions "The execution parameters which should be used as a base when running a container using the image."
- type ContainerID = String
- case class Digest(blobSum: String) extends Product with Serializable
- type DockerDate = LocalDateTime
- case class EmptyObject() extends Product with Serializable
-
case class
HealthCheck(Test: Option[List[String]], Interval: Option[Int], Timeout: Option[Int], Retries: Option[Int]) extends Product with Serializable
All HealthCheck's fields are optional as a field can be omitted to indicate that the value should be inherited from the base layer
-
case class
HistoryEntry(created: String, created_by: String, empty_layer: Option[Boolean], author: Option[String], comment: Option[String]) extends Product with Serializable
Most examples seem to have at least created and created_by fields populated
-
case class
ImageJSON(created: Option[DockerDate] = None, author: Option[String] = Some(""), architecture: Option[String] = Some(""), os: Option[String] = Some(""), config: Option[ContainerConfig] = Some(ContainerConfig()), rootfs: Option[RootFS] = Some(RootFS()), history: Option[List[HistoryEntry]] = Some(List.empty), id: Option[String], parent: Option[String], docker_version: Option[String] = None, container: Option[ContainerID] = None, container_config: Option[ContainerConfig] = None) extends Product with Serializable
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
- See also
https://github.com/moby/moby/blob/master/image/spec/v1.2.md
-
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]] = None) extends Product with Serializable
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
- See also
https://docs.docker.com/registry/spec/manifest-v2-1/
-
case class
JOSE(jwk: Option[JWK], alg: Option[String]) extends Product with Serializable
JSON Web Signature
JSON Web Signature
- See also
http://self-issued.info/docs/draft-ietf-jose-json-web-signature.html#rfc.section.4
-
case class
JWK(crv: Option[String], kid: Option[String], kty: Option[String], x: Option[String], y: Option[String]) extends Product with Serializable
JSON Web Key
JSON Web Key
- See also
http://self-issued.info/docs/draft-ietf-jose-json-web-signature.html#jwkDef
- case class RootFS(type: String = "layers", diff_ids: List[String] = List.empty) extends Product with Serializable
-
case class
Signature(header: Option[JOSE], signature: Option[String], protected: Option[String]) extends Product with Serializable
Support for signed manifests
Support for signed manifests
https://docs.docker.com/registry/spec/manifest-v2-1/#signed-manifests
-
case class
TopLevelImageManifest(Config: String, Layers: Vector[String], RepoTags: Vector[String], Parent: Option[String] = None) extends Product with Serializable
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).
- See also
https:://github.com/moby/moby/blob/master/image/spec/v1.2.md#combined-image-json--filesystem-changeset-format
- case class V1History(v1Compatibility: String) extends Product with Serializable
- type Volumes = Map[String, EmptyObject]
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- 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]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
- def containerConfig(manifest: ImageManifestV2Schema1): Option[ContainerConfig]
- implicit val decodeDate: Decoder[DockerDate]
- val dockerDateFormatter: DateTimeFormatter
- implicit val encodeDate: Encoder[DockerDate]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- implicit val historyEntryEncoder: Encoder[HistoryEntry]
- implicit val imageJSONDecoder: Decoder[ImageJSON]
- implicit val imageJSONEncoder: Encoder[ImageJSON]
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
- def v1HistoryToImageJson(manifest: ImageManifestV2Schema1, layersHash: Map[String, Option[String]]): ImageJSON
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.