transformer

package
v0.3.14 Latest Latest
Warning

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

Go to latest
Published: Jul 23, 2024 License: Apache-2.0 Imports: 45 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ALLOW_ALL_ARTIFACT_TYPES is a wild card that allows a transformer to produce all types of artifacts
	ALLOW_ALL_ARTIFACT_TYPES = "*"
	// DEFAULT_SELECTED_LABEL is a label that can be used to remove a transformer from the list of transformers that are selected by default.
	DEFAULT_SELECTED_LABEL = types.GroupName + "/default-selected"
	// CONTAINER_BASED_LABEL is a label that indicates that the transformer needs to spawn containers to run.
	CONTAINER_BASED_LABEL = types.GroupName + "/container-based"
	// SORT_ORDER_LABEL is a label that is used while sorting the list of all transformers.
	SORT_ORDER_LABEL = types.GroupName + "/sort-order"
)
View Source
const (
	// LinuxFileSeperator is used to join paths for linux container file system
	LinuxFileSeperator = "/"
)
View Source
const (
	// ResourceRequestKey is the config key for resource requests
	ResourceRequestKey = "ResourceRequest"
)

Variables

This section is empty.

Functions

func Destroy

func Destroy()

Destroy destroys the transformers

func GetServices

func GetServices(projectName string, dir string, transformerSelector *metav1.LabelSelector) (map[string][]plantypes.PlanArtifact, error)

GetServices returns the list of services detected in a directory

func Init

func Init(assetsPath, sourcePath string, selector labels.Selector, outputPath, projName string) (map[string]string, error)

Init initializes the transformers

func InitTransformers

func InitTransformers(transformerYamlPaths map[string]string, selector labels.Selector, sourcePath, outputPath, projName string, logError, preExistingPlan bool) (map[string]string, error)

InitTransformers initializes a subset of transformers

func RegisterTransformer added in v0.3.3

func RegisterTransformer(tf Transformer) error

RegisterTransformer allows for adding transformers after initialization

func Transform

func Transform(planArtifacts []plantypes.PlanArtifact, sourceDir, outputPath string, maxIterations int) error

Transform transforms as per the plan

Types

type CNBContainerizer added in v0.3.3

type CNBContainerizer struct {
	Config              transformertypes.Transformer
	BuilderImageNameCfg *CNBContainerizerConfig
	Env                 *environment.Environment
	CNBEnv              *environment.Environment
}

CNBContainerizer implements Containerizer interface

func (*CNBContainerizer) DirectoryDetect added in v0.3.3

func (t *CNBContainerizer) DirectoryDetect(dir string) (services map[string][]transformertypes.Artifact, err error)

DirectoryDetect runs detect in each sub directory

func (*CNBContainerizer) GetConfig added in v0.3.3

GetConfig returns the transformer config

func (*CNBContainerizer) Init added in v0.3.3

Init Initializes the transformer

func (*CNBContainerizer) Transform added in v0.3.3

Transform transforms the artifacts

type CNBContainerizerConfig added in v0.3.5

type CNBContainerizerConfig struct {
	Container environmenttypes.Container
}

CNBContainerizerConfig contains the configuration options for the CNB containerizer transformer.

type CloudFoundry

type CloudFoundry struct {
	Config transformertypes.Transformer
	Env    *environment.Environment
}

CloudFoundry implements Transformer interface

func (*CloudFoundry) DirectoryDetect

func (t *CloudFoundry) DirectoryDetect(dir string) (map[string][]transformertypes.Artifact, error)

DirectoryDetect detects cloud foundry projects in various directories

func (*CloudFoundry) GetConfig

GetConfig returns the transformer config

func (*CloudFoundry) Init

Init Initializes the transformer

func (*CloudFoundry) Transform

func (t *CloudFoundry) Transform(newArtifacts []transformertypes.Artifact, alreadySeenArtifacts []transformertypes.Artifact) ([]transformertypes.PathMapping, []transformertypes.Artifact, error)

Transform transforms the artifacts

type InvokeDetect added in v0.3.6

type InvokeDetect struct {
	Config transformertypes.Transformer
	Env    *environment.Environment
}

