Browse code

Add the default image policy to bootstrap bindata

Clayton Coleman authored on 2016/08/10 10:28:33
Showing 5 changed files
... ...
@@ -17,6 +17,7 @@
17 17
 // examples/quickstarts/django-postgresql.json
18 18
 // examples/quickstarts/nodejs-mongodb.json
19 19
 // examples/quickstarts/rails-postgresql.json
20
+// pkg/image/admission/imagepolicy/api/v1/default-policy.yaml
20 21
 // DO NOT EDIT!
21 22
 
22 23
 package bootstrap
... ...
@@ -6448,6 +6449,43 @@ func examplesQuickstartsRailsPostgresqlJson() (*asset, error) {
6448 6448
 	return a, nil
6449 6449
 }
6450 6450
 
6451
+var _pkgImageAdmissionImagepolicyApiV1DefaultPolicyYaml = []byte(`kind: ImagePolicyConfig
6452
+apiVersion: v1
6453
+executionRules:
6454
+- name: execution-denied
6455
+  # Reject all images that have the annotation images.openshift.io/deny-execution set to true.
6456
+  # This annotation may be set by infrastructure that wishes to flag particular images as dangerous
6457
+  onResources:
6458
+  - resource: pods
6459
+  - resource: builds
6460
+  reject: true
6461
+  matchImageAnnotations:
6462
+  - key: images.openshift.io/deny-execution
6463
+    value: "true"
6464
+  allowResolutionFailure: true
6465
+# To require that all images running on the platform be imported first, you may uncomment the
6466
+# following rule. Any image that refers to a registry outside of OpenShift will be rejected unless it
6467
+# unless it points directly to an image digest (myregistry.com/myrepo/image@sha256:ea83bcf...) and that
6468
+# digest has been imported via the import-image flow.
6469
+#- name: require-imported-images
6470
+#  allowResolutionFailure: false
6471
+`)
6472
+
6473
+func pkgImageAdmissionImagepolicyApiV1DefaultPolicyYamlBytes() ([]byte, error) {
6474
+	return _pkgImageAdmissionImagepolicyApiV1DefaultPolicyYaml, nil
6475
+}
6476
+
6477
+func pkgImageAdmissionImagepolicyApiV1DefaultPolicyYaml() (*asset, error) {
6478
+	bytes, err := pkgImageAdmissionImagepolicyApiV1DefaultPolicyYamlBytes()
6479
+	if err != nil {
6480
+		return nil, err
6481
+	}
6482
+
6483
+	info := bindataFileInfo{name: "pkg/image/admission/imagepolicy/api/v1/default-policy.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
6484
+	a := &asset{bytes: bytes, info:  info}
6485
+	return a, nil
6486
+}
6487
+
6451 6488
 // Asset loads and returns the asset for the given name.
6452 6489
 // It returns an error if the asset could not be found or
6453 6490
 // could not be loaded.
... ...
@@ -6517,6 +6555,7 @@ var _bindata = map[string]func() (*asset, error){
6517 6517
 	"examples/quickstarts/django-postgresql.json": examplesQuickstartsDjangoPostgresqlJson,
6518 6518
 	"examples/quickstarts/nodejs-mongodb.json": examplesQuickstartsNodejsMongodbJson,
6519 6519
 	"examples/quickstarts/rails-postgresql.json": examplesQuickstartsRailsPostgresqlJson,
6520
+	"pkg/image/admission/imagepolicy/api/v1/default-policy.yaml": pkgImageAdmissionImagepolicyApiV1DefaultPolicyYaml,
6520 6521
 }
6521 6522
 
6522 6523
 // AssetDir returns the file names below a certain
... ...
@@ -6605,6 +6644,20 @@ var _bintree = &bintree{nil, map[string]*bintree{
6605 6605
 			}},
6606 6606
 		}},
6607 6607
 	}},
6608
+	"pkg": &bintree{nil, map[string]*bintree{
6609
+		"image": &bintree{nil, map[string]*bintree{
6610
+			"admission": &bintree{nil, map[string]*bintree{
6611
+				"imagepolicy": &bintree{nil, map[string]*bintree{
6612
+					"api": &bintree{nil, map[string]*bintree{
6613
+						"v1": &bintree{nil, map[string]*bintree{
6614
+							"default-policy.yaml": &bintree{pkgImageAdmissionImagepolicyApiV1DefaultPolicyYaml, map[string]*bintree{
6615
+							}},
6616
+						}},
6617
+					}},
6618
+				}},
6619
+			}},
6620
+		}},
6621
+	}},
6608 6622
 }}
6609 6623
 
6610 6624
 // RestoreAsset restores an asset under the given directory
... ...
@@ -15,13 +15,16 @@ import (
15 15
 	"k8s.io/kubernetes/pkg/runtime"
16 16
 	"k8s.io/kubernetes/pkg/util"
17 17
 	"k8s.io/kubernetes/pkg/util/sets"
18
+	"k8s.io/kubernetes/pkg/util/yaml"
18 19
 
20
+	"github.com/openshift/origin/pkg/bootstrap"
19 21
 	"github.com/openshift/origin/pkg/cmd/flagtypes"
20 22
 	"github.com/openshift/origin/pkg/cmd/server/admin"
21 23
 	configapi "github.com/openshift/origin/pkg/cmd/server/api"
22 24
 	configapiv1 "github.com/openshift/origin/pkg/cmd/server/api/v1"
23 25
 	"github.com/openshift/origin/pkg/cmd/server/bootstrappolicy"
24 26
 	cmdutil "github.com/openshift/origin/pkg/cmd/util"
27
+	imagepolicyapi "github.com/openshift/origin/pkg/image/admission/imagepolicy/api"
25 28
 	"github.com/spf13/cobra"
26 29
 )
27 30
 
... ...
@@ -314,6 +317,23 @@ func (args MasterArgs) BuildSerializeableMasterConfig() (*configapi.MasterConfig
314 314
 		config.ServiceAccountConfig.PublicKeyFiles = []string{}
315 315
 	}
316 316
 
