From 07dba5d9fe302c6e41aea8983427c5edda8eb83f Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Mon, 4 Apr 2022 20:17:39 +0200 Subject: [PATCH] api: docs: improve documentation of ContainerConfig type (API v1.30-v1.41) ContainerConfig is used in multiple locations (for example, both for Image.Config and Image.ContainerConfig). Unfortunately, swagger does not allow documenting individual uses if a type is used; for this type, the content is _optional_ when used as Image.ContainerConfig (which is set by the classic builder, which does a "commit" of a container, but not used when building an image with BuildKit). This patch attempts to address this confusion by documenting that "it may be empty (or fields not propagated) if it's used for the Image.ContainerConfig field". Perhaps alternatives are possible (aliasing the type?) but we can look at those in a follow-up. Signed-off-by: Sebastiaan van Stijn --- docs/api/v1.30.yaml | 10 +++++++++- docs/api/v1.31.yaml | 10 +++++++++- docs/api/v1.32.yaml | 10 +++++++++- docs/api/v1.33.yaml | 10 +++++++++- docs/api/v1.34.yaml | 10 +++++++++- docs/api/v1.35.yaml | 10 +++++++++- docs/api/v1.36.yaml | 10 +++++++++- docs/api/v1.37.yaml | 10 +++++++++- docs/api/v1.38.yaml | 10 +++++++++- docs/api/v1.39.yaml | 7 +++++++ docs/api/v1.40.yaml | 7 +++++++ docs/api/v1.41.yaml | 7 +++++++ 12 files changed, 102 insertions(+), 9 deletions(-) diff --git a/docs/api/v1.30.yaml b/docs/api/v1.30.yaml index db609e76ae..42967f4553 100644 --- a/docs/api/v1.30.yaml +++ b/docs/api/v1.30.yaml @@ -757,7 +757,15 @@ definitions: - "hyperv" ContainerConfig: - description: "Configuration for a container that is portable between hosts" + description: | + Configuration for a container that is portable between hosts. + + When used as `ContainerConfig` field in an image, `ContainerConfig` is an + optional field containing the configuration of the container that was last + committed when creating the image. + + Previous versions of Docker builder used this field to store build cache, + and it is not in active use anymore. type: "object" properties: Hostname: diff --git a/docs/api/v1.31.yaml b/docs/api/v1.31.yaml index 0f676395ea..ce2022adb9 100644 --- a/docs/api/v1.31.yaml +++ b/docs/api/v1.31.yaml @@ -758,7 +758,15 @@ definitions: - "hyperv" ContainerConfig: - description: "Configuration for a container that is portable between hosts" + description: | + Configuration for a container that is portable between hosts. + + When used as `ContainerConfig` field in an image, `ContainerConfig` is an + optional field containing the configuration of the container that was last + committed when creating the image. + + Previous versions of Docker builder used this field to store build cache, + and it is not in active use anymore. type: "object" properties: Hostname: diff --git a/docs/api/v1.32.yaml b/docs/api/v1.32.yaml index 154ffd936d..220ccc0041 100644 --- a/docs/api/v1.32.yaml +++ b/docs/api/v1.32.yaml @@ -821,7 +821,15 @@ definitions: - "hyperv" ContainerConfig: - description: "Configuration for a container that is portable between hosts" + description: | + Configuration for a container that is portable between hosts. + + When used as `ContainerConfig` field in an image, `ContainerConfig` is an + optional field containing the configuration of the container that was last + committed when creating the image. + + Previous versions of Docker builder used this field to store build cache, + and it is not in active use anymore. type: "object" properties: Hostname: diff --git a/docs/api/v1.33.yaml b/docs/api/v1.33.yaml index 00293dd092..8372356fb1 100644 --- a/docs/api/v1.33.yaml +++ b/docs/api/v1.33.yaml @@ -826,7 +826,15 @@ definitions: - "hyperv" ContainerConfig: - description: "Configuration for a container that is portable between hosts" + description: | + Configuration for a container that is portable between hosts. + + When used as `ContainerConfig` field in an image, `ContainerConfig` is an + optional field containing the configuration of the container that was last + committed when creating the image. + + Previous versions of Docker builder used this field to store build cache, + and it is not in active use anymore. type: "object" properties: Hostname: diff --git a/docs/api/v1.34.yaml b/docs/api/v1.34.yaml index 7247b03a8e..35ebb43ed1 100644 --- a/docs/api/v1.34.yaml +++ b/docs/api/v1.34.yaml @@ -837,7 +837,15 @@ definitions: - "hyperv" ContainerConfig: - description: "Configuration for a container that is portable between hosts" + description: | + Configuration for a container that is portable between hosts. + + When used as `ContainerConfig` field in an image, `ContainerConfig` is an + optional field containing the configuration of the container that was last + committed when creating the image. + + Previous versions of Docker builder used this field to store build cache, + and it is not in active use anymore. type: "object" properties: Hostname: diff --git a/docs/api/v1.35.yaml b/docs/api/v1.35.yaml index c2ec825afc..353bd7b90a 100644 --- a/docs/api/v1.35.yaml +++ b/docs/api/v1.35.yaml @@ -817,7 +817,15 @@ definitions: - "hyperv" ContainerConfig: - description: "Configuration for a container that is portable between hosts" + description: | + Configuration for a container that is portable between hosts. + + When used as `ContainerConfig` field in an image, `ContainerConfig` is an + optional field containing the configuration of the container that was last + committed when creating the image. + + Previous versions of Docker builder used this field to store build cache, + and it is not in active use anymore. type: "object" properties: Hostname: diff --git a/docs/api/v1.36.yaml b/docs/api/v1.36.yaml index 371eddd030..880ad31e96 100644 --- a/docs/api/v1.36.yaml +++ b/docs/api/v1.36.yaml @@ -817,7 +817,15 @@ definitions: - "hyperv" ContainerConfig: - description: "Configuration for a container that is portable between hosts" + description: | + Configuration for a container that is portable between hosts. + + When used as `ContainerConfig` field in an image, `ContainerConfig` is an + optional field containing the configuration of the container that was last + committed when creating the image. + + Previous versions of Docker builder used this field to store build cache, + and it is not in active use anymore. type: "object" properties: Hostname: diff --git a/docs/api/v1.37.yaml b/docs/api/v1.37.yaml index 4d0d6b2d02..de9183cdef 100644 --- a/docs/api/v1.37.yaml +++ b/docs/api/v1.37.yaml @@ -821,7 +821,15 @@ definitions: - "hyperv" ContainerConfig: - description: "Configuration for a container that is portable between hosts" + description: | + Configuration for a container that is portable between hosts. + + When used as `ContainerConfig` field in an image, `ContainerConfig` is an + optional field containing the configuration of the container that was last + committed when creating the image. + + Previous versions of Docker builder used this field to store build cache, + and it is not in active use anymore. type: "object" properties: Hostname: diff --git a/docs/api/v1.38.yaml b/docs/api/v1.38.yaml index d1c64959f0..b30e410fd0 100644 --- a/docs/api/v1.38.yaml +++ b/docs/api/v1.38.yaml @@ -832,7 +832,15 @@ definitions: type: "string" ContainerConfig: - description: "Configuration for a container that is portable between hosts" + description: | + Configuration for a container that is portable between hosts. + + When used as `ContainerConfig` field in an image, `ContainerConfig` is an + optional field containing the configuration of the container that was last + committed when creating the image. + + Previous versions of Docker builder used this field to store build cache, + and it is not in active use anymore. type: "object" properties: Hostname: diff --git a/docs/api/v1.39.yaml b/docs/api/v1.39.yaml index c8fd3f0f20..1fb250afbd 100644 --- a/docs/api/v1.39.yaml +++ b/docs/api/v1.39.yaml @@ -1067,6 +1067,13 @@ definitions: ContainerConfig: description: | Configuration for a container that is portable between hosts. + + When used as `ContainerConfig` field in an image, `ContainerConfig` is an + optional field containing the configuration of the container that was last + committed when creating the image. + + Previous versions of Docker builder used this field to store build cache, + and it is not in active use anymore. type: "object" properties: Hostname: diff --git a/docs/api/v1.40.yaml b/docs/api/v1.40.yaml index b82b2556d1..76fd239f46 100644 --- a/docs/api/v1.40.yaml +++ b/docs/api/v1.40.yaml @@ -1128,6 +1128,13 @@ definitions: ContainerConfig: description: | Configuration for a container that is portable between hosts. + + When used as `ContainerConfig` field in an image, `ContainerConfig` is an + optional field containing the configuration of the container that was last + committed when creating the image. + + Previous versions of Docker builder used this field to store build cache, + and it is not in active use anymore. type: "object" properties: Hostname: diff --git a/docs/api/v1.41.yaml b/docs/api/v1.41.yaml index 2793e04679..91062d8d68 100644 --- a/docs/api/v1.41.yaml +++ b/docs/api/v1.41.yaml @@ -1160,6 +1160,13 @@ definitions: ContainerConfig: description: | Configuration for a container that is portable between hosts. + + When used as `ContainerConfig` field in an image, `ContainerConfig` is an + optional field containing the configuration of the container that was last + committed when creating the image. + + Previous versions of Docker builder used this field to store build cache, + and it is not in active use anymore. type: "object" properties: Hostname: