k8s的自定义资源代码生成详解

  • Post author:
  • Post category:其他


为什么下这篇文章呢,在代码生成这一块跌了两次跟头,说白了只知道照抄,并不知道里面到底是干什么的,要做到知其然并知其所以然,也是为以后在自动生成代码的时候做一个参考。



生成的项目目录结构如下

.
├── go.mod
├── go.sum
├── hack
│   ├── boilerplate.go.txt
│   ├── update-codegen.sh
│   └── verify-codegen.sh
└── pkg
    ├── apis
    │   └── mycontroller
    │       ├── register.go
    │       └── v1alpha1
    │           ├── doc.go
    │           ├── register.go
    │           ├── types.go
    │           └── zz_generated.deepcopy.go
    └── client
        ├── clientset
        │   └── versioned
        │       ├── clientset.go
        │       ├── doc.go
        │       ├── fake
        │       │   ├── clientset_generated.go
        │       │   ├── doc.go
        │       │   └── register.go
        │       ├── scheme
        │       │   ├── doc.go
        │       │   └── register.go
        │       └── typed
        │           └── mycontroller
        │               └── v1alpha1
        │                   ├── doc.go
        │                   ├── fake
        │                   │   ├── doc.go
        │                   │   ├── fake_mycontroller_client.go
        │                   │   └── fake_website.go
        │                   ├── generated_expansion.go
        │                   ├── mycontroller_client.go
        │                   └── website.go
        ├── informers
        │   └── externalversions
        │       ├── factory.go
        │       ├── generic.go
        │       ├── internalinterfaces
        │       │   └── factory_interfaces.go
        │       └── mycontroller
        │           ├── interface.go
        │           └── v1alpha1
        │               ├── interface.go
        │               └── website.go
        └── listers
            └── mycontroller
                └── v1alpha1
                    ├── expansion_generated.go
                    └── website.go


代码生成需要的文件

├── go.mod
├── go.sum
├── hack
│   ├── boi



版权声明:本文为qq_24271853原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。