317
+	// embed a default policy for generated config
318
+	defaultImagePolicy, err := bootstrap.Asset("pkg/image/admission/imagepolicy/api/v1/default-policy.yaml")
319
+	if err != nil {
320
+		return nil, fmt.Errorf("unable to find default image admission policy: %v", err)
321
+	}
322
+	// TODO: this should not be necessary, runtime.Unknown#MarshalJSON should handle YAML content type correctly
323
+	defaultImagePolicy, err = yaml.ToJSON(defaultImagePolicy)
324
+	if err != nil {
325
+		return nil, err
326
+	}
327
+	if config.AdmissionConfig.PluginConfig == nil {
328
+		config.AdmissionConfig.PluginConfig = make(map[string]configapi.AdmissionPluginConfig)
329
+	}
330
+	config.AdmissionConfig.PluginConfig[imagepolicyapi.PluginName] = configapi.AdmissionPluginConfig{
331
+		Configuration: &runtime.Unknown{Raw: defaultImagePolicy},
332
+	}
333
+
317 334
 	internal, err := applyDefaults(config, configapiv1.SchemeGroupVersion)
318 335
 	if err != nil {
319 336
 		return nil, err
... ...
@@ -53,7 +53,7 @@ os::cmd::expect_success_and_text 'oc get istag' 'wildfly'
53 53
 
54 54
 # create an image stream and post a mapping to it
55 55
 os::cmd::expect_success 'oc create imagestream test'
56
-os::cmd::expect_success 'oc create -f test/fixtures/mysql-image-stream-mapping.yaml'
56
+os::cmd::expect_success 'oc create -f test/testdata/mysql-image-stream-mapping.yaml'
57 57
 os::cmd::expect_success_and_text 'oc get istag/test:new --template="{{ index .image.dockerImageMetadata.Config.Entrypoint 0 }}"' "docker-entrypoint.sh"
58 58
 os::cmd::expect_success_and_text 'oc get istag/test:new -o jsonpath={.image.metadata.name}' 'sha256:b2f400f4a5e003b0543decf61a0a010939f3fba07bafa226f11ed7b5f1e81237'
59 59
 # reference should point to the current repository, and that repository should match the reported dockerImageRepository for pushes
... ...
@@ -61,6 +61,10 @@ repository="$( oc get is/test -o jsonpath='{.status.dockerImageRepository}' )"
61 61
 os::cmd::expect_success_and_text 'oc get istag/test:new -o jsonpath={.image.dockerImageReference}' "^$repository@sha256:b2f400f4a5e003b0543decf61a0a010939f3fba07bafa226f11ed7b5f1e81237"
62 62
 os::cmd::expect_success_and_text 'oc get istag/test:new -o jsonpath={.image.dockerImageReference}' "/$project/test@sha256:b2f400f4a5e003b0543decf61a0a010939f3fba07bafa226f11ed7b5f1e81237"
63 63
 
64
+repository="$( oc get is/test -o jsonpath='{.status.dockerImageRepository}' )"
65
+os::cmd::expect_success "oc annotate --context='${cluster_admin_context}' --overwrite image/sha256:b2f400f4a5e003b0543decf61a0a010939f3fba07bafa226f11ed7b5f1e81237 images.openshift.io/deny-execution=true"
66
+os::cmd::expect_failure_and_text "oc run vulnerable --image=${repository}:new --restart=Never" 'spec.containers\[0\].image: Forbidden: this image is prohibited by policy'
67
+
64 68
 # test image stream tag operations
65 69
 os::cmd::expect_success_and_text 'oc get istag/wildfly:latest -o jsonpath={.generation}' '2'
66 70
 os::cmd::expect_success_and_text 'oc get istag/wildfly:latest -o jsonpath={.tag.from.kind}' 'ImageStreamTag'
67 71
deleted file mode 100644
... ...
@@ -1,235 +0,0 @@
1
-apiVersion: v1
2
-kind: ImageStreamMapping
3
-metadata:
4
-  name: test
5
-tag: new
6
-image:
7
-  apiVersion: v1
8
-  dockerImageLayers:
9
-  - name: sha256:51f5c6a04d83efd2d45c5fd59537218924bc46705e3de6ffc8bc07b51481610b
10
-    size: 0
11
-  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
12
-    size: 0
13
-  - name: sha256:260d7505d8f946e326a8c267560b07513be001da009113b6acaa3995b2f8d34c
14
-    size: 0
15
-  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
16
-    size: 0
17
-  - name: sha256:a65f47c75fe37fae466f54ed7c640ca7ead74a42a63a3130f7468e8951c5f701
18
-    size: 0
19
-  - name: sha256:729d0217f8dbf240a446f8667fa265f51e81c561a1a10f3bed108294a1e5c49a
20
-    size: 0
21
-  - name: sha256:6dcf95bf56d1283f3db7e827475433910e6d11708b74a1fa6e6353d7dcdedaac
22
-    size: 0
23
-  - name: sha256:e9e6fbca5bcbf37e4e2b9b3b6a187af395b484151cda550d55808b01c2ebdf47
24
-    size: 0
25
-  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
26
-    size: 0
27
-  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
28
-    size: 0
29
-  - name: sha256:6197f83904fb736b933f9bf01995dd9b653ba373f22a3998567b636b0848b362
30
-    size: 0
31
-  - name: sha256:fd7e3b75ae7f9595539d9791fcc37262b3873385d5009f7bfc661a05031265d8
32
-    size: 0
33
-  - name: sha256:fe9a3ecc0ca90ff141572117d2ce655821d0f114b7654b1b2505afa2e50cf061
34
-    size: 0
35
-  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
36
-    size: 0
37
-  - name: sha256:310227c7e00da09877591ae9eb80b08b2160c0d2f87af88f945be23c7543ad85
38
-    size: 0
39
-  - name: sha256:6eda8dacf10a76199d47c55875bcbac1e9b0c2aa6646702c20be34cb7d273551
40
-    size: 0
41
-  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
42
-    size: 0
43
-  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
44
-    size: 0
45
-  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
46
-    size: 0
47
-  dockerImageManifest: |-
48
-    {
49
-      "schemaVersion": 1,
50
-      "name": "library/mysql",
51
-      "tag": "latest",
52
-      "architecture": "amd64",
53
-      "fsLayers": [
54
-          {
55
-            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
56
-          },
57
-          {
58
-            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
59
-          },
60
-          {
61
-            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
62
-          },
63
-          {
64
-            "blobSum": "sha256:6eda8dacf10a76199d47c55875bcbac1e9b0c2aa6646702c20be34cb7d273551"
65
-          },
66
-          {
67
-            "blobSum": "sha256:310227c7e00da09877591ae9eb80b08b2160c0d2f87af88f945be23c7543ad85"
68
-          },
69
-          {
70
-            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
71
-          },
72
-          {
73
-            "blobSum": "sha256:fe9a3ecc0ca90ff141572117d2ce655821d0f114b7654b1b2505afa2e50cf061"
74
-          },
75
-          {
76
-            "blobSum": "sha256:fd7e3b75ae7f9595539d9791fcc37262b3873385d5009f7bfc661a05031265d8"
77
-          },
78
-          {
79
-            "blobSum": "sha256:6197f83904fb736b933f9bf01995dd9b653ba373f22a3998567b636b0848b362"
80
-          },
81
-          {
82
-            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
83
-          },
84
-          {
85
-            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
86
-          },
87
-          {
88
-            "blobSum": "sha256:e9e6fbca5bcbf37e4e2b9b3b6a187af395b484151cda550d55808b01c2ebdf47"
89
-          },
90
-          {
91
-            "blobSum": "sha256:6dcf95bf56d1283f3db7e827475433910e6d11708b74a1fa6e6353d7dcdedaac"
92
-          },
93
-          {
94
-            "blobSum": "sha256:729d0217f8dbf240a446f8667fa265f51e81c561a1a10f3bed108294a1e5c49a"
95
-          },
96
-          {
97
-            "blobSum": "sha256:a65f47c75fe37fae466f54ed7c640ca7ead74a42a63a3130f7468e8951c5f701"
98
-          },
99
-          {
100
-            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
101
-          },
102
-          {
103
-            "blobSum": "sha256:260d7505d8f946e326a8c267560b07513be001da009113b6acaa3995b2f8d34c"
104
-          },
105
-          {
106
-            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
107
-          },
108
-          {
109
-            "blobSum": "sha256:51f5c6a04d83efd2d45c5fd59537218924bc46705e3de6ffc8bc07b51481610b"
110
-          }
111
-      ],
112
-      "history": [
113
-          {
114
-            "v1Compatibility": "{\"architecture\":\"amd64\",\"config\":{\"Hostname\":\"b0cf605c7757\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"ExposedPorts\":{\"3306/tcp\":{}},\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":[\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\",\"GOSU_VERSION=1.7\",\"MYSQL_MAJOR=5.7\",\"MYSQL_VERSION=5.7.12-1debian8\"],\"Cmd\":[\"mysqld\"],\"Image\":\"69f578147721b5aec38b8610c6fe7b5a7e572ed334953e14e09caa96583e7c82\",\"Volumes\":{\"/var/lib/mysql\":{}},\"WorkingDir\":\"\",\"Entrypoint\":[\"docker-entrypoint.sh\"],\"OnBuild\":[],\"Labels\":{}},\"container\":\"28f12468d3e4d87b069f04edc455d73acaa7f0f28167481a049cde7e0701ba7f\",\"container_config\":{\"Hostname\":\"b0cf605c7757\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"ExposedPorts\":{\"3306/tcp\":{}},\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":[\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\",\"GOSU_VERSION=1.7\",\"MYSQL_MAJOR=5.7\",\"MYSQL_VERSION=5.7.12-1debian8\"],\"Cmd\":[\"/bin/sh\",\"-c\",\"#(nop) CMD [\\\"mysqld\\\"]\"],\"Image\":\"69f578147721b5aec38b8610c6fe7b5a7e572ed334953e14e09caa96583e7c82\",\"Volumes\":{\"/var/lib/mysql\":{}},\"WorkingDir\":\"\",\"Entrypoint\":[\"docker-entrypoint.sh\"],\"OnBuild\":[],\"Labels\":{}},\"created\":\"2016-05-24T04:04:50.041568999Z\",\"docker_version\":\"1.9.1\",\"id\":\"e530dc89961c079653a34909612f92431d4a5059f65a1d5197a7df394190399e\",\"os\":\"linux\",\"parent\":\"81cf9a46e286c63f9c77739128654b48108e3eb6037a8c281b978b2912b12f45\"}"
115
-          },
116
-          {
117
-            "v1Compatibility": "{\"id\":\"81cf9a46e286c63f9c77739128654b48108e3eb6037a8c281b978b2912b12f45\",\"parent\":\"06543454f1760c1c5b34666f9a3f0c688fa5a05af6a52c235288ae708b72fb49\",\"created\":\"2016-05-24T04:04:48.793073677Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) EXPOSE 3306/tcp\"]}}"
118
-          },
119
-          {
120
-            "v1Compatibility": "{\"id\":\"06543454f1760c1c5b34666f9a3f0c688fa5a05af6a52c235288ae708b72fb49\",\"parent\":\"bebb1ff4a45e9cefb9007e2fdee622c9d44e7d10d973639cc904568f703f54c0\",\"created\":\"2016-05-24T04:04:47.612773187Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ENTRYPOINT \\u0026{[\\\"docker-entrypoint.sh\\\"]}\"]}}"
121
-          },
122
-          {
123
-            "v1Compatibility": "{\"id\":\"bebb1ff4a45e9cefb9007e2fdee622c9d44e7d10d973639cc904568f703f54c0\",\"parent\":\"c7c6a1794cf3154b44d86f3c4fceda6b411d42633f3587fb176dff2939bfff30\",\"created\":\"2016-05-24T04:04:46.459270232Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh # backwards compat\"]}}"
124
-          },
125
-          {
126
-            "v1Compatibility": "{\"id\":\"c7c6a1794cf3154b44d86f3c4fceda6b411d42633f3587fb176dff2939bfff30\",\"parent\":\"abcfe553ef461a5e0a7ad0cdefa305c0cb5a468d38d61f073f89cd9100fb979a\",\"created\":\"2016-05-24T04:04:44.143450334Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) COPY file:133c85375a6317f8526bd1b83733e0b58b2df08ffe08a0fde89544a6491898c1 in /usr/local/bin/\"]}}"
127
-          },
128
-          {
129
-            "v1Compatibility": "{\"id\":\"abcfe553ef461a5e0a7ad0cdefa305c0cb5a468d38d61f073f89cd9100fb979a\",\"parent\":\"a78e6b688b5136c2f01d9b11d8b93d09e6e5e434d08c04985a2d53c5fd8e425b\",\"created\":\"2016-05-24T04:04:42.723686603Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) VOLUME [/var/lib/mysql]\"]}}"
130
-          },
131
-          {
132
-            "v1Compatibility": "{\"id\":\"a78e6b688b5136c2f01d9b11d8b93d09e6e5e434d08c04985a2d53c5fd8e425b\",\"parent\":\"d3ec0879cb83039d70e762fdb48839626fce05cf5681d722792fde5331f7c885\",\"created\":\"2016-05-24T04:04:41.537668111Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c sed -Ei 's/^(bind-address|log)/#\\u0026/' /etc/mysql/my.cnf \\t\\u0026\\u0026 echo 'skip-host-cache\\\\nskip-name-resolve' | awk '{ print } $1 == \\\"[mysqld]\\\" \\u0026\\u0026 c == 0 { c = 1; system(\\\"cat\\\") }' /etc/mysql/my.cnf \\u003e /tmp/my.cnf \\t\\u0026\\u0026 mv /tmp/my.cnf /etc/mysql/my.cnf\"]}}"
133
-          },
134
-          {
135
-            "v1Compatibility": "{\"id\":\"d3ec0879cb83039d70e762fdb48839626fce05cf5681d722792fde5331f7c885\",\"parent\":\"a2281d9e1fb44e376241c2d5b4128f50e51cb47858b54d8a20f3d392c79b2365\",\"created\":\"2016-05-24T04:04:37.48154199Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c { \\t\\techo mysql-community-server mysql-community-server/data-dir select ''; \\t\\techo mysql-community-server mysql-community-server/root-pass password ''; \\t\\techo mysql-community-server mysql-community-server/re-root-pass password ''; \\t\\techo mysql-community-server mysql-community-server/remove-test-db select false; \\t} | debconf-set-selections \\t\\u0026\\u0026 apt-get update \\u0026\\u0026 apt-get install -y mysql-server=\\\"${MYSQL_VERSION}\\\" \\u0026\\u0026 rm -rf /var/lib/apt/lists/* \\t\\u0026\\u0026 rm -rf /var/lib/mysql \\u0026\\u0026 mkdir -p /var/lib/mysql /var/run/mysqld \\t\\u0026\\u0026 chown -R mysql:mysql /var/lib/mysql /var/run/mysqld \\t\\u0026\\u0026 chmod 777 /var/run/mysqld\"]}}"
136
-          },
137
-          {
138
-            "v1Compatibility": "{\"id\":\"a2281d9e1fb44e376241c2d5b4128f50e51cb47858b54d8a20f3d392c79b2365\",\"parent\":\"8c9d64d9fb6010cc7480f8a0b4480b90e12e49327e962d3456458e114fce42d1\",\"created\":\"2016-05-24T04:03:35.257542844Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c echo \\\"deb http://repo.mysql.com/apt/debian/ jessie mysql-${MYSQL_MAJOR}\\\" \\u003e /etc/apt/sources.list.d/mysql.list\"]}}"
139
-          },
140
-          {
141
-            "v1Compatibility": "{\"id\":\"8c9d64d9fb6010cc7480f8a0b4480b90e12e49327e962d3456458e114fce42d1\",\"parent\":\"138b3970420fe8a1f7ac631df599362514258093c9450a791af83b37b3596870\",\"created\":\"2016-05-24T04:03:32.963934037Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ENV MYSQL_VERSION=5.7.12-1debian8\"]}}"
142
-          },
143
-          {
144
-            "v1Compatibility": "{\"id\":\"138b3970420fe8a1f7ac631df599362514258093c9450a791af83b37b3596870\",\"parent\":\"2763a1d8c545451feefc99caeb2a122c155ad062a560e0926e6cf8798a88dbc4\",\"created\":\"2016-05-24T04:03:31.63279694Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ENV MYSQL_MAJOR=5.7\"]}}"
145
-          },
146
-          {
147
-            "v1Compatibility": "{\"id\":\"2763a1d8c545451feefc99caeb2a122c155ad062a560e0926e6cf8798a88dbc4\",\"parent\":\"16fffbe89a937e190bf8015833f2ee16e3c8ecfd66d439da54c69521582b9816\",\"created\":\"2016-05-24T04:00:23.573630866Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5\"]}}"
148
-          },
149
-          {
150
-            "v1Compatibility": "{\"id\":\"16fffbe89a937e190bf8015833f2ee16e3c8ecfd66d439da54c69521582b9816\",\"parent\":\"72c0ad93dd5eac419767272bb63d2ebd784736e081a46dd114620a8727f2eb0c\",\"created\":\"2016-05-24T04:00:08.147734381Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c apt-get update \\u0026\\u0026 apt-get install -y perl pwgen --no-install-recommends \\u0026\\u0026 rm -rf /var/lib/apt/lists/*\"]}}"
151
-          },
152
-          {
153
-            "v1Compatibility": "{\"id\":\"72c0ad93dd5eac419767272bb63d2ebd784736e081a46dd114620a8727f2eb0c\",\"parent\":\"81d28cc7ec6b07c555a94adad55e2542d78e0724fcf50e21aa298213f12d6e41\",\"created\":\"2016-05-24T02:42:32.743481209Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c mkdir /docker-entrypoint-initdb.d\"]}}"
154
-          },
155
-          {
156
-            "v1Compatibility": "{\"id\":\"81d28cc7ec6b07c555a94adad55e2542d78e0724fcf50e21aa298213f12d6e41\",\"parent\":\"274c6855b94f44653cd4cbb65c7b1e9f148f32557462e70609a7f12da1f9c501\",\"created\":\"2016-05-24T02:42:30.226628786Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c set -x \\t\\u0026\\u0026 apt-get update \\u0026\\u0026 apt-get install -y --no-install-recommends ca-certificates wget \\u0026\\u0026 rm -rf /var/lib/apt/lists/* \\t\\u0026\\u0026 wget -O /usr/local/bin/gosu \\\"https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)\\\" \\t\\u0026\\u0026 wget -O /usr/local/bin/gosu.asc \\\"https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc\\\" \\t\\u0026\\u0026 export GNUPGHOME=\\\"$(mktemp -d)\\\" \\t\\u0026\\u0026 gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \\t\\u0026\\u0026 gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \\t\\u0026\\u0026 rm -r \\\"$GNUPGHOME\\\" /usr/local/bin/gosu.asc \\t\\u0026\\u0026 chmod +x /usr/local/bin/gosu \\t\\u0026\\u0026 gosu nobody true \\t\\u0026\\u0026 apt-get purge -y --auto-remove ca-certificates wget\"]}}"
157
-          },
158
-          {
159
-            "v1Compatibility": "{\"id\":\"274c6855b94f44653cd4cbb65c7b1e9f148f32557462e70609a7f12da1f9c501\",\"parent\":\"b8db18551219d3be42800210708aaf76c0148070272c36acf40b769e83766cdf\",\"created\":\"2016-05-24T02:41:26.838521561Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ENV GOSU_VERSION=1.7\"]}}"
160
-          },
161
-          {
162
-            "v1Compatibility": "{\"id\":\"b8db18551219d3be42800210708aaf76c0148070272c36acf40b769e83766cdf\",\"parent\":\"3035387b9e834c466cd957662b14b5548c7b2bed1fc8057a2e80793bddd04d92\",\"created\":\"2016-05-24T02:41:25.853163911Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c groupadd -r mysql \\u0026\\u0026 useradd -r -g mysql mysql\"]}}"
163
-          },
164
-          {
165
-            "v1Compatibility": "{\"id\":\"3035387b9e834c466cd957662b14b5548c7b2bed1fc8057a2e80793bddd04d92\",\"parent\":\"a2295636c7aa7aeaaf8aba834ed7a9863a2a8f3e87464c8ab9bd659d4d668687\",\"created\":\"2016-05-23T22:57:23.255025884Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) CMD [\\\"/bin/bash\\\"]\"]}}"
166
-          },
167
-          {
168
-            "v1Compatibility": "{\"id\":\"a2295636c7aa7aeaaf8aba834ed7a9863a2a8f3e87464c8ab9bd659d4d668687\",\"created\":\"2016-05-23T22:57:20.19311015Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ADD file:5d8521419ad6cfb6956ed26ab70a44422d512f82462046ba8e68b7dcb8283f7e in /\"]}}"
169
-          }
170
-      ],
171
-      "signatures": [
172
-          {
173
-            "header": {
174
-                "jwk": {
175
-                  "crv": "P-256",
176
-                  "kid": "YWT2:DY2S:XWKO:LT3K:HG47:OP7F:2B5B:JQFT:YGBD:YU37:TM72:C3GI",
177
-                  "kty": "EC",
178
-                  "x": "0LITllC5k8mFtLLK81KtHT3K_u1jsROIXUMlM0a0IV4",
179
-                  "y": "YZBBmiv6CIpoJHvjtHVzw_V-snrEpP0Og5TILhHsVR8"
180
-                },
181
-                "alg": "ES256"
182
-            },
183
-            "signature": "tuWZi_GNNT30W6zkbYYPx0Z7TV5YGfnGR86BuwPU8QSF8DctTvTAIOlxA6r_bvOQW-Be3HefdXf7Ja37RFltdQ",
184
-            "protected": "eyJmb3JtYXRMZW5ndGgiOjEyMTcwLCJmb3JtYXRUYWlsIjoiQ24wIiwidGltZSI6IjIwMTYtMDYtMDhUMjA6MDU6NDhaIn0"
185
-          }
186
-      ]
187
-    }
188
-  dockerImageMetadata:
189
-    Architecture: amd64
190
-    Config:
191
-      Cmd:
192
-      - mysqld
193
-      Entrypoint:
194
-      - docker-entrypoint.sh
195
-      Env:
196
-      - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
197
-      - GOSU_VERSION=1.7
198
-      - MYSQL_MAJOR=5.7
199
-      - MYSQL_VERSION=5.7.12-1debian8
200
-      ExposedPorts:
201
-        3306/tcp: {}
202
-      Hostname: b0cf605c7757
203
-      Image: 69f578147721b5aec38b8610c6fe7b5a7e572ed334953e14e09caa96583e7c82
204
-      Volumes:
205
-        /var/lib/mysql: {}
206
-    Container: 28f12468d3e4d87b069f04edc455d73acaa7f0f28167481a049cde7e0701ba7f
207
-    ContainerConfig:
208
-      Cmd:
209
-      - /bin/sh
210
-      - -c
211
-      - '#(nop) CMD ["mysqld"]'
212
-      Entrypoint:
213
-      - docker-entrypoint.sh
214
-      Env:
215
-      - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
216
-      - GOSU_VERSION=1.7
217
-      - MYSQL_MAJOR=5.7
218
-      - MYSQL_VERSION=5.7.12-1debian8
219
-      ExposedPorts:
220
-        3306/tcp: {}
221
-      Hostname: b0cf605c7757
222
-      Image: 69f578147721b5aec38b8610c6fe7b5a7e572ed334953e14e09caa96583e7c82
223
-      Volumes:
224
-        /var/lib/mysql: {}
225
-    Created: 2016-05-24T04:04:50Z
226
-    DockerVersion: 1.9.1
227
-    Id: e530dc89961c079653a34909612f92431d4a5059f65a1d5197a7df394190399e
228
-    Parent: 81cf9a46e286c63f9c77739128654b48108e3eb6037a8c281b978b2912b12f45
229
-    apiVersion: "1.0"
230
-    kind: DockerImage
231
-  dockerImageMetadataVersion: "1.0"
232
-  dockerImageReference:
233
-  kind: Image
234
-  metadata:
235
-    name: sha256:b2f400f4a5e003b0543decf61a0a010939f3fba07bafa226f11ed7b5f1e81237
236 1
new file mode 100644
... ...
@@ -0,0 +1,235 @@
0
+apiVersion: v1
1
+kind: ImageStreamMapping
2
+metadata:
3
+  name: test
4
+tag: new
5
+image:
6
+  apiVersion: v1
7
+  dockerImageLayers:
8
+  - name: sha256:51f5c6a04d83efd2d45c5fd59537218924bc46705e3de6ffc8bc07b51481610b
9
+    size: 0
10
+  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
11
+    size: 0
12
+  - name: sha256:260d7505d8f946e326a8c267560b07513be001da009113b6acaa3995b2f8d34c
13
+    size: 0
14
+  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
15
+    size: 0
16
+  - name: sha256:a65f47c75fe37fae466f54ed7c640ca7ead74a42a63a3130f7468e8951c5f701
17
+    size: 0
18
+  - name: sha256:729d0217f8dbf240a446f8667fa265f51e81c561a1a10f3bed108294a1e5c49a
19
+    size: 0
20
+  - name: sha256:6dcf95bf56d1283f3db7e827475433910e6d11708b74a1fa6e6353d7dcdedaac
21
+    size: 0
22
+  - name: sha256:e9e6fbca5bcbf37e4e2b9b3b6a187af395b484151cda550d55808b01c2ebdf47
23
+    size: 0
24
+  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
25
+    size: 0
26
+  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
27
+    size: 0
28
+  - name: sha256:6197f83904fb736b933f9bf01995dd9b653ba373f22a3998567b636b0848b362
29
+    size: 0
30
+  - name: sha256:fd7e3b75ae7f9595539d9791fcc37262b3873385d5009f7bfc661a05031265d8
31
+    size: 0
32
+  - name: sha256:fe9a3ecc0ca90ff141572117d2ce655821d0f114b7654b1b2505afa2e50cf061
33
+    size: 0
34
+  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
35
+    size: 0
36
+  - name: sha256:310227c7e00da09877591ae9eb80b08b2160c0d2f87af88f945be23c7543ad85
37
+    size: 0
38
+  - name: sha256:6eda8dacf10a76199d47c55875bcbac1e9b0c2aa6646702c20be34cb7d273551
39
+    size: 0
40
+  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
41
+    size: 0
42
+  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
43
+    size: 0
44
+  - name: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
45
+    size: 0
46
+  dockerImageManifest: |-
47
+    {
48
+      "schemaVersion": 1,
49
+      "name": "library/mysql",
50
+      "tag": "latest",
51
+      "architecture": "amd64",
52
+      "fsLayers": [
53
+          {
54
+            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
55
+          },
56
+          {
57
+            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
58
+          },
59
+          {
60
+            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
61
+          },
62
+          {
63
+            "blobSum": "sha256:6eda8dacf10a76199d47c55875bcbac1e9b0c2aa6646702c20be34cb7d273551"
64
+          },
65
+          {
66
+            "blobSum": "sha256:310227c7e00da09877591ae9eb80b08b2160c0d2f87af88f945be23c7543ad85"
67
+          },
68
+          {
69
+            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
70
+          },
71
+          {
72
+            "blobSum": "sha256:fe9a3ecc0ca90ff141572117d2ce655821d0f114b7654b1b2505afa2e50cf061"
73
+          },
74
+          {
75
+            "blobSum": "sha256:fd7e3b75ae7f9595539d9791fcc37262b3873385d5009f7bfc661a05031265d8"
76
+          },
77
+          {
78
+            "blobSum": "sha256:6197f83904fb736b933f9bf01995dd9b653ba373f22a3998567b636b0848b362"
79
+          },
80
+          {
81
+            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
82
+          },
83
+          {
84
+            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
85
+          },
86
+          {
87
+            "blobSum": "sha256:e9e6fbca5bcbf37e4e2b9b3b6a187af395b484151cda550d55808b01c2ebdf47"
88
+          },
89
+          {
90
+            "blobSum": "sha256:6dcf95bf56d1283f3db7e827475433910e6d11708b74a1fa6e6353d7dcdedaac"
91
+          },
92
+          {
93
+            "blobSum": "sha256:729d0217f8dbf240a446f8667fa265f51e81c561a1a10f3bed108294a1e5c49a"
94
+          },
95
+          {
96
+            "blobSum": "sha256:a65f47c75fe37fae466f54ed7c640ca7ead74a42a63a3130f7468e8951c5f701"
97
+          },
98
+          {
99
+            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
100
+          },
101
+          {
102
+            "blobSum": "sha256:260d7505d8f946e326a8c267560b07513be001da009113b6acaa3995b2f8d34c"
103
+          },
104
+          {
105
+            "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
106
+          },
107
+          {
108
+            "blobSum": "sha256:51f5c6a04d83efd2d45c5fd59537218924bc46705e3de6ffc8bc07b51481610b"
109
+          }
110
+      ],
111
+      "history": [
112
+          {
113
+            "v1Compatibility": "{\"architecture\":\"amd64\",\"config\":{\"Hostname\":\"b0cf605c7757\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"ExposedPorts\":{\"3306/tcp\":{}},\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":[\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\",\"GOSU_VERSION=1.7\",\"MYSQL_MAJOR=5.7\",\"MYSQL_VERSION=5.7.12-1debian8\"],\"Cmd\":[\"mysqld\"],\"Image\":\"69f578147721b5aec38b8610c6fe7b5a7e572ed334953e14e09caa96583e7c82\",\"Volumes\":{\"/var/lib/mysql\":{}},\"WorkingDir\":\"\",\"Entrypoint\":[\"docker-entrypoint.sh\"],\"OnBuild\":[],\"Labels\":{}},\"container\":\"28f12468d3e4d87b069f04edc455d73acaa7f0f28167481a049cde7e0701ba7f\",\"container_config\":{\"Hostname\":\"b0cf605c7757\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"ExposedPorts\":{\"3306/tcp\":{}},\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":[\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\",\"GOSU_VERSION=1.7\",\"MYSQL_MAJOR=5.7\",\"MYSQL_VERSION=5.7.12-1debian8\"],\"Cmd\":[\"/bin/sh\",\"-c\",\"#(nop) CMD [\\\"mysqld\\\"]\"],\"Image\":\"69f578147721b5aec38b8610c6fe7b5a7e572ed334953e14e09caa96583e7c82\",\"Volumes\":{\"/var/lib/mysql\":{}},\"WorkingDir\":\"\",\"Entrypoint\":[\"docker-entrypoint.sh\"],\"OnBuild\":[],\"Labels\":{}},\"created\":\"2016-05-24T04:04:50.041568999Z\",\"docker_version\":\"1.9.1\",\"id\":\"e530dc89961c079653a34909612f92431d4a5059f65a1d5197a7df394190399e\",\"os\":\"linux\",\"parent\":\"81cf9a46e286c63f9c77739128654b48108e3eb6037a8c281b978b2912b12f45\"}"
114
+          },
115
+          {
116
+            "v1Compatibility": "{\"id\":\"81cf9a46e286c63f9c77739128654b48108e3eb6037a8c281b978b2912b12f45\",\"parent\":\"06543454f1760c1c5b34666f9a3f0c688fa5a05af6a52c235288ae708b72fb49\",\"created\":\"2016-05-24T04:04:48.793073677Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) EXPOSE 3306/tcp\"]}}"
117
+          },
118
+          {
119
+            "v1Compatibility": "{\"id\":\"06543454f1760c1c5b34666f9a3f0c688fa5a05af6a52c235288ae708b72fb49\",\"parent\":\"bebb1ff4a45e9cefb9007e2fdee622c9d44e7d10d973639cc904568f703f54c0\",\"created\":\"2016-05-24T04:04:47.612773187Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ENTRYPOINT \\u0026{[\\\"docker-entrypoint.sh\\\"]}\"]}}"
120
+          },
121
+          {
122
+            "v1Compatibility": "{\"id\":\"bebb1ff4a45e9cefb9007e2fdee622c9d44e7d10d973639cc904568f703f54c0\",\"parent\":\"c7c6a1794cf3154b44d86f3c4fceda6b411d42633f3587fb176dff2939bfff30\",\"created\":\"2016-05-24T04:04:46.459270232Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh # backwards compat\"]}}"
123
+          },
124
+          {
125
+            "v1Compatibility": "{\"id\":\"c7c6a1794cf3154b44d86f3c4fceda6b411d42633f3587fb176dff2939bfff30\",\"parent\":\"abcfe553ef461a5e0a7ad0cdefa305c0cb5a468d38d61f073f89cd9100fb979a\",\"created\":\"2016-05-24T04:04:44.143450334Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) COPY file:133c85375a6317f8526bd1b83733e0b58b2df08ffe08a0fde89544a6491898c1 in /usr/local/bin/\"]}}"
126
+          },
127
+          {
128
+            "v1Compatibility": "{\"id\":\"abcfe553ef461a5e0a7ad0cdefa305c0cb5a468d38d61f073f89cd9100fb979a\",\"parent\":\"a78e6b688b5136c2f01d9b11d8b93d09e6e5e434d08c04985a2d53c5fd8e425b\",\"created\":\"2016-05-24T04:04:42.723686603Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) VOLUME [/var/lib/mysql]\"]}}"
129
+          },
130
+          {
131
+            "v1Compatibility": "{\"id\":\"a78e6b688b5136c2f01d9b11d8b93d09e6e5e434d08c04985a2d53c5fd8e425b\",\"parent\":\"d3ec0879cb83039d70e762fdb48839626fce05cf5681d722792fde5331f7c885\",\"created\":\"2016-05-24T04:04:41.537668111Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c sed -Ei 's/^(bind-address|log)/#\\u0026/' /etc/mysql/my.cnf \\t\\u0026\\u0026 echo 'skip-host-cache\\\\nskip-name-resolve' | awk '{ print } $1 == \\\"[mysqld]\\\" \\u0026\\u0026 c == 0 { c = 1; system(\\\"cat\\\") }' /etc/mysql/my.cnf \\u003e /tmp/my.cnf \\t\\u0026\\u0026 mv /tmp/my.cnf /etc/mysql/my.cnf\"]}}"
132
+          },
133
+          {
134
+            "v1Compatibility": "{\"id\":\"d3ec0879cb83039d70e762fdb48839626fce05cf5681d722792fde5331f7c885\",\"parent\":\"a2281d9e1fb44e376241c2d5b4128f50e51cb47858b54d8a20f3d392c79b2365\",\"created\":\"2016-05-24T04:04:37.48154199Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c { \\t\\techo mysql-community-server mysql-community-server/data-dir select ''; \\t\\techo mysql-community-server mysql-community-server/root-pass password ''; \\t\\techo mysql-community-server mysql-community-server/re-root-pass password ''; \\t\\techo mysql-community-server mysql-community-server/remove-test-db select false; \\t} | debconf-set-selections \\t\\u0026\\u0026 apt-get update \\u0026\\u0026 apt-get install -y mysql-server=\\\"${MYSQL_VERSION}\\\" \\u0026\\u0026 rm -rf /var/lib/apt/lists/* \\t\\u0026\\u0026 rm -rf /var/lib/mysql \\u0026\\u0026 mkdir -p /var/lib/mysql /var/run/mysqld \\t\\u0026\\u0026 chown -R mysql:mysql /var/lib/mysql /var/run/mysqld \\t\\u0026\\u0026 chmod 777 /var/run/mysqld\"]}}"
135
+          },
136
+          {
137
+            "v1Compatibility": "{\"id\":\"a2281d9e1fb44e376241c2d5b4128f50e51cb47858b54d8a20f3d392c79b2365\",\"parent\":\"8c9d64d9fb6010cc7480f8a0b4480b90e12e49327e962d3456458e114fce42d1\",\"created\":\"2016-05-24T04:03:35.257542844Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c echo \\\"deb http://repo.mysql.com/apt/debian/ jessie mysql-${MYSQL_MAJOR}\\\" \\u003e /etc/apt/sources.list.d/mysql.list\"]}}"
138
+          },
139
+          {
140
+            "v1Compatibility": "{\"id\":\"8c9d64d9fb6010cc7480f8a0b4480b90e12e49327e962d3456458e114fce42d1\",\"parent\":\"138b3970420fe8a1f7ac631df599362514258093c9450a791af83b37b3596870\",\"created\":\"2016-05-24T04:03:32.963934037Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ENV MYSQL_VERSION=5.7.12-1debian8\"]}}"
141
+          },
142
+          {
143
+            "v1Compatibility": "{\"id\":\"138b3970420fe8a1f7ac631df599362514258093c9450a791af83b37b3596870\",\"parent\":\"2763a1d8c545451feefc99caeb2a122c155ad062a560e0926e6cf8798a88dbc4\",\"created\":\"2016-05-24T04:03:31.63279694Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ENV MYSQL_MAJOR=5.7\"]}}"
144
+          },
145
+          {
146
+            "v1Compatibility": "{\"id\":\"2763a1d8c545451feefc99caeb2a122c155ad062a560e0926e6cf8798a88dbc4\",\"parent\":\"16fffbe89a937e190bf8015833f2ee16e3c8ecfd66d439da54c69521582b9816\",\"created\":\"2016-05-24T04:00:23.573630866Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5\"]}}"
147
+          },
148
+          {
149
+            "v1Compatibility": "{\"id\":\"16fffbe89a937e190bf8015833f2ee16e3c8ecfd66d439da54c69521582b9816\",\"parent\":\"72c0ad93dd5eac419767272bb63d2ebd784736e081a46dd114620a8727f2eb0c\",\"created\":\"2016-05-24T04:00:08.147734381Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c apt-get update \\u0026\\u0026 apt-get install -y perl pwgen --no-install-recommends \\u0026\\u0026 rm -rf /var/lib/apt/lists/*\"]}}"
150
+          },
151
+          {
152
+            "v1Compatibility": "{\"id\":\"72c0ad93dd5eac419767272bb63d2ebd784736e081a46dd114620a8727f2eb0c\",\"parent\":\"81d28cc7ec6b07c555a94adad55e2542d78e0724fcf50e21aa298213f12d6e41\",\"created\":\"2016-05-24T02:42:32.743481209Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c mkdir /docker-entrypoint-initdb.d\"]}}"
153
+          },
154
+          {
155
+            "v1Compatibility": "{\"id\":\"81d28cc7ec6b07c555a94adad55e2542d78e0724fcf50e21aa298213f12d6e41\",\"parent\":\"274c6855b94f44653cd4cbb65c7b1e9f148f32557462e70609a7f12da1f9c501\",\"created\":\"2016-05-24T02:42:30.226628786Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c set -x \\t\\u0026\\u0026 apt-get update \\u0026\\u0026 apt-get install -y --no-install-recommends ca-certificates wget \\u0026\\u0026 rm -rf /var/lib/apt/lists/* \\t\\u0026\\u0026 wget -O /usr/local/bin/gosu \\\"https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)\\\" \\t\\u0026\\u0026 wget -O /usr/local/bin/gosu.asc \\\"https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc\\\" \\t\\u0026\\u0026 export GNUPGHOME=\\\"$(mktemp -d)\\\" \\t\\u0026\\u0026 gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \\t\\u0026\\u0026 gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \\t\\u0026\\u0026 rm -r \\\"$GNUPGHOME\\\" /usr/local/bin/gosu.asc \\t\\u0026\\u0026 chmod +x /usr/local/bin/gosu \\t\\u0026\\u0026 gosu nobody true \\t\\u0026\\u0026 apt-get purge -y --auto-remove ca-certificates wget\"]}}"
156
+          },
157
+          {
158
+            "v1Compatibility": "{\"id\":\"274c6855b94f44653cd4cbb65c7b1e9f148f32557462e70609a7f12da1f9c501\",\"parent\":\"b8db18551219d3be42800210708aaf76c0148070272c36acf40b769e83766cdf\",\"created\":\"2016-05-24T02:41:26.838521561Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ENV GOSU_VERSION=1.7\"]}}"
159
+          },
160
+          {
161
+            "v1Compatibility": "{\"id\":\"b8db18551219d3be42800210708aaf76c0148070272c36acf40b769e83766cdf\",\"parent\":\"3035387b9e834c466cd957662b14b5548c7b2bed1fc8057a2e80793bddd04d92\",\"created\":\"2016-05-24T02:41:25.853163911Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c groupadd -r mysql \\u0026\\u0026 useradd -r -g mysql mysql\"]}}"
162
+          },
163
+          {
164
+            "v1Compatibility": "{\"id\":\"3035387b9e834c466cd957662b14b5548c7b2bed1fc8057a2e80793bddd04d92\",\"parent\":\"a2295636c7aa7aeaaf8aba834ed7a9863a2a8f3e87464c8ab9bd659d4d668687\",\"created\":\"2016-05-23T22:57:23.255025884Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) CMD [\\\"/bin/bash\\\"]\"]}}"
165
+          },
166
+          {
167
+            "v1Compatibility": "{\"id\":\"a2295636c7aa7aeaaf8aba834ed7a9863a2a8f3e87464c8ab9bd659d4d668687\",\"created\":\"2016-05-23T22:57:20.19311015Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ADD file:5d8521419ad6cfb6956ed26ab70a44422d512f82462046ba8e68b7dcb8283f7e in /\"]}}"
168
+          }
169
+      ],
170
+      "signatures": [
171
+          {
172
+            "header": {
173
+                "jwk": {
174
+                  "crv": "P-256",
175
+                  "kid": "YWT2:DY2S:XWKO:LT3K:HG47:OP7F:2B5B:JQFT:YGBD:YU37:TM72:C3GI",
176
+                  "kty": "EC",
177
+                  "x": "0LITllC5k8mFtLLK81KtHT3K_u1jsROIXUMlM0a0IV4",
178
+                  "y": "YZBBmiv6CIpoJHvjtHVzw_V-snrEpP0Og5TILhHsVR8"
179
+                },
180
+                "alg": "ES256"
181
+            },
182
+            "signature": "tuWZi_GNNT30W6zkbYYPx0Z7TV5YGfnGR86BuwPU8QSF8DctTvTAIOlxA6r_bvOQW-Be3HefdXf7Ja37RFltdQ",
183
+            "protected": "eyJmb3JtYXRMZW5ndGgiOjEyMTcwLCJmb3JtYXRUYWlsIjoiQ24wIiwidGltZSI6IjIwMTYtMDYtMDhUMjA6MDU6NDhaIn0"
184
+          }
185
+      ]
186
+    }
187
+  dockerImageMetadata:
188
+    Architecture: amd64
189
+    Config:
190
+      Cmd:
191
+      - mysqld
192
+      Entrypoint:
193
+      - docker-entrypoint.sh
194
+      Env:
195
+      - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
196
+      - GOSU_VERSION=1.7
197
+      - MYSQL_MAJOR=5.7
198
+      - MYSQL_VERSION=5.7.12-1debian8
199
+      ExposedPorts:
200
+        3306/tcp: {}
201
+      Hostname: b0cf605c7757
202
+      Image: 69f578147721b5aec38b8610c6fe7b5a7e572ed334953e14e09caa96583e7c82
203
+      Volumes:
204
+        /var/lib/mysql: {}
205
+    Container: 28f12468d3e4d87b069f04edc455d73acaa7f0f28167481a049cde7e0701ba7f
206
+    ContainerConfig:
207
+      Cmd:
208
+      - /bin/sh
209
+      - -c
210
+      - '#(nop) CMD ["mysqld"]'
211
+      Entrypoint:
212
+      - docker-entrypoint.sh
213
+      Env:
214
+      - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
215
+      - GOSU_VERSION=1.7
216
+      - MYSQL_MAJOR=5.7
217
+      - MYSQL_VERSION=5.7.12-1debian8
218
+      ExposedPorts:
219
+        3306/tcp: {}
220
+      Hostname: b0cf605c7757
221
+      Image: 69f578147721b5aec38b8610c6fe7b5a7e572ed334953e14e09caa96583e7c82
222
+      Volumes:
223
+        /var/lib/mysql: {}
224
+    Created: 2016-05-24T04:04:50Z
225
+    DockerVersion: 1.9.1
226
+    Id: e530dc89961c079653a34909612f92431d4a5059f65a1d5197a7df394190399e
227
+    Parent: 81cf9a46e286c63f9c77739128654b48108e3eb6037a8c281b978b2912b12f45
228
+    apiVersion: "1.0"
229
+    kind: DockerImage
230
+  dockerImageMetadataVersion: "1.0"
231
+  dockerImageReference:
232
+  kind: Image
233
+  metadata:
234
+    name: sha256:b2f400f4a5e003b0543decf61a0a010939f3fba07bafa226f11ed7b5f1e81237