v0

package
v0.2.129 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Solution_GetSolutionInformation_FullMethodName = "/codefly.services.solution.v0.Solution/GetSolutionInformation"
	Solution_Create_FullMethodName                 = "/codefly.services.solution.v0.Solution/Create"
	Solution_Update_FullMethodName                 = "/codefly.services.solution.v0.Solution/Update"
	Solution_Package_FullMethodName                = "/codefly.services.solution.v0.Solution/Package"
	Solution_Render_FullMethodName                 = "/codefly.services.solution.v0.Solution/Render"
)

Variables

View Source
var (
	SolutionNetworkMode_name = map[int32]string{
		0: "SOLUTION_NETWORK_MODE_UNSPECIFIED",
		1: "SOLUTION_NETWORK_MODE_OFFLINE",
		2: "SOLUTION_NETWORK_MODE_REGISTRY_READ",
		3: "SOLUTION_NETWORK_MODE_REGISTRY_WRITE",
	}
	SolutionNetworkMode_value = map[string]int32{
		"SOLUTION_NETWORK_MODE_UNSPECIFIED":    0,
		"SOLUTION_NETWORK_MODE_OFFLINE":        1,
		"SOLUTION_NETWORK_MODE_REGISTRY_READ":  2,
		"SOLUTION_NETWORK_MODE_REGISTRY_WRITE": 3,
	}
)

Enum value maps for SolutionNetworkMode.

View Source
var (
	SolutionEffect_name = map[int32]string{
		0: "SOLUTION_EFFECT_UNSPECIFIED",
		1: "SOLUTION_EFFECT_READ_ONLY",
		2: "SOLUTION_EFFECT_LOCAL_WRITE",
		3: "SOLUTION_EFFECT_REGISTRY_WRITE",
	}
	SolutionEffect_value = map[string]int32{
		"SOLUTION_EFFECT_UNSPECIFIED":    0,
		"SOLUTION_EFFECT_READ_ONLY":      1,
		"SOLUTION_EFFECT_LOCAL_WRITE":    2,
		"SOLUTION_EFFECT_REGISTRY_WRITE": 3,
	}
)

Enum value maps for SolutionEffect.

View Source
var (
	// solution_method_policy binds enforceable network and effect policy to an RPC.
	//
	// optional codefly.services.solution.v0.SolutionMethodPolicy solution_method_policy = 51002;
	E_SolutionMethodPolicy = &file_codefly_services_solution_v0_solution_proto_extTypes[0]
)

Extension fields to descriptorpb.MethodOptions.

View Source
var File_codefly_services_solution_v0_solution_proto protoreflect.FileDescriptor
View Source
var Solution_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "codefly.services.solution.v0.Solution",
	HandlerType: (*SolutionServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetSolutionInformation",
			Handler:    _Solution_GetSolutionInformation_Handler,
		},
		{
			MethodName: "Create",
			Handler:    _Solution_Create_Handler,
		},
		{
			MethodName: "Update",
			Handler:    _Solution_Update_Handler,
		},
		{
			MethodName: "Package",
			Handler:    _Solution_Package_Handler,
		},
		{
			MethodName: "Render",
			Handler:    _Solution_Render_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "codefly/services/solution/v0/solution.proto",
}

Solution_ServiceDesc is the grpc.ServiceDesc for Solution service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterSolutionServer

func RegisterSolutionServer(s grpc.ServiceRegistrar, srv SolutionServer)

Types

type CreateRequest

type CreateRequest struct {

	// context carries the environment-scoped invocation identity.
	Context *SolutionContext `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"`
	// destination is the directory the solution is scaffolded into.
	Destination string `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"`
	// parameters are executor-defined scaffold inputs.
	Parameters map[string]string `` /* 147-byte string literal not displayed */
	// contains filtered or unexported fields
}

CreateRequest asks the executor to scaffold a new solution.

func (*CreateRequest) Descriptor deprecated

func (*CreateRequest) Descriptor() ([]byte, []int)

Deprecated: Use CreateRequest.ProtoReflect.Descriptor instead.

func (*CreateRequest) GetContext

func (x *CreateRequest) GetContext() *SolutionContext

func (*CreateRequest) GetDestination

func (x *CreateRequest) GetDestination() string

func (*CreateRequest) GetParameters

func (x *CreateRequest) GetParameters() map[string]string

