Skip to content

Commit 7d43735

Browse files
upgrade minikube version to 1.33 (#151)
* upgrade minikube version to 1.33 * add support for high availability clusters * refactor node provisioning into seperate func * add test for ha property * refactor cluster to use first 3 nodes for HA * remove test stack outputs on clean * add early validation to prevent persisting bad minikube state * add nuke target for quicker e2e testing * add test stack clusters to clean target * pass in HA flag correctly * add HA flag to debug entrypoint * refactor HA nodes to the provision stage * remove unreferenced controlplane method * add APIServerPort to schema and provision HA nodes earlier * regenerate mocks and fix mock signatures * regen schema * fix absent provision/start expectation on failed ha nodes * add high availability integration test * return error on failed control plane start * set viber ha flag * regenerate cluster mock * avoid provisioning duplicate controlplane nodes * correctly set node state after write * add HA tf tests
1 parent 1f63714 commit 7d43735

20 files changed

+638
-299
lines changed

Makefile

+13-4
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,19 @@ schema:
1313
.PHONY: clean
1414
clean:
1515
rm bin/* || true
16-
rm tests/terraform.tfstate || true
17-
rm tests/terraform.tfstate.backup || true
18-
minikube delete -p terraform-provider-minikube
19-
minikube delete -p terraform-provider-minikube-acc
16+
rm examples/resources/minikube_cluster/terraform.tfstate || true
17+
rm examples/resources/minikube_cluster/terraform.tfstate.backup || true
18+
rm examples/resources/minikube_cluster/.terraform.lock.hcl || true
19+
rm -rf examples/resources/minikube_cluster/.terraform || true
20+
minikube delete -p terraform-provider-minikube --purge
21+
minikube delete -p terraform-provider-minikube-acc --purge
22+
minikube delete -p terraform-provider-minikube-acc-docker --purge
23+
minikube delete -p terraform-provider-minikube-acc-hyperkit --purge
24+
minikube delete -p terraform-provider-minikube-acc-hyperv --purge
25+
26+
.PHONY: nuke
27+
nuke: clean
28+
rm -rf ~/.minikube || true
2029

2130
.PHONY: test
2231
test:

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Some drivers require a bit of prerequisite setup, so it's best to visit [https:/
2323

2424
```terraform
2525
provider minikube {
26-
kubernetes_version = "v1.28.3"
26+
kubernetes_version = "v1.30.0"
2727
}
2828
2929
resource "minikube_cluster" "cluster" {

bootstrap/install-driver.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
set -e
44

5-
VERSION="v1.32.0"
5+
VERSION="v1.33.0"
66

77
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]:-$0}"; )" &> /dev/null && pwd 2> /dev/null; )";
88

docs/index.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ Some drivers require a bit of prerequisite setup, so it's best to visit [https:/
2424

2525
```terraform
2626
provider "minikube" {
27-
kubernetes_version = "v1.28.3"
27+
kubernetes_version = "v1.30.0"
2828
}
2929
```
3030
<br/><!-- schema generated by tfplugindocs -->
3131
## Schema
3232

3333
### Optional
3434

35-
- `kubernetes_version` (String) The Kubernetes version that the minikube VM will use. Defaults to 'v1.28.3'.
35+
- `kubernetes_version` (String) The Kubernetes version that the minikube VM will use. Defaults to 'v1.30.0'.
3636

docs/resources/cluster.md

+5-4
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Used to create a minikube cluster on the current host
1414

1515
```terraform
1616
provider "minikube" {
17-
kubernetes_version = "v1.28.3"
17+
kubernetes_version = "v1.30.0"
1818
}
1919
2020
resource "minikube_cluster" "docker" {
@@ -106,7 +106,7 @@ resource "kubernetes_deployment" "deployment" {
106106
- `apiserver_name` (String) The authoritative apiserver hostname for apiserver certificates and connectivity. This can be used if you want to make the apiserver available from outside the machine
107107
- `apiserver_names` (Set of String) A set of apiserver names which are used in the generated certificate for kubernetes. This can be used if you want to make the apiserver available from outside the machine
108108
- `apiserver_port` (Number) The apiserver listening port
109-
- `auto_pause_interval` (Number) Duration of inactivity before the minikube VM is paused (default 1m0s). To disable, set to 0s (Configured in minutes)
109+
- `auto_pause_interval` (Number) Duration of inactivity before the minikube VM is paused (default 1m0s) (Configured in minutes)
110110
- `auto_update_drivers` (Boolean) If set, automatically updates drivers to the latest version. Defaults to true.
111111
- `base_image` (String) The base image to use for docker/podman drivers. Intended for local development.
112112
- `binary_mirror` (String) Location to fetch kubectl, kubelet, & kubeadm binaries from.
@@ -137,6 +137,7 @@ resource "kubernetes_deployment" "deployment" {
137137
- `force` (Boolean) Force minikube to perform possibly dangerous operations
138138
- `force_systemd` (Boolean) If set, force the container runtime to use systemd as cgroup manager. Defaults to false.
139139
- `gpus` (String) Allow pods to use your NVIDIA GPUs. Options include: [all,nvidia] (Docker driver with Docker container-runtime only)
140+
- `ha` (Boolean) Create Highly Available Multi-Control Plane Cluster with a minimum of three control-plane nodes that will also be marked for work.
140141
- `host_dns_resolver` (Boolean) Enable host resolver for NAT DNS requests (virtualbox driver only)
141142
- `host_only_cidr` (String) The CIDR to be used for the minikube VM (virtualbox driver only)
142143
- `host_only_nic_type` (String) NIC Type used for host only network. One of Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, or virtio (virtualbox driver only)
@@ -152,7 +153,7 @@ resource "kubernetes_deployment" "deployment" {
152153
- `interactive` (Boolean) Allow user prompts for more information
153154
- `iso_url` (Set of String) Locations to fetch the minikube ISO from.
154155
- `keep_context` (Boolean) This will keep the existing kubectl context and will create a minikube context.
155-
- `kubernetes_version` (String) The Kubernetes version that the minikube VM will use (ex: v1.2.3, 'stable' for v1.28.3, 'latest' for v1.28.3). Defaults to 'stable'.
156+
- `kubernetes_version` (String) The Kubernetes version that the minikube VM will use (ex: v1.2.3, 'stable' for v1.30.0, 'latest' for v1.30.0). Defaults to 'stable'.
156157
- `kvm_gpu` (Boolean) Enable experimental NVIDIA GPU support in minikube
157158
- `kvm_hidden` (Boolean) Hide the hypervisor signature from the guest in minikube (kvm2 driver only)
158159
- `kvm_network` (String) The KVM default network name. (kvm2 driver only)
@@ -179,7 +180,7 @@ resource "kubernetes_deployment" "deployment" {
179180
- `nfs_shares_root` (String) Where to root the NFS Shares, defaults to /nfsshares (hyperkit driver only)
180181
- `no_kubernetes` (Boolean) If set, minikube VM/container will start without starting or configuring Kubernetes. (only works on new clusters)
181182
- `no_vtx_check` (Boolean) Disable checking for the availability of hardware virtualization before the vm is started (virtualbox driver only)
182-
- `nodes` (Number) The number of nodes to spin up. Defaults to 1.
183+
- `nodes` (Number) The total number of nodes to spin up. Defaults to 1.
183184
- `output` (String) Format to print stdout in. Options include: [text,json]
184185
- `ports` (Set of String) List of ports that should be exposed (docker and podman driver only)
185186
- `preload` (Boolean) If set, download tarball of preloaded images if available to improve start time. Defaults to true.

examples/provider/provider.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
provider "minikube" {
2-
kubernetes_version = "v1.28.3"
2+
kubernetes_version = "v1.30.0"
33
}

examples/resources/minikube_cluster/resource.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
provider "minikube" {
2-
kubernetes_version = "v1.28.3"
2+
kubernetes_version = "v1.30.0"
33
}
44

55
resource "minikube_cluster" "docker" {

go.mod

+51-44
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
module github.com/scott-the-programmer/terraform-provider-minikube
22

3-
go 1.21
3+
go 1.22.0
44

5-
toolchain go1.21.1
5+
toolchain go1.22.3
66

77
require (
88
github.com/docker/machine v0.16.2
@@ -14,7 +14,7 @@ require (
1414
github.com/spf13/viper v1.19.0
1515
github.com/stretchr/testify v1.9.0
1616
k8s.io/klog/v2 v2.130.1
17-
k8s.io/minikube v1.32.0
17+
k8s.io/minikube v1.33.0
1818
)
1919

2020
replace (
@@ -29,16 +29,17 @@ replace (
2929

3030
require (
3131
cloud.google.com/go v0.112.1 // indirect
32-
cloud.google.com/go/compute v1.24.0 // indirect
33-
cloud.google.com/go/compute/metadata v0.2.3 // indirect
34-
cloud.google.com/go/iam v1.1.6 // indirect
35-
cloud.google.com/go/storage v1.38.0 // indirect
32+
cloud.google.com/go/auth v0.2.0 // indirect
33+
cloud.google.com/go/auth/oauth2adapt v0.2.0 // indirect
34+
cloud.google.com/go/compute/metadata v0.3.0 // indirect
35+
cloud.google.com/go/iam v1.1.7 // indirect
36+
cloud.google.com/go/storage v1.40.0 // indirect
3637
cloud.google.com/go/trace v1.10.5 // indirect
3738
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
3839
github.com/BurntSushi/toml v1.2.1 // indirect
3940
github.com/Delta456/box-cli-maker/v2 v2.3.0 // indirect
40-
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.20.0 // indirect
41-
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.44.0 // indirect
41+
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.22.0 // indirect
42+
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.46.0 // indirect
4243
github.com/Kunde21/markdownfmt/v3 v3.1.0 // indirect
4344
github.com/MakeNowJust/heredoc v1.0.0 // indirect
4445
github.com/Masterminds/goutils v1.1.1 // indirect
@@ -57,28 +58,29 @@ require (
5758
github.com/beorn7/perks v1.0.1 // indirect
5859
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
5960
github.com/bgentry/speakeasy v0.1.0 // indirect
60-
github.com/blang/semver v3.5.1+incompatible // indirect
6161
github.com/blang/semver/v4 v4.0.0 // indirect
6262
github.com/bmatcuk/doublestar/v4 v4.6.1 // indirect
6363
github.com/briandowns/spinner v1.11.1 // indirect
6464
github.com/c4milo/gotoolkit v0.0.0-20190525173301-67483a18c17a // indirect
65-
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
65+
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
6666
github.com/cespare/xxhash/v2 v2.2.0 // indirect
67-
github.com/cheggaaa/pb/v3 v3.1.4 // indirect
67+
github.com/cheggaaa/pb/v3 v3.1.5 // indirect
6868
github.com/cloudevents/sdk-go/v2 v2.15.2 // indirect
6969
github.com/cloudflare/circl v1.3.7 // indirect
7070
github.com/containerd/containerd v1.6.26 // indirect
71+
github.com/containerd/log v0.1.0 // indirect
7172
github.com/containerd/stargz-snapshotter/estargz v0.14.3 // indirect
7273
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
7374
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
7475
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
75-
github.com/docker/cli v24.0.7+incompatible // indirect
76-
github.com/docker/distribution v2.8.2+incompatible // indirect
77-
github.com/docker/docker v24.0.9+incompatible // indirect
76+
github.com/distribution/reference v0.6.0 // indirect
77+
github.com/docker/cli v26.0.1+incompatible // indirect
78+
github.com/docker/distribution v2.8.3+incompatible // indirect
79+
github.com/docker/docker v26.0.1+incompatible // indirect
7880
github.com/docker/docker-credential-helpers v0.7.0 // indirect
79-
github.com/docker/go-connections v0.4.0 // indirect
81+
github.com/docker/go-connections v0.5.0 // indirect
8082
github.com/docker/go-units v0.5.0 // indirect
81-
github.com/emicklei/go-restful/v3 v3.10.1 // indirect
83+
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
8284
github.com/fatih/color v1.16.0 // indirect
8385
github.com/felixge/httpsnoop v1.0.4 // indirect
8486
github.com/fsnotify/fsnotify v1.7.0 // indirect
@@ -94,15 +96,16 @@ require (
9496
github.com/golang/protobuf v1.5.4 // indirect
9597
github.com/google/gnostic-models v0.6.8 // indirect
9698
github.com/google/go-cmp v0.6.0 // indirect
97-
github.com/google/go-containerregistry v0.16.1 // indirect
98-
github.com/google/go-github/v56 v56.0.0 // indirect
99+
github.com/google/go-containerregistry v0.19.1 // indirect
100+
github.com/google/go-github/v61 v61.0.0 // indirect
99101
github.com/google/go-querystring v1.1.0 // indirect
100102
github.com/google/gofuzz v1.2.0 // indirect
101103
github.com/google/s2a-go v0.1.7 // indirect
102104
github.com/google/uuid v1.6.0 // indirect
103105
github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
104106
github.com/googleapis/gax-go/v2 v2.12.3 // indirect
105107
github.com/gookit/color v1.5.2 // indirect
108+
github.com/gorilla/websocket v1.5.0 // indirect
106109
github.com/hashicorp/cli v1.1.6 // indirect
107110
github.com/hashicorp/errwrap v1.1.0 // indirect
108111
github.com/hashicorp/go-checkpoint v0.5.0 // indirect
@@ -141,13 +144,14 @@ require (
141144
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
142145
github.com/klauspost/compress v1.17.2 // indirect
143146
github.com/klauspost/cpuid v1.2.0 // indirect
147+
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
144148
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
145149
github.com/machine-drivers/docker-machine-driver-vmware v0.1.5 // indirect
146150
github.com/magiconair/properties v1.8.7 // indirect
147151
github.com/mailru/easyjson v0.7.7 // indirect
148152
github.com/mattn/go-colorable v0.1.13 // indirect
149153
github.com/mattn/go-isatty v0.0.20 // indirect
150-
github.com/mattn/go-runewidth v0.0.14 // indirect
154+
github.com/mattn/go-runewidth v0.0.15 // indirect
151155
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
152156
github.com/mitchellh/copystructure v1.2.0 // indirect
153157
github.com/mitchellh/go-homedir v1.1.0 // indirect
@@ -156,24 +160,26 @@ require (
156160
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
157161
github.com/mitchellh/mapstructure v1.5.0 // indirect
158162
github.com/mitchellh/reflectwalk v1.0.2 // indirect
163+
github.com/moby/docker-image-spec v1.3.1 // indirect
159164
github.com/moby/hyperkit v0.0.0-20210108224842-2f061e447e14 // indirect
160165
github.com/moby/patternmatcher v0.6.0 // indirect
161166
github.com/moby/spdystream v0.2.0 // indirect
162167
github.com/moby/sys/mountinfo v0.6.2 // indirect
163168
github.com/moby/sys/sequential v0.5.0 // indirect
169+
github.com/moby/sys/user v0.1.0 // indirect
164170
github.com/moby/term v0.0.0-20221205130635-1aeaba878587 // indirect
165171
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
166172
github.com/modern-go/reflect2 v1.0.2 // indirect
167173
github.com/muesli/reflow v0.3.0 // indirect
168174
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
175+
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
169176
github.com/oklog/run v1.0.0 // indirect
170177
github.com/olekukonko/tablewriter v0.0.5 // indirect
171178
github.com/opencontainers/go-digest v1.0.0 // indirect
172179
github.com/opencontainers/image-spec v1.1.0-rc3 // indirect
173180
github.com/opencontainers/runc v1.1.12 // indirect
174181
github.com/opencontainers/runtime-spec v1.1.0-rc.1 // indirect
175182
github.com/otiai10/copy v1.14.0 // indirect
176-
github.com/pborman/uuid v1.2.1 // indirect
177183
github.com/pelletier/go-toml/v2 v2.2.2 // indirect
178184
github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2 // indirect
179185
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
@@ -190,14 +196,14 @@ require (
190196
github.com/sagikazarmark/locafero v0.4.0 // indirect
191197
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
192198
github.com/samalba/dockerclient v0.0.0-20160414174713-91d7393ff859 // indirect
193-
github.com/shirou/gopsutil/v3 v3.23.10 // indirect
199+
github.com/shirou/gopsutil/v3 v3.24.3 // indirect
194200
github.com/shoenig/go-m1cpu v0.1.6 // indirect
195201
github.com/shopspring/decimal v1.3.1 // indirect
196202
github.com/sirupsen/logrus v1.9.3 // indirect
197203
github.com/sourcegraph/conc v0.3.0 // indirect
198204
github.com/spf13/afero v1.11.0 // indirect
199205
github.com/spf13/cast v1.6.0 // indirect
200-
github.com/spf13/cobra v1.7.0 // indirect
206+
github.com/spf13/cobra v1.8.0 // indirect
201207
github.com/spf13/pflag v1.0.5 // indirect
202208
github.com/subosito/gotenv v1.6.0 // indirect
203209
github.com/tklauser/go-sysconf v0.3.12 // indirect
@@ -210,50 +216,51 @@ require (
210216
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
211217
github.com/yuin/goldmark v1.7.1 // indirect
212218
github.com/yuin/goldmark-meta v1.1.0 // indirect
213-
github.com/yusufpapurcu/wmi v1.2.3 // indirect
219+
github.com/yusufpapurcu/wmi v1.2.4 // indirect
214220
github.com/zchee/go-vmnet v0.0.0-20161021174912-97ebf9174097 // indirect
215221
github.com/zclconf/go-cty v1.14.4 // indirect
216222
go.abhg.dev/goldmark/frontmatter v0.2.0 // indirect
217223
go.opencensus.io v0.24.0 // indirect
218224
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect
219225
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
220-
go.opentelemetry.io/otel v1.24.0 // indirect
221-
go.opentelemetry.io/otel/metric v1.24.0 // indirect
222-
go.opentelemetry.io/otel/sdk v1.22.0 // indirect
223-
go.opentelemetry.io/otel/trace v1.24.0 // indirect
226+
go.opentelemetry.io/otel v1.25.0 // indirect
227+
go.opentelemetry.io/otel/metric v1.25.0 // indirect
228+
go.opentelemetry.io/otel/sdk v1.25.0 // indirect
229+
go.opentelemetry.io/otel/trace v1.25.0 // indirect
224230
go.uber.org/multierr v1.11.0 // indirect
225-
go.uber.org/zap v1.26.0 // indirect
231+
go.uber.org/zap v1.27.0 // indirect
226232
golang.org/x/crypto v0.23.0 // indirect
227233
golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect
228234
golang.org/x/mod v0.17.0 // indirect
229-
golang.org/x/net v0.23.0 // indirect
230-
golang.org/x/oauth2 v0.18.0 // indirect
231-
golang.org/x/sync v0.6.0 // indirect
235+
golang.org/x/net v0.24.0 // indirect
236+
golang.org/x/oauth2 v0.19.0 // indirect
237+
golang.org/x/sync v0.7.0 // indirect
232238
golang.org/x/sys v0.20.0 // indirect
233239
golang.org/x/term v0.20.0 // indirect
234240
golang.org/x/text v0.15.0 // indirect
235241
golang.org/x/time v0.5.0 // indirect
236-
golang.org/x/tools v0.13.0 // indirect
237-
google.golang.org/api v0.171.0 // indirect
242+
golang.org/x/tools v0.18.0 // indirect
243+
google.golang.org/api v0.174.0 // indirect
238244
google.golang.org/appengine v1.6.8 // indirect
239245
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect
240-
google.golang.org/genproto/googleapis/api v0.0.0-20240311132316-a219d84964c2 // indirect
241-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240314234333-6e1732d8331c // indirect
246+
google.golang.org/genproto/googleapis/api v0.0.0-20240314234333-6e1732d8331c // indirect
247+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be // indirect
242248
google.golang.org/grpc v1.63.2 // indirect
243249
google.golang.org/protobuf v1.34.0 // indirect
244250
gopkg.in/inf.v0 v0.9.1 // indirect
245251
gopkg.in/ini.v1 v1.67.0 // indirect
246252
gopkg.in/yaml.v2 v2.4.0 // indirect
247253
gopkg.in/yaml.v3 v3.0.1 // indirect
248-
k8s.io/api v0.28.3 // indirect
249-
k8s.io/apimachinery v0.28.3 // indirect
250-
k8s.io/client-go v0.28.3 // indirect
254+
k8s.io/api v0.30.0 // indirect
255+
k8s.io/apimachinery v0.30.0 // indirect
256+
k8s.io/cli-runtime v0.30.0 // indirect
257+
k8s.io/client-go v0.30.0 // indirect
251258
k8s.io/cluster-bootstrap v0.0.0 // indirect
252-
k8s.io/component-base v0.28.3 // indirect
253-
k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect
254-
k8s.io/kubectl v0.28.3 // indirect
255-
k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect
259+
k8s.io/component-base v0.30.0 // indirect
260+
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
261+
k8s.io/kubectl v0.30.0 // indirect
262+
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
256263
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
257-
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
264+
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
258265
sigs.k8s.io/yaml v1.3.0 // indirect
259266
)

0 commit comments

Comments
 (0)