fix rebrand: finish botched signoz->o11y merge (installation Spec.Signoz->O11y + HanzoO11y type, delete stale signozmolding, reconstruct foundry.New for migrated struct, systemd services flat-list + IsEnabled, foundryctl callers, fix 3 botched-merge templates, regen schema)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
4865d2ec68
commit
d1a58feb4a
@@ -1,8 +1,8 @@
|
||||
package collectionagent
|
||||
|
||||
import (
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
// Casting is the CollectionAgent kind.
|
||||
|
||||
@@ -140,9 +140,8 @@
|
||||
"image": {
|
||||
"description": "Container image of the molding",
|
||||
"examples": [
|
||||
"signoz/signoz:latest"
|
||||
"ghcr.io/hanzoai/o11y:latest"
|
||||
],
|
||||
"pattern": "^[a-z0-9]+([._-][a-z0-9]+)*(/[a-z0-9]+([._-][a-z0-9]+)*)*(:[a-zA-Z0-9._-]+)?(@sha256:[a-f0-9]{64})?$",
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
@@ -322,29 +321,19 @@
|
||||
"type": "object"
|
||||
},
|
||||
"V1Alpha1TypeMetadata": {
|
||||
"required": [
|
||||
"name"
|
||||
],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"annotations": {
|
||||
"description": "Annotations is an unstructured key-value map for arbitrary metadata. Can be used to specify deployment-specific settings.",
|
||||
"description": "Unstructured key-value map for arbitrary metadata",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": [
|
||||
"object",
|
||||
"null"
|
||||
]
|
||||
"type": "object"
|
||||
},
|
||||
"name": {
|
||||
"description": "The name of this installation. This name is used to identify the installation.",
|
||||
"default": "signoz",
|
||||
"description": "The name of this installation",
|
||||
"examples": [
|
||||
"signoz"
|
||||
"o11y-dev"
|
||||
],
|
||||
"maxLength": 63,
|
||||
"pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package collectionagent
|
||||
|
||||
import "github.com/signoz/foundry/api/v1alpha1"
|
||||
import "github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
|
||||
type Collector struct {
|
||||
// Kind of the collector to use.
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
_ "embed"
|
||||
|
||||
"github.com/google/jsonschema-go/jsonschema"
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
)
|
||||
|
||||
//go:embed casting.schema.json
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package installation
|
||||
|
||||
import (
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
// Casting is the Installation kind.
|
||||
@@ -17,7 +17,7 @@ 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 `json:"infrastructure,omitzero" yaml:"infrastructure,omitzero" description:"Infrastructure configuration for generating infrastructure manifests (e.g., Terraform)."`
|
||||
Signoz SigNoz `json:"signoz,omitzero" yaml:"signoz,omitempty" description:"The configuration for the SigNoz molding"`
|
||||
O11y v1alpha1.HanzoO11y `json:"o11y,omitzero" yaml:"o11y,omitempty" description:"The configuration for the HanzoO11y molding"`
|
||||
TelemetryStore TelemetryStore `json:"telemetrystore,omitzero" yaml:"telemetrystore,omitempty" description:"The configuration for the telemetry store molding"`
|
||||
TelemetryKeeper TelemetryKeeper `json:"telemetrykeeper,omitzero" yaml:"telemetrykeeper,omitempty" description:"The configuration for the telemetry keeper molding"`
|
||||
MetaStore MetaStore `json:"metastore,omitzero" yaml:"metastore,omitempty" description:"The configuration for the meta store molding"`
|
||||
@@ -38,7 +38,7 @@ func Default() *Casting {
|
||||
},
|
||||
Spec: Spec{
|
||||
Infrastructure: DefaultInfrastructure(),
|
||||
Signoz: DefaultSigNoz(),
|
||||
O11y: v1alpha1.DefaultHanzoO11y(),
|
||||
TelemetryStore: DefaultTelemetryStore(),
|
||||
TelemetryKeeper: DefaultTelemetryKeeper(),
|
||||
MetaStore: DefaultMetaStore(),
|
||||
@@ -66,7 +66,7 @@ func (c *Casting) Kind() v1alpha1.Kind {
|
||||
|
||||
// MergeStatusIntoSpec folds each molding's Status into its own Spec.
|
||||
func (c *Casting) MergeStatusIntoSpec() error {
|
||||
if err := c.Spec.Signoz.Spec.MergeStatus(c.Spec.Signoz.Status.MoldingStatus); err != nil {
|
||||
if err := c.Spec.O11y.Spec.MergeStatus(c.Spec.O11y.Status.MoldingStatus); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := c.Spec.TelemetryStore.Spec.MergeStatus(c.Spec.TelemetryStore.Status.MoldingStatus); err != nil {
|
||||
|
||||
@@ -149,69 +149,6 @@
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"InstallationSigNoz": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"spec": {
|
||||
"$ref": "#/definitions/V1Alpha1MoldingSpec"
|
||||
},
|
||||
"status": {
|
||||
"$ref": "#/definitions/InstallationSigNozStatus"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"InstallationSigNozStatus": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"addresses": {
|
||||
"$ref": "#/definitions/InstallationSigNozStatusAddresses"
|
||||
},
|
||||
"config": {
|
||||
"$ref": "#/definitions/V1Alpha1TypeConfig",
|
||||
"description": "Configuration for the molding"
|
||||
},
|
||||
"env": {
|
||||
"description": "Environment variables for the molding",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"extras": {
|
||||
"description": "Extra information about the molding",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"InstallationSigNozStatusAddresses": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"apiserver": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": [
|
||||
"array",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"opamp": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": [
|
||||
"array",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"InstallationSpec": {
|
||||
"required": [
|
||||
"deployment"
|
||||
@@ -234,6 +171,10 @@
|
||||
"$ref": "#/definitions/InstallationMetaStore",
|
||||
"description": "The configuration for the meta store molding"
|
||||
},
|
||||
"o11y": {
|
||||
"$ref": "#/definitions/V1Alpha1HanzoO11Y",
|
||||
"description": "The configuration for the HanzoO11y molding"
|
||||
},
|
||||
"patches": {
|
||||
"description": "Patch operations to apply to generated materials",
|
||||
"items": {
|
||||
@@ -241,10 +182,6 @@
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"signoz": {
|
||||
"$ref": "#/definitions/InstallationSigNoz",
|
||||
"description": "The configuration for the SigNoz molding"
|
||||
},
|
||||
"telemetrykeeper": {
|
||||
"$ref": "#/definitions/InstallationTelemetryKeeper",
|
||||
"description": "The configuration for the telemetry keeper molding"
|
||||
@@ -422,6 +359,67 @@
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"V1Alpha1HanzoO11Y": {
|
||||
"properties": {
|
||||
"spec": {
|
||||
"$ref": "#/definitions/V1Alpha1MoldingSpec"
|
||||
},
|
||||
"status": {
|
||||
"$ref": "#/definitions/V1Alpha1HanzoO11YStatus"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"V1Alpha1HanzoO11YStatus": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"addresses": {
|
||||
"$ref": "#/definitions/V1Alpha1HanzoO11YStatusAddresses"
|
||||
},
|
||||
"config": {
|
||||
"$ref": "#/definitions/V1Alpha1TypeConfig",
|
||||
"description": "Configuration for the molding"
|
||||
},
|
||||
"env": {
|
||||
"description": "Environment variables for the molding",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"extras": {
|
||||
"description": "Extra information about the molding",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"V1Alpha1HanzoO11YStatusAddresses": {
|
||||
"properties": {
|
||||
"apiserver": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": [
|
||||
"array",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"opamp": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": [
|
||||
"array",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"V1Alpha1Kind": {
|
||||
"enum": [
|
||||
"Installation"
|
||||
@@ -466,9 +464,8 @@
|
||||
"image": {
|
||||
"description": "Container image of the molding",
|
||||
"examples": [
|
||||
"signoz/signoz:latest"
|
||||
"ghcr.io/hanzoai/o11y:latest"
|
||||
],
|
||||
"pattern": "^[a-z0-9]+([._-][a-z0-9]+)*(/[a-z0-9]+([._-][a-z0-9]+)*)*(:[a-zA-Z0-9._-]+)?(@sha256:[a-f0-9]{64})?$",
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
@@ -648,29 +645,19 @@
|
||||
"type": "object"
|
||||
},
|
||||
"V1Alpha1TypeMetadata": {
|
||||
"required": [
|
||||
"name"
|
||||
],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"annotations": {
|
||||
"description": "Annotations is an unstructured key-value map for arbitrary metadata. Can be used to specify deployment-specific settings.",
|
||||
"description": "Unstructured key-value map for arbitrary metadata",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": [
|
||||
"object",
|
||||
"null"
|
||||
]
|
||||
"type": "object"
|
||||
},
|
||||
"name": {
|
||||
"description": "The name of this installation. This name is used to identify the installation.",
|
||||
"default": "signoz",
|
||||
"description": "The name of this installation",
|
||||
"examples": [
|
||||
"signoz"
|
||||
"o11y-dev"
|
||||
],
|
||||
"maxLength": 63,
|
||||
"pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package installation
|
||||
|
||||
import "github.com/hanzoai/o11y-foundry/internal/types"
|
||||
import "github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
|
||||
type Ingester struct {
|
||||
// Specification for the ingester.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package installation
|
||||
|
||||
import (
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
)
|
||||
|
||||
type MetaStore struct {
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
_ "embed"
|
||||
|
||||
"github.com/google/jsonschema-go/jsonschema"
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
)
|
||||
|
||||
//go:embed casting.schema.json
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
package installation
|
||||
|
||||
import "github.com/signoz/foundry/api/v1alpha1"
|
||||
|
||||
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"`
|
||||
|
||||
_ struct{} `additionalProperties:"false"`
|
||||
}
|
||||
|
||||
type SigNozStatus struct {
|
||||
v1alpha1.MoldingStatus `json:",inline" yaml:",inline"`
|
||||
|
||||
Addresses SigNozStatusAddresses `json:"addresses" yaml:"addresses,omitempty" jsonschema:"description=Addresses of SigNoz"`
|
||||
|
||||
_ struct{} `additionalProperties:"false"`
|
||||
}
|
||||
|
||||
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"`
|
||||
|
||||
_ struct{} `additionalProperties:"false"`
|
||||
}
|
||||
|
||||
func DefaultSigNoz() SigNoz {
|
||||
return SigNoz{
|
||||
Spec: v1alpha1.MoldingSpec{
|
||||
Enabled: v1alpha1.BoolPtr(true),
|
||||
Cluster: v1alpha1.TypeCluster{
|
||||
Replicas: v1alpha1.IntPtr(1),
|
||||
},
|
||||
Version: "latest",
|
||||
Image: "signoz/signoz:latest",
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package installation
|
||||
|
||||
import (
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
)
|
||||
|
||||
type TelemetryKeeper struct {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package installation
|
||||
|
||||
import (
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
)
|
||||
|
||||
type TelemetryStore struct {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package v1alpha1
|
||||
|
||||
import "github.com/signoz/foundry/internal/domain"
|
||||
import "github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
|
||||
// Machinery is the marker every per-Kind casting type satisfies.
|
||||
type Machinery interface {
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"encoding/json"
|
||||
"reflect"
|
||||
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"k8s.io/apimachinery/pkg/util/strategicpatch"
|
||||
)
|
||||
|
||||
|
||||
@@ -16,7 +16,8 @@ var (
|
||||
MoldingKindTelemetryStore MoldingKind = MoldingKind{s: "telemetrystore"}
|
||||
MoldingKindTelemetryKeeper MoldingKind = MoldingKind{s: "telemetrykeeper"}
|
||||
MoldingKindMetaStore MoldingKind = MoldingKind{s: "metastore"}
|
||||
MoldingKindO11y MoldingKind = MoldingKind{s: "o11y"}
|
||||
MoldingKindO11y MoldingKind = MoldingKind{s: "o11y"}
|
||||
MoldingKindCollector MoldingKind = MoldingKind{s: "collector"}
|
||||
)
|
||||
|
||||
type MoldingKind struct {
|
||||
@@ -28,7 +29,7 @@ func (kind MoldingKind) String() string {
|
||||
}
|
||||
|
||||
func MoldingKinds() []MoldingKind {
|
||||
return []MoldingKind{MoldingKindIngester, MoldingKindTelemetryStore, MoldingKindTelemetryKeeper, MoldingKindMetaStore, MoldingKindO11y}
|
||||
return []MoldingKind{MoldingKindIngester, MoldingKindTelemetryStore, MoldingKindTelemetryKeeper, MoldingKindMetaStore, MoldingKindO11y, MoldingKindCollector}
|
||||
}
|
||||
|
||||
func (kind *MoldingKind) UnmarshalText(text []byte) error {
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package v1alpha1
|
||||
|
||||
import "github.com/hanzoai/o11y-foundry/internal/types"
|
||||
|
||||
type HanzoO11y struct {
|
||||
// Specification for o11y.
|
||||
Spec MoldingSpec `json:"spec" yaml:"spec" jsonschema:"description=Specification for HanzoO11y"`
|
||||
@@ -27,9 +25,9 @@ type HanzoO11yStatusAddresses struct {
|
||||
func DefaultHanzoO11y() HanzoO11y {
|
||||
return HanzoO11y{
|
||||
Spec: MoldingSpec{
|
||||
Enabled: true,
|
||||
Enabled: BoolPtr(true),
|
||||
Cluster: TypeCluster{
|
||||
Replicas: types.NewIntPtr(1),
|
||||
Replicas: IntPtr(1),
|
||||
},
|
||||
Version: "latest",
|
||||
Image: "ghcr.io/hanzoai/o11y:latest",
|
||||
|
||||
@@ -6,9 +6,10 @@ import (
|
||||
"log/slog"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
foundryerrors "github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/foundry"
|
||||
"github.com/hanzoai/o11y-foundry/internal/instrumentation"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
@@ -43,7 +44,7 @@ func runCast(ctx context.Context, logger *slog.Logger, poursPath string, configP
|
||||
foundry, err := foundry.New(logger)
|
||||
if err != nil {
|
||||
logger.ErrorContext(ctx, "failed to create foundry, please report this issues to developers at https://github.com/hanzoai/o11y-foundry/issues", foundryerrors.LogAttr(err))
|
||||
return err
|
||||
return domain.NewProperties(), err
|
||||
}
|
||||
|
||||
poursPath, err = filepath.Abs(poursPath)
|
||||
|
||||
@@ -6,10 +6,10 @@ import (
|
||||
"os"
|
||||
"sort"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
installationcasting "github.com/hanzoai/o11y-foundry/internal/casting/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/olekukonko/tablewriter"
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
installationcasting "github.com/signoz/foundry/internal/casting/installation"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
foundryerrors "github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/foundry"
|
||||
"github.com/hanzoai/o11y-foundry/internal/instrumentation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/writer"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
@@ -30,7 +30,7 @@ func runForge(ctx context.Context, logger *slog.Logger, path string, poursPath s
|
||||
foundry, err := foundry.New(logger)
|
||||
if err != nil {
|
||||
logger.ErrorContext(ctx, "failed to create foundry, please report this issues to developers at https://github.com/hanzoai/o11y-foundry/issues", foundryerrors.LogAttr(err))
|
||||
return err
|
||||
return domain.NewProperties(), err
|
||||
}
|
||||
|
||||
machinery, err := foundry.Config.GetV1Alpha1(ctx, path)
|
||||
|
||||
@@ -4,9 +4,9 @@ import (
|
||||
"context"
|
||||
"log/slog"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
foundryerrors "github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/foundry"
|
||||
"github.com/hanzoai/o11y-foundry/internal/instrumentation"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
@@ -26,7 +26,7 @@ func runGauge(ctx context.Context, logger *slog.Logger, path string) (domain.Pro
|
||||
foundry, err := foundry.New(logger)
|
||||
if err != nil {
|
||||
logger.ErrorContext(ctx, "failed to create foundry, please report this issues to developers at https://github.com/hanzoai/o11y-foundry/issues", foundryerrors.LogAttr(err))
|
||||
return err
|
||||
return domain.NewProperties(), err
|
||||
}
|
||||
|
||||
casting, err := foundry.Config.GetV1Alpha1(ctx, path)
|
||||
|
||||
@@ -10,15 +10,17 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/collectionagent"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
installationcasting "github.com/hanzoai/o11y-foundry/internal/casting/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
foundryerrors "github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/foundry"
|
||||
"github.com/hanzoai/o11y-foundry/internal/instrumentation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/swaggest/jsonschema-go"
|
||||
)
|
||||
|
||||
const moduleAPIPrefix = "github.com/signoz/foundry/api/v1alpha1/"
|
||||
const moduleAPIPrefix = "github.com/hanzoai/o11y-foundry/api/v1alpha1/"
|
||||
|
||||
type schemaTarget struct {
|
||||
kind v1alpha1.Kind
|
||||
@@ -70,11 +72,7 @@ func registerGenSchemas(rootCmd *cobra.Command) {
|
||||
}
|
||||
|
||||
func runGenExamples(ctx context.Context, logger *slog.Logger) error {
|
||||
foundry, err := foundry.New(logger)
|
||||
if err != nil {
|
||||
logger.ErrorContext(ctx, "failed to create foundry, please report this issues to developers at https://github.com/hanzoai/o11y-foundry/issues", foundryerrors.LogAttr(err))
|
||||
return err
|
||||
}
|
||||
registry := installationcasting.NewRegistry(logger)
|
||||
|
||||
for deployment := range registry.CastingItems() {
|
||||
logger.InfoContext(ctx, "generating example files for deployment", slog.Any("deployment", deployment))
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"os"
|
||||
|
||||
foundryerrors "github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/instrumentation"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
|
||||
@@ -5,13 +5,13 @@ import (
|
||||
"os"
|
||||
"runtime"
|
||||
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
foundryerrors "github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/instrumentation"
|
||||
"github.com/signoz/foundry/internal/ledger"
|
||||
"github.com/signoz/foundry/internal/ledger/noopledger"
|
||||
"github.com/signoz/foundry/internal/ledger/segmentledger"
|
||||
"github.com/signoz/foundry/internal/writer"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
foundryerrors "github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/instrumentation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/ledger"
|
||||
"github.com/hanzoai/o11y-foundry/internal/ledger/noopledger"
|
||||
"github.com/hanzoai/o11y-foundry/internal/ledger/segmentledger"
|
||||
"github.com/hanzoai/o11y-foundry/internal/writer"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/signoz/foundry/internal/version"
|
||||
"github.com/hanzoai/o11y-foundry/internal/version"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
|
||||
@@ -15,16 +15,38 @@ require (
|
||||
github.com/tidwall/gjson v1.18.0
|
||||
go.yaml.in/yaml/v3 v3.0.4
|
||||
gopkg.in/ini.v1 v1.67.1
|
||||
k8s.io/apimachinery v0.35.3
|
||||
helm.sh/helm/v3 v3.21.2
|
||||
k8s.io/apimachinery v0.36.2
|
||||
sigs.k8s.io/kustomize/kyaml v0.21.1
|
||||
sigs.k8s.io/yaml v1.6.0
|
||||
)
|
||||
|
||||
require (
|
||||
dario.cat/mergo v1.0.2 // indirect
|
||||
github.com/BurntSushi/toml v1.6.0 // indirect
|
||||
github.com/MakeNowJust/heredoc v1.0.0 // indirect
|
||||
github.com/Masterminds/goutils v1.1.1 // indirect
|
||||
github.com/Masterminds/semver/v3 v3.4.0 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/Masterminds/semver/v3 v3.5.0 // indirect
|
||||
github.com/Masterminds/squirrel v1.5.4 // indirect
|
||||
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
|
||||
github.com/blang/semver/v4 v4.0.0 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
||||
github.com/chai2010/gettext-go v1.0.2 // indirect
|
||||
github.com/clipperhouse/displaywidth v0.10.0 // indirect
|
||||
github.com/clipperhouse/uax29/v2 v2.6.0 // indirect
|
||||
github.com/containerd/containerd v1.7.32 // indirect
|
||||
github.com/containerd/errdefs v0.3.0 // indirect
|
||||
github.com/containerd/log v0.1.0 // indirect
|
||||
github.com/containerd/platforms v0.2.1 // indirect
|
||||
github.com/cyphar/filepath-securejoin v0.6.1 // indirect
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||
github.com/emicklei/go-restful/v3 v3.13.0 // indirect
|
||||
github.com/evanphx/json-patch v5.9.11+incompatible // indirect
|
||||
github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f // indirect
|
||||
github.com/fatih/color v1.18.0 // indirect
|
||||
github.com/fxamacker/cbor/v2 v2.9.1 // indirect
|
||||
github.com/go-errors/errors v1.4.2 // indirect
|
||||
github.com/go-gorp/gorp/v3 v3.1.0 // indirect
|
||||
github.com/go-logr/logr v1.4.3 // indirect
|
||||
github.com/go-openapi/jsonpointer v0.22.5 // indirect
|
||||
github.com/go-openapi/jsonreference v0.21.5 // indirect
|
||||
@@ -40,6 +62,8 @@ require (
|
||||
github.com/go-openapi/swag/stringutils v0.25.5 // indirect
|
||||
github.com/go-openapi/swag/typeutils v0.25.5 // indirect
|
||||
github.com/go-openapi/swag/yamlutils v0.25.5 // indirect
|
||||
github.com/gobwas/glob v0.2.3 // indirect
|
||||
github.com/google/btree v1.1.3 // indirect
|
||||
github.com/google/gnostic-models v0.7.1 // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
github.com/gosuri/uitable v0.0.4 // indirect
|
||||
@@ -48,7 +72,16 @@ require (
|
||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||
github.com/huandu/xstrings v1.5.0 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/jmoiron/sqlx v1.4.0 // indirect
|
||||
github.com/json-iterator/go v1.1.12 // indirect
|
||||
github.com/klauspost/compress v1.18.4 // indirect
|
||||
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 // indirect
|
||||
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 // indirect
|
||||
github.com/lib/pq v1.12.3 // indirect
|
||||
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
|
||||
github.com/mattn/go-colorable v0.1.14 // indirect
|
||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.19 // indirect
|
||||
github.com/mitchellh/copystructure v1.2.0 // indirect
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
||||
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
||||
@@ -70,24 +103,42 @@ require (
|
||||
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 // indirect
|
||||
github.com/segmentio/backo-go v1.0.0 // indirect
|
||||
github.com/shopspring/decimal v1.4.0 // indirect
|
||||
github.com/sirupsen/logrus v1.9.4 // indirect
|
||||
github.com/spf13/cast v1.10.0 // indirect
|
||||
github.com/spf13/pflag v1.0.10 // indirect
|
||||
github.com/swaggest/refl v1.4.0 // indirect
|
||||
github.com/tidwall/match v1.2.0 // indirect
|
||||
github.com/tidwall/pretty v1.2.1 // indirect
|
||||
github.com/x448/float16 v0.8.4 // indirect
|
||||
github.com/xlab/treeprint v1.2.0 // indirect
|
||||
go.yaml.in/yaml/v2 v2.4.4 // indirect
|
||||
golang.org/x/crypto v0.49.0 // indirect
|
||||
golang.org/x/net v0.52.0 // indirect
|
||||
golang.org/x/text v0.35.0 // indirect
|
||||
google.golang.org/protobuf v1.36.11 // indirect
|
||||
golang.org/x/crypto v0.53.0 // indirect
|
||||
golang.org/x/net v0.55.0 // indirect
|
||||
golang.org/x/oauth2 v0.35.0 // indirect
|
||||
golang.org/x/sync v0.21.0 // indirect
|
||||
golang.org/x/sys v0.46.0 // indirect
|
||||
golang.org/x/term v0.44.0 // indirect
|
||||
golang.org/x/text v0.38.0 // indirect
|
||||
golang.org/x/time v0.14.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d // indirect
|
||||
google.golang.org/grpc v1.80.0 // indirect
|
||||
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect
|
||||
gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
|
||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
k8s.io/api v0.36.2 // indirect
|
||||
k8s.io/apiextensions-apiserver v0.36.2 // indirect
|
||||
k8s.io/apiserver v0.36.2 // indirect
|
||||
k8s.io/cli-runtime v0.36.2 // indirect
|
||||
k8s.io/client-go v0.36.2 // indirect
|
||||
k8s.io/component-base v0.36.2 // indirect
|
||||
k8s.io/klog/v2 v2.140.0 // indirect
|
||||
k8s.io/kube-openapi v0.0.0-20260330154417-16be699c7b31 // indirect
|
||||
k8s.io/kubectl v0.36.2 // indirect
|
||||
k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 // indirect
|
||||
oras.land/oras-go/v2 v2.6.1 // indirect
|
||||
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
|
||||
sigs.k8s.io/kustomize/api v0.20.1 // indirect
|
||||
sigs.k8s.io/kustomize/api v0.21.1 // indirect
|
||||
sigs.k8s.io/randfill v1.0.0 // indirect
|
||||
sigs.k8s.io/structured-merge-diff/v6 v6.3.2 // indirect
|
||||
)
|
||||
|
||||
@@ -1,9 +1,16 @@
|
||||
dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8=
|
||||
dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA=
|
||||
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
|
||||
github.com/BurntSushi/toml v1.6.0 h1:dRaEfpa2VI55EwlIW72hMRHdWouJeRF7TPYhI+AUQjk=
|
||||
github.com/BurntSushi/toml v1.6.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
|
||||
github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ=
|
||||
github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE=
|
||||
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
|
||||
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
|
||||
github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
|
||||
github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
|
||||
github.com/Masterminds/semver/v3 v3.5.0 h1:kQceYJfbupGfZOKZQg0kou0DgAKhzDg2NZPAwZ/2OOE=
|
||||
github.com/Masterminds/semver/v3 v3.5.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
|
||||
github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs=
|
||||
github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0=
|
||||
github.com/Masterminds/squirrel v1.5.4 h1:uUcX/aBc8O7Fg9kaISIUsHXdKuqehiXAMQTYX8afzqM=
|
||||
@@ -34,6 +41,8 @@ github.com/clipperhouse/uax29/v2 v2.6.0 h1:z0cDbUV+aPASdFb2/ndFnS9ts/WNXgTNNGFoK
|
||||
github.com/clipperhouse/uax29/v2 v2.6.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g=
|
||||
github.com/containerd/containerd v1.7.30 h1:/2vezDpLDVGGmkUXmlNPLCCNKHJ5BbC5tJB5JNzQhqE=
|
||||
github.com/containerd/containerd v1.7.30/go.mod h1:fek494vwJClULlTpExsmOyKCMUAbuVjlFsJQc4/j44M=
|
||||
github.com/containerd/containerd v1.7.32 h1:S54xuVcPxeLaYgaRABtpJ2VyVUVsy0IGf7qHBs+sbY8=
|
||||
github.com/containerd/containerd v1.7.32/go.mod h1:jdwD6s/BhV4XVJGrvtziNPVA+83n66TwptVaPKprq4E=
|
||||
github.com/containerd/errdefs v0.3.0 h1:FSZgGOeK4yuT/+DnF07/Olde/q4KBoMsaamhXxIMDp4=
|
||||
github.com/containerd/errdefs v0.3.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M=
|
||||
github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=
|
||||
@@ -43,6 +52,8 @@ github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7np
|
||||
github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
|
||||
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
|
||||
github.com/cyphar/filepath-securejoin v0.6.1 h1:5CeZ1jPXEiYt3+Z6zqprSAgSWiggmpVyciv8syjIpVE=
|
||||
github.com/cyphar/filepath-securejoin v0.6.1/go.mod h1:A8hd4EnAeyujCJRrICiOWqjS1AX0a9kM5XL+NwKoYSc=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
||||
@@ -65,6 +76,8 @@ github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQ
|
||||
github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw=
|
||||
github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU=
|
||||
github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
|
||||
github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes=
|
||||
github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
|
||||
github.com/evanphx/json-patch v5.9.11+incompatible h1:ixHHqfcGvxhWkniF1tWxBHA0yb4Z+d1UQi45df52xW8=
|
||||
github.com/evanphx/json-patch v5.9.11+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
||||
github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU=
|
||||
@@ -81,6 +94,10 @@ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHk
|
||||
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||
github.com/fxamacker/cbor/v2 v2.9.1 h1:2rWm8B193Ll4VdjsJY28jxs70IdDsHRWgQYAI80+rMQ=
|
||||
github.com/fxamacker/cbor/v2 v2.9.1/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ=
|
||||
github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
|
||||
github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
|
||||
github.com/go-gorp/gorp/v3 v3.1.0 h1:ItKF/Vbuj31dmV4jxA1qblpSwkl9g1typ24xoe70IGs=
|
||||
github.com/go-gorp/gorp/v3 v3.1.0/go.mod h1:dLEjIyyRNiXvNZ8PSmzpt1GsWAUK8kjVhEpjH8TixEw=
|
||||
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
|
||||
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
||||
github.com/go-openapi/jsonpointer v0.22.5 h1:8on/0Yp4uTb9f4XvTrM2+1CPrV05QPZXu+rvu2o9jcA=
|
||||
@@ -117,11 +134,18 @@ github.com/go-openapi/testify/enable/yaml/v2 v2.4.0 h1:7SgOMTvJkM8yWrQlU8Jm18VeD
|
||||
github.com/go-openapi/testify/enable/yaml/v2 v2.4.0/go.mod h1:14iV8jyyQlinc9StD7w1xVPW3CO3q1Gj04Jy//Kw4VM=
|
||||
github.com/go-openapi/testify/v2 v2.4.0 h1:8nsPrHVCWkQ4p8h1EsRVymA2XABB4OT40gcvAu+voFM=
|
||||
github.com/go-openapi/testify/v2 v2.4.0/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54=
|
||||
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
|
||||
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
|
||||
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
|
||||
github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg=
|
||||
github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
|
||||
github.com/google/gnostic-models v0.7.1 h1:SisTfuFKJSKM5CPZkffwi6coztzzeYUhc3v4yxLWH8c=
|
||||
github.com/google/gnostic-models v0.7.1/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ=
|
||||
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
||||
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
github.com/google/jsonschema-go v0.4.3 h1:/DBOLZTfDow7pe2GmaJNhltueGTtDKICi8V8p+DQPd0=
|
||||
github.com/google/jsonschema-go v0.4.3/go.mod h1:r5quNTdLOYEz95Ru18zA0ydNbBuYoo9tgaYcxEYhJVE=
|
||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE=
|
||||
@@ -149,12 +173,32 @@ github.com/iancoleman/orderedmap v0.3.0 h1:5cbR2grmZR/DiVt+VJopEhtVs9YGInGIxAoMJ
|
||||
github.com/iancoleman/orderedmap v0.3.0/go.mod h1:XuLcCUkdL5owUCQeF2Ue9uuw1EptkJDkXXS7VoV7XGE=
|
||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o=
|
||||
github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY=
|
||||
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
|
||||
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
|
||||
github.com/klauspost/compress v1.18.4 h1:RPhnKRAQ4Fh8zU2FY/6ZFDwTVTxgJ/EMydqSTzE9a2c=
|
||||
github.com/klauspost/compress v1.18.4/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 h1:SOEGU9fKiNWd/HOJuq6+3iTQz8KNCLtVX6idSoTLdUw=
|
||||
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o=
|
||||
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 h1:P6pPBnrTSX3DEVR4fDembhRWSsG5rVo6hYhAB/ADZrk=
|
||||
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw=
|
||||
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||
github.com/lib/pq v1.12.3 h1:tTWxr2YLKwIvK90ZXEw8GP7UFHtcbTtty8zsI+YjrfQ=
|
||||
github.com/lib/pq v1.12.3/go.mod h1:/p+8NSbOcwzAEI7wiMXFlgydTwcgTr3OSKMsD2BitpA=
|
||||
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0=
|
||||
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE=
|
||||
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
|
||||
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw=
|
||||
github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs=
|
||||
github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
|
||||
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
|
||||
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
|
||||
@@ -169,6 +213,26 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ
|
||||
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
|
||||
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
|
||||
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
|
||||
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0=
|
||||
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4=
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
|
||||
github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6 h1:zrbMGy9YXpIeTnGj4EljqMiZsIcE09mmF8XsD5AYOJc=
|
||||
github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6/go.mod h1:rEKTHC9roVVicUIfZK7DYrdIoM0EOr8mK1Hj5s3JjH0=
|
||||
github.com/olekukonko/errors v1.2.0 h1:10Zcn4GeV59t/EGqJc8fUjtFT/FuUh5bTMzZ1XwmCRo=
|
||||
github.com/olekukonko/errors v1.2.0/go.mod h1:ppzxA5jBKcO1vIpCXQ9ZqgDh8iwODz6OXIGKU8r5m4Y=
|
||||
github.com/olekukonko/ll v0.1.6 h1:lGVTHO+Qc4Qm+fce/2h2m5y9LvqaW+DCN7xW9hsU3uA=
|
||||
github.com/olekukonko/ll v0.1.6/go.mod h1:NVUmjBb/aCtUpjKk75BhWrOlARz3dqsM+OtszpY4o88=
|
||||
github.com/olekukonko/tablewriter v1.1.4 h1:ORUMI3dXbMnRlRggJX3+q7OzQFDdvgbN9nVWj1drm6I=
|
||||
github.com/olekukonko/tablewriter v1.1.4/go.mod h1:+kedxuyTtgoZLwif3P1Em4hARJs+mVnzKxmsCL/C5RY=
|
||||
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
|
||||
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
|
||||
github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040=
|
||||
github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M=
|
||||
github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI=
|
||||
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
||||
@@ -205,6 +269,8 @@ github.com/sergi/go-diff v1.4.0 h1:n/SP9D5ad1fORl+llWyN+D6qoUETXNZARKjyY2/KVCw=
|
||||
github.com/sergi/go-diff v1.4.0/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
|
||||
github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
|
||||
github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
|
||||
github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w=
|
||||
github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g=
|
||||
github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY=
|
||||
github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo=
|
||||
github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU=
|
||||
@@ -254,14 +320,39 @@ go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
|
||||
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
|
||||
golang.org/x/crypto v0.49.0 h1:+Ng2ULVvLHnJ/ZFEq4KdcDd/cfjrrjjNSXNzxg0Y4U4=
|
||||
golang.org/x/crypto v0.49.0/go.mod h1:ErX4dUh2UM+CFYiXZRTcMpEcN8b/1gxEuv3nODoYtCA=
|
||||
golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto=
|
||||
golang.org/x/crypto v0.53.0/go.mod h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio=
|
||||
golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0=
|
||||
golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw=
|
||||
golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8=
|
||||
golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww=
|
||||
golang.org/x/oauth2 v0.35.0 h1:Mv2mzuHuZuY2+bkyWXIHMfhNdJAdwW3FuWeCPYN5GVQ=
|
||||
golang.org/x/oauth2 v0.35.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
|
||||
golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM=
|
||||
golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw=
|
||||
golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
|
||||
golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc=
|
||||
golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y=
|
||||
golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8=
|
||||
golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA=
|
||||
golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE=
|
||||
golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4=
|
||||
golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=
|
||||
golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d h1:wT2n40TBqFY6wiwazVK9/iTWbsQrgk5ZfCSVFLO9LQA=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
|
||||
google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM=
|
||||
google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4=
|
||||
google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
|
||||
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
|
||||
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI=
|
||||
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnfEbYzo=
|
||||
gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
|
||||
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
|
||||
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
|
||||
gopkg.in/ini.v1 v1.67.1 h1:tVBILHy0R6e4wkYOn3XmiITt/hEVH4TFMYvAX2Ytz6k=
|
||||
@@ -271,18 +362,40 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
helm.sh/helm/v3 v3.21.2 h1:O8ktw30zQZm4tNRavKRN44rotcHICdbSU3e6gS7CCbQ=
|
||||
helm.sh/helm/v3 v3.21.2/go.mod h1:Da+9m67Mzg42rQNrWAj0RvUd4tDT4dL8mrxUwvRgYWo=
|
||||
k8s.io/api v0.36.2 h1:TF6YDLIzKfccK7cq9YpTcGX8TJmEkHVRv78DM51fRYY=
|
||||
k8s.io/api v0.36.2/go.mod h1:F4LbMO4brjZYh7yFkXWhynSvtB7YauxV4c+HHkNRGNg=
|
||||
k8s.io/apiextensions-apiserver v0.36.2 h1:3O5gqOj/dt2XWWbpMe+TXWpE9yU6pjM/tXxtHHJT/K4=
|
||||
k8s.io/apiextensions-apiserver v0.36.2/go.mod h1:cL1tBWe8XSaP1H30iWKGo7hf6iAUUUJPEU70dskmAnA=
|
||||
k8s.io/apimachinery v0.35.3 h1:MeaUwQCV3tjKP4bcwWGgZ/cp/vpsRnQzqO6J6tJyoF8=
|
||||
k8s.io/apimachinery v0.35.3/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns=
|
||||
k8s.io/apimachinery v0.36.2 h1:0PE/W/WNy1UX61NLbXY5TMbJ6UwLL6E6lAPkYrKFxbQ=
|
||||
k8s.io/apimachinery v0.36.2/go.mod h1:fvf/HOLXq9RId0rnDIbN1OEBvHXdQbLMM8nu0LcBUf4=
|
||||
k8s.io/apiserver v0.36.2 h1:6vMnkmHZPeBloNkHUhmZYq7Ylv8WIB8xjyEl+eSt26E=
|
||||
k8s.io/apiserver v0.36.2/go.mod h1:9PoQ2ikCytrZyZg11mGhLEF5m8Rgsb5FJmYJ4Wvnl1k=
|
||||
k8s.io/cli-runtime v0.36.2 h1:CconTvEeV4DJs4ZX3HQKCFbFRGsm6OtuBM9yjmMP2VM=
|
||||
k8s.io/cli-runtime v0.36.2/go.mod h1:LddcjiMf4YlnHO7c1Y7rEtDqL84FyiYVLco7V679GUU=
|
||||
k8s.io/client-go v0.36.2 h1:bfgxmFKc9CgqsgX4xKLAAdmTQlWee7Ob/HlDOrJ5TBI=
|
||||
k8s.io/client-go v0.36.2/go.mod h1:1vgO4OAlfPnoLcb+Rze2GF5rAr14w8qjrYMoyXJzQj0=
|
||||
k8s.io/component-base v0.36.2 h1:Z0VH80O7Ng0HDZnZj3WRR3urEGa0kTwmO8CwEwjVK1w=
|
||||
k8s.io/component-base v0.36.2/go.mod h1:mGfFOA7Gwpdm1VW2cwSQYbiDIlz8GD2WGwH88QSeCyA=
|
||||
k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc=
|
||||
k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0=
|
||||
k8s.io/kube-openapi v0.0.0-20260330154417-16be699c7b31 h1:V+sn9a/1fEYDGwnllCmqXBk8x7obZ+hl869Q3Abumkg=
|
||||
k8s.io/kube-openapi v0.0.0-20260330154417-16be699c7b31/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0=
|
||||
k8s.io/kubectl v0.36.2 h1:rpUGGpeL09XVOLep2yle5jrtk//JA1L6ZHfkQQtVEwk=
|
||||
k8s.io/kubectl v0.36.2/go.mod h1:gVbQ3B/yb4bSR2ggQ7rd0W6icUSWs7sduH4e16Vii+0=
|
||||
k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 h1:kBawHLSnx/mYHmRnNUf9d4CpjREbeZuxoSGOX/J+aYM=
|
||||
k8s.io/utils v0.0.0-20260319190234-28399d86e0b5/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk=
|
||||
oras.land/oras-go/v2 v2.6.1 h1:bonOEkjLfp8tt6qXWRRWP6p1F+9octchOf2EqnWB4Zs=
|
||||
oras.land/oras-go/v2 v2.6.1/go.mod h1:dhtFrFOuZuDtAVeZ9FUnaa5zfzplG3ZnFX9/uH1J/Yk=
|
||||
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg=
|
||||
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
|
||||
sigs.k8s.io/kustomize/api v0.20.1 h1:iWP1Ydh3/lmldBnH/S5RXgT98vWYMaTUL1ADcr+Sv7I=
|
||||
sigs.k8s.io/kustomize/api v0.20.1/go.mod h1:t6hUFxO+Ph0VxIk1sKp1WS0dOjbPCtLJ4p8aADLwqjM=
|
||||
sigs.k8s.io/kustomize/api v0.21.1 h1:lzqbzvz2CSvsjIUZUBNFKtIMsEw7hVLJp0JeSIVmuJs=
|
||||
sigs.k8s.io/kustomize/api v0.21.1/go.mod h1:f3wkKByTrgpgltLgySCntrYoq5d3q7aaxveSagwTlwI=
|
||||
sigs.k8s.io/kustomize/kyaml v0.21.1 h1:IVlbmhC076nf6foyL6Taw4BkrLuEsXUXNpsE+ScX7fI=
|
||||
sigs.k8s.io/kustomize/kyaml v0.21.1/go.mod h1:hmxADesM3yUN2vbA5z1/YTBnzLJ1dajdqpQonwBL1FQ=
|
||||
sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
|
||||
|
||||
@@ -3,9 +3,9 @@ package casting
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
)
|
||||
|
||||
// DeploymentDir is the subdirectory within the pours directory where
|
||||
|
||||
@@ -3,9 +3,9 @@ package collectionagent
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1/collectionagent"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
collectionagentmolding "github.com/signoz/foundry/internal/molding/collectionagent"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/collectionagent"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
collectionagentmolding "github.com/hanzoai/o11y-foundry/internal/molding/collectionagent"
|
||||
)
|
||||
|
||||
type Casting interface {
|
||||
|
||||
@@ -4,14 +4,14 @@ import (
|
||||
"context"
|
||||
"log/slog"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/api/v1alpha1/collectionagent"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
foundryerrors "github.com/signoz/foundry/internal/errors"
|
||||
collectionagentmolding "github.com/signoz/foundry/internal/molding/collectionagent"
|
||||
"github.com/signoz/foundry/internal/molding/collectionagent/collectormolding"
|
||||
"github.com/signoz/foundry/internal/planner"
|
||||
"github.com/signoz/foundry/internal/tooler"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/collectionagent"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
foundryerrors "github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
collectionagentmolding "github.com/hanzoai/o11y-foundry/internal/molding/collectionagent"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding/collectionagent/collectormolding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/planner"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler"
|
||||
)
|
||||
|
||||
var _ planner.Planner = (*Planner)(nil)
|
||||
|
||||
@@ -3,9 +3,9 @@ package collectionagent
|
||||
import (
|
||||
"log/slog"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
foundryerrors "github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/tooler"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
foundryerrors "github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler"
|
||||
)
|
||||
|
||||
type CastingItem struct {
|
||||
|
||||
@@ -6,11 +6,11 @@ import (
|
||||
"log/slog"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/signoz/foundry/internal/casting"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/hanzoai/o11y-foundry/internal/casting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
)
|
||||
|
||||
var _ rootcasting.Casting = (*coolifyCasting)(nil)
|
||||
|
||||
@@ -3,7 +3,7 @@ package coolifycasting
|
||||
import (
|
||||
"embed"
|
||||
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
//go:embed templates/*.gotmpl
|
||||
|
||||
@@ -5,12 +5,12 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/signoz/foundry/internal/casting"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/hanzoai/o11y-foundry/internal/casting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
)
|
||||
|
||||
var _ molding.MoldingEnricher = (*coolifyMoldingEnricher)(nil)
|
||||
@@ -43,7 +43,7 @@ func (enricher *coolifyMoldingEnricher) EnrichStatus(ctx context.Context, kind v
|
||||
}
|
||||
config.Spec.TelemetryStore.Status.Addresses.TCP = telemetrystoreContainerNames
|
||||
|
||||
case v1alpha1.MoldingKindSignoz:
|
||||
case v1alpha1.MoldingKindO11y:
|
||||
containerNames, err := enricher.material.GetStringSlice("services|@keys")
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, errors.TypeInternal, "failed to get signoz container names")
|
||||
@@ -57,8 +57,8 @@ func (enricher *coolifyMoldingEnricher) EnrichStatus(ctx context.Context, kind v
|
||||
opampAddr = append(opampAddr, domain.MustNewAddress("ws", containerName, 4320).String())
|
||||
}
|
||||
}
|
||||
config.Spec.Signoz.Status.Addresses.APIServer = apiServerAddr
|
||||
config.Spec.Signoz.Status.Addresses.Opamp = opampAddr
|
||||
config.Spec.O11y.Status.Addresses.APIServer = apiServerAddr
|
||||
config.Spec.O11y.Status.Addresses.Opamp = opampAddr
|
||||
|
||||
case v1alpha1.MoldingKindTelemetryKeeper:
|
||||
containerNames, err := enricher.material.GetStringSlice("services|@keys")
|
||||
@@ -107,7 +107,6 @@ func (enricher *coolifyMoldingEnricher) EnrichStatus(ctx context.Context, kind v
|
||||
config.Spec.Ingester.Status.Addresses.OTLP = []string{
|
||||
domain.MustNewAddress("tcp", config.Metadata.Name+"-ingester", 4318).String(),
|
||||
domain.MustNewAddress("tcp", config.Metadata.Name+"-ingester", 4317).String(),
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -136,10 +136,10 @@ services:
|
||||
max-file: "3"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range $replicaIdx := until (int $.Spec.Signoz.Spec.Cluster.Replicas) }}
|
||||
{{- range $replicaIdx := until (int $.Spec.O11y.Spec.Cluster.Replicas) }}
|
||||
{{ $.Metadata.Name }}-signoz-{{ $replicaIdx }}:
|
||||
container_name: {{ $.Metadata.Name }}-signoz-{{ $replicaIdx }}
|
||||
image: {{ $.Spec.Signoz.Spec.Image }}
|
||||
image: {{ $.Spec.O11y.Spec.Image }}
|
||||
depends_on:
|
||||
{{- if ne $.Spec.MetaStore.Kind.String "sqlite" }}
|
||||
{{- range $metaIdx := until (int $.Spec.MetaStore.Spec.Cluster.Replicas) }}
|
||||
@@ -166,8 +166,8 @@ services:
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
environment:
|
||||
{{- if $.Spec.Signoz.Spec.Env }}
|
||||
{{- range $key, $value := $.Spec.Signoz.Spec.Env }}
|
||||
{{- if $.Spec.O11y.Spec.Env }}
|
||||
{{- range $key, $value := $.Spec.O11y.Spec.Env }}
|
||||
- {{ $key }}={{ $value }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -196,7 +196,7 @@ services:
|
||||
{{- end }}
|
||||
{{ $.Metadata.Name }}-telemetrystore-migrator:
|
||||
condition: service_completed_successfully
|
||||
{{- range $signozReplicaIdx := until (int $.Spec.Signoz.Spec.Cluster.Replicas) }}
|
||||
{{- range $signozReplicaIdx := until (int $.Spec.O11y.Spec.Cluster.Replicas) }}
|
||||
{{ $.Metadata.Name }}-signoz-{{ $signozReplicaIdx }}:
|
||||
condition: service_started
|
||||
{{- end }}
|
||||
@@ -280,7 +280,7 @@ volumes:
|
||||
name: {{ $.Metadata.Name }}-metastore-{{ $replicaIdx }}-data
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range $replicaIdx := until (int $.Spec.Signoz.Spec.Cluster.Replicas) }}
|
||||
{{- range $replicaIdx := until (int $.Spec.O11y.Spec.Cluster.Replicas) }}
|
||||
{{ $.Metadata.Name }}-signoz-{{ $replicaIdx }}-data:
|
||||
name: {{ $.Metadata.Name }}-signoz-{{ $replicaIdx }}-data
|
||||
{{- end }}
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"bytes"
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"os"
|
||||
"os/exec"
|
||||
@@ -11,10 +12,11 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/hanzoai/o11y-foundry/internal/casting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
foundryerrors "github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
)
|
||||
|
||||
var _ rootcasting.Casting = (*dockerComposeCasting)(nil)
|
||||
@@ -80,7 +82,7 @@ func (casting *dockerComposeCasting) Forge(ctx context.Context, config installat
|
||||
|
||||
// Add o11y config files
|
||||
for filename, content := range config.Spec.O11y.Spec.Config.Data {
|
||||
material, err := types.NewYAMLMaterial([]byte(content), filepath.Join(rootcasting.DeploymentDir, "configs", "o11y", filename))
|
||||
material, err := domain.NewYAMLMaterial([]byte(content), filepath.Join(rootcasting.DeploymentDir, "configs", "o11y", filename))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to create o11y config material: %w", err)
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package dockercomposecasting
|
||||
import (
|
||||
"embed"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
//go:embed templates/*.gotmpl
|
||||
|
||||
@@ -2,13 +2,16 @@ package dockercomposecasting
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/hanzoai/o11y-foundry/internal/casting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
)
|
||||
|
||||
var _ molding.MoldingEnricher = (*dockerComposeMoldingEnricher)(nil)
|
||||
@@ -55,8 +58,8 @@ func (enricher *dockerComposeMoldingEnricher) EnrichStatus(ctx context.Context,
|
||||
var opampAddr []string
|
||||
for _, containerName := range containerNames {
|
||||
if strings.Contains(containerName, "-o11y") {
|
||||
apiServerAddr = append(apiServerAddr, types.FormatAddress("tcp", containerName, 8080))
|
||||
opampAddr = append(opampAddr, types.FormatAddress("ws", containerName, 4320))
|
||||
apiServerAddr = append(apiServerAddr, domain.MustNewAddress("tcp", containerName, 8080).String())
|
||||
opampAddr = append(opampAddr, domain.MustNewAddress("ws", containerName, 4320).String())
|
||||
}
|
||||
}
|
||||
config.Spec.O11y.Status.Addresses.APIServer = apiServerAddr
|
||||
|
||||
@@ -116,6 +116,7 @@ services:
|
||||
start_period: 30s
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- $ingesterReplicas := int $.Spec.Ingester.Spec.Cluster.Replicas }}
|
||||
ingester:
|
||||
image: {{ $.Spec.Ingester.Spec.Image }}
|
||||
@@ -158,7 +159,7 @@ services:
|
||||
image: {{ $.Spec.O11y.Spec.Image }}
|
||||
networks:
|
||||
- {{ $.Metadata.Name }}-network
|
||||
{{- if $.Spec.Signoz.Spec.Env }}
|
||||
{{- if $.Spec.O11y.Spec.Env }}
|
||||
environment:
|
||||
- HANZO_ALERTMANAGER_PROVIDER=o11y
|
||||
- HANZO_TELEMETRYSTORE_CLICKHOUSE_DSN=tcp://{{ $.Metadata.Name }}-telemetrystore-{{ $.Spec.TelemetryStore.Kind }}-0-0:9000
|
||||
@@ -173,7 +174,7 @@ services:
|
||||
- "{{ add 8080 (mul $replicaIdx 1000) }}:8080"
|
||||
{{- if eq $.Spec.MetaStore.Kind.String "sqlite" }}
|
||||
volumes:
|
||||
- {{ $.Metadata.Name }}-metastore-{{ $.Spec.MetaStore.Kind }}-{{ $replicaIdx }}-data:{{ dir (index $.Spec.Signoz.Spec.Env "SIGNOZ_SQLSTORE_SQLITE_PATH") }}
|
||||
- {{ $.Metadata.Name }}-metastore-{{ $.Spec.MetaStore.Kind }}-{{ $replicaIdx }}-data:{{ dir (index $.Spec.O11y.Spec.Env "SIGNOZ_SQLSTORE_SQLITE_PATH") }}
|
||||
{{- end }}
|
||||
healthcheck:
|
||||
test:
|
||||
@@ -231,6 +232,7 @@ volumes:
|
||||
{{ $.Metadata.Name }}-metastore-{{ $.Spec.MetaStore.Kind }}-{{ $replicaIdx }}-data:
|
||||
name: {{ $.Metadata.Name }}-metastore-{{ $.Spec.MetaStore.Kind }}-{{ $replicaIdx }}-data
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range $replicaIdx := until (int $.Spec.O11y.Spec.Cluster.Replicas) }}
|
||||
{{ $.Metadata.Name }}-o11y-{{ $replicaIdx }}-data:
|
||||
{{- end }}
|
||||
|
||||
@@ -10,11 +10,11 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/signoz/foundry/internal/casting"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/hanzoai/o11y-foundry/internal/casting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
)
|
||||
|
||||
var _ rootcasting.Casting = (*dockerSwarmCasting)(nil)
|
||||
@@ -76,7 +76,7 @@ func (casting *dockerSwarmCasting) Forge(ctx context.Context, config installatio
|
||||
materials = append(materials, material)
|
||||
}
|
||||
|
||||
for filename, content := range config.Spec.Signoz.Spec.Config.Data {
|
||||
for filename, content := range config.Spec.O11y.Spec.Config.Data {
|
||||
material, err := domain.NewYAMLMaterial([]byte(content), filepath.Join(rootcasting.DeploymentDir, "signoz", filename))
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, errors.TypeInternal, "failed to create signoz config material")
|
||||
|
||||
@@ -3,7 +3,7 @@ package dockerswarmcasting
|
||||
import (
|
||||
"embed"
|
||||
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
//go:embed templates/*.gotmpl
|
||||
|
||||
@@ -5,12 +5,12 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/signoz/foundry/internal/casting"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/hanzoai/o11y-foundry/internal/casting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
)
|
||||
|
||||
var _ molding.MoldingEnricher = (*dockerSwarmMoldingEnricher)(nil)
|
||||
@@ -45,7 +45,7 @@ func (enricher *dockerSwarmMoldingEnricher) EnrichStatus(ctx context.Context, ki
|
||||
|
||||
config.Spec.TelemetryStore.Status.Addresses.TCP = telemetrystoreAddresses
|
||||
|
||||
case v1alpha1.MoldingKindSignoz:
|
||||
case v1alpha1.MoldingKindO11y:
|
||||
containerNames, err := enricher.material.GetStringSlice("services|@keys")
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, errors.TypeInternal, "failed to get signoz service names")
|
||||
@@ -59,8 +59,8 @@ func (enricher *dockerSwarmMoldingEnricher) EnrichStatus(ctx context.Context, ki
|
||||
opampAddr = append(opampAddr, domain.MustNewAddress("ws", name, 4320).String())
|
||||
}
|
||||
}
|
||||
config.Spec.Signoz.Status.Addresses.APIServer = apiServerAddr
|
||||
config.Spec.Signoz.Status.Addresses.Opamp = opampAddr
|
||||
config.Spec.O11y.Status.Addresses.APIServer = apiServerAddr
|
||||
config.Spec.O11y.Status.Addresses.Opamp = opampAddr
|
||||
|
||||
case v1alpha1.MoldingKindTelemetryKeeper:
|
||||
containerNames, err := enricher.material.GetStringSlice("services|@keys")
|
||||
|
||||
@@ -158,14 +158,14 @@ services:
|
||||
{{- end }}
|
||||
deploy:
|
||||
replicas: {{ $ingesterReplicas }}
|
||||
{{- range $replicaIdx := until (int $.Spec.Signoz.Spec.Cluster.Replicas) }}
|
||||
{{- range $replicaIdx := until (int $.Spec.O11y.Spec.Cluster.Replicas) }}
|
||||
{{ $.Metadata.Name }}-signoz-{{ $replicaIdx }}:
|
||||
image: {{ $.Spec.Signoz.Spec.Image }}
|
||||
image: {{ $.Spec.O11y.Spec.Image }}
|
||||
networks:
|
||||
- {{ $.Metadata.Name }}-network
|
||||
{{- if $.Spec.Signoz.Spec.Env }}
|
||||
{{- if $.Spec.O11y.Spec.Env }}
|
||||
environment:
|
||||
{{- range $key, $value := $.Spec.Signoz.Spec.Env }}
|
||||
{{- range $key, $value := $.Spec.O11y.Spec.Env }}
|
||||
- {{ $key }}={{ $value }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -173,7 +173,7 @@ services:
|
||||
- "{{ add 8080 (mul $replicaIdx 1000) }}:8080"
|
||||
{{- if eq $.Spec.MetaStore.Kind.String "sqlite" }}
|
||||
volumes:
|
||||
- {{ $.Metadata.Name }}-metastore-{{ $.Spec.MetaStore.Kind }}-{{ $replicaIdx }}-data:{{ dir (index $.Spec.Signoz.Spec.Env "SIGNOZ_SQLSTORE_SQLITE_PATH") }}
|
||||
- {{ $.Metadata.Name }}-metastore-{{ $.Spec.MetaStore.Kind }}-{{ $replicaIdx }}-data:{{ dir (index $.Spec.O11y.Spec.Env "SIGNOZ_SQLSTORE_SQLITE_PATH") }}
|
||||
{{- end }}
|
||||
deploy:
|
||||
restart_policy:
|
||||
@@ -238,7 +238,7 @@ volumes:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if eq $.Spec.MetaStore.Kind.String "sqlite" }}
|
||||
{{- range $replicaIdx := until (int $.Spec.Signoz.Spec.Cluster.Replicas) }}
|
||||
{{- range $replicaIdx := until (int $.Spec.O11y.Spec.Cluster.Replicas) }}
|
||||
{{ $.Metadata.Name }}-metastore-{{ $.Spec.MetaStore.Kind }}-{{ $replicaIdx }}-data:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -9,11 +9,11 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/signoz/foundry/internal/casting"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/hanzoai/o11y-foundry/internal/casting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
)
|
||||
|
||||
var _ rootcasting.Casting = (*ecsCasting)(nil)
|
||||
@@ -127,7 +127,7 @@ func (c *ecsCasting) Forge(ctx context.Context, config installation.Casting, pou
|
||||
}
|
||||
|
||||
// Signoz
|
||||
if config.Spec.Signoz.Spec.IsEnabled() {
|
||||
if config.Spec.O11y.Spec.IsEnabled() {
|
||||
m, err := moduleSignozTF.Render(config, filepath.Join(moduleDir, "signoz.tf.json"))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -3,7 +3,7 @@ package ecsterraformcasting
|
||||
import (
|
||||
"embed"
|
||||
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
//go:embed templates/*.gotmpl templates/module/*.gotmpl
|
||||
|
||||
@@ -4,9 +4,9 @@ import (
|
||||
"bytes"
|
||||
"testing"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
||||
@@ -4,11 +4,11 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -68,14 +68,14 @@ func (enricher *ecsMoldingEnricher) EnrichStatus(ctx context.Context, kind v1alp
|
||||
fqdn := fmt.Sprintf("%s.%s", string(sdName), namespace)
|
||||
config.Spec.MetaStore.Status.Addresses.DSN = []string{domain.MustNewAddress("tcp", fqdn, metaStorePort).String()}
|
||||
|
||||
case v1alpha1.MoldingKindSignoz:
|
||||
case v1alpha1.MoldingKindO11y:
|
||||
sdName, err := enricher.materials[4].GetBytes("resource.aws_service_discovery_service.signoz.name")
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, errors.TypeInternal, "failed to get signoz service discovery name")
|
||||
}
|
||||
fqdn := fmt.Sprintf("%s.%s", string(sdName), namespace)
|
||||
config.Spec.Signoz.Status.Addresses.APIServer = []string{domain.MustNewAddress("tcp", fqdn, signozAPIPort).String()}
|
||||
config.Spec.Signoz.Status.Addresses.Opamp = []string{domain.MustNewAddress("ws", fqdn, signozOpampPort).String()}
|
||||
config.Spec.O11y.Status.Addresses.APIServer = []string{domain.MustNewAddress("tcp", fqdn, signozAPIPort).String()}
|
||||
config.Spec.O11y.Status.Addresses.Opamp = []string{domain.MustNewAddress("ws", fqdn, signozOpampPort).String()}
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"description": "Security group IDs used by ECS services",
|
||||
"value": "${var.security_group_ids}"
|
||||
}
|
||||
{{- if $.Spec.Signoz.Spec.Enabled }},
|
||||
{{- if $.Spec.O11y.Spec.Enabled }},
|
||||
"signoz_service_arn": {
|
||||
"description": "SigNoz ECS service ARN (target for ALB on port 8080)",
|
||||
"value": "${aws_ecs_service.signoz.id}"
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
"containers": [
|
||||
{
|
||||
"name": "signoz",
|
||||
"image": "{{ $.Spec.Signoz.Spec.Image }}",
|
||||
"image": "{{ $.Spec.O11y.Spec.Image }}",
|
||||
"essential": true,
|
||||
{{- $env := list }}
|
||||
{{- range $key, $value := $.Spec.Signoz.Spec.Env }}
|
||||
{{- range $key, $value := $.Spec.O11y.Spec.Env }}
|
||||
{{- $env = append $env (dict "name" $key "value" $value) }}
|
||||
{{- end }}
|
||||
{{- if $env }}
|
||||
|
||||
@@ -4,20 +4,20 @@ import (
|
||||
"context"
|
||||
"log/slog"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
"github.com/signoz/foundry/internal/casting"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
foundryerrors "github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/molding"
|
||||
"github.com/signoz/foundry/internal/molding/ingestermolding"
|
||||
"github.com/signoz/foundry/internal/molding/metastoremolding"
|
||||
"github.com/signoz/foundry/internal/molding/signozmolding"
|
||||
"github.com/signoz/foundry/internal/molding/telemetrykeepermolding"
|
||||
"github.com/signoz/foundry/internal/molding/telemetrystoremolding"
|
||||
"github.com/signoz/foundry/internal/planner"
|
||||
"github.com/signoz/foundry/internal/tooler"
|
||||
"github.com/signoz/foundry/internal/tooler/terraformtooler"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/casting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
foundryerrors "github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding/ingestermolding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding/metastoremolding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding/o11ymolding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding/telemetrykeepermolding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding/telemetrystoremolding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/planner"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler/terraformtooler"
|
||||
)
|
||||
|
||||
var _ planner.Planner = (*Planner)(nil)
|
||||
@@ -56,7 +56,7 @@ func NewPlanner(ctx context.Context, c *installation.Casting, logger *slog.Logge
|
||||
telemetrykeepermolding.New(logger),
|
||||
telemetrystoremolding.New(logger),
|
||||
metastoremolding.New(logger),
|
||||
signozmolding.New(logger),
|
||||
o11ymolding.New(logger),
|
||||
ingestermolding.New(logger),
|
||||
}
|
||||
|
||||
|
||||
@@ -3,29 +3,29 @@ package installation
|
||||
import (
|
||||
"log/slog"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/internal/casting"
|
||||
"github.com/signoz/foundry/internal/casting/coolifycasting"
|
||||
"github.com/signoz/foundry/internal/casting/dockercomposecasting"
|
||||
"github.com/signoz/foundry/internal/casting/dockerswarmcasting"
|
||||
"github.com/signoz/foundry/internal/casting/ecsterraformcasting"
|
||||
"github.com/signoz/foundry/internal/casting/kuberneteshelmcasting"
|
||||
"github.com/signoz/foundry/internal/casting/kuberneteskustomizecasting"
|
||||
"github.com/signoz/foundry/internal/casting/railwaytemplatecasting"
|
||||
"github.com/signoz/foundry/internal/casting/rendercasting"
|
||||
"github.com/signoz/foundry/internal/casting/systemdcasting"
|
||||
foundryerrors "github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/tooler"
|
||||
"github.com/signoz/foundry/internal/tooler/clickhousekeepertooler"
|
||||
"github.com/signoz/foundry/internal/tooler/clickhousetooler"
|
||||
"github.com/signoz/foundry/internal/tooler/dockercomposetooler"
|
||||
"github.com/signoz/foundry/internal/tooler/dockerswarmtooler"
|
||||
"github.com/signoz/foundry/internal/tooler/dockertooler"
|
||||
"github.com/signoz/foundry/internal/tooler/helmtooler"
|
||||
"github.com/signoz/foundry/internal/tooler/kubectltooler"
|
||||
"github.com/signoz/foundry/internal/tooler/postgrestooler"
|
||||
"github.com/signoz/foundry/internal/tooler/systemdtooler"
|
||||
"github.com/signoz/foundry/internal/tooler/terraformtooler"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/internal/casting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/casting/coolifycasting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/casting/dockercomposecasting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/casting/dockerswarmcasting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/casting/ecsterraformcasting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/casting/kuberneteshelmcasting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/casting/kuberneteskustomizecasting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/casting/railwaytemplatecasting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/casting/rendercasting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/casting/systemdcasting"
|
||||
foundryerrors "github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler/clickhousekeepertooler"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler/clickhousetooler"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler/dockercomposetooler"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler/dockerswarmtooler"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler/dockertooler"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler/helmtooler"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler/kubectltooler"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler/postgrestooler"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler/systemdtooler"
|
||||
"github.com/hanzoai/o11y-foundry/internal/tooler/terraformtooler"
|
||||
)
|
||||
|
||||
// Defines a single casting item in the registry.
|
||||
@@ -130,7 +130,7 @@ func (registry *Registry) lookup(deployment v1alpha1.TypeDeployment) (CastingIte
|
||||
func (registry *Registry) Casting(deployment v1alpha1.TypeDeployment) (casting.Casting, error) {
|
||||
item, ok := registry.lookup(deployment)
|
||||
if !ok {
|
||||
return nil, foundryerrors.Newf(foundryerrors.TypeUnsupported, "deployment '%+v' is not supported, raise an issue at https://github.com/signoz/foundry/issues to request support for this deployment", deployment)
|
||||
return nil, foundryerrors.Newf(foundryerrors.TypeUnsupported, "deployment '%+v' is not supported, raise an issue at https://github.com/hanzoai/o11y-foundry/issues to request support for this deployment", deployment)
|
||||
}
|
||||
return item.Casting, nil
|
||||
}
|
||||
@@ -138,7 +138,7 @@ func (registry *Registry) Casting(deployment v1alpha1.TypeDeployment) (casting.C
|
||||
func (registry *Registry) Toolers(deployment v1alpha1.TypeDeployment) ([]tooler.Tooler, error) {
|
||||
item, ok := registry.lookup(deployment)
|
||||
if !ok {
|
||||
return nil, foundryerrors.Newf(foundryerrors.TypeUnsupported, "deployment '%+v' is not supported, raise an issue at https://github.com/signoz/foundry/issues to request support for this deployment", deployment)
|
||||
return nil, foundryerrors.Newf(foundryerrors.TypeUnsupported, "deployment '%+v' is not supported, raise an issue at https://github.com/hanzoai/o11y-foundry/issues to request support for this deployment", deployment)
|
||||
}
|
||||
return item.Toolers, nil
|
||||
}
|
||||
|
||||
@@ -9,11 +9,11 @@ import (
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/signoz/foundry/internal/casting"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/hanzoai/o11y-foundry/internal/casting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
"helm.sh/helm/v3/pkg/action"
|
||||
"helm.sh/helm/v3/pkg/chart/loader"
|
||||
"helm.sh/helm/v3/pkg/cli"
|
||||
|
||||
@@ -3,7 +3,7 @@ package kuberneteshelmcasting
|
||||
import (
|
||||
"embed"
|
||||
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
//go:embed templates/values.yaml.gotmpl
|
||||
|
||||
@@ -4,10 +4,10 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/signoz/foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
)
|
||||
|
||||
var _ molding.MoldingEnricher = (*helmMoldingEnricher)(nil)
|
||||
@@ -28,7 +28,7 @@ func (e *helmMoldingEnricher) EnrichStatus(ctx context.Context, kind v1alpha1.Mo
|
||||
return e.enrichTelemetryKeeper(config)
|
||||
case v1alpha1.MoldingKindMetaStore:
|
||||
return e.enrichMetaStore(config)
|
||||
case v1alpha1.MoldingKindSignoz:
|
||||
case v1alpha1.MoldingKindO11y:
|
||||
return e.enrichSignoz(config)
|
||||
case v1alpha1.MoldingKindIngester:
|
||||
return e.enrichIngester(config)
|
||||
@@ -74,7 +74,7 @@ func (e *helmMoldingEnricher) enrichMetaStore(config *installation.Casting) erro
|
||||
func (e *helmMoldingEnricher) enrichSignoz(config *installation.Casting) error {
|
||||
// Chart uses signoz.fullname which resolves to fullnameOverride directly.
|
||||
name := config.Metadata.Name
|
||||
config.Spec.Signoz.Status.Addresses.Opamp = []string{domain.MustNewAddress("tcp", name, 4320).String()}
|
||||
config.Spec.O11y.Status.Addresses.Opamp = []string{domain.MustNewAddress("tcp", name, 4320).String()}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -26,13 +26,13 @@ clickhouse:
|
||||
replicaCount: {{ $.Spec.TelemetryKeeper.Spec.Cluster.Replicas }}
|
||||
signoz:
|
||||
name: signoz
|
||||
{{- with $.Spec.Signoz.Spec.Image }}
|
||||
{{- with $.Spec.O11y.Spec.Image }}
|
||||
{{- $parts := splitn ":" 2 . }}
|
||||
image:
|
||||
repository: {{ $parts._0 }}
|
||||
tag: {{ $parts._1 | default "latest" }}
|
||||
{{- end }}
|
||||
{{- with $.Spec.Signoz.Spec.Cluster.Replicas }}
|
||||
{{- with $.Spec.O11y.Spec.Cluster.Replicas }}
|
||||
replicaCount: {{ . }}
|
||||
{{- end }}
|
||||
service:
|
||||
@@ -40,9 +40,9 @@ signoz:
|
||||
port: 8080
|
||||
internalPort: 8085
|
||||
opampPort: 4320
|
||||
{{- if $.Spec.Signoz.Spec.Env }}
|
||||
{{- if $.Spec.O11y.Spec.Env }}
|
||||
env:
|
||||
{{- with $.Spec.Signoz.Spec.Env }}
|
||||
{{- with $.Spec.O11y.Spec.Env }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -10,11 +10,11 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/signoz/foundry/internal/casting"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/hanzoai/o11y-foundry/internal/casting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
)
|
||||
|
||||
var _ rootcasting.Casting = (*kustomizeCasting)(nil)
|
||||
|
||||
@@ -3,7 +3,7 @@ package kuberneteskustomizecasting
|
||||
import (
|
||||
"embed"
|
||||
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
//go:embed templates/*/*.gotmpl templates/*/*/*.gotmpl templates/*.gotmpl
|
||||
|
||||
@@ -4,11 +4,11 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -50,7 +50,7 @@ func (e *kustomizeMoldingEnricher) EnrichStatus(ctx context.Context, kind v1alph
|
||||
return e.enrichTelemetryKeeper(config)
|
||||
case v1alpha1.MoldingKindMetaStore:
|
||||
return e.enrichMetaStore(config)
|
||||
case v1alpha1.MoldingKindSignoz:
|
||||
case v1alpha1.MoldingKindO11y:
|
||||
return e.enrichSignoz(config)
|
||||
case v1alpha1.MoldingKindIngester:
|
||||
return e.enrichIngester(config)
|
||||
@@ -108,7 +108,7 @@ func (e *kustomizeMoldingEnricher) enrichMetaStore(config *installation.Casting)
|
||||
|
||||
func (e *kustomizeMoldingEnricher) enrichSignoz(config *installation.Casting) error {
|
||||
name := config.Metadata.Name + "-signoz"
|
||||
config.Spec.Signoz.Status.Addresses.Opamp = []string{domain.MustNewAddress("ws", name, signozOpampPort).String()}
|
||||
config.Spec.O11y.Status.Addresses.Opamp = []string{domain.MustNewAddress("ws", name, signozOpampPort).String()}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ resources:
|
||||
{{- if $.Spec.MetaStore.Spec.Enabled }}
|
||||
- metastore/postgres
|
||||
{{- end }}
|
||||
{{- if $.Spec.Signoz.Spec.Enabled }}
|
||||
{{- if $.Spec.O11y.Spec.Enabled }}
|
||||
- signoz
|
||||
{{- end }}
|
||||
{{- if $.Spec.Ingester.Spec.Enabled }}
|
||||
|
||||
+3
-3
@@ -10,7 +10,7 @@ metadata:
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: {{ $name }}
|
||||
spec:
|
||||
replicas: {{ int $.Spec.Signoz.Spec.Cluster.Replicas }}
|
||||
replicas: {{ int $.Spec.O11y.Spec.Cluster.Replicas }}
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: {{ $name }}
|
||||
@@ -26,11 +26,11 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
{{- range $key, $val := $.Spec.Signoz.Spec.Env }}
|
||||
{{- range $key, $val := $.Spec.O11y.Spec.Env }}
|
||||
- name: {{ $key }}
|
||||
value: {{ $val }}
|
||||
{{- end }}
|
||||
image: {{ $.Spec.Signoz.Spec.Image }}
|
||||
image: {{ $.Spec.O11y.Spec.Image }}
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
|
||||
@@ -6,11 +6,11 @@ import (
|
||||
"log/slog"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
"github.com/signoz/foundry/internal/casting"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/casting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
)
|
||||
|
||||
var _ casting.Casting = (*railwayTemplateCasting)(nil)
|
||||
@@ -111,7 +111,7 @@ func (c *railwayTemplateCasting) Forge(ctx context.Context, config installation.
|
||||
}
|
||||
|
||||
// Signoz: Dockerfile + railway.json
|
||||
if config.Spec.Signoz.Spec.IsEnabled() {
|
||||
if config.Spec.O11y.Spec.IsEnabled() {
|
||||
dockerfileBuf := bytes.NewBuffer(nil)
|
||||
if err := signozDockerfileTemplate.Execute(dockerfileBuf, config); err != nil {
|
||||
return nil, errors.Wrapf(err, errors.TypeInternal, "signoz dockerfile")
|
||||
|
||||
@@ -3,7 +3,7 @@ package railwaytemplatecasting
|
||||
import (
|
||||
"embed"
|
||||
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
//go:embed templates/*.gotmpl
|
||||
|
||||
@@ -3,11 +3,11 @@ package railwaytemplatecasting
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
)
|
||||
|
||||
var _ molding.MoldingEnricher = (*railwayTemplateMoldingEnricher)(nil)
|
||||
@@ -48,13 +48,13 @@ func (enricher *railwayTemplateMoldingEnricher) EnrichStatus(ctx context.Context
|
||||
config.Spec.TelemetryStore.Status.Extras["service_names"] = svc
|
||||
config.Spec.TelemetryStore.Status.Extras["_overrides"] = string(enricher.material[1].FmtContents())
|
||||
|
||||
case v1alpha1.MoldingKindSignoz:
|
||||
if !config.Spec.Signoz.Spec.IsEnabled() {
|
||||
case v1alpha1.MoldingKindO11y:
|
||||
if !config.Spec.O11y.Spec.IsEnabled() {
|
||||
return nil
|
||||
}
|
||||
svc := name + "-signoz"
|
||||
config.Spec.Signoz.Status.Addresses.APIServer = []string{domain.MustNewAddress("tcp", railwayInternalHost(svc), 8080).String()}
|
||||
config.Spec.Signoz.Status.Addresses.Opamp = []string{domain.MustNewAddress("ws", railwayInternalHost(svc), 4320).String()}
|
||||
config.Spec.O11y.Status.Addresses.APIServer = []string{domain.MustNewAddress("tcp", railwayInternalHost(svc), 8080).String()}
|
||||
config.Spec.O11y.Status.Addresses.Opamp = []string{domain.MustNewAddress("ws", railwayInternalHost(svc), 4320).String()}
|
||||
|
||||
case v1alpha1.MoldingKindTelemetryKeeper:
|
||||
if !config.Spec.TelemetryKeeper.Spec.IsEnabled() {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
FROM {{ $.Spec.Signoz.Spec.Image }}
|
||||
FROM {{ $.Spec.O11y.Spec.Image }}
|
||||
|
||||
|
||||
{{- range $key, $value := $.Spec.Signoz.Spec.Env }}
|
||||
{{- range $key, $value := $.Spec.O11y.Spec.Env }}
|
||||
ENV {{ $key }}={{ $value }}
|
||||
{{- end }}
|
||||
@@ -4,7 +4,7 @@
|
||||
"dockerfilePath": "Dockerfile"
|
||||
},
|
||||
"deploy": {
|
||||
"numReplicas": {{ default 1 $.Spec.Signoz.Spec.Cluster.Replicas }},
|
||||
"numReplicas": {{ default 1 $.Spec.O11y.Spec.Cluster.Replicas }},
|
||||
"healthcheckPath": "/api/v1/health",
|
||||
"healthcheckTimeout": 300,
|
||||
"restartPolicyType": "ON_FAILURE",
|
||||
|
||||
@@ -7,10 +7,11 @@ import (
|
||||
"log/slog"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/casting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
)
|
||||
|
||||
var _ casting.Casting = (*renderCasting)(nil)
|
||||
|
||||
@@ -3,7 +3,7 @@ package rendercasting
|
||||
import (
|
||||
"embed"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
//go:embed templates/*.gotmpl
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"bytes"
|
||||
"testing"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
||||
@@ -5,8 +5,10 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
)
|
||||
|
||||
var _ molding.MoldingEnricher = (*renderMoldingEnricher)(nil)
|
||||
@@ -60,8 +62,8 @@ func (enricher *renderMoldingEnricher) EnrichStatus(ctx context.Context, kind v1
|
||||
var opampAddr []string
|
||||
for _, serviceName := range serviceNames {
|
||||
if strings.Contains(serviceName, "-o11y") {
|
||||
apiServerAddr = append(apiServerAddr, types.FormatAddress("tcp", serviceName, 8080))
|
||||
opampAddr = append(opampAddr, types.FormatAddress("ws", serviceName, 4320))
|
||||
apiServerAddr = append(apiServerAddr, domain.MustNewAddress("tcp", serviceName, 8080).String())
|
||||
opampAddr = append(opampAddr, domain.MustNewAddress("ws", serviceName, 4320).String())
|
||||
}
|
||||
}
|
||||
config.Spec.O11y.Status.Addresses.APIServer = apiServerAddr
|
||||
|
||||
@@ -103,7 +103,6 @@ services:
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if $.Spec.TelemetryStore.Spec.Enabled }}
|
||||
- name: {{ $.Metadata.Name}}-schema-migrator
|
||||
|
||||
@@ -5,7 +5,9 @@ import (
|
||||
"fmt"
|
||||
"log/slog"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
rootcasting "github.com/hanzoai/o11y-foundry/internal/casting"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
|
||||
"os"
|
||||
@@ -15,8 +17,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
const svcSuffix = ".service"
|
||||
@@ -163,9 +164,9 @@ func (c *systemdCasting) forgeIngester(tmpl *domain.Template, cfg *installation.
|
||||
return materials, nil
|
||||
}
|
||||
|
||||
func (c *systemdCasting) forgeO11y(tmpl *types.Template, cfg *v1alpha1.Casting) ([]types.Material, error) {
|
||||
func (c *systemdCasting) forgeO11y(tmpl *domain.Template, cfg *installation.Casting) ([]domain.Material, error) {
|
||||
spec := &cfg.Spec.O11y
|
||||
if !spec.Spec.Enabled {
|
||||
if !spec.Spec.IsEnabled() {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
@@ -180,7 +181,7 @@ func (c *systemdCasting) forgeO11y(tmpl *types.Template, cfg *v1alpha1.Casting)
|
||||
|
||||
var materials []domain.Material
|
||||
|
||||
svcMat, err := c.renderTemplate(tmpl, cfg, cfg.Metadata.Name+"-signoz"+svcSuffix)
|
||||
svcMat, err := c.renderTemplate(tmpl, cfg, prefix+svcSuffix)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -320,7 +321,7 @@ func (c *systemdCasting) discoverAndPrepareServices(ctx context.Context, poursPa
|
||||
return nil, errors.Wrapf(err, errors.TypeInternal, "failed to read directory %s", deploymentPath)
|
||||
}
|
||||
|
||||
serviceMap := map[string][]string{"keeper": {}, "store": {}, "postgres": {}, "o11y": {}, "ingester": {}, "migrator": {}}
|
||||
var services []string
|
||||
|
||||
for _, entry := range entries {
|
||||
if entry.IsDir() || !strings.HasSuffix(entry.Name(), svcSuffix) {
|
||||
@@ -331,17 +332,17 @@ func (c *systemdCasting) discoverAndPrepareServices(ctx context.Context, poursPa
|
||||
|
||||
switch {
|
||||
case strings.HasSuffix(baseName, "-migrator"):
|
||||
serviceMap["migrator"] = append(serviceMap["migrator"], servicePath)
|
||||
services = append(services, servicePath)
|
||||
case strings.Contains(baseName, "-telemetrykeeper-") && !strings.Contains(baseName, "-migrator"):
|
||||
serviceMap["keeper"] = append(serviceMap["keeper"], servicePath)
|
||||
services = append(services, servicePath)
|
||||
case strings.Contains(baseName, "-telemetrystore-") && !strings.Contains(baseName, "-migrator"):
|
||||
serviceMap["store"] = append(serviceMap["store"], servicePath)
|
||||
services = append(services, servicePath)
|
||||
case strings.Contains(baseName, "-metastore-postgres"):
|
||||
serviceMap["postgres"] = append(serviceMap["postgres"], servicePath)
|
||||
services = append(services, servicePath)
|
||||
case strings.HasSuffix(baseName, "-o11y"):
|
||||
serviceMap["o11y"] = append(serviceMap["o11y"], servicePath)
|
||||
services = append(services, servicePath)
|
||||
case strings.HasSuffix(baseName, "-ingester"):
|
||||
serviceMap["ingester"] = append(serviceMap["ingester"], servicePath)
|
||||
services = append(services, servicePath)
|
||||
default:
|
||||
c.logger.WarnContext(ctx, "Unknown service type, skipping", slog.String("service", servicePath))
|
||||
}
|
||||
@@ -361,7 +362,7 @@ func (c *systemdCasting) discoverAndPrepareServices(ctx context.Context, poursPa
|
||||
}
|
||||
|
||||
// setupSystemEnvironment creates o11y user, directories, copies configs, and validates binaries.
|
||||
func (c *systemdCasting) setupSystemEnvironment(ctx context.Context, config *v1alpha1.Casting, poursPath string) error {
|
||||
func (c *systemdCasting) setupSystemEnvironment(ctx context.Context, config *installation.Casting, poursPath string) error {
|
||||
// Create o11y user if needed
|
||||
if _, err := user.Lookup("o11y"); err != nil {
|
||||
c.logger.InfoContext(ctx, "Creating user: o11y")
|
||||
@@ -374,7 +375,7 @@ func (c *systemdCasting) setupSystemEnvironment(ctx context.Context, config *v1a
|
||||
if err := os.MkdirAll(poursPath, 0755); err != nil {
|
||||
return errors.Wrapf(err, errors.TypeInternal, "failed to create working directory %s", poursPath)
|
||||
}
|
||||
_ = c.execCommand(ctx, "chown", "-R", "o11y:o11y", poursPath) // best effort
|
||||
_ = c.execCommand(ctx, "chown", "-R", "o11y:o11y", poursPath) // best effort
|
||||
_ = c.execCommand(ctx, "chown", "-R", "o11y:o11y", "/opt/o11y/") // best effort
|
||||
|
||||
// Copy clickhouse configs to standard locations
|
||||
|
||||
@@ -3,17 +3,17 @@ package systemdcasting
|
||||
import (
|
||||
"embed"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
//go:embed templates/*.gotmpl
|
||||
var templates embed.FS
|
||||
|
||||
var (
|
||||
o11yServiceTemplate *types.Template = types.MustNewTemplateFromFS(templates, "templates/o11y.service.gotmpl", types.FormatINI)
|
||||
ingesterServiceTemplate *types.Template = types.MustNewTemplateFromFS(templates, "templates/ingester.service.gotmpl", types.FormatINI)
|
||||
telemetryStoreServiceTemplate *types.Template = types.MustNewTemplateFromFS(templates, "templates/clickhouse.telemetrystore.v2556.service.gotmpl", types.FormatINI)
|
||||
telemetryKeeperServiceTemplate *types.Template = types.MustNewTemplateFromFS(templates, "templates/clickhousekeeper.telemetrykeeper.v2556.service.gotmpl", types.FormatINI)
|
||||
metaStoreServiceTemplate *types.Template = types.MustNewTemplateFromFS(templates, "templates/postgres.metastore.service.gotmpl", types.FormatINI)
|
||||
telemetryStoreMigratorServiceTemplate *types.Template = types.MustNewTemplateFromFS(templates, "templates/migrator.telemetrystore.service.gotmpl", types.FormatINI)
|
||||
o11yServiceTemplate *domain.Template = domain.MustNewTemplateFromFS(templates, "templates/o11y.service.gotmpl", domain.FormatINI)
|
||||
ingesterServiceTemplate *domain.Template = domain.MustNewTemplateFromFS(templates, "templates/ingester.service.gotmpl", domain.FormatINI)
|
||||
telemetryStoreServiceTemplate *domain.Template = domain.MustNewTemplateFromFS(templates, "templates/clickhouse.telemetrystore.v2556.service.gotmpl", domain.FormatINI)
|
||||
telemetryKeeperServiceTemplate *domain.Template = domain.MustNewTemplateFromFS(templates, "templates/clickhousekeeper.telemetrykeeper.v2556.service.gotmpl", domain.FormatINI)
|
||||
metaStoreServiceTemplate *domain.Template = domain.MustNewTemplateFromFS(templates, "templates/postgres.metastore.service.gotmpl", domain.FormatINI)
|
||||
telemetryStoreMigratorServiceTemplate *domain.Template = domain.MustNewTemplateFromFS(templates, "templates/migrator.telemetrystore.service.gotmpl", domain.FormatINI)
|
||||
)
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"bytes"
|
||||
"testing"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
@@ -13,7 +13,7 @@ func TestNotEmptyAndValid(t *testing.T) {
|
||||
"telemetryStoreServiceTemplate": telemetryStoreServiceTemplate,
|
||||
"telemetryKeeperServiceTemplate": telemetryKeeperServiceTemplate,
|
||||
"metaStoreServiceTemplate": metaStoreServiceTemplate,
|
||||
"o11yServiceTemplate": o11yServiceTemplate,
|
||||
"o11yServiceTemplate": o11yServiceTemplate,
|
||||
"ingesterServiceTemplate": ingesterServiceTemplate,
|
||||
"telemetryStoreMigratorTemplate": telemetryStoreMigratorServiceTemplate,
|
||||
}
|
||||
|
||||
@@ -2,11 +2,13 @@ package systemdcasting
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"path"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
)
|
||||
|
||||
var _ molding.MoldingEnricher = (*linuxMoldingEnricher)(nil)
|
||||
@@ -104,8 +106,8 @@ func (e *linuxMoldingEnricher) enrichMetaStore(config *installation.Casting) err
|
||||
dsn := domain.MustNewAddress("postgres", "localhost", baseMetaStorePostgresPort).String()
|
||||
config.Spec.MetaStore.Status.Addresses.DSN = []string{dsn}
|
||||
|
||||
// Get the annotation value
|
||||
metastoreBin := config.Metadata.Annotations["foundry.o11y.hanzo.ai/metastore-postgres-binary-path"]
|
||||
// Get the annotation value
|
||||
metastoreBin := config.Metadata.Annotations["foundry.o11y.hanzo.ai/metastore-postgres-binary-path"]
|
||||
|
||||
// If it's missing, apply the default and write it back
|
||||
if metastoreBin == "" {
|
||||
@@ -121,12 +123,12 @@ func (e *linuxMoldingEnricher) enrichMetaStore(config *installation.Casting) err
|
||||
return nil
|
||||
}
|
||||
|
||||
func (e *linuxMoldingEnricher) enrichO11y(config *v1alpha1.Casting) error {
|
||||
func (e *linuxMoldingEnricher) enrichO11y(config *installation.Casting) error {
|
||||
config.Spec.O11y.Status.Addresses.Opamp = []string{
|
||||
types.FormatAddress("ws", "localhost", 4320),
|
||||
domain.MustNewAddress("ws", "localhost", 4320).String(),
|
||||
}
|
||||
config.Spec.O11y.Status.Addresses.APIServer = []string{
|
||||
types.FormatAddress("tcp", "localhost", 8080),
|
||||
domain.MustNewAddress("tcp", "localhost", 8080).String(),
|
||||
}
|
||||
|
||||
// Get the annotation value
|
||||
@@ -144,11 +146,11 @@ func (e *linuxMoldingEnricher) enrichO11y(config *v1alpha1.Casting) error {
|
||||
|
||||
// The binary defaults these to its in-container paths, so point them at the
|
||||
// extracted tarball tree (binary lives at <root>/bin/signoz).
|
||||
root := path.Dir(path.Dir(signozBin))
|
||||
if config.Spec.Signoz.Status.Env == nil {
|
||||
config.Spec.Signoz.Status.Env = make(map[string]string)
|
||||
root := path.Dir(path.Dir(o11yBin))
|
||||
if config.Spec.O11y.Status.Env == nil {
|
||||
config.Spec.O11y.Status.Env = make(map[string]string)
|
||||
}
|
||||
env := config.Spec.Signoz.Status.Env
|
||||
env := config.Spec.O11y.Status.Env
|
||||
env["SIGNOZ_WEB_DIRECTORY"] = path.Join(root, "web")
|
||||
env["SIGNOZ_EMAILING_TEMPLATES_DIRECTORY"] = path.Join(root, "templates", "email")
|
||||
env["SIGNOZ_ALERTMANAGER_SIGNOZ_TEMPLATES"] = path.Join(root, "templates", "alertmanager", "*.gotmpl")
|
||||
|
||||
@@ -10,7 +10,6 @@ User=postgres
|
||||
{{- range $key, $value := $.Spec.MetaStore.Spec.Env }}
|
||||
Environment={{ $key }}={{ $value }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{- if and $.Metadata.Annotations (index $.Metadata.Annotations "foundry.o11y.io/metastore-postgres-binary-path") }}
|
||||
{{- $metastoreBinaryPath := index $.Metadata.Annotations "foundry.o11y.io/metastore-postgres-binary-path" }}
|
||||
ExecStart={{ $metastoreBinaryPath }} -D /usr/local/pgsql/data
|
||||
|
||||
@@ -7,8 +7,11 @@ import (
|
||||
"path/filepath"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/collectionagent"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/config"
|
||||
"github.com/hanzoai/o11y-foundry/internal/types"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
)
|
||||
|
||||
type yamlConfig struct {
|
||||
|
||||
@@ -6,9 +6,9 @@ import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
@@ -32,7 +32,7 @@ spec:
|
||||
`,
|
||||
assert: func(t *testing.T, casting installation.Casting) {
|
||||
// All moldings should be enabled by default
|
||||
assert.True(t, *casting.Spec.Signoz.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.O11y.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.TelemetryStore.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.TelemetryKeeper.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.MetaStore.Spec.Enabled)
|
||||
@@ -56,14 +56,14 @@ spec:
|
||||
assert: func(t *testing.T, casting installation.Casting) {
|
||||
assert.False(t, *casting.Spec.MetaStore.Spec.Enabled)
|
||||
// Other moldings should remain enabled
|
||||
assert.True(t, *casting.Spec.Signoz.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.O11y.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.TelemetryStore.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.TelemetryKeeper.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.Ingester.Spec.Enabled)
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "DisableSignoz",
|
||||
name: "DisableO11y",
|
||||
input: `
|
||||
apiVersion: v1alpha1
|
||||
metadata:
|
||||
@@ -72,12 +72,12 @@ spec:
|
||||
deployment:
|
||||
mode: docker
|
||||
flavor: compose
|
||||
signoz:
|
||||
o11y:
|
||||
spec:
|
||||
enabled: false
|
||||
`,
|
||||
assert: func(t *testing.T, casting installation.Casting) {
|
||||
assert.False(t, *casting.Spec.Signoz.Spec.Enabled)
|
||||
assert.False(t, *casting.Spec.O11y.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.TelemetryStore.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.TelemetryKeeper.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.MetaStore.Spec.Enabled)
|
||||
@@ -100,7 +100,7 @@ spec:
|
||||
`,
|
||||
assert: func(t *testing.T, casting installation.Casting) {
|
||||
assert.False(t, *casting.Spec.Ingester.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.Signoz.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.O11y.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.TelemetryStore.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.TelemetryKeeper.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.MetaStore.Spec.Enabled)
|
||||
@@ -122,7 +122,7 @@ spec:
|
||||
`,
|
||||
assert: func(t *testing.T, casting installation.Casting) {
|
||||
assert.False(t, *casting.Spec.TelemetryStore.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.Signoz.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.O11y.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.TelemetryKeeper.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.MetaStore.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.Ingester.Spec.Enabled)
|
||||
@@ -144,7 +144,7 @@ spec:
|
||||
`,
|
||||
assert: func(t *testing.T, casting installation.Casting) {
|
||||
assert.False(t, *casting.Spec.TelemetryKeeper.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.Signoz.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.O11y.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.TelemetryStore.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.MetaStore.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.Ingester.Spec.Enabled)
|
||||
@@ -170,7 +170,7 @@ spec:
|
||||
assert: func(t *testing.T, casting installation.Casting) {
|
||||
assert.False(t, *casting.Spec.MetaStore.Spec.Enabled)
|
||||
assert.False(t, *casting.Spec.TelemetryKeeper.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.Signoz.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.O11y.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.TelemetryStore.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.Ingester.Spec.Enabled)
|
||||
},
|
||||
@@ -285,7 +285,7 @@ func TestGetV1Alpha1Merge(t *testing.T) {
|
||||
base: *installation.Default(),
|
||||
override: installation.Casting{},
|
||||
assert: func(t *testing.T, casting installation.Casting) {
|
||||
assert.True(t, *casting.Spec.Signoz.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.O11y.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.TelemetryStore.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.MetaStore.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.Ingester.Spec.Enabled)
|
||||
@@ -306,7 +306,7 @@ func TestGetV1Alpha1Merge(t *testing.T) {
|
||||
assert: func(t *testing.T, casting installation.Casting) {
|
||||
assert.False(t, *casting.Spec.MetaStore.Spec.Enabled)
|
||||
// Other moldings should remain enabled
|
||||
assert.True(t, *casting.Spec.Signoz.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.O11y.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.TelemetryStore.Spec.Enabled)
|
||||
assert.True(t, *casting.Spec.Ingester.Spec.Enabled)
|
||||
},
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
)
|
||||
|
||||
type Address struct {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package domain
|
||||
|
||||
import "github.com/signoz/foundry/internal/errors"
|
||||
import "github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
|
||||
const (
|
||||
eventOutcomeSucceeded = "succeeded"
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"fmt"
|
||||
"slices"
|
||||
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"gopkg.in/ini.v1"
|
||||
)
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package domain
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
)
|
||||
|
||||
var _ StructuredMaterial = JSONMaterial{}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package domain
|
||||
|
||||
import (
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/tidwall/gjson"
|
||||
)
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package domain
|
||||
import (
|
||||
"maps"
|
||||
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"text/template"
|
||||
|
||||
"github.com/Masterminds/sprig/v3"
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"sigs.k8s.io/yaml"
|
||||
)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package domain
|
||||
|
||||
import (
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
kyaml "sigs.k8s.io/yaml"
|
||||
)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"sigs.k8s.io/kustomize/kyaml/kio"
|
||||
"sigs.k8s.io/kustomize/kyaml/yaml"
|
||||
kyaml "sigs.k8s.io/yaml"
|
||||
|
||||
@@ -12,9 +12,9 @@ package errors
|
||||
var (
|
||||
TypeInvalidInput = typ{"invalid-input", 2, ""}
|
||||
TypeNotFound = typ{"not-found", 3, ""}
|
||||
TypeUnsupported = typ{"unsupported", 4, "Please check the documentation for supported features or raise an issue at https://github.com/signoz/foundry/issues for feature requests."}
|
||||
TypeUnsupported = typ{"unsupported", 4, "Please check the documentation for supported features or raise an issue at https://github.com/hanzoai/o11y-foundry/issues for feature requests."}
|
||||
TypeInternal = typ{"internal", 5, ""}
|
||||
TypeFatal = typ{"fatal", 6, "Please raise an issue at https://github.com/signoz/foundry/issues with the error message and stacktrace."}
|
||||
TypeFatal = typ{"fatal", 6, "Please raise an issue at https://github.com/hanzoai/o11y-foundry/issues with the error message and stacktrace."}
|
||||
)
|
||||
|
||||
// Defines custom error types, the process exit code they map to, and the
|
||||
|
||||
@@ -6,8 +6,9 @@ import (
|
||||
"path/filepath"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
foundryerrors "github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/writer"
|
||||
)
|
||||
|
||||
|
||||
+10
-16
@@ -5,14 +5,17 @@ import (
|
||||
"log/slog"
|
||||
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/collectionagent"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
collectionagentcasting "github.com/hanzoai/o11y-foundry/internal/casting/collectionagent"
|
||||
installationcasting "github.com/hanzoai/o11y-foundry/internal/casting/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/config"
|
||||
"github.com/hanzoai/o11y-foundry/internal/config/yamlconfig"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding/ingestermolding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding/metastoremolding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding/o11ymolding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding/telemetrykeepermolding"
|
||||
"github.com/hanzoai/o11y-foundry/internal/molding/telemetrystoremolding"
|
||||
foundryerrors "github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/infrastructure"
|
||||
terraformgenerator "github.com/hanzoai/o11y-foundry/internal/infrastructure/terraform"
|
||||
"github.com/hanzoai/o11y-foundry/internal/patch"
|
||||
"github.com/hanzoai/o11y-foundry/internal/planner"
|
||||
)
|
||||
|
||||
type plannerCtor func(ctx context.Context, m v1alpha1.Machinery, logger *slog.Logger) (planner.Planner, error)
|
||||
@@ -36,16 +39,7 @@ type Foundry struct {
|
||||
|
||||
func New(logger *slog.Logger) (*Foundry, error) {
|
||||
return &Foundry{
|
||||
Config: yamlConfig,
|
||||
Logger: logger,
|
||||
Registry: registry,
|
||||
Moldings: map[v1alpha1.MoldingKind]molding.Molding{
|
||||
v1alpha1.MoldingKindTelemetryStore: telemetrystoremolding.New(logger),
|
||||
v1alpha1.MoldingKindTelemetryKeeper: telemetrykeepermolding.New(logger),
|
||||
v1alpha1.MoldingKindMetaStore: metastoremolding.New(logger),
|
||||
v1alpha1.MoldingKindO11y: o11ymolding.New(logger),
|
||||
v1alpha1.MoldingKindIngester: ingestermolding.New(logger),
|
||||
},
|
||||
Config: yamlconfig.New(),
|
||||
Logger: logger,
|
||||
Planners: map[v1alpha1.Kind]plannerCtor{
|
||||
v1alpha1.KindInstallation: func(ctx context.Context, m v1alpha1.Machinery, logger *slog.Logger) (planner.Planner, error) {
|
||||
|
||||
@@ -3,8 +3,8 @@ package infrastructure
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
// Generator is the interface for infrastructure-as-code generators.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package infrastructure
|
||||
|
||||
import (
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
)
|
||||
|
||||
// ResolveProvider normalizes a deployment platform to the cloud platform that
|
||||
|
||||
@@ -3,7 +3,7 @@ package terraform
|
||||
import (
|
||||
"embed"
|
||||
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
//go:embed templates/*.gotmpl templates/aws/ec2/*.gotmpl templates/aws/eks/*.gotmpl templates/gcp/gce/*.gotmpl templates/gcp/gke/*.gotmpl templates/azure/vm/*.gotmpl templates/azure/aks/*.gotmpl
|
||||
|
||||
@@ -6,11 +6,11 @@ import (
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/signoz/foundry/api/v1alpha1"
|
||||
"github.com/signoz/foundry/api/v1alpha1/installation"
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/signoz/foundry/internal/errors"
|
||||
"github.com/signoz/foundry/internal/infrastructure"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1"
|
||||
"github.com/hanzoai/o11y-foundry/api/v1alpha1/installation"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/errors"
|
||||
"github.com/hanzoai/o11y-foundry/internal/infrastructure"
|
||||
)
|
||||
|
||||
var _ infrastructure.Generator = (*Generator)(nil)
|
||||
|
||||
@@ -433,7 +433,7 @@
|
||||
}
|
||||
},
|
||||
"signoz": {
|
||||
"count": {{ if .Spec.Signoz.Spec.Enabled }}{{ derefInt .Spec.Signoz.Spec.Cluster.Replicas }}{{ else }}0{{ end }},
|
||||
"count": {{ if .Spec.O11y.Spec.Enabled }}{{ derefInt .Spec.O11y.Spec.Cluster.Replicas }}{{ else }}0{{ end }},
|
||||
"ami": "${data.aws_ami.ubuntu.id}",
|
||||
"instance_type": "${var.signoz_instance_type}",
|
||||
"subnet_id": "${aws_subnet.public[count.index % var.az_count].id}",
|
||||
|
||||
@@ -296,16 +296,16 @@
|
||||
]
|
||||
},
|
||||
"signoz": {
|
||||
"count": {{ if .Spec.Signoz.Spec.Enabled }}1{{ else }}0{{ end }},
|
||||
"count": {{ if .Spec.O11y.Spec.Enabled }}1{{ else }}0{{ end }},
|
||||
"cluster_name": "${aws_eks_cluster.main.name}",
|
||||
"node_group_name": "${local.name}-signoz",
|
||||
"node_role_arn": "${aws_iam_role.eks_node_group.arn}",
|
||||
"subnet_ids": "${aws_subnet.public[*].id}",
|
||||
"instance_types": ["${var.signoz_instance_type}"],
|
||||
"scaling_config": [{
|
||||
"desired_size": {{ derefInt .Spec.Signoz.Spec.Cluster.Replicas }},
|
||||
"desired_size": {{ derefInt .Spec.O11y.Spec.Cluster.Replicas }},
|
||||
"min_size": 1,
|
||||
"max_size": {{ derefInt .Spec.Signoz.Spec.Cluster.Replicas }}
|
||||
"max_size": {{ derefInt .Spec.O11y.Spec.Cluster.Replicas }}
|
||||
}],
|
||||
"disk_size": "${var.signoz_volume_size}",
|
||||
"labels": {
|
||||
|
||||
@@ -129,11 +129,11 @@
|
||||
}
|
||||
},
|
||||
"signoz": {
|
||||
"count": {{ if .Spec.Signoz.Spec.Enabled }}1{{ else }}0{{ end }},
|
||||
"count": {{ if .Spec.O11y.Spec.Enabled }}1{{ else }}0{{ end }},
|
||||
"name": "signoz",
|
||||
"kubernetes_cluster_id": "${azurerm_kubernetes_cluster.main.id}",
|
||||
"vm_size": "${var.signoz_vm_size}",
|
||||
"node_count": {{ derefInt .Spec.Signoz.Spec.Cluster.Replicas }},
|
||||
"node_count": {{ derefInt .Spec.O11y.Spec.Cluster.Replicas }},
|
||||
"vnet_subnet_id": "${azurerm_subnet.aks.id}",
|
||||
"os_disk_size_gb": "${var.signoz_disk_size}",
|
||||
"node_labels": {
|
||||
|
||||
@@ -317,7 +317,7 @@
|
||||
}
|
||||
},
|
||||
"signoz": {
|
||||
"count": {{ if .Spec.Signoz.Spec.Enabled }}{{ derefInt .Spec.Signoz.Spec.Cluster.Replicas }}{{ else }}0{{ end }},
|
||||
"count": {{ if .Spec.O11y.Spec.Enabled }}{{ derefInt .Spec.O11y.Spec.Cluster.Replicas }}{{ else }}0{{ end }},
|
||||
"name": "${local.name}-signoz-nic-${count.index}",
|
||||
"location": "${azurerm_resource_group.main.location}",
|
||||
"resource_group_name": "${azurerm_resource_group.main.name}",
|
||||
@@ -355,7 +355,7 @@
|
||||
"network_security_group_id": "${azurerm_network_security_group.ingester.id}"
|
||||
},
|
||||
"signoz": {
|
||||
"count": {{ if .Spec.Signoz.Spec.Enabled }}{{ derefInt .Spec.Signoz.Spec.Cluster.Replicas }}{{ else }}0{{ end }},
|
||||
"count": {{ if .Spec.O11y.Spec.Enabled }}{{ derefInt .Spec.O11y.Spec.Cluster.Replicas }}{{ else }}0{{ end }},
|
||||
"network_interface_id": "${azurerm_network_interface.signoz[count.index].id}",
|
||||
"network_security_group_id": "${azurerm_network_security_group.signoz.id}"
|
||||
}
|
||||
@@ -374,7 +374,7 @@
|
||||
}
|
||||
},
|
||||
"signoz": {
|
||||
"count": {{ if .Spec.Signoz.Spec.Enabled }}{{ derefInt .Spec.Signoz.Spec.Cluster.Replicas }}{{ else }}0{{ end }},
|
||||
"count": {{ if .Spec.O11y.Spec.Enabled }}{{ derefInt .Spec.O11y.Spec.Cluster.Replicas }}{{ else }}0{{ end }},
|
||||
"name": "${local.name}-signoz-pip-${count.index}",
|
||||
"location": "${azurerm_resource_group.main.location}",
|
||||
"resource_group_name": "${azurerm_resource_group.main.name}",
|
||||
@@ -504,7 +504,7 @@
|
||||
}
|
||||
},
|
||||
"signoz": {
|
||||
"count": {{ if .Spec.Signoz.Spec.Enabled }}{{ derefInt .Spec.Signoz.Spec.Cluster.Replicas }}{{ else }}0{{ end }},
|
||||
"count": {{ if .Spec.O11y.Spec.Enabled }}{{ derefInt .Spec.O11y.Spec.Cluster.Replicas }}{{ else }}0{{ end }},
|
||||
"name": "${local.name}-signoz-${count.index}",
|
||||
"location": "${azurerm_resource_group.main.location}",
|
||||
"resource_group_name": "${azurerm_resource_group.main.name}",
|
||||
|
||||
@@ -230,7 +230,7 @@
|
||||
}
|
||||
},
|
||||
"signoz": {
|
||||
"count": {{ if .Spec.Signoz.Spec.Enabled }}{{ derefInt .Spec.Signoz.Spec.Cluster.Replicas }}{{ else }}0{{ end }},
|
||||
"count": {{ if .Spec.O11y.Spec.Enabled }}{{ derefInt .Spec.O11y.Spec.Cluster.Replicas }}{{ else }}0{{ end }},
|
||||
"name": "${local.name}-signoz-${count.index}",
|
||||
"machine_type": "${var.signoz_machine_type}",
|
||||
"zone": "${var.region}-${element([\"a\", \"b\", \"c\"], count.index)}",
|
||||
|
||||
@@ -196,12 +196,12 @@
|
||||
}]
|
||||
},
|
||||
"signoz": {
|
||||
"count": {{ if .Spec.Signoz.Spec.Enabled }}1{{ else }}0{{ end }},
|
||||
"count": {{ if .Spec.O11y.Spec.Enabled }}1{{ else }}0{{ end }},
|
||||
"name": "${local.name}-signoz",
|
||||
"cluster": "${google_container_cluster.main.name}",
|
||||
"location": "${var.region}",
|
||||
"project": "${var.project_id}",
|
||||
"node_count": {{ derefInt .Spec.Signoz.Spec.Cluster.Replicas }},
|
||||
"node_count": {{ derefInt .Spec.O11y.Spec.Cluster.Replicas }},
|
||||
"node_config": [{
|
||||
"machine_type": "${var.signoz_machine_type}",
|
||||
"disk_size_gb": "${var.signoz_disk_size}",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package ledger
|
||||
|
||||
// key is the Segment write key, set via ldflags at build time.
|
||||
// Example: -ldflags "-X github.com/signoz/foundry/internal/ledger.key=<key>".
|
||||
// Example: -ldflags "-X github.com/hanzoai/o11y-foundry/internal/ledger.key=<key>".
|
||||
var key string = "<unset>"
|
||||
|
||||
// Config holds ledger configuration.
|
||||
|
||||
@@ -4,7 +4,7 @@ package ledger
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/signoz/foundry/internal/domain"
|
||||
"github.com/hanzoai/o11y-foundry/internal/domain"
|
||||
)
|
||||
|
||||
// Ledger is the interface for tracking CLI usage events.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user