controller

package
v0.0.0-...-c803a0a Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2024 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConvertToAppNetSpec

func ConvertToAppNetSpec(appName, backend, appManifestFile, clientService, serverService, method, proto, fileName, protoModName, protoModLocation string, clientChain, serverChain, anyChain, pairChain []apiv1.ChainElement) error

Types

type AppManifest

type AppManifest struct {
	AppName         string                       `yaml:"app_name"`
	AppManifestFile string                       `yaml:"app_manifest"`
	AppStructure    []string                     `yaml:"app_structure"`
	Edge            map[string][]EdgeElementItem `yaml:"edge"`
	Link            map[string][]PairElementItem `yaml:"link"`
}

type AppNetConfigReconciler

type AppNetConfigReconciler struct {
	client.Client
	Scheme *runtime.Scheme

	Version             int
	EnvoyFilterVersions map[int][]*networkingv1alpha3.EnvoyFilter
	// contains filtered or unexported fields
}

AppNetConfigReconciler reconciles a AppNetConfig object

func (*AppNetConfigReconciler) Reconcile

func (r *AppNetConfigReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state. TODO(user): Modify the Reconcile function to compare the state specified by the AppNetConfig object against the actual cluster state, and then perform operations to make the cluster state reflect the state specified by the user.

For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.17.0/pkg/reconcile

func (*AppNetConfigReconciler) SetupWithManager

func (r *AppNetConfigReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager sets up the controller with the Manager.

type EdgeElementItem

type EdgeElementItem struct {
	Method           string `yaml:"method"`
	Name             string `yaml:"name"`
	Path             string `yaml:"path"`
	Position         string `yaml:"position"`
	Proto            string `yaml:"proto"`
	ProtoModName     string `yaml:"proto_mod_name"`
	ProtoModLocation string `yaml:"proto_mod_location"`
}

type PairElementItem

type PairElementItem struct {
	Method   string `yaml:"method"`
	Name1    string `yaml:"name1"`
	Name2    string `yaml:"name2"`
	Position string `yaml:"position"`
	Proto    string `yaml:"proto"`
}

Jump to

Keyboard shortcuts

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