func (*CreateRequest) ProtoMessage

func (*CreateRequest) ProtoMessage()

func (*CreateRequest) ProtoReflect

func (x *CreateRequest) ProtoReflect() protoreflect.Message

func (*CreateRequest) Reset

func (x *CreateRequest) Reset()

func (*CreateRequest) String

func (x *CreateRequest) String() string

type CreateResponse

type CreateResponse struct {

	// created_paths are the paths written relative to the destination.
	CreatedPaths []string `protobuf:"bytes,1,rep,name=created_paths,json=createdPaths,proto3" json:"created_paths,omitempty"`
	// diagnostics are bounded neutral diagnostics.
	Diagnostics []*v0.FailureDiagnostic `protobuf:"bytes,2,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"`
	// contains filtered or unexported fields
}

CreateResponse reports the scaffolded solution.

func (*CreateResponse) Descriptor deprecated

func (*CreateResponse) Descriptor() ([]byte, []int)

Deprecated: Use CreateResponse.ProtoReflect.Descriptor instead.

func (*CreateResponse) GetCreatedPaths

func (x *CreateResponse) GetCreatedPaths() []string

func (*CreateResponse) GetDiagnostics

func (x *CreateResponse) GetDiagnostics() []*v0.FailureDiagnostic

func (*CreateResponse) ProtoMessage

func (*CreateResponse) ProtoMessage()

func (*CreateResponse) ProtoReflect

func (x *CreateResponse) ProtoReflect() protoreflect.Message

func (*CreateResponse) Reset

func (x *CreateResponse) Reset()

func (*CreateResponse) String

func (x *CreateResponse) String() string

type GetSolutionInformationRequest

type GetSolutionInformationRequest struct {

	// artifact is the verified executor package identity.
	Artifact *SolutionArtifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"`
	// contains filtered or unexported fields
}

GetSolutionInformationRequest identifies the binary asking to advertise.

func (*GetSolutionInformationRequest) Descriptor deprecated

