|
361 | 361 |
|
362 | 362 |
|
363 | 363 | kubebuilder create resource --group insect --version v1beta1 --kind Wasp
|
364 |
| - kubebuilder create resource --group ant --version v1beta1 --kind Ant |
| 364 | + kubebuilder create resource --group ant --version v1beta1 --kind Ant --controller=false |
365 | 365 | kubebuilder create config --crds --output crd.yaml
|
366 | 366 |
|
367 | 367 | # Check for ordering of generated YAML
|
@@ -502,15 +502,61 @@ function test_docs {
|
502 | 502 | diff docs/reference/config.yaml $kb_orig/test/docs/expected/config.yaml
|
503 | 503 | }
|
504 | 504 |
|
| 505 | +function generate_controller { |
| 506 | + header_text "creating controller" |
| 507 | + kubebuilder create controller --group ant --version v1beta1 --kind Ant |
| 508 | +} |
| 509 | + |
| 510 | +function update_controller_test { |
| 511 | + # Update import |
| 512 | + sed -i 's!"k8s.io/client-go/kubernetes/typed/apps/v1beta2"!&\n "k8s.io/api/core/v1"!' ./pkg/controller/deployment/controller_test.go |
| 513 | + |
| 514 | + # Fill deployment instance |
| 515 | + sed -i 's!instance.Name = "instance-1"!&\n instance.Spec.Template.Spec.Containers = []v1.Container{{Name: "name", Image: "someimage"}}\n labels := map[string]string{"foo": "bar"}\n instance.Spec.Template.ObjectMeta.Labels = labels\n instance.Spec.Selector = \&metav1.LabelSelector{MatchLabels: labels}!' ./pkg/controller/deployment/controller_test.go |
| 516 | +} |
| 517 | + |
| 518 | +function generate_coretype_controller { |
| 519 | + header_text "generating controller for coretype Deployment" |
| 520 | + |
| 521 | + # Run the commands |
| 522 | + kubebuilder init repo --domain sample.kubernetes.io --controller-only |
| 523 | + kubebuilder create controller --group apps --version v1beta2 --kind Deployment --core-type |
| 524 | + |
| 525 | + # Update the controller test |
| 526 | + update_controller_test |
| 527 | +} |
| 528 | + |
| 529 | +function generate_resource_with_coretype_controller { |
| 530 | + header_text "generating CRD resource as well as controller for coretype Deployment" |
| 531 | + |
| 532 | + # Run the commands |
| 533 | + kubebuilder init repo --domain sample.kubernetes.io |
| 534 | + kubebuilder create resource --group ant --version v1beta1 --kind Ant |
| 535 | + kubebuilder create controller --group apps --version v1beta2 --kind Deployment --core-type |
| 536 | + |
| 537 | + # Update the controller test |
| 538 | + update_controller_test |
| 539 | +} |
| 540 | + |
505 | 541 | prepare_staging_dir
|
506 | 542 | fetch_tools
|
507 | 543 | build_kb
|
508 |
| -prepare_testdir_under_gopath |
509 | 544 |
|
| 545 | +prepare_testdir_under_gopath |
510 | 546 | generate_crd_resources
|
| 547 | +generate_controller |
511 | 548 | test_docs
|
512 | 549 | test_generated_controller
|
513 | 550 | test_vendor_update
|
514 | 551 | # re-running controller tests post vendor update
|
515 | 552 | test_generated_controller
|
| 553 | + |
| 554 | +prepare_testdir_under_gopath |
| 555 | +generate_resource_with_coretype_controller |
| 556 | +test_generated_controller |
| 557 | + |
| 558 | +prepare_testdir_under_gopath |
| 559 | +generate_coretype_controller |
| 560 | +test_generated_controller |
| 561 | + |
516 | 562 | exit $rc
|
0 commit comments