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