InvokeDetect implements the Transformer interface

func (*InvokeDetect) DirectoryDetect added in v0.3.6

func (t *InvokeDetect) DirectoryDetect(dir string) (map[string][]transformertypes.Artifact, error)

DirectoryDetect does nothing

func (*InvokeDetect) GetConfig added in v0.3.6

GetConfig returns the transformer config

func (*InvokeDetect) Init added in v0.3.6

Init Initializes the transformer

func (*InvokeDetect) Transform added in v0.3.6

func (t *InvokeDetect) Transform(
	inputArtifacts []transformertypes.Artifact,
	inputOldArtifacts []transformertypes.Artifact,
) (
	[]transformertypes.PathMapping,
	[]transformertypes.Artifact,
	error,
)

Transform transforms the artifacts

type ReadMeGenerator

type ReadMeGenerator struct {
	Config transformertypes.Transformer
	Env    *environment.Environment
}

ReadMeGenerator implements Transformer interface

func (*ReadMeGenerator) DirectoryDetect

func (t *ReadMeGenerator) DirectoryDetect(dir string) (services map[string][]transformertypes.Artifact, err error)

DirectoryDetect executes detect in directories respecting the m2kignore

func (*ReadMeGenerator) GetConfig

GetConfig returns the config of the transformer

func (*ReadMeGenerator) Init

Init initializes the translator

func (*ReadMeGenerator) Transform

Transform transforms the artifacts

type Router

type Router struct {
	Config       transformertypes.Transformer
	Env          *environment.Environment
	RouterConfig *RouterYamlConfig
}

Router implements Transformer interface

func (*Router) DirectoryDetect

func (t *Router) DirectoryDetect(dir string) (services map[string][]transformertypes.Artifact, err error)

DirectoryDetect runs detects if necessary

func (*Router) GetConfig

GetConfig returns the transformer config

func (*Router) GetStringFromTemplate

func (t *Router) GetStringFromTemplate(templateString string, artifact transformertypes.Artifact) (filledString string, err error)

GetStringFromTemplate Translates question properties from templates to string

func (*Router) Init

Init Initializes the transformer

func (*Router) Transform

func (t *Router) Transform(newArtifacts []transformertypes.Artifact, alreadySeenArtifacts []transformertypes.Artifact) ([]transformertypes.PathMapping, []transformertypes.Artifact, error)

Transform transforms the artifacts

type RouterQuestion

type RouterQuestion struct {
	ID    string   `yaml:"id" json:"id"`
	Desc  string   `yaml:"description,omitempty" json:"description,omitempty"`
	Hints []string `yaml:"hints,omitempty" json:"hints,omitempty"`
}

RouterQuestion stores the templated question for Router

type RouterYamlConfig

type RouterYamlConfig struct {
	TransformerSelector metav1.LabelSelector `yaml:"transformerSelector" json:"transformerSelector"`
	RouterQuestion      RouterQuestion       `yaml:"question" json:"question"`
}

RouterYamlConfig stores the yaml configuration for Router transformer

type Transformer

type Transformer interface {
	Init(tc transformertypes.Transformer, env *environment.Environment) (err error)
	// GetConfig returns the transformer config
	GetConfig() (transformertypes.Transformer, *environment.Environment)
	DirectoryDetect(dir string) (services map[string][]transformertypes.Artifact, err error)
	Transform(newArtifacts []transformertypes.Artifact, alreadySeenArtifacts []transformertypes.Artifact) ([]transformertypes.PathMapping, []transformertypes.Artifact, error)
}

Transformer interface defines transformer that transforms files and converts it to ir representation

func GetInitializedTransformers

func GetInitializedTransformers() []Transformer

GetInitializedTransformers returns the list of initialized transformers

func GetInitializedTransformersF

func GetInitializedTransformersF(filters labels.Selector) []Transformer

GetInitializedTransformersF returns the list of initialized transformers after filtering

func GetTransformerByName added in v0.3.1

func GetTransformerByName(name string) (t Transformer, err error)

GetTransformerByName returns the transformer chosen by name

Jump to

Keyboard shortcuts

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