|
8 | 8 | # X.Y.Z-standalone-strict - de-referenced schemas, more useful as standalone documents, additionalProperties disallowed
|
9 | 9 | # X.Y.Z-local - relative references, useful to avoid the network dependency
|
10 | 10 |
|
11 |
| -declare -a arr=( |
12 |
| - # Add here the version you want to re-generate |
13 |
| - # master |
14 |
| - # v1.19.X |
15 |
| - v1.19.3 |
16 |
| - ) |
17 | 11 |
|
18 |
| -# This list is used only list of already genrated schema definition |
19 |
| -# (or when we need to rebuild all definitions) |
20 |
| -declare -a arr2=( |
21 |
| - # master |
22 |
| - # v1.19.X |
23 |
| - v1.19.3 |
24 |
| - # v1.18.x |
25 |
| - v1.18.1 |
26 |
| - v1.18.0 |
27 |
| - # v1.17.x |
28 |
| - v1.17.4 |
29 |
| - v1.17.3 |
30 |
| - v1.17.2 |
31 |
| - v1.17.1 |
32 |
| - v1.17.0 |
33 |
| - # v1.16.x |
34 |
| - v1.16.4 |
35 |
| - v1.16.3 |
36 |
| - v1.16.2 |
37 |
| - v1.16.1 |
38 |
| - v1.16.0 |
39 |
| - # v1.15.x |
40 |
| - v1.15.7 |
41 |
| - v1.15.6 |
42 |
| - v1.15.5 |
43 |
| - v1.15.4 |
44 |
| - v1.15.3 |
45 |
| - v1.15.2 |
46 |
| - v1.15.1 |
47 |
| - v1.15.0 |
48 |
| - # v1.14.x |
49 |
| - v1.14.10 |
50 |
| - v1.14.9 |
51 |
| - v1.14.8 |
52 |
| - v1.14.7 |
53 |
| - v1.14.6 |
54 |
| - v1.14.5 |
55 |
| - v1.14.4 |
56 |
| - v1.14.3 |
57 |
| - v1.14.2 |
58 |
| - v1.14.1 |
59 |
| - v1.14.0 |
60 |
| - # v1.13.x |
61 |
| - v1.13.11 |
62 |
| - v1.13.10 |
63 |
| - v1.13.9 |
64 |
| - v1.13.8 |
65 |
| - v1.13.7 |
66 |
| - v1.13.6 |
67 |
| - v1.13.5 |
68 |
| - v1.13.4 |
69 |
| - v1.13.3 |
70 |
| - v1.13.2 |
71 |
| - v1.13.1 |
72 |
| - v1.13.0 |
73 |
| - # v1.12.x |
74 |
| - v1.12.10 |
75 |
| - v1.12.9 |
76 |
| - v1.12.8 |
77 |
| - v1.12.7 |
78 |
| - v1.12.6 |
79 |
| - v1.12.5 |
80 |
| - v1.12.4 |
81 |
| - v1.12.3 |
82 |
| - v1.12.2 |
83 |
| - v1.12.1 |
84 |
| - v1.12.0 |
85 |
| -) |
| 12 | +# All k8s versions, starting from 1.10 |
| 13 | +K8S_VERSIONS= $(git ls-remote --refs --tags [email protected]:kubernetes/kubernetes.git | cut -d/ -f3 | grep -e '^v1\.[0-9]\{2\}\.[0-9]\{1,2\}$') |
| 14 | +OPENAPI2JSONSCHEMABIN="docker run -it -v ${PWD}:/out/schemas docker.pkg.github.com/yannh/openapi2jsonschema/openapi2jsonschema:latest" |
86 | 15 |
|
87 |
| -for version in "${arr[@]}" |
88 |
| -do |
89 |
| -schema=https://raw.githubusercontent.com/kubernetes/kubernetes/${version}/api/openapi-spec/swagger.json |
90 |
| -prefix=https://kubernetesjsonschema.dev/${version}/_definitions.json |
| 16 | +for K8S_VERSION in master $K8S_VERSIONS; do |
| 17 | + SCHEMA=https://raw.githubusercontent.com/kubernetes/kubernetes/${K8S_VERSION}/api/openapi-spec/swagger.json |
| 18 | + PREFIX=https://kubernetesjsonschema.dev/${K8S_VERSION}/_definitions.json |
91 | 19 |
|
92 |
| -docker run -it docker.pkg.github.com/yannh/openapi2jsonschema/openapi2jsonschema:latest -o "${version}-standalone-strict" --expanded --kubernetes --stand-alone --strict "${schema}" |
93 |
| -docker run -it docker.pkg.github.com/yannh/openapi2jsonschema/openapi2jsonschema:latest -o "${version}-standalone" --expanded --kubernetes --stand-alone "${schema}" |
94 |
| -docker run -it docker.pkg.github.com/yannh/openapi2jsonschema/openapi2jsonschema:latest -o "${version}-local" --expanded --kubernetes "${schema}" |
95 |
| -docker run -it docker.pkg.github.com/yannh/openapi2jsonschema/openapi2jsonschema:latest -o "${version}" --expanded --kubernetes --prefix "${prefix}" "${schema}" |
96 |
| -docker run -it docker.pkg.github.com/yannh/openapi2jsonschema/openapi2jsonschema:latest -o "${version}-standalone-strict" --kubernetes --stand-alone --strict "${schema}" |
97 |
| -docker run -it docker.pkg.github.com/yannh/openapi2jsonschema/openapi2jsonschema:latest -o "${version}-standalone" --kubernetes --stand-alone "${schema}" |
98 |
| -docker run -it docker.pkg.github.com/yannh/openapi2jsonschema/openapi2jsonschema:latest -o "${version}-local" --kubernetes "${schema}" |
99 |
| -docker run -it docker.pkg.github.com/yannh/openapi2jsonschema/openapi2jsonschema:latest -o "${version}" --kubernetes --prefix "${prefix}" "${schema}" |
| 20 | + if [ ! -d "schemas/${K8S_VERSION}-standalone-strict" ]; then |
| 21 | + $OPENAPI2JSONSCHEMABIN -o "schemas/${K8S_VERSION}-standalone-strict" --expanded --kubernetes --stand-alone --strict "${SCHEMA}" |
| 22 | + $OPENAPI2JSONSCHEMABIN -o "schemas/${K8S_VERSION}-standalone-strict" --kubernetes --stand-alone --strict "${SCHEMA}" |
| 23 | + fi |
| 24 | + |
| 25 | + if [ ! -d "schemas/${K8S_VERSION}-standalone" ]; then |
| 26 | + $OPENAPI2JSONSCHEMABIN -o "schemas/${K8S_VERSION}-standalone" --expanded --kubernetes --stand-alone "${SCHEMA}" |
| 27 | + $OPENAPI2JSONSCHEMABIN -o "schemas/${K8S_VERSION}-standalone" --kubernetes --stand-alone "${SCHEMA}" |
| 28 | + fi |
| 29 | + |
| 30 | + if [ ! -d "schemas/${K8S_VERSION}-local" ]; then |
| 31 | + $OPENAPI2JSONSCHEMABIN -o "schemas/${K8S_VERSION}-local" --expanded --kubernetes "${SCHEMA}" |
| 32 | + $OPENAPI2JSONSCHEMABIN -o "schemas/${K8S_VERSION}-local" --kubernetes "${SCHEMA}" |
| 33 | + fi |
| 34 | + |
| 35 | + if [ ! -d "schemas/${K8S_VERSION}" ]; then |
| 36 | + $OPENAPI2JSONSCHEMABIN -o "schemas/${K8S_VERSION}" --expanded --kubernetes --prefix "${PREFIX}" "${SCHEMA}" |
| 37 | + $OPENAPI2JSONSCHEMABIN -o "schemas/${K8S_VERSION}" --kubernetes --prefix "${PREFIX}" "${SCHEMA}" |
| 38 | + fi |
100 | 39 | done
|
0 commit comments