modules

package
v0.9.1 Latest Latest
Warning

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

Go to latest
Published: Dec 6, 2023 License: Apache-2.0 Imports: 7 Imported by: 7

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GVKDeployment = appsv1.SchemeGroupVersion.WithKind("Deployment").String()

GVKDeployment is the GroupVersionKind of Deployment

Functions

func AppendToIntent

func AppendToIntent(resourceType intent.Type, resourceID string, i *intent.Intent, resource any) error

AppendToIntent adds a Kubernetes resource to the Intent resources slice.

func CallGenerators

func CallGenerators(i *intent.Intent, newGenerators ...NewGeneratorFunc) error

CallGenerators calls the Generate method of each Generator instance returned by the given NewGeneratorFuncs.

func CallPatchers

func CallPatchers(resources map[string][]*intent.Resource, newPatchers ...NewPatcherFunc) error

CallPatchers calls the Patch method of each Generator instance returned by the given NewPatcherFuncs.

func ForeachOrdered

func ForeachOrdered[T any](m map[string]T, f func(key string, value T) error) error

ForeachOrdered executes the given function on each item in the map in order of their keys.

func GenericPtr

func GenericPtr[T any](i T) *T

GenericPtr returns a pointer to the provided value.

func KubernetesResourceID

func KubernetesResourceID(typeMeta metav1.TypeMeta, objectMeta metav1.ObjectMeta) string

KubernetesResourceID returns the unique ID of a Kubernetes resource based on its type and metadata.

func KusionPathDependency

func KusionPathDependency(id, name string) string

KusionPathDependency returns the implicit resource dependency path based on the resource id and name with the "$kusion_path" prefix.

func MergeMaps

func MergeMaps(maps ...map[string]string) map[string]string

MergeMaps merges multiple map[string]string into one map[string]string. If a map is nil, it skips it and moves on to the next one. For each non-nil map, it iterates over its key-value pairs and adds them to the merged map. Finally, it returns the merged map.

func PatchResource

func PatchResource[T any](resources map[string][]*intent.Resource, gvk string, patchFunc func(*T) error) error

PatchResource patches the resource with the given patch.

func ProviderExtensions

func ProviderExtensions(provider *inputs.Provider, providerMeta map[string]any, resourceType string) map[string]interface{}

ProviderExtensions returns the extended information of provider based on the provider and type of the resource.

func TerraformResource

func TerraformResource(id string, dependsOn []string, attrs, exts map[string]interface{}) intent.Resource

TerraformResource returns the Terraform resource in the form of Intent.Resource

func TerraformResourceID

func TerraformResourceID(provider *inputs.Provider, resourceType string, resourceName string) string

TerraformResourceID returns the unique ID of a Terraform resource based on its provider, type and name.

func UniqueAppLabels

func UniqueAppLabels(projectName, appName string) map[string]string

UniqueAppLabels returns a map of labels that identify an app based on its project and name.

func UniqueAppName

func UniqueAppName(projectName, stackName, appName string) string

UniqueAppName returns a unique name for a workload based on its project and app name.

Types

type Generator

type Generator interface {
	Generate(intent *intent.Intent) error
}

Generator is the interface that wraps the Generate method.

func CallGeneratorFuncs

func CallGeneratorFuncs(newGenerators ...NewGeneratorFunc) ([]Generator, error)

CallGeneratorFuncs calls each NewGeneratorFunc in the given slice and returns a slice of Generator instances.

type NewGeneratorFunc

type NewGeneratorFunc func() (Generator, error)

NewGeneratorFunc is a function that returns a Generator.

type NewPatcherFunc

type NewPatcherFunc func() (Patcher, error)

NewPatcherFunc is a function that returns a Patcher.

type Patcher

type Patcher interface {
	Patch(resources map[string][]*intent.Resource) error
}

Patcher is the interface that wraps the Patch method.

Directories

Path Synopsis
Package generators contains all codes about the Intent generator mechanism.
Package generators contains all codes about the Intent generator mechanism.
patchers

Jump to

Keyboard shortcuts

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