Создайте свойство oneOf с помощью operator-sdk

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

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

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

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

Например,

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

Спасибо.

1 ответ

Да! Следуйте инструкциям по быстрому запуску 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

Теперь, если вы хотите определить "спецификацию" в своей CRD, вы также можете следовать руководствам по быстрому запуску (шаблон будет созданoperator-sdkCLI). Например, для 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"`
}
Другие вопросы по тегам