func (*GetSolutionInformationRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetSolutionInformationRequest.ProtoReflect.Descriptor instead.

func (*GetSolutionInformationRequest) GetArtifact

func (*GetSolutionInformationRequest) ProtoMessage

func (*GetSolutionInformationRequest) ProtoMessage()

func (*GetSolutionInformationRequest) ProtoReflect

func (*GetSolutionInformationRequest) Reset

func (x *GetSolutionInformationRequest) Reset()

func (*GetSolutionInformationRequest) String

type GetSolutionInformationResponse

type GetSolutionInformationResponse struct {

	// artifact must exactly match the request identity.
	Artifact *SolutionArtifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"`
	// capabilities are the implemented lifecycle operations.
	Capabilities *SolutionCapabilities `protobuf:"bytes,2,opt,name=capabilities,proto3" json:"capabilities,omitempty"`
	// diagnostics are bounded neutral diagnostics.
	Diagnostics []*v0.FailureDiagnostic `protobuf:"bytes,3,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"`
	// contains filtered or unexported fields
}

GetSolutionInformationResponse returns immutable executor advertisement.

func (*GetSolutionInformationResponse) Descriptor deprecated

func (*GetSolutionInformationResponse) Descriptor() ([]byte, []int)

Deprecated: Use GetSolutionInformationResponse.ProtoReflect.Descriptor instead.

func (*GetSolutionInformationResponse) GetArtifact

func (*GetSolutionInformationResponse) GetCapabilities

func (*GetSolutionInformationResponse) GetDiagnostics

func (x *GetSolutionInformationResponse) GetDiagnostics() []*v0.FailureDiagnostic

func (*GetSolutionInformationResponse) ProtoMessage

func (*GetSolutionInformationResponse) ProtoMessage()

func (*GetSolutionInformationResponse) ProtoReflect

func (*GetSolutionInformationResponse) Reset

func (x *GetSolutionInformationResponse) Reset()

func (*GetSolutionInformationResponse) String

type PackageRequest

type PackageRequest struct {

	// context carries the environment-scoped invocation identity.
	Context *SolutionContext `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"`
	// source is the solution directory to package.
	Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
	// reference is the target OCI reference.
	Reference string `protobuf:"bytes,3,opt,name=reference,proto3" json:"reference,omitempty"`
	// contains filtered or unexported fields
}

PackageRequest asks the executor to package a solution as an OCI artifact.

func (*PackageRequest) Descriptor deprecated

func (*PackageRequest) Descriptor() ([]byte, []int)

Deprecated: Use PackageRequest.ProtoReflect.Descriptor instead.

func (*PackageRequest) GetContext

func (x *PackageRequest) GetContext() *SolutionContext

func (*PackageRequest) GetReference

func (x *PackageRequest) GetReference() string

func (*PackageRequest) GetSource

func (x *PackageRequest) GetSource() string

func (*PackageRequest) ProtoMessage

func (*PackageRequest) ProtoMessage()

func (*PackageRequest) ProtoReflect

func (x *PackageRequest) ProtoReflect() protoreflect.Message

func (*PackageRequest) Reset

func (x *PackageRequest) Reset()

func (*PackageRequest) String

func (x *PackageRequest) String() string

type PackageResponse

type PackageResponse struct {

	// reference is the pushed OCI reference.
	Reference string `protobuf:"bytes,1,opt,name=reference,proto3" json:"reference,omitempty"`
	// artifact_digest is the digest of the packaged artifact.
	ArtifactDigest string `protobuf:"bytes,2,opt,name=artifact_digest,json=artifactDigest,proto3" json:"artifact_digest,omitempty"`
	// diagnostics are bounded neutral diagnostics.
	Diagnostics []*v0.FailureDiagnostic `protobuf:"bytes,3,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"`
	// contains filtered or unexported fields
}

PackageResponse reports the packaged OCI artifact.

func (*PackageResponse) Descriptor deprecated

func (*PackageResponse) Descriptor() ([]byte, []int)

Deprecated: Use PackageResponse.ProtoReflect.Descriptor instead.

func (*PackageResponse) GetArtifactDigest

func (x *PackageResponse) GetArtifactDigest() string

func (*PackageResponse) GetDiagnostics

func (x *PackageResponse) GetDiagnostics() []*v0.FailureDiagnostic

func (*PackageResponse) GetReference

func (x *PackageResponse) GetReference() string

func (*PackageResponse) ProtoMessage

func (*PackageResponse) ProtoMessage()

func (*PackageResponse) ProtoReflect

func (x *PackageResponse) ProtoReflect() protoreflect.Message

func (*PackageResponse) Reset

func (x *PackageResponse) Reset()

func (*PackageResponse) String

func (x *PackageResponse) String() string

type RenderRequest

type RenderRequest struct {

	// context carries the environment-scoped invocation identity.
	Context *SolutionContext `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"`
	// artifact_reference is the packaged OCI reference to render from.
	ArtifactReference string `protobuf:"bytes,2,opt,name=artifact_reference,json=artifactReference,proto3" json:"artifact_reference,omitempty"`
	// destination is the gitops repository path manifests are rendered into.
	Destination string `protobuf:"bytes,3,opt,name=destination,proto3" json:"destination,omitempty"`
	// values are executor-defined render inputs.
	Values map[string]string `` /* 139-byte string literal not displayed */
	// contains filtered or unexported fields
}

RenderRequest asks the executor to render manifests into a gitops destination.

func (*RenderRequest) Descriptor deprecated

func (*RenderRequest) Descriptor() ([]byte, []int)

Deprecated: Use RenderRequest.ProtoReflect.Descriptor instead.

func (*RenderRequest) GetArtifactReference

func (x *RenderRequest) GetArtifactReference() string

func (*RenderRequest) GetContext

func (x *RenderRequest) GetContext() *SolutionContext

func (*RenderRequest) GetDestination

func (x *RenderRequest) GetDestination() string

func (*RenderRequest) GetValues

func (x *RenderRequest) GetValues() map[string]string

func (*RenderRequest) ProtoMessage

func (*RenderRequest) ProtoMessage()

func (*RenderRequest) ProtoReflect

func (x *RenderRequest) ProtoReflect() protoreflect.Message

func (*RenderRequest) Reset

func (x *RenderRequest) Reset()

func (*RenderRequest) String

func (x *RenderRequest) String() string

type RenderResponse

type RenderResponse struct {

	// rendered_paths are the manifest paths written relative to the destination.
	RenderedPaths []string `protobuf:"bytes,1,rep,name=rendered_paths,json=renderedPaths,proto3" json:"rendered_paths,omitempty"`
	// diagnostics are bounded neutral diagnostics.
	Diagnostics []*v0.FailureDiagnostic `protobuf:"bytes,2,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"`
	// contains filtered or unexported fields
}

RenderResponse reports the rendered manifests.

func (*RenderResponse) Descriptor deprecated

func (*RenderResponse) Descriptor() ([]byte, []int)

Deprecated: Use RenderResponse.ProtoReflect.Descriptor instead.

func (*RenderResponse) GetDiagnostics

func (x *RenderResponse) GetDiagnostics() []*v0.FailureDiagnostic

func (*RenderResponse) GetRenderedPaths

func (x *RenderResponse) GetRenderedPaths() []string

func (*RenderResponse) ProtoMessage

func (*RenderResponse) ProtoMessage()

func (*RenderResponse) ProtoReflect

func (x *RenderResponse) ProtoReflect() protoreflect.Message

func (*RenderResponse) Reset

func (x *RenderResponse) Reset()

func (*RenderResponse) String

func (x *RenderResponse) String() string

type SolutionArtifact

type SolutionArtifact struct {

	// publisher is the agent publisher namespace.
	Publisher string `protobuf:"bytes,1,opt,name=publisher,proto3" json:"publisher,omitempty"`
	// name is the solution agent name.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// version is the concrete agent version.
	Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	// artifact_digest is the verified package digest.
	ArtifactDigest string `protobuf:"bytes,4,opt,name=artifact_digest,json=artifactDigest,proto3" json:"artifact_digest,omitempty"`
	// manifest_digest is the packaged solution manifest digest.
	ManifestDigest string `protobuf:"bytes,5,opt,name=manifest_digest,json=manifestDigest,proto3" json:"manifest_digest,omitempty"`
	// contains filtered or unexported fields
}

SolutionArtifact binds one concrete solution executor binary to its package.

func (*SolutionArtifact) Descriptor deprecated

func (*SolutionArtifact) Descriptor() ([]byte, []int)

Deprecated: Use SolutionArtifact.ProtoReflect.Descriptor instead.

func (*SolutionArtifact) GetArtifactDigest

func (x *SolutionArtifact) GetArtifactDigest() string

func (*SolutionArtifact) GetManifestDigest

func (x *SolutionArtifact) GetManifestDigest() string

func (*SolutionArtifact) GetName

func (x *SolutionArtifact) GetName() string

func (*SolutionArtifact) GetPublisher

func (x *SolutionArtifact) GetPublisher() string

func (*SolutionArtifact) GetVersion

func (x *SolutionArtifact) GetVersion() string

func (*SolutionArtifact) ProtoMessage

func (*SolutionArtifact) ProtoMessage()

func (*SolutionArtifact) ProtoReflect

func (x *SolutionArtifact) ProtoReflect() protoreflect.Message

func (*SolutionArtifact) Reset

func (x *SolutionArtifact) Reset()

func (*SolutionArtifact) String

func (x *SolutionArtifact) String() string

type SolutionCapabilities

type SolutionCapabilities struct {

	// supports_create declares Create support.
	SupportsCreate bool `protobuf:"varint,1,opt,name=supports_create,json=supportsCreate,proto3" json:"supports_create,omitempty"`
	// supports_update declares Update support.
	SupportsUpdate bool `protobuf:"varint,2,opt,name=supports_update,json=supportsUpdate,proto3" json:"supports_update,omitempty"`
	// supports_package declares Package support.
	SupportsPackage bool `protobuf:"varint,3,opt,name=supports_package,json=supportsPackage,proto3" json:"supports_package,omitempty"`
	// supports_render declares Render support.
	SupportsRender bool `protobuf:"varint,4,opt,name=supports_render,json=supportsRender,proto3" json:"supports_render,omitempty"`
	// contains filtered or unexported fields
}

SolutionCapabilities advertises which lifecycle operations are implemented.

func (*SolutionCapabilities) Descriptor deprecated

func (*SolutionCapabilities) Descriptor() ([]byte, []int)

Deprecated: Use SolutionCapabilities.ProtoReflect.Descriptor instead.

func (*SolutionCapabilities) GetSupportsCreate

func (x *SolutionCapabilities) GetSupportsCreate() bool

func (*SolutionCapabilities) GetSupportsPackage

func (x *SolutionCapabilities) GetSupportsPackage() bool

func (*SolutionCapabilities) GetSupportsRender

func (x *SolutionCapabilities) GetSupportsRender() bool

func (*SolutionCapabilities) GetSupportsUpdate

func (x *SolutionCapabilities) GetSupportsUpdate() bool

func (*SolutionCapabilities) ProtoMessage

func (*SolutionCapabilities) ProtoMessage()

func (*SolutionCapabilities) ProtoReflect

func (x *SolutionCapabilities) ProtoReflect() protoreflect.Message

func (*SolutionCapabilities) Reset

func (x *SolutionCapabilities) Reset()

func (*SolutionCapabilities) String

func (x *SolutionCapabilities) String() string

type SolutionClient

type SolutionClient interface {
	// GetSolutionInformation returns the concrete artifact identity and the
	// lifecycle operations this executor implements.
	GetSolutionInformation(ctx context.Context, in *GetSolutionInformationRequest, opts ...grpc.CallOption) (*GetSolutionInformationResponse, error)
	// Create scaffolds a new solution into a destination directory.
	Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error)
	// Update reconciles an existing solution source with the executor's template.
	Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*UpdateResponse, error)
	// Package builds an OCI artifact from a solution source directory and pushes it.
	Package(ctx context.Context, in *PackageRequest, opts ...grpc.CallOption) (*PackageResponse, error)
	// Render pulls the packaged solution from artifact_reference and writes its
	// manifests into a gitops destination.
	Render(ctx context.Context, in *RenderRequest, opts ...grpc.CallOption) (*RenderResponse, error)
}

