mirror of
https://github.com/hanzoai/o11y-foundry.git
synced 2026-10-30 18:26:45 +00:00
697 lines
18 KiB
JSON
697 lines
18 KiB
JSON
{
|
|
"required": [
|
|
"apiVersion",
|
|
"kind",
|
|
"metadata",
|
|
"spec"
|
|
],
|
|
"additionalProperties": false,
|
|
"definitions": {
|
|
"InstallationInfrastructure": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"status": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"InstallationIngester": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"spec": {
|
|
"$ref": "#/definitions/V1Alpha1MoldingSpec"
|
|
},
|
|
"status": {
|
|
"$ref": "#/definitions/InstallationIngesterStatus"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"InstallationIngesterStatus": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"addresses": {
|
|
"$ref": "#/definitions/InstallationIngesterStatusAddresses"
|
|
},
|
|
"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"
|
|
},
|
|
"InstallationIngesterStatusAddresses": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"otlp": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"InstallationMetaStore": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"kind": {
|
|
"$ref": "#/definitions/InstallationMetaStoreKind",
|
|
"description": "Kind of the meta store to use",
|
|
"examples": [
|
|
"postgres",
|
|
"sqlite"
|
|
]
|
|
},
|
|
"spec": {
|
|
"$ref": "#/definitions/V1Alpha1MoldingSpec",
|
|
"description": "Specification for the meta store"
|
|
},
|
|
"status": {
|
|
"$ref": "#/definitions/InstallationMetaStoreStatus",
|
|
"description": "Status of the meta store"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"InstallationMetaStoreKind": {
|
|
"enum": [
|
|
"postgres",
|
|
"sqlite"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"InstallationMetaStoreStatus": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"addresses": {
|
|
"$ref": "#/definitions/InstallationMetaStoreStatusAddresses",
|
|
"description": "Addresses of the meta store"
|
|
},
|
|
"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"
|
|
},
|
|
"InstallationMetaStoreStatusAddresses": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"dsn": {
|
|
"description": "DSN addresses",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"InstallationSpec": {
|
|
"required": [
|
|
"deployment"
|
|
],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"deployment": {
|
|
"$ref": "#/definitions/V1Alpha1TypeDeployment",
|
|
"description": "Deployment configuration for the platform"
|
|
},
|
|
"infrastructure": {
|
|
"$ref": "#/definitions/InstallationInfrastructure",
|
|
"description": "Infrastructure configuration for generating infrastructure manifests (e.g., Terraform)."
|
|
},
|
|
"ingester": {
|
|
"$ref": "#/definitions/InstallationIngester",
|
|
"description": "The configuration for the ingester molding"
|
|
},
|
|
"metastore": {
|
|
"$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": {
|
|
"$ref": "#/definitions/V1Alpha1PatchEntry"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"telemetrykeeper": {
|
|
"$ref": "#/definitions/InstallationTelemetryKeeper",
|
|
"description": "The configuration for the telemetry keeper molding"
|
|
},
|
|
"telemetrystore": {
|
|
"$ref": "#/definitions/InstallationTelemetryStore",
|
|
"description": "The configuration for the telemetry store molding"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"InstallationTelemetryKeeper": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"kind": {
|
|
"$ref": "#/definitions/InstallationTelemetryKeeperKind",
|
|
"description": "Kind of the telemetry keeper to use",
|
|
"examples": [
|
|
"clickhousekeeper"
|
|
]
|
|
},
|
|
"spec": {
|
|
"$ref": "#/definitions/V1Alpha1MoldingSpec",
|
|
"description": "Specification for the telemetry keeper"
|
|
},
|
|
"status": {
|
|
"$ref": "#/definitions/InstallationTelemetryKeeperStatus",
|
|
"description": "Status of the telemetry keeper"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"InstallationTelemetryKeeperKind": {
|
|
"enum": [
|
|
"clickhousekeeper"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"InstallationTelemetryKeeperStatus": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"addresses": {
|
|
"$ref": "#/definitions/InstallationTelemetryKeeperStatusAddresses",
|
|
"description": "Addresses of the telemetry keeper"
|
|
},
|
|
"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"
|
|
},
|
|
"InstallationTelemetryKeeperStatusAddresses": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"client": {
|
|
"description": "Client addresses",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
]
|
|
},
|
|
"raft": {
|
|
"description": "Raft addresses",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"InstallationTelemetryStore": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"kind": {
|
|
"$ref": "#/definitions/InstallationTelemetryStoreKind",
|
|
"description": "Kind of the telemetry store to use",
|
|
"examples": [
|
|
"clickhouse"
|
|
]
|
|
},
|
|
"spec": {
|
|
"$ref": "#/definitions/V1Alpha1MoldingSpec",
|
|
"description": "Specification for the telemetry store"
|
|
},
|
|
"status": {
|
|
"$ref": "#/definitions/InstallationTelemetryStoreStatus",
|
|
"description": "Status of the telemetry store"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"InstallationTelemetryStoreKind": {
|
|
"enum": [
|
|
"clickhouse"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"InstallationTelemetryStoreStatus": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"addresses": {
|
|
"$ref": "#/definitions/InstallationTelemetryStoreStatusAddresses",
|
|
"description": "Addresses of the telemetry store"
|
|
},
|
|
"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"
|
|
},
|
|
"InstallationTelemetryStoreStatusAddresses": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"tcp": {
|
|
"description": "TCP addresses",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"V1Alpha1Flavor": {
|
|
"enum": [
|
|
"compose",
|
|
"swarm",
|
|
"binary",
|
|
"kustomize",
|
|
"helm",
|
|
"blueprint",
|
|
"stack",
|
|
"template",
|
|
"terraform"
|
|
],
|
|
"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"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"V1Alpha1Mode": {
|
|
"enum": [
|
|
"docker",
|
|
"systemd",
|
|
"kubernetes",
|
|
"ec2"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"V1Alpha1MoldingSpec": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"cluster": {
|
|
"$ref": "#/definitions/V1Alpha1TypeCluster",
|
|
"description": "Cluster configuration for the molding"
|
|
},
|
|
"config": {
|
|
"$ref": "#/definitions/V1Alpha1TypeConfig",
|
|
"description": "Configuration for the molding"
|
|
},
|
|
"enabled": {
|
|
"description": "Whether the molding is enabled",
|
|
"default": true,
|
|
"type": [
|
|
"null",
|
|
"boolean"
|
|
]
|
|
},
|
|
"env": {
|
|
"description": "Environment variables for the molding",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"image": {
|
|
"description": "Container image of the molding",
|
|
"examples": [
|
|
"ghcr.io/hanzoai/o11y:latest"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"description": "The version of the molding to use",
|
|
"examples": [
|
|
"latest"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"V1Alpha1PatchEntry": {
|
|
"required": [
|
|
"target",
|
|
"operations"
|
|
],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"operations": {
|
|
"description": "JSON Patch (RFC 6902) operations to apply. Used by the jsonpatch driver.",
|
|
"items": {
|
|
"$ref": "#/definitions/V1Alpha1PatchOperation"
|
|
},
|
|
"minItems": 1,
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
]
|
|
},
|
|
"target": {
|
|
"description": "Target output file to patch",
|
|
"examples": [
|
|
"compose.yaml",
|
|
"signoz/deployment.yaml",
|
|
"values.yaml",
|
|
"telemetrystore/telemtrystore-clickhouse-0-*.yaml"
|
|
],
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"description": "Patch driver type. Defaults to jsonpatch.",
|
|
"default": "jsonpatch",
|
|
"examples": [
|
|
"jsonpatch"
|
|
],
|
|
"enum": [
|
|
"",
|
|
"jsonpatch"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"V1Alpha1PatchOperation": {
|
|
"required": [
|
|
"op",
|
|
"path"
|
|
],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"from": {
|
|
"description": "Source JSON Pointer for move and copy operations",
|
|
"examples": [
|
|
"/services/clickhouse/old_field"
|
|
],
|
|
"pattern": "^/",
|
|
"type": "string"
|
|
},
|
|
"op": {
|
|
"description": "JSON Patch (RFC 6902) operation type",
|
|
"enum": [
|
|
"add",
|
|
"remove",
|
|
"replace",
|
|
"move",
|
|
"copy",
|
|
"test"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"description": "JSON Pointer (RFC 6901) to the target location",
|
|
"examples": [
|
|
"/services/clickhouse/mem_limit"
|
|
],
|
|
"pattern": "^/",
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"description": "Value for add, replace, or test operations"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"V1Alpha1Platform": {
|
|
"enum": [
|
|
"render",
|
|
"coolify",
|
|
"railway",
|
|
"ecs",
|
|
"aws",
|
|
"gcp",
|
|
"azure"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"V1Alpha1Status": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"checksum": {
|
|
"description": "Checksum of the casting file",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"V1Alpha1TypeCluster": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"replicas": {
|
|
"description": "Number of replicas for the molding.",
|
|
"examples": [
|
|
1
|
|
],
|
|
"minimum": 0,
|
|
"type": [
|
|
"null",
|
|
"integer"
|
|
]
|
|
},
|
|
"shards": {
|
|
"description": "Number of shards for the molding",
|
|
"examples": [
|
|
1
|
|
],
|
|
"minimum": 1,
|
|
"type": [
|
|
"null",
|
|
"integer"
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"V1Alpha1TypeConfig": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"data": {
|
|
"description": "Configuration data as key-value pairs.",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"V1Alpha1TypeDeployment": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"flavor": {
|
|
"$ref": "#/definitions/V1Alpha1Flavor",
|
|
"description": "Flavor of mode for the deployment"
|
|
},
|
|
"mode": {
|
|
"$ref": "#/definitions/V1Alpha1Mode",
|
|
"description": "Type of installation method"
|
|
},
|
|
"platform": {
|
|
"$ref": "#/definitions/V1Alpha1Platform",
|
|
"description": "Provider where an installation runs on"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"V1Alpha1TypeMetadata": {
|
|
"properties": {
|
|
"annotations": {
|
|
"description": "Unstructured key-value map for arbitrary metadata",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"name": {
|
|
"description": "The name of this installation",
|
|
"examples": [
|
|
"o11y-dev"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
"properties": {
|
|
"apiVersion": {
|
|
"description": "API Version of the configuration schema.",
|
|
"default": "v1alpha1",
|
|
"examples": [
|
|
"v1alpha1"
|
|
],
|
|
"enum": [
|
|
"v1alpha1"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"$ref": "#/definitions/V1Alpha1Kind",
|
|
"description": "Kind of the casting resource."
|
|
},
|
|
"metadata": {
|
|
"$ref": "#/definitions/V1Alpha1TypeMetadata",
|
|
"description": "Metadata of the casting configuration"
|
|
},
|
|
"spec": {
|
|
"$ref": "#/definitions/InstallationSpec",
|
|
"description": "Installation specification"
|
|
},
|
|
"status": {
|
|
"$ref": "#/definitions/V1Alpha1Status",
|
|
"description": "Status of the casting"
|
|
}
|
|
},
|
|
"type": "object"
|
|
} |