Documentation
¶
Overview ¶
Package builder provides a Pulumi component for deploying a builder service to Kubernetes.
Index ¶
Constants ¶
const ( // Port defaults DefaultBuilderPort = 8080 MetricsPort = 9000 // Deployment defaults DefaultReplicas = 1 // Resource allocation defaults DefaultCPULimit = "2" DefaultMemoryLimit = "2Gi" DefaultCPURequest = "1" DefaultMemoryRequest = "1Gi" // Component kind ComponentKind = "signet:index:Builder" )
Resource defaults
const ( ServiceSuffix = "-service" DeploymentSuffix = "-deployment" ServiceAccountSuffix = "-sa" ConfigMapSuffix = "-env" PodMonitorSuffix = "-pod-monitor" ServiceMonitorSuffix = "-svcmon" )
Resource name suffixes
const ( HealthCheckPath = "/healthcheck" MetricsPath = "/metrics" )
Health check paths
const ( ProbeInitialDelaySeconds = 5 ProbePeriodSeconds = 10 LivenessProbePeriod = 1 ProbeTimeoutSeconds = 1 ProbeFailureThreshold = 3 )
Probe settings
const ( PrometheusScrapeAnnotation = "prometheus.io/scrape" PrometheusPortAnnotation = "prometheus.io/port" PrometheusPathAnnotation = "prometheus.io/path" )
Prometheus annotations
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Builder ¶
type Builder interface {
GetServiceURL() pulumi.StringOutput
GetMetricsURL() pulumi.StringOutput
}
type BuilderComponent ¶
type BuilderComponent struct {
pulumi.ResourceState
BuilderComponentArgs BuilderComponentArgs
Deployment *appsv1.Deployment
Service *corev1.Service
ServiceAccount *corev1.ServiceAccount
ConfigMap *corev1.ConfigMap
}
BuilderComponent represents a Pulumi component that deploys a builder service.
func NewBuilder ¶
func NewBuilder(ctx *pulumi.Context, args BuilderComponentArgs, opts ...pulumi.ResourceOption) (*BuilderComponent, error)
NewBuilder creates a new builder component with the given configuration.
func (*BuilderComponent) GetMetricsURL ¶
func (c *BuilderComponent) GetMetricsURL() pulumi.StringOutput
GetMetricsURL returns the URL of the builder metrics endpoint
func (*BuilderComponent) GetServiceURL ¶
func (c *BuilderComponent) GetServiceURL() pulumi.StringOutput
GetServiceURL returns the URL of the builder service
type BuilderComponentArgs ¶
type BuilderComponentArgs struct {
Namespace string // k8s namespace to deploy the builder to
AppLabels AppLabels // Labels to apply to the builder pod
Name string // Builder name identifier
Image string // Builder docker image
BuilderEnv BuilderEnv // Builder environment variables
}
BuilderComponentArgs contains the configuration for deploying a builder service.
func (*BuilderComponentArgs) Validate ¶
func (args *BuilderComponentArgs) Validate() error
Validate validates the BuilderComponentArgs
type BuilderEnv ¶
type BuilderEnv struct {
AuthTokenRefreshInterval pulumi.StringInput `pulumi:"authTokenRefreshInterval" validate:"required"`
AwsAccountId pulumi.StringInput `pulumi:"awsAccountId" validate:"required"`
AwsAccessKeyId pulumi.StringInput `pulumi:"awsAccessKeyId" validate:"required"`
AwsRegion pulumi.StringInput `pulumi:"awsRegion" validate:"required"`
AwsSecretAccessKey pulumi.StringInput `pulumi:"awsSecretAccessKey" validate:"required"`
BlockConfirmationBuffer pulumi.StringInput `pulumi:"blockConfirmationBuffer" validate:"required"`
BlockQueryCutoff pulumi.StringInput `pulumi:"blockQueryCutoff" validate:"required"`
BlockQueryStart pulumi.StringInput `pulumi:"blockQueryStart" validate:"required"`
BuilderHelperAddress pulumi.StringInput `pulumi:"builderHelperAddress" validate:"required"`
BuilderKey pulumi.StringInput `pulumi:"builderKey" validate:"required"`
BuilderPort pulumi.StringInput `pulumi:"builderPort" validate:"required"`
BuilderRewardsAddress pulumi.StringInput `pulumi:"builderRewardsAddress" validate:"required"`
ChainOffset pulumi.StringInput `pulumi:"chainOffset" validate:"required"`
ConcurrentLimit pulumi.StringInput `pulumi:"concurrentLimit" validate:"required"`
HostChainId pulumi.StringInput `pulumi:"hostChainId" validate:"required"`
HostRpcUrl pulumi.StringInput `pulumi:"hostRpcUrl" validate:"required"`
OauthAudience pulumi.StringInput `pulumi:"oauthAudience" validate:"required"`
OauthAuthenticateUrl pulumi.StringInput `pulumi:"oauthAuthenticateUrl" validate:"required"`
OAuthClientId pulumi.StringInput `pulumi:"oauthClientId" validate:"required"`
OauthClientSecret pulumi.StringInput `pulumi:"oauthClientSecret" validate:"required"`
OauthIssuer pulumi.StringInput `pulumi:"oauthIssuer" validate:"required"`
OauthTokenUrl pulumi.StringInput `pulumi:"oauthTokenUrl" validate:"required"`
OtelExporterOtlpEndpoint pulumi.StringInput `pulumi:"otelExporterOtlpEndpoint"`
QuinceyUrl pulumi.StringInput `pulumi:"quinceyUrl" validate:"required"`
RollupBlockGasLimit pulumi.StringInput `pulumi:"rollupBlockGasLimit" validate:"required"`
RollupChainId pulumi.StringInput `pulumi:"rollupChainId" validate:"required"`
RollupRpcUrl pulumi.StringInput `pulumi:"rollupRpcUrl" validate:"required"`
RustLog pulumi.StringInput `pulumi:"rustLog"`
SlotOffset pulumi.StringInput `pulumi:"slotOffset" validate:"required"`
StartTimestamp pulumi.StringInput `pulumi:"startTimestamp" validate:"required"`
SubmitViaCallData pulumi.StringInput `pulumi:"submitViaCallData" validate:"required"`
TargetSlotTime pulumi.StringInput `pulumi:"targetSlotTime" validate:"required"`
TxBroadcastUrls pulumi.StringInput `pulumi:"txBroadcastUrls" validate:"required"`
TxPoolCacheDuration pulumi.StringInput `pulumi:"txPoolCacheDuration" validate:"required"`
TxPoolUrl pulumi.StringInput `pulumi:"txPoolUrl" validate:"required"`
ZenithAddress pulumi.StringInput `pulumi:"zenithAddress" validate:"required"`
}
BuilderEnv contains all environment variables required by the builder service.
func (BuilderEnv) GetEnvMap ¶
func (e BuilderEnv) GetEnvMap() pulumi.StringMap
GetEnvMap implements the utils.EnvProvider interface It creates a map of environment variables from the BuilderEnv struct
func (*BuilderEnv) Validate ¶
func (env *BuilderEnv) Validate() error
Validate validates the BuilderEnv