SolutionClient is the client API for Solution service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

Solution is the host-to-solution executor protocol. A solution agent scaffolds a solution, packages it as an OCI artifact, and renders its manifests into a gitops repository. The solution spec it operates on stays codefly-agnostic; only the executor is a codefly plugin.

Every RPC binds a solution_method_policy declaring its maximum network reach and state effect. The host reads the policy from these descriptors and refuses to invoke any method whose declared ceiling exceeds the ceiling admitted for the current operation. The agents.Serve() wiring that lets a plugin expose this contract is tracked in codefly-dev/core#290.

func NewSolutionClient

func NewSolutionClient(cc grpc.ClientConnInterface) SolutionClient

type SolutionContext

type SolutionContext struct {

	// workspace is the stable workspace identity.
	Workspace string `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"`
	// environment is the stable environment identity.
	Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"`
	// artifact is the concrete verified executor package.
	Artifact *SolutionArtifact `protobuf:"bytes,3,opt,name=artifact,proto3" json:"artifact,omitempty"`
	// contains filtered or unexported fields
}

SolutionContext carries the environment-scoped identity for one invocation.

func (*SolutionContext) Descriptor deprecated

func (*SolutionContext) Descriptor() ([]byte, []int)

Deprecated: Use SolutionContext.ProtoReflect.Descriptor instead.

func (*SolutionContext) GetArtifact

func (x *SolutionContext) GetArtifact() *SolutionArtifact

func (*SolutionContext) GetEnvironment

func (x *SolutionContext) GetEnvironment() string

func (*SolutionContext) GetWorkspace

func (x *SolutionContext) GetWorkspace() string

func (*SolutionContext) ProtoMessage

func (*SolutionContext) ProtoMessage()

func (*SolutionContext) ProtoReflect

func (x *SolutionContext) ProtoReflect() protoreflect.Message

func (*SolutionContext) Reset

func (x *SolutionContext) Reset()

func (*SolutionContext) String

func (x *SolutionContext) String() string

type SolutionEffect

type SolutionEffect int32

SolutionEffect declares the maximum state effect of one RPC. Values are ordered by increasing effect so a host ceiling admits every effect at or below it.

const (
	// SOLUTION_EFFECT_UNSPECIFIED is never admitted.
	SolutionEffect_SOLUTION_EFFECT_UNSPECIFIED SolutionEffect = 0
	// SOLUTION_EFFECT_READ_ONLY inspects state but writes nothing.
	SolutionEffect_SOLUTION_EFFECT_READ_ONLY SolutionEffect = 1
	// SOLUTION_EFFECT_LOCAL_WRITE writes only the local filesystem.
	SolutionEffect_SOLUTION_EFFECT_LOCAL_WRITE SolutionEffect = 2
	// SOLUTION_EFFECT_REGISTRY_WRITE pushes a remote OCI artifact.
	SolutionEffect_SOLUTION_EFFECT_REGISTRY_WRITE SolutionEffect = 3
)

