Создайте свойство oneOf с помощью operator-sdk - PullRequest
1 голос
/ 10 июля 2020

В настоящее время я новичок в operator-sdk, однако я хочу кое-что спросить.

Я пытаюсь сгенерировать CRD, содержащую свойство oneOf в spe c. Однако я застрял в этой задаче.

Когда я искал в Google, я не нашел способа реализовать свойство с помощью operator-sdk.

Если бы я хотел реализовать сгенерировать свойство oneOf как мой CRD, есть ли способ сделать это?

Например,

type: object
properties:
  spec:
    ...
    oneOf:
      - required: [someproperties1]
      - required: [someproperties2]

Спасибо.

1 Ответ

1 голос
/ 10 июля 2020

Да! Следуйте инструкциям по быстрому запуску Ansible, Helm или Go.

Предполагая, что ваш вопрос касается создания CRD.

Например. если вы следуете быстрому запуску Go, вы можете использовать CLI operator-sdk следующим образом :

$ operator-sdk add api --api-version=my.example.com/v1alpha1 --kind=OneOf

или с Ansible:

$ operator-sdk new my-operator --api-version=my.example.com/v1alpha1 --kind=OneOf --type=ansible

Обратите внимание, что ваш CRD должен начинаться с заглавных букв (соглашение K8s): OneOf

Теперь, если вы хотите определить a 'spe c' в своем CRD , вы можете также следуйте руководствам по быстрому запуску (шаблон будет создан operator-sdk CLI). Например, для Go в коде будет создана структура:

type OneOfSpec struct {
    // Size is the size of your OneOf
    Size int32 `json:"size"`
}
type OneOfStatus struct {
    // Nodes are the names of the oneof pods
    Nodes []string `json:"nodes"`
}
...