installation

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: May 16, 2026 License: AGPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Schema

func Schema() *jsonschema.Resolved

Schema returns the resolved JSON schema for an Installation casting.

Types

type Casting

type Casting struct {
	v1alpha1.CastingMeta `json:",inline" yaml:",inline"`
	Spec                 Spec `json:"spec" yaml:"spec" required:"true" description:"Installation specification"`
	// contains filtered or unexported fields
}

Casting is the Installation kind.

func Default

func Default() *Casting

Default returns an Installation with every molding initialised from its default.

func Example

func Example() *Casting

Example returns a minimal Installation; the forge pipeline fills in defaults.

func (*Casting) Kind

func (c *Casting) Kind() v1alpha1.Kind

Kind reports the casting kind. Shadows the embedded CastingMeta.Kind field; the field stays reachable as c.CastingMeta.Kind.

func (*Casting) MergeStatusIntoSpec

func (c *Casting) MergeStatusIntoSpec() error

MergeStatusIntoSpec folds each molding's Status into its own Spec.

func (*Casting) TrackableProperties

func (c *Casting) TrackableProperties() domain.Properties

TrackableProperties returns analytics tags for the casting.

type Infrastructure

type Infrastructure struct {
	// Whether infrastructure manifest generation is enabled
	Enabled bool `json:"enabled" yaml:"enabled"`

	// Status holds the generated IaC file contents keyed by filename (e.g. "main.tf.json").
	// This is populated by foundry after generation and written to the lock file.
	Status map[string]string `json:"status,omitempty" yaml:"status,omitempty"`
	// contains filtered or unexported fields
}

Infrastructure holds the configuration for infrastructure manifest generation (e.g., Terraform). The cloud provider is resolved automatically from spec.deployment.platform — no provider field is needed here.

func DefaultInfrastructure

func DefaultInfrastructure() Infrastructure

DefaultInfrastructure returns the default Infrastructure configuration.

func (Infrastructure) MarshalJSON

func (i Infrastructure) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler. It manually omits Status when zero so that the strategic merge patch doesn't overwrite defaults with empty values.

type Ingester

type Ingester struct {
	// Specification for the ingester.
	Spec v1alpha1.MoldingSpec `json:"spec" yaml:"spec" jsonschema:"description=Specification for the ingester"`

	// Status of the ingester.
	Status IngesterStatus `json:"status" yaml:"status,omitempty" jsonschema:"description=Status of the ingester"`
	// contains filtered or unexported fields
}

func DefaultIngester

func DefaultIngester() Ingester

type IngesterStatus

type IngesterStatus struct {
	v1alpha1.MoldingStatus `json:",inline" yaml:",inline"`

	Addresses IngesterStatusAddresses `json:"addresses" yaml:"addresses,omitempty" jsonschema:"description=Addresses of the ingester"`
	// contains filtered or unexported fields
}

type IngesterStatusAddresses

type IngesterStatusAddresses struct {
	OTLP []string `json:"otlp" yaml:"otlp" jsonschema:"description=OTLP addresses"`
	// contains filtered or unexported fields
}

type MetaStore

type MetaStore struct {
	// Kind of the meta store to use.
	Kind MetaStoreKind `json:"kind,omitzero" yaml:"kind,omitempty" description:"Kind of the meta store to use" examples:"[\"postgres\",\"sqlite\"]"`

	// Specification for the meta store.
	Spec v1alpha1.MoldingSpec `json:"spec" yaml:"spec" description:"Specification for the meta store"`

	// Status of the meta store.
	Status MetaStoreStatus `json:"status" yaml:"status,omitempty" description:"Status of the meta store"`
	// contains filtered or unexported fields
}

func DefaultMetaStore

func DefaultMetaStore() MetaStore

type MetaStoreKind

type MetaStoreKind struct {
	// contains filtered or unexported fields
}
var (
	MetaStoreKindPostgres MetaStoreKind = MetaStoreKind{/* contains filtered or unexported fields */}
	MetaStoreKindSQLite   MetaStoreKind = MetaStoreKind{/* contains filtered or unexported fields */}
)

func MetaStoreKinds

func MetaStoreKinds() []MetaStoreKind

func (MetaStoreKind) Enum

func (kind MetaStoreKind) Enum() []any

func (MetaStoreKind) MarshalJSON

func (kind MetaStoreKind) MarshalJSON() ([]byte, error)

func (MetaStoreKind) MarshalText

func (kind MetaStoreKind) MarshalText() ([]byte, error)

func (MetaStoreKind) MarshalYAML

func (kind MetaStoreKind) MarshalYAML() (any, error)

func (MetaStoreKind) String

func (kind MetaStoreKind) String() string

func (*MetaStoreKind) UnmarshalJSON

func (kind *MetaStoreKind) UnmarshalJSON(text []byte) error

func (*MetaStoreKind) UnmarshalText

func (kind *MetaStoreKind) UnmarshalText(text []byte) error

func (*MetaStoreKind) UnmarshalYAML

func (kind *MetaStoreKind) UnmarshalYAML(node *yaml.Node) error

type MetaStoreStatus

type MetaStoreStatus struct {
	v1alpha1.MoldingStatus `json:",inline" yaml:",inline"`

	Addresses MetaStoreStatusAddresses `json:"addresses" yaml:"addresses,omitempty" description:"Addresses of the meta store"`
	// contains filtered or unexported fields
}

type MetaStoreStatusAddresses

type MetaStoreStatusAddresses struct {
	// DSN addresses.
	DSN []string `json:"dsn" yaml:"dsn" description:"DSN addresses"`
	// contains filtered or unexported fields
}

type SigNoz

type SigNoz struct {
	// Specification for signoz.
	Spec v1alpha1.MoldingSpec `json:"spec" yaml:"spec" jsonschema:"description=Specification for SigNoz"`

	// Status of signoz.
	Status SigNozStatus `json:"status" yaml:"status,omitempty" jsonschema:"description=Status of SigNoz"`
	// contains filtered or unexported fields
}

func DefaultSigNoz

func DefaultSigNoz() SigNoz

type SigNozStatus

type SigNozStatus struct {
	v1alpha1.MoldingStatus `json:",inline" yaml:",inline"`

	Addresses SigNozStatusAddresses `json:"addresses" yaml:"addresses,omitempty" jsonschema:"description=Addresses of SigNoz"`
	// contains filtered or unexported fields
}

type SigNozStatusAddresses

type SigNozStatusAddresses struct {
	// API server addresses.
	APIServer []string `json:"apiserver" yaml:"apiserver" jsonschema:"description=API server addresses"`

	// Opamp server addresses.
	Opamp []string `json:"opamp" yaml:"opamp" jsonschema:"description=Opamp server addresses"`
	// contains filtered or unexported fields
}

type Spec

type Spec struct {
	Deployment      v1alpha1.TypeDeployment `json:"deployment" yaml:"deployment" required:"true" description:"Deployment configuration for the platform"`
	Patches         []v1alpha1.PatchEntry   `json:"patches,omitempty" yaml:"patches,omitempty" description:"Patch operations to apply to generated materials"`
	Infrastructure  Infrastructure          `` /* 163-byte string literal not displayed */
	Signoz          SigNoz                  `json:"signoz,omitzero" yaml:"signoz,omitempty" description:"The configuration for the SigNoz molding"`
	TelemetryStore  TelemetryStore          `` /* 126-byte string literal not displayed */
	TelemetryKeeper TelemetryKeeper         `` /* 129-byte string literal not displayed */
	MetaStore       MetaStore               `json:"metastore,omitzero" yaml:"metastore,omitempty" description:"The configuration for the meta store molding"`
	Ingester        Ingester                `json:"ingester,omitzero" yaml:"ingester,omitempty" description:"The configuration for the ingester molding"`
	// contains filtered or unexported fields
}

Spec is the Installation-specific configuration.

type TelemetryKeeper

type TelemetryKeeper struct {
	// Kind of the telemetry keeper to use.
	Kind TelemetryKeeperKind `` /* 126-byte string literal not displayed */

	// Specification for the telemetry keeper.
	Spec v1alpha1.MoldingSpec `json:"spec" yaml:"spec" description:"Specification for the telemetry keeper"`

	// Status of the telemetry keeper.
	Status TelemetryKeeperStatus `json:"status" yaml:"status,omitempty" description:"Status of the telemetry keeper"`
	// contains filtered or unexported fields
}

func DefaultTelemetryKeeper

func DefaultTelemetryKeeper() TelemetryKeeper

type TelemetryKeeperKind

type TelemetryKeeperKind struct {
	// contains filtered or unexported fields
}
var (
	TelemetryKeeperKindClickhouseKeeper TelemetryKeeperKind = TelemetryKeeperKind{/* contains filtered or unexported fields */}
)

func TelemetryKeeperKinds

func TelemetryKeeperKinds() []TelemetryKeeperKind

func (TelemetryKeeperKind) Enum

func (kind TelemetryKeeperKind) Enum() []any

func (TelemetryKeeperKind) MarshalJSON

func (kind TelemetryKeeperKind) MarshalJSON() ([]byte, error)

func (TelemetryKeeperKind) MarshalText

func (kind TelemetryKeeperKind) MarshalText() ([]byte, error)

func (TelemetryKeeperKind) MarshalYAML

func (kind TelemetryKeeperKind) MarshalYAML() (any, error)

func (TelemetryKeeperKind) String

func (kind TelemetryKeeperKind) String() string

func (*TelemetryKeeperKind) UnmarshalJSON

func (kind *TelemetryKeeperKind) UnmarshalJSON(text []byte) error

func (*TelemetryKeeperKind) UnmarshalText

func (kind *TelemetryKeeperKind) UnmarshalText(text []byte) error

func (*TelemetryKeeperKind) UnmarshalYAML

func (kind *TelemetryKeeperKind) UnmarshalYAML(node *yaml.Node) error

type TelemetryKeeperStatus

type TelemetryKeeperStatus struct {
	v1alpha1.MoldingStatus `json:",inline" yaml:",inline"`

	// Addresses of the telemetry keeper.
	Addresses TelemetryKeeperStatusAddresses `json:"addresses" yaml:"addresses,omitempty" description:"Addresses of the telemetry keeper"`
	// contains filtered or unexported fields
}

type TelemetryKeeperStatusAddresses

type TelemetryKeeperStatusAddresses struct {
	// Raft addresses.
	Raft []string `json:"raft" yaml:"raft,omitempty" description:"Raft addresses"`

	// Client addresses.
	Client []string `json:"client" yaml:"client,omitempty" description:"Client addresses"`
	// contains filtered or unexported fields
}

type TelemetryStore

type TelemetryStore struct {
	// Kind of the telemetry store to use.
	Kind TelemetryStoreKind `json:"kind,omitzero" yaml:"kind,omitempty" description:"Kind of the telemetry store to use" examples:"[\"clickhouse\"]"`

	// Specification for the telemetry store.
	Spec v1alpha1.MoldingSpec `json:"spec" yaml:"spec" description:"Specification for the telemetry store"`

	// Status of the telemetry store.
	Status TelemetryStoreStatus `json:"status" yaml:"status,omitempty" description:"Status of the telemetry store"`
	// contains filtered or unexported fields
}

func DefaultTelemetryStore

func DefaultTelemetryStore() TelemetryStore

type TelemetryStoreKind

type TelemetryStoreKind struct {
	// contains filtered or unexported fields
}
var (
	TelemetryStoreKindClickhouse TelemetryStoreKind = TelemetryStoreKind{/* contains filtered or unexported fields */}
)

func TelemetryStoreKinds

func TelemetryStoreKinds() []TelemetryStoreKind

func (TelemetryStoreKind) Enum

func (kind TelemetryStoreKind) Enum() []any

func (TelemetryStoreKind) MarshalJSON

func (kind TelemetryStoreKind) MarshalJSON() ([]byte, error)

func (TelemetryStoreKind) MarshalText

func (kind TelemetryStoreKind) MarshalText() ([]byte, error)

func (TelemetryStoreKind) MarshalYAML

func (kind TelemetryStoreKind) MarshalYAML() (any, error)

func (TelemetryStoreKind) String

func (kind TelemetryStoreKind) String() string

func (*TelemetryStoreKind) UnmarshalJSON

func (kind *TelemetryStoreKind) UnmarshalJSON(text []byte) error

func (*TelemetryStoreKind) UnmarshalText

func (kind *TelemetryStoreKind) UnmarshalText(text []byte) error

func (*TelemetryStoreKind) UnmarshalYAML

func (kind *TelemetryStoreKind) UnmarshalYAML(node *yaml.Node) error

type TelemetryStoreStatus

type TelemetryStoreStatus struct {
	v1alpha1.MoldingStatus `json:",inline" yaml:",inline"`

	Addresses TelemetryStoreStatusAddresses `json:"addresses" yaml:"addresses,omitempty" description:"Addresses of the telemetry store"`
	// contains filtered or unexported fields
}

type TelemetryStoreStatusAddresses

type TelemetryStoreStatusAddresses struct {
	// TCP addresses.
	TCP []string `json:"tcp" yaml:"tcp" description:"TCP addresses"`
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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