Documentation
¶
Index ¶
- Constants
- func CreateJob(ctx context.Context, clientSet *kubernetes.Clientset, opts JobCreateOptions) error
- func CreateSecret(ctx context.Context, clientSet *kubernetes.Clientset, name string, ...) error
- func NewDeployer(_ context.Context, opts deptypes.CreateOptions) (deptypes.Deployer, error)
- func ParseModuleAttributes(ctx context.Context, mc model.ClientSet, attributes map[string]any, ...) (variables model.Variables, outputs map[string]parser.OutputState, err error)
- func StreamJobLogs(ctx context.Context, opts StreamJobLogsOptions) error
- func SyncResourceRevisionStatus(ctx context.Context, bm revisionbus.BusMessage) (err error)
- type Context
- type Deployer
- type JobCreateOptions
- type JobReconciler
- type RevisionOpts
- type StreamJobLogsOptions
Constants ¶
View Source
const ( JobTypeApply = "apply" JobTypeDestroy = "destroy" )
View Source
const DeployerType = types.DeployerTypeTF
DeployerType the type of deployer.
View Source
const WalrusContextVariableName = "context"
Variables ¶
This section is empty.
Functions ¶
func CreateJob ¶
func CreateJob(ctx context.Context, clientSet *kubernetes.Clientset, opts JobCreateOptions) error
CreateJob create a job to run terraform deployment.
func CreateSecret ¶
func CreateSecret(ctx context.Context, clientSet *kubernetes.Clientset, name string, data map[string][]byte) error
CreateSecret create a secret to store terraform config.
func NewDeployer ¶
func ParseModuleAttributes ¶ added in v0.3.1
func ParseModuleAttributes( ctx context.Context, mc model.ClientSet, attributes map[string]any, onlyValidated bool, opts RevisionOpts, ) (variables model.Variables, outputs map[string]parser.OutputState, err error)
ParseModuleAttributes parse module variables and dependencies.
func StreamJobLogs ¶
func StreamJobLogs(ctx context.Context, opts StreamJobLogsOptions) error
StreamJobLogs streams the logs of a job.
func SyncResourceRevisionStatus ¶ added in v0.4.0
func SyncResourceRevisionStatus(ctx context.Context, bm revisionbus.BusMessage) (err error)
SyncResourceRevisionStatus updates the status of the service according to its recent finished service revision.
Types ¶
type Context ¶ added in v0.4.0
type Context struct {
// Project indicate the project metadata.
Project struct {
Name string `json:"name,omitempty"`
ID object.ID `json:"id,omitempty"`
} `json:"project,omitempty"`
// Environment indicate the environment metadata.
Environment struct {
Name string `json:"name,omitempty"`
ID object.ID `json:"id,omitempty"`
// Namespace is the managed namespace name of an environment,
// valid when Kubernetes connector is used in the environment.
Namespace string `json:"namespace,omitempty"`
} `json:"environment,omitempty"`
// Resource indicate the resource metadata.
Resource struct {
Name string `json:"name,omitempty"`
ID object.ID `json:"id,omitempty"`
} `json:"resource,omitempty"`
}
Context indicate the walrus related metadata, will set to attribute context while user module include this attribute.
func NewContext ¶ added in v0.4.0
func NewContext() *Context
func (*Context) SetEnvironment ¶ added in v0.4.0
func (*Context) SetProject ¶ added in v0.4.0
type Deployer ¶
type Deployer struct {
// contains filtered or unexported fields
}
Deployer terraform deployer to deploy the resource.
func (Deployer) Apply ¶
func (d Deployer) Apply(ctx context.Context, resource *model.Resource, opts deptypes.ApplyOptions) (err error)
Apply creates a new resource revision by the given resource, and drives the Kubernetes Job to create components of the resource.
type JobCreateOptions ¶
type JobReconciler ¶
type JobReconciler struct {
Logger logr.Logger
Kubeconfig *rest.Config
KubeClient client.Client
ModelClient *model.Client
}
type RevisionOpts ¶ added in v0.4.0
type StreamJobLogsOptions ¶
type StreamJobLogsOptions struct {
Cli *coreclient.CoreV1Client
RevisionID object.ID
JobType string
Out io.Writer
}
Click to show internal directories.
Click to hide internal directories.