func (SolutionEffect) Descriptor

func (SolutionEffect) Enum

func (x SolutionEffect) Enum() *SolutionEffect

func (SolutionEffect) EnumDescriptor deprecated

func (SolutionEffect) EnumDescriptor() ([]byte, []int)

Deprecated: Use SolutionEffect.Descriptor instead.

func (SolutionEffect) Number

func (SolutionEffect) String

func (x SolutionEffect) String() string

func (SolutionEffect) Type

type SolutionMethodPolicy

type SolutionMethodPolicy struct {

	// network is the maximum network reach available to the method.
	Network SolutionNetworkMode `protobuf:"varint,1,opt,name=network,proto3,enum=codefly.services.solution.v0.SolutionNetworkMode" json:"network,omitempty"`
	// effect is the maximum state effect available to the method.
	Effect SolutionEffect `protobuf:"varint,2,opt,name=effect,proto3,enum=codefly.services.solution.v0.SolutionEffect" json:"effect,omitempty"`
	// contains filtered or unexported fields
}

SolutionMethodPolicy is descriptor metadata the host reads and enforces before invoking a Solution RPC.

func (*SolutionMethodPolicy) Descriptor deprecated

func (*SolutionMethodPolicy) Descriptor() ([]byte, []int)

Deprecated: Use SolutionMethodPolicy.ProtoReflect.Descriptor instead.

func (*SolutionMethodPolicy) GetEffect

func (x *SolutionMethodPolicy) GetEffect() SolutionEffect

func (*SolutionMethodPolicy) GetNetwork

func (x *SolutionMethodPolicy) GetNetwork() SolutionNetworkMode

func (*SolutionMethodPolicy) ProtoMessage

func (*SolutionMethodPolicy) ProtoMessage()

func (*SolutionMethodPolicy) ProtoReflect

func (x *SolutionMethodPolicy) ProtoReflect() protoreflect.Message

func (*SolutionMethodPolicy) Reset

func (x *SolutionMethodPolicy) Reset()

func (*SolutionMethodPolicy) String

func (x *SolutionMethodPolicy) String() string

type SolutionNetworkMode

type SolutionNetworkMode int32

SolutionNetworkMode declares the maximum network reach an RPC may use. Values are ordered by increasing reach so a host ceiling admits every mode at or below it. A solution executor's network is unmediated (unlike a provider, it dials directly): Package pushes the OCI artifact and Render pulls it from artifact_reference, so Render is a registry read, not offline.

const (
	// SOLUTION_NETWORK_MODE_UNSPECIFIED is never admitted.
	SolutionNetworkMode_SOLUTION_NETWORK_MODE_UNSPECIFIED SolutionNetworkMode = 0
	// SOLUTION_NETWORK_MODE_OFFLINE forbids all network access.
	SolutionNetworkMode_SOLUTION_NETWORK_MODE_OFFLINE SolutionNetworkMode = 1
	// SOLUTION_NETWORK_MODE_REGISTRY_READ permits pulling the packaged OCI artifact.
	SolutionNetworkMode_SOLUTION_NETWORK_MODE_REGISTRY_READ SolutionNetworkMode = 2
	// SOLUTION_NETWORK_MODE_REGISTRY_WRITE permits pushing to an OCI registry.
	SolutionNetworkMode_SOLUTION_NETWORK_MODE_REGISTRY_WRITE SolutionNetworkMode = 3
)

func (SolutionNetworkMode) Descriptor

func (SolutionNetworkMode) Enum

func (SolutionNetworkMode) EnumDescriptor deprecated

func (SolutionNetworkMode) EnumDescriptor() ([]byte, []int)

Deprecated: Use SolutionNetworkMode.Descriptor instead.

func (SolutionNetworkMode) Number

func (SolutionNetworkMode) String

func (x SolutionNetworkMode) String() string

func (SolutionNetworkMode) Type

type SolutionServer

type SolutionServer interface {
	// GetSolutionInformation returns the concrete artifact identity and the
	// lifecycle operations this executor implements.
	GetSolutionInformation(context.Context, *GetSolutionInformationRequest) (*GetSolutionInformationResponse, error)
	// Create scaffolds a new solution into a destination directory.
	Create(context.Context, *CreateRequest) (*CreateResponse, error)
	// Update reconciles an existing solution source with the executor's template.
	Update(context.Context, *UpdateRequest) (*UpdateResponse, error)
	// Package builds an OCI artifact from a solution source directory and pushes it.
	Package(context.Context, *PackageRequest) (*PackageResponse, error)
	// Render pulls the packaged solution from artifact_reference and writes its
	// manifests into a gitops destination.
	Render(context.Context, *RenderRequest) (*RenderResponse, error)
	// contains filtered or unexported methods
}

SolutionServer is the server API for Solution service. All implementations must embed UnimplementedSolutionServer for forward compatibility.

Solution is the host-to-solution executor protocol. A solution agent scaffolds a solution, packages it as an OCI artifact, and renders its manifests into a gitops repository. The solution spec it operates on stays codefly-agnostic; only the executor is a codefly plugin.

Every RPC binds a solution_method_policy declaring its maximum network reach and state effect. The host reads the policy from these descriptors and refuses to invoke any method whose declared ceiling exceeds the ceiling admitted for the current operation. The agents.Serve() wiring that lets a plugin expose this contract is tracked in codefly-dev/core#290.

type UnimplementedSolutionServer

type UnimplementedSolutionServer struct{}

UnimplementedSolutionServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedSolutionServer) Create

func (UnimplementedSolutionServer) Package

func (UnimplementedSolutionServer) Render

func (UnimplementedSolutionServer) Update

type UnsafeSolutionServer

type UnsafeSolutionServer interface {
	// contains filtered or unexported methods
}

UnsafeSolutionServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to SolutionServer will result in compilation errors.

type UpdateRequest

type UpdateRequest struct {

	// context carries the environment-scoped invocation identity.
	Context *SolutionContext `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"`
	// source is the existing solution directory to update.
	Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
	// parameters are executor-defined update inputs.
	Parameters map[string]string `` /* 147-byte string literal not displayed */
	// contains filtered or unexported fields
}

UpdateRequest asks the executor to reconcile an existing solution source.

func (*UpdateRequest) Descriptor deprecated

func (*UpdateRequest) Descriptor() ([]byte, []int)

Deprecated: Use UpdateRequest.ProtoReflect.Descriptor instead.

func (*UpdateRequest) GetContext

func (x *UpdateRequest) GetContext() *SolutionContext

func (*UpdateRequest) GetParameters

func (x *UpdateRequest) GetParameters() map[string]string

func (*UpdateRequest) GetSource

func (x *UpdateRequest) GetSource() string

func (*UpdateRequest) ProtoMessage

func (*UpdateRequest) ProtoMessage()

func (*UpdateRequest) ProtoReflect

func (x *UpdateRequest) ProtoReflect() protoreflect.Message

func (*UpdateRequest) Reset

func (x *UpdateRequest) Reset()

func (*UpdateRequest) String

func (x *UpdateRequest) String() string

type UpdateResponse

type UpdateResponse struct {

	// updated_paths are the paths changed relative to the source.
	UpdatedPaths []string `protobuf:"bytes,1,rep,name=updated_paths,json=updatedPaths,proto3" json:"updated_paths,omitempty"`
	// diagnostics are bounded neutral diagnostics.
	Diagnostics []*v0.FailureDiagnostic `protobuf:"bytes,2,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"`
	// contains filtered or unexported fields
}

UpdateResponse reports the updated solution.

func (*UpdateResponse) Descriptor deprecated

func (*UpdateResponse) Descriptor() ([]byte, []int)

Deprecated: Use UpdateResponse.ProtoReflect.Descriptor instead.

func (*UpdateResponse) GetDiagnostics

func (x *UpdateResponse) GetDiagnostics() []*v0.FailureDiagnostic

func (*UpdateResponse) GetUpdatedPaths

func (x *UpdateResponse) GetUpdatedPaths() []string

func (*UpdateResponse) ProtoMessage

func (*UpdateResponse) ProtoMessage()

func (*UpdateResponse) ProtoReflect

func (x *UpdateResponse) ProtoReflect() protoreflect.Message

func (*UpdateResponse) Reset

func (x *UpdateResponse) Reset()

func (*UpdateResponse) String

func (x *UpdateResponse) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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