{
  "configs": {
    "config1": {
      "file": "/foo/config_data",
      "external": false,
      "labels": {
        "foo": "bar"
      }
    },
    "config2": {
      "name": "my_config",
      "external": true
    },
    "config3": {
      "name": "config3",
      "external": true
    },
    "config4": {
      "name": "foo",
      "file": "/foo",
      "external": false
    }
  },
  "networks": {
    "external-network": {
      "name": "external-network",
      "ipam": {},
      "external": true
    },
    "other-external-network": {
      "name": "my-cool-network",
      "ipam": {},
      "external": true
    },
    "other-network": {
      "driver": "overlay",
      "driver_opts": {
        "baz": "1",
        "foo": "bar"
      },
      "ipam": {
        "driver": "overlay",
        "config": [
          {
            "subnet": "172.16.238.0/24"
          },
          {
            "subnet": "2001:3984:3989::/64"
          }
        ]
      },
      "external": false,
      "labels": {
        "foo": "bar"
      }
    },
    "some-network": {
      "ipam": {},
      "external": false
    }
  },
  "secrets": {
    "secret1": {
      "file": "/foo/secret_data",
      "external": false,
      "labels": {
        "foo": "bar"
      }
    },
    "secret2": {
      "name": "my_secret",
      "external": true
    },
    "secret3": {
      "name": "secret3",
      "external": true
    },
    "secret4": {
      "name": "bar",
      "file": "/foo",
      "external": false
    }
  },
  "services": {
    "foo": {
      "build": {
        "context": "./dir",
        "dockerfile": "Dockerfile",
        "args": {
          "foo": "bar"
        },
        "labels": {
          "FOO": "BAR"
        },
        "cache_from": [
          "foo",
          "bar"
        ],
        "extra_hosts": [
          "ipv4.example.com:127.0.0.1",
          "ipv6.example.com:::1"
        ],
        "network": "foo",
        "target": "foo"
      },
      "cap_add": [
        "ALL"
      ],
      "cap_drop": [
        "NET_ADMIN",
        "SYS_ADMIN"
      ],
      "cgroup_parent": "m-executor-abcd",
      "command": [
        "bundle",
        "exec",
        "thin",
        "-p",
        "3000"
      ],
      "configs": [
        {
          "source": "config1"
        },
        {
          "source": "config2",
          "target": "/my_config",
          "uid": "103",
          "gid": "103",
          "mode": 288
        }
      ],
      "container_name": "my-web-container",
      "credential_spec": {},
      "depends_on": [
        "db",
        "redis"
      ],
      "deploy": {
        "mode": "replicated",
        "replicas": 6,
        "labels": {
          "FOO": "BAR"
        },
        "update_config": {
          "parallelism": 3,
          "delay": "10s",
          "failure_action": "continue",
          "monitor": "1m0s",
          "max_failure_ratio": 0.3,
          "order": "start-first"
        },
        "rollback_config": {
          "parallelism": 3,
          "delay": "10s",
          "failure_action": "continue",
          "monitor": "1m0s",
          "max_failure_ratio": 0.3,
          "order": "start-first"
        },
        "resources": {
          "limits": {
            "cpus": "0.001",
            "memory": "52428800",
            "pids": 100
          },
          "reservations": {
            "cpus": "0.0001",
            "memory": "20971520",
            "generic_resources": [
              {
                "discrete_resource_spec": {
                  "kind": "gpu",
                  "value": 2
                }
              },
              {
                "discrete_resource_spec": {
                  "kind": "ssd",
                  "value": 1
                }
              }
            ]
          }
        },
        "restart_policy": {
          "condition": "on-failure",
          "delay": "5s",
          "max_attempts": 3,
          "window": "2m0s"
        },
        "placement": {
          "constraints": [
            "node=foo"
          ],
          "preferences": [
            {
              "spread": "node.labels.az"
            }
          ],
          "max_replicas_per_node": 5
        },
        "endpoint_mode": "dnsrr"
      },
      "devices": [
        "/dev/ttyUSB0:/dev/ttyUSB0"
      ],
      "dns": [
        "8.8.8.8",
        "9.9.9.9"
      ],
      "dns_search": [
        "dc1.example.com",
        "dc2.example.com"
      ],
      "domainname": "foo.com",
      "entrypoint": [
        "/code/entrypoint.sh",
        "-p",
        "3000"
      ],
      "environment": {
        "BAR": "bar_from_env_file_2",
        "BAZ": "baz_from_service_def",
        "FOO": "foo_from_env_file",
        "QUX": "qux_from_environment"
      },
      "env_file": [
        "./example1.env",
        "./example2.env"
      ],
      "expose": [
        "3000",
        "8000"
      ],
      "external_links": [
        "redis_1",
        "project_db_1:mysql",
        "project_db_1:postgresql"
      ],
      "extra_hosts": [
        "somehost:162.242.195.82",
        "otherhost:50.31.209.229",
        "host.docker.internal:host-gateway"
      ],
      "hostname": "foo",
      "healthcheck": {
        "test": [
          "CMD-SHELL",
          "echo \"hello world\""
        ],
        "timeout": "1s",
        "interval": "10s",
        "retries": 5,
        "start_period": "15s",
        "start_interval": "1s"
      },
      "image": "redis",
      "ipc": "host",
      "labels": {
        "com.example.description": "Accounting webapp",
        "com.example.empty-label": "",
        "com.example.number": "42"
      },
      "links": [
        "db",
        "db:database",
        "redis"
      ],
      "logging": {
        "driver": "syslog",
        "options": {
          "syslog-address": "tcp://192.168.0.42:123"
        }
      },
      "mac_address": "02:42:ac:11:65:43",
      "network_mode": "container:0cfeab0f748b9a743dc3da582046357c6ef497631c1a016d28d2bf9b4f899f7b",
      "networks": {
        "other-network": {
          "ipv4_address": "172.16.238.10",
          "ipv6_address": "2001:3984:3989::10"
        },
        "other-other-network": null,
        "some-network": {
          "aliases": [
            "alias1",
            "alias3"
          ],
          "driver_opts": {
            "driveropt1": "optval1",
            "driveropt2": "optval2"
          }
        }
      },
      "pid": "host",
      "ports": [
        {
          "mode": "ingress",
          "target": 3000,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 3001,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 3002,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 3003,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 3004,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 3005,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 8000,
          "published": 8000,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 8080,
          "published": 9090,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 8081,
          "published": 9091,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 22,
          "published": 49100,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 8001,
          "published": 8001,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 5000,
          "published": 5000,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 5001,
          "published": 5001,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 5002,
          "published": 5002,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 5003,
          "published": 5003,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 5004,
          "published": 5004,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 5005,
          "published": 5005,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 5006,
          "published": 5006,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 5007,
          "published": 5007,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 5008,
          "published": 5008,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 5009,
          "published": 5009,
          "protocol": "tcp"
        },
        {
          "mode": "ingress",
          "target": 5010,
          "published": 5010,
          "protocol": "tcp"
        }
      ],
      "privileged": true,
      "read_only": true,
      "restart": "always",
      "secrets": [
        {
          "source": "secret1"
        },
        {
          "source": "secret2",
          "target": "my_secret",
          "uid": "103",
          "gid": "103",
          "mode": 288
        }
      ],
      "security_opt": [
        "label=level:s0:c100,c200",
        "label=type:svirt_apache_t"
      ],
      "stdin_open": true,
      "stop_grace_period": "20s",
      "stop_signal": "SIGUSR1",
      "sysctls": {
        "net.core.somaxconn": "1024",
        "net.ipv4.tcp_syncookies": "0"
      },
      "tmpfs": [
        "/run",
        "/tmp"
      ],
      "tty": true,
      "ulimits": {
        "nofile": {
          "soft": 20000,
          "hard": 40000
        },
        "nproc": 65535
      },
      "user": "someone",
      "volumes": [
        {
          "type": "volume",
          "target": "/var/lib/mysql"
        },
        {
          "type": "bind",
          "source": "/opt/data",
          "target": "/var/lib/mysql"
        },
        {
          "type": "bind",
          "source": "/foo",
          "target": "/code"
        },
        {
          "type": "bind",
          "source": "/foo/static",
          "target": "/var/www/html"
        },
        {
          "type": "bind",
          "source": "/bar/configs",
          "target": "/etc/configs/",
          "read_only": true
        },
        {
          "type": "volume",
          "source": "datavolume",
          "target": "/var/lib/mysql"
        },
        {
          "type": "bind",
          "source": "/foo/opt",
          "target": "/opt",
          "consistency": "cached"
        },
        {
          "type": "tmpfs",
          "target": "/opt",
          "tmpfs": {
            "size": 10000
          }
        },
        {
          "type": "cluster",
          "source": "group:mygroup",
          "target": "/srv"
        }
      ],
      "working_dir": "/code"
    }
  },
  "version": "3.13",
  "volumes": {
    "another-volume": {
      "name": "user_specified_name",
      "driver": "vsphere",
      "driver_opts": {
        "baz": "1",
        "foo": "bar"
      },
      "external": false
    },
    "cluster-volume": {
      "driver": "my-csi-driver",
      "external": false,
      "x-cluster-spec": {
        "group": "mygroup",
        "access_mode": {
          "scope": "single",
          "sharing": "none",
          "block_volume": {}
        },
        "accessibility_requirements": {
          "requisite": [
            {
              "segments": {
                "region": "R1",
                "zone": "Z1"
              }
            },
            {
              "segments": {
                "region": "R1",
                "zone": "Z2"
              }
            }
          ],
          "preferred": [
            {
              "segments": {
                "region": "R1",
                "zone": "Z1"
              }
            }
          ]
        },
        "capacity_range": {
          "required_bytes": "1073741824",
          "limit_bytes": "8589934592"
        },
        "secrets": [
          {
            "key": "mycsisecret",
            "secret": "secret1"
          },
          {
            "key": "mycsisecret2",
            "secret": "secret4"
          }
        ],
        "availability": "active"
      }
    },
    "external-volume": {
      "name": "external-volume",
      "external": true
    },
    "external-volume3": {
      "name": "this-is-volume3",
      "external": true
    },
    "other-external-volume": {
      "name": "my-cool-volume",
      "external": true
    },
    "other-volume": {
      "driver": "flocker",
      "driver_opts": {
        "baz": "1",
        "foo": "bar"
      },
      "external": false,
      "labels": {
        "foo": "bar"
      }
    },
    "some-volume": {
      "external": false
    }
  },
  "x-bar": "baz",
  "x-foo": "bar",
  "x-nested": {
    "bar": "baz",
    "foo": "bar"
  }
}