Help us shape the future of Go! Take the 2026 Go Developer Survey

generator

package
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2018 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RenderAlmCatalog added in v0.0.5

func RenderAlmCatalog(c *Config, image, version string) error

RenderAlmCatalog generates catalog manifests "deploy/alm-catalog/*" The current working directory must be the project repository root

func RenderOperatorYaml added in v0.0.2

func RenderOperatorYaml(c *Config, image string) error

RenderOperatorYaml generates "deploy/operator.yaml"

Types

type Boilerplate

type Boilerplate struct {
	ProjectName string
}

Boilerplate contains all the customized data needed to generate codegen/boilerplate.go.txt for a new operator when pairing with boilerplateTmpl template.

type Build

type Build struct {
	RepoPath    string
	ProjectName string
}

Build contains all the customized data needed to generate tmp/build.sh for a new operator when pairing with buildTmpl template.

type CRDConfig added in v0.0.5

type CRDConfig struct {
	Kind         string
	KindSingular string
	KindPlural   string
	GroupName    string
	Version      string
}

CRDConfig contains the data needed to generate deploy/alm-catalog/crd.yaml

type CRYaml added in v0.0.2

type CRYaml struct {
	APIVersion string
	Kind       string
	Name       string
}

CRYaml contains all the customized data needed to generate deploy/cr.yaml.

type CSVConfig added in v0.0.5

type CSVConfig struct {
	Kind           string
	KindSingular   string
	KindPlural     string
	GroupName      string
	CRDVersion     string
	ProjectName    string
	CSVName        string
	Image          string
	CatalogVersion string
}

CSVConfig contains the data needed to generate deploy/alm-catalog/csv.yaml

type CatalogPackageConfig added in v0.0.5

type CatalogPackageConfig struct {
	PackageName string
	ChannelName string
	CurrentCSV  string
}

CatalogPackageConfig contains the data needed to generate deploy/alm-catalog/package.yaml

type Config

type Config struct {
	// APIVersion is the kubernetes apiVersion that has the format of $GROUP_NAME/$VERSION.
	APIVersion string `yaml:"apiVersion"`
	// Kind is the kubernetes resource kind.
	Kind string `yaml:"kind"`
	// ProjectName is name of the new operator application
	// and is also the name of the base directory.
	ProjectName string `yaml:"projectName"`
}

type Doc

type Doc struct {
	GroupName string
	Version   string
}

Doc contains all the customized data needed to generate apis/<apiDirName>/<version>/doc.go for a new operator when pairing with apisDocTmpl template.

type DockerFile

type DockerFile struct {
	ProjectName string
}

DockerFile contains all the customized data needed to generate tmp/build/Dockerfie for a new operator when pairing with dockerFileTmpl template.

type Generator

type Generator struct {
	// contains filtered or unexported fields
}

func NewGenerator

func NewGenerator(apiVersion, kind, projectName, repoPath string) *Generator

NewGenerator creates a new scaffold Generator.

func (*Generator) Render

func (g *Generator) Render() error

Render generates the default project structure:

├── <projectName> │ ├── cmd │ │ └── <projectName> │ ├── config │ ├── deploy │ ├── pkg │ │ ├── apis │ │ │ └── <api-dir-name> // computed from apiDirName(apiVersion). │ │ │ └── <version> // computed from version(apiVersion). │ │ └── stub │ └── tmp │ ├── build │ └── codegen

type Handler

type Handler struct {
	// imports
	OperatorSDKImport string

	RepoPath   string
	Kind       string
	APIDirName string
	Version    string
}

Handler contains all the customized data needed to generate stub/handler.go for a new operator when pairing with handlerTmpl template.

type Main

type Main struct {
	// imports
	OperatorSDKImport string
	StubImport        string
	SDKVersionImport  string

	APIVersion string
	Kind       string
}

Main contains all the customized data needed to generate cmd/<projectName>/main.go for a new operator when pairing with mainTmpl template.

type OperatorYaml

type OperatorYaml struct {
	Kind         string
	KindSingular string
	KindPlural   string
	GroupName    string
	Version      string
	ProjectName  string
	Image        string
}

OperatorYaml contains all the customized data needed to generate deploy/operator.yaml for a new operator when pairing with operatorYamlTmpl template.

type RBACYaml

type RBACYaml struct {
	ProjectName string
	GroupName   string
}

RBACYaml contains all the customized data needed to generate deploy/rbac.yaml for a new operator when pairing with rbacYamlTmpl template.

type Register

type Register struct {
	GroupName  string
	Version    string
	Kind       string
	KindPlural string
}

Register contains all the customized data needed to generate apis/<apiDirName>/<version>/register.go for a new operator when pairing with apisDocTmpl template.

type Types

type Types struct {
	Version string
	Kind    string
}

Types contains all the customized data needed to generate apis/<apiDirName>/<version>/types.go for a new operator when pairing with apisTypesTmpl template.

type UpdateGenerated

type UpdateGenerated struct {
	RepoPath   string
	APIDirName string
	Version    string
}

UpdateGenerated contains all the customized data needed to generate codegen/update-generated.sh for a new operator when pairing with updateGeneratedTmpl template.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL