files

package
v1.203.0 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Auth tokens
	SecretTokenPrivateKey = "tokenPrivateKey"
	SecretTokenPublicKey  = "tokenPublicKey"

	// Codesphere core
	SecretDomainAuthPrivateKey = "domainAuthPrivateKey"
	SecretDomainAuthPublicKey  = "domainAuthPublicKey"

	// OIDC
	SecretOidcClientId     = "oidcClientId"
	SecretOidcClientSecret = "oidcClientSecret"

	// GitHub
	SecretGithubAppsClientId     = "githubAppsClientId"
	SecretGithubAppsClientSecret = "githubAppsClientSecret"

	// GitLab
	SecretGitlabAppClientId     = "gitlabAppClientId"
	SecretGitlabAppClientSecret = "gitlabAppClientSecret"

	// Bitbucket
	SecretBitbucketAppsClientId     = "bitbucketAppsClientId"
	SecretBitbucketAppsClientSecret = "bitbucketAppsClientSecret"

	// Azure DevOps
	SecretAzureDevOpsAppClientId     = "azureDevOpsAppClientId"
	SecretAzureDevOpsAppClientSecret = "azureDevOpsAppClientSecret"

	// Registry
	SecretRegistryUsername = "registryUsername"
	SecretRegistryPassword = "registryPassword"

	// ACME
	SecretAcmeEabMacKey = "acmeEabMacKey"

	// OpenBao
	SecretOpenBaoPassword = "openBaoPassword"

	// Monitoring
	SecretLokiGatewayBasicAuthPassword = "lokiGatewayBasicAuthPassword"
	SecretCentralOtelCreds             = "centralOtelCreds"

	// Postgres
	SecretPostgresCaKeyPem            = "postgresCaKeyPem"
	SecretPostgresPassword            = "postgresPassword"
	SecretPostgresPrimaryServerKeyPem = "postgresPrimaryServerKeyPem"
	SecretPostgresReplicaPassword     = "postgresReplicaPassword"
	SecretPostgresReplicaServerKeyPem = "postgresReplicaServerKeyPem"

	// Ceph
	SecretCephSshPrivateKey = "cephSshPrivateKey"

	// Cluster / TLS
	SecretSelfSignedCaKeyPem = "selfSignedCaKeyPem"

	// Mounter
	SecretMounterHmacSecret = "mounterHmacSecret"

	// Nix
	SecretPrivNixSigningKey = "privNixSigningKey"
	SecretPubNixSigningKey  = "pubNixSigningKey"

	// Generated-only (not consumed by merge)
	SecretManagedServiceSecrets = "managedServiceSecrets"
	SecretKubeConfig            = "kubeConfig"

	// Default/optional
	SecretDigitalOceanApiToken          = "digitalOceanApiToken"
	SecretMongoDbPasswordEncryptionKey  = "mongoDbPasswordEncryptionKey"
	SecretGoogleCloudAvatarPrivateKey   = "googleCloudAvatarPrivateKey"
	SecretGoogleCloudVmImagesPrivateKey = "googleCloudVmImagesPrivateKey"
	SecretGoogleClientId                = "googleClientId"
	SecretGoogleClientSecret            = "googleClientSecret"
	SecretGoogleCloudAvatarBucket       = "googleCloudAvatarBucket"
	SecretGoogleCloudAvatarClientEmail  = "googleCloudAvatarClientEmail"
	SecretGoogleCloudAvatarProjectId    = "googleCloudAvatarProjectId"
	SecretGitHubClientId                = "gitHubClientId"
	SecretGitHubClientSecret            = "gitHubClientSecret"
	SecretGitlabClientId                = "gitlabClientId"
	SecretGitlabClientSecret            = "gitlabClientSecret"
	SecretBitbucketClientId             = "bitbucketClientId"
	SecretBitbucketClientSecret         = "bitbucketClientSecret"
	SecretRecaptchaKey                  = "recaptchaKey"
	SecretRecaptchaSecret               = "recaptchaSecret"
	SecretRecaptchaKeyV3                = "recaptchaKeyV3"
	SecretRecaptchaSecretV3             = "recaptchaSecretV3"
	SecretRecaptchaClientEmailV3        = "recaptchaClientEmailV3"
	SecretRecaptchaProjectIdV3          = "recaptchaProjectIdV3"
	SecretStripeWebhookEndpointSecret   = "stripeWebhookEndpointSecret"
	SecretStripePublishableKey          = "stripePublishableKey"
	SecretStripeSecretKey               = "stripeSecretKey"
	SecretSendGridApiKey                = "sendGridApiKey"
)

Secret name constants — each constant value equals the vault secret name it represents.

Variables

This section is empty.

Functions

func Capitalize added in v0.21.0

func Capitalize(s string) string

Types

type ACMEConfig added in v0.36.0

type ACMEConfig struct {
	Enabled              bool       `yaml:"enabled"`
	Name                 string     `yaml:"name,omitempty"`
	Email                string     `yaml:"email,omitempty"`
	Server               string     `yaml:"server,omitempty"`
	PrivateKeySecretName string     `yaml:"-"`
	Solver               ACMESolver `yaml:"-"`

	EABKeyID string `yaml:"eabKeyId,omitempty"`
}

type ACMEDNS01Solver added in v0.36.0

type ACMEDNS01Solver struct {
	Provider string                 `yaml:"provider"`
	Config   map[string]interface{} `yaml:"config,omitempty"`

	Secrets map[string]string `yaml:"-"`
}

type ACMESolver added in v0.36.0

type ACMESolver struct {
	DNS01 *ACMEDNS01Solver `yaml:"dns01,omitempty"`
}

type APIConfig added in v0.17.0

type APIConfig struct {
	BaseURL string `yaml:"baseUrl"`
}

type BarmanCloudPluginConfig added in v1.79.0

type BarmanCloudPluginConfig struct {
	Enabled  bool          `yaml:"enabled"`
	Override ChartOverride `yaml:"override,omitempty"`
}

type BlackboxExporterConfig added in v1.17.0

type BlackboxExporterConfig struct {
	Override ChartOverride `yaml:"override,omitempty"`
}

type CAConfig added in v0.17.0

type CAConfig struct {
	Algorithm   string `yaml:"algorithm"`
	KeySizeBits int    `yaml:"keySizeBits"`
	CertPem     string `yaml:"certPem"`
}

type CentralOtelConfig added in v1.153.0

type CentralOtelConfig struct {
	Enabled  bool          `yaml:"enabled"`
	Username string        `yaml:"username,omitempty"`
	Password string        `yaml:"-"`
	Override ChartOverride `yaml:"override,omitempty"`
}

type CephConfig added in v0.17.0

type CephConfig struct {
	CsiKubeletDir string     `yaml:"csiKubeletDir,omitempty"`
	CephAdmSSHKey CephSSHKey `yaml:"cephAdmSshKey"`
	NodesSubnet   string     `yaml:"nodesSubnet"`
	Hosts         []CephHost `yaml:"hosts"`
	OSDs          []CephOSD  `yaml:"osds"`
}

type CephDBDevices added in v0.17.0

type CephDBDevices struct {
	Size  string `yaml:"size"`
	Limit int    `yaml:"limit"`
}

type CephDataDevices added in v0.17.0

type CephDataDevices struct {
	Size  string `yaml:"size"`
	Limit int    `yaml:"limit"`
}

type CephHost added in v0.17.0

type CephHost struct {
	Hostname  string `yaml:"hostname"`
	IPAddress string `yaml:"ipAddress"`
	IsMaster  bool   `yaml:"isMaster"`
}

type CephHostConfig added in v0.17.0

type CephHostConfig struct {
	Hostname  string
	IPAddress string
	IsMaster  bool
}

type CephOSD added in v0.17.0

type CephOSD struct {
	SpecID      string          `yaml:"specId"`
	Placement   CephPlacement   `yaml:"placement"`
	DataDevices CephDataDevices `yaml:"dataDevices"`
	DBDevices   CephDBDevices   `yaml:"dbDevices"`
}

type CephPlacement added in v0.17.0

type CephPlacement struct {
	HostPattern string `yaml:"host_pattern"`
}

type CephSSHKey added in v0.17.0

type CephSSHKey struct {
	PublicKey string `yaml:"publicKey"`
}

type CertIssuerConfig added in v0.41.0

type CertIssuerConfig struct {
	Type CertIssuerType `yaml:"type,omitempty"`
	Acme *ACMEConfig    `yaml:"acme,omitempty"`
}

type CertIssuerType added in v0.41.0

type CertIssuerType string
const (
	CertIssuerTypeSelfSigned CertIssuerType = "self-signed"
	CertIssuerTypeACME       CertIssuerType = "acme"
)

type CertManagerConfig added in v1.17.0

type CertManagerConfig struct {
	Override ChartOverride `yaml:"override,omitempty"`
}

type ChartOverride added in v1.17.0

type ChartOverride = map[string]interface{}

type ClusterCertificates added in v0.17.0

type ClusterCertificates struct {
	CA       CAConfig      `yaml:"ca"`
	Override ChartOverride `yaml:"override,omitempty"`
}

type ClusterConfig added in v0.17.0

type ClusterConfig struct {
	Certificates        ClusterCertificates        `yaml:"certificates"`
	CertManager         *CertManagerConfig         `yaml:"certManager,omitempty"`
	TrustManager        *TrustManagerConfig        `yaml:"trustManager,omitempty"`
	Monitoring          *MonitoringConfig          `yaml:"monitoring,omitempty"`
	Gateway             GatewayConfig              `yaml:"gateway"`
	PublicGateway       GatewayConfig              `yaml:"publicGateway"`
	RookExternalCluster *RookExternalClusterConfig `yaml:"rookExternalCluster,omitempty"`
	PgOperator          *PgOperatorConfig          `yaml:"pgOperator,omitempty"`
	BarmanCloudPlugin   *BarmanCloudPluginConfig   `yaml:"BarmanCloudPluginConfig,omitempty"`
	RgwLoadBalancer     *RgwLoadBalancerConfig     `yaml:"rgwLoadBalancer,omitempty"`
	Kyverno             *KyvernoConfig             `yaml:"kyverno,omitempty"`
}

type CodesphereConfig

type CodesphereConfig struct {
	Domain                     string                 `yaml:"domain"`
	WorkspaceHostingBaseDomain string                 `yaml:"workspaceHostingBaseDomain"`
	PublicIP                   string                 `yaml:"publicIp"`
	CertIssuer                 CertIssuerConfig       `yaml:"certIssuer"`
	CustomDomains              CustomDomainsConfig    `yaml:"customDomains"`
	DNSServers                 []string               `yaml:"dnsServers"`
	Experiments                []string               `yaml:"experiments"`
	Features                   map[string]bool        `yaml:"features"`
	ExtraCAPem                 string                 `yaml:"extraCaPem,omitempty"`
	ExtraWorkspaceEnvVars      map[string]string      `yaml:"extraWorkspaceEnvVars,omitempty"`
	ExtraWorkspaceFiles        []ExtraWorkspaceFile   `yaml:"extraWorkspaceFiles,omitempty"`
	WorkspaceImages            *WorkspaceImagesConfig `yaml:"workspaceImages,omitempty"`
	DeployConfig               DeployConfig           `yaml:"deployConfig"`
	Plans                      PlansConfig            `yaml:"plans"`
	UnderprovisionFactors      *UnderprovisionFactors `yaml:"underprovisionFactors,omitempty"`
	GitProviders               *GitProvidersConfig    `yaml:"gitProviders,omitempty"`
	OAuth                      *OAuthProvidersConfig  `yaml:"oauth,omitempty"`
	ManagedServices            []ManagedServiceConfig `yaml:"managedServices,omitempty"`
	OpenBao                    *OpenBaoConfig         `yaml:"openBao,omitempty"`
	Migration                  *MigrationConfig       `yaml:"migration,omitempty"`
	TelemetryExport            *TelemetryExport       `yaml:"telemetryExport,omitempty"`
	Override                   ChartOverride          `yaml:"override,omitempty"`
}

type CustomDomainsConfig added in v0.17.0

type CustomDomainsConfig struct {
	CNameBaseDomain string `yaml:"cNameBaseDomain"`
}

type DatacenterConfig added in v0.17.0

type DatacenterConfig struct {
	ID          int    `yaml:"id"`
	Name        string `yaml:"name"`
	City        string `yaml:"city"`
	CountryCode string `yaml:"countryCode"`
}

type DeployConfig

type DeployConfig struct {
	Images map[string]ImageConfig `yaml:"images"`
}

type ExtraWorkspaceFile added in v0.17.0

type ExtraWorkspaceFile struct {
	Path    string `yaml:"path"`
	Content string `yaml:"content"`
}

type FlavorConfig

type FlavorConfig struct {
	// Image can be a referenced image or a plain string
	Image ImageRef    `yaml:"image"`
	Pool  map[int]int `yaml:"pool"`
}

type GatewayConfig added in v0.17.0

type GatewayConfig struct {
	ServiceType string            `yaml:"serviceType"`
	Annotations map[string]string `yaml:"annotations,omitempty"`
	IPAddresses []string          `yaml:"ipAddresses,omitempty"`
	Override    ChartOverride     `yaml:"override,omitempty"`
}

type GitProviderConfig added in v0.17.0

type GitProviderConfig struct {
	Enabled bool        `yaml:"enabled"`
	URL     string      `yaml:"url"`
	API     APIConfig   `yaml:"api"`
	OAuth   OAuthConfig `yaml:"oauth"`
}

type GitProvidersConfig added in v0.17.0

type GitProvidersConfig struct {
	GitHub      *GitProviderConfig `yaml:"github,omitempty"`
	GitLab      *GitProviderConfig `yaml:"gitlab,omitempty"`
	Bitbucket   *GitProviderConfig `yaml:"bitbucket,omitempty"`
	AzureDevOps *GitProviderConfig `yaml:"azureDevOps,omitempty"`
}

type GrafanaAlloyConfig added in v1.17.0

type GrafanaAlloyConfig struct {
	Enabled  bool                  `yaml:"enabled"`
	Loki     *LokiConnectionConfig `yaml:"loki,omitempty"`
	Override ChartOverride         `yaml:"override,omitempty"`
}

type GrafanaConfig added in v1.17.0

type GrafanaConfig struct {
	Enabled  bool          `yaml:"enabled"`
	Override ChartOverride `yaml:"override,omitempty"`
}

type HostingPlan added in v0.17.0

type HostingPlan struct {
	CPUTenth      int `yaml:"cpuTenth"`
	GPUParts      int `yaml:"gpuParts"`
	MemoryMb      int `yaml:"memoryMb"`
	StorageMb     int `yaml:"storageMb"`
	TempStorageMb int `yaml:"tempStorageMb"`
}

type ImageConfig

type ImageConfig struct {
	Name           string                  `yaml:"name"`
	SupportedUntil string                  `yaml:"supportedUntil"`
	Flavors        map[string]FlavorConfig `yaml:"flavors"`
}

type ImageRef

type ImageRef struct {
	BomRef     string `yaml:"bomRef,omitempty"`
	Dockerfile string `yaml:"dockerfile,omitempty"`
	// ImageName Contains the image name when it's just a plain string
	ImageName string `yaml:"-"`
}

func (*ImageRef) GetImageReference added in v0.27.6

func (i *ImageRef) GetImageReference() string

GetImageReference returns the actual image reference

func (ImageRef) MarshalYAML added in v0.27.6

func (i ImageRef) MarshalYAML() (interface{}, error)

MarshalYAML implements custom marshaling

func (*ImageRef) UnmarshalYAML added in v0.27.6

func (i *ImageRef) UnmarshalYAML(node *yaml.Node) error

UnmarshalYAML implements custom unmarshaling to support both string and object formats

type InstallVault added in v0.17.0

type InstallVault struct {
	Secrets []SecretEntry `yaml:"secrets"`
}

Vault

func (*InstallVault) GetSecret added in v1.197.0

func (v *InstallVault) GetSecret(name string) *SecretEntry

GetSecret returns the entry with the given name, or nil if not found.

func (*InstallVault) Marshal added in v0.17.0

func (v *InstallVault) Marshal() ([]byte, error)

func (*InstallVault) SetSecret added in v1.34.0

func (v *InstallVault) SetSecret(entry SecretEntry)

SetSecret adds or updates a secret entry in the vault.

func (*InstallVault) Unmarshal added in v0.17.0

func (v *InstallVault) Unmarshal(data []byte) error

type K8sNode added in v0.17.0

type K8sNode struct {
	IPAddress string `yaml:"ipAddress"`
}

type KubernetesConfig added in v0.17.0

type KubernetesConfig struct {
	ManagedByCodesphere bool      `yaml:"managedByCodesphere"`
	APIServerHost       string    `yaml:"apiServerHost,omitempty"`
	ControlPlanes       []K8sNode `yaml:"controlPlanes,omitempty"`
	Workers             []K8sNode `yaml:"workers,omitempty"`
	PodCIDR             string    `yaml:"podCidr,omitempty"`
	ServiceCIDR         string    `yaml:"serviceCidr,omitempty"`

	// Internal flag
	NeedsKubeConfig bool `yaml:"-"`
}

type KyvernoConfig added in v1.166.0

type KyvernoConfig struct {
	Enabled bool `yaml:"enabled"`
}

type LokiConfig added in v1.17.0

type LokiConfig struct {
	Enabled  bool          `yaml:"enabled"`
	Override ChartOverride `yaml:"override,omitempty"`
}

type LokiConnectionConfig added in v1.134.0

type LokiConnectionConfig struct {
	Endpoint string `yaml:"endpoint"`
	User     string `yaml:"user,omitempty"`

	Password string `yaml:"-"`
}

type ManagedServiceAPI added in v0.17.0

type ManagedServiceAPI struct {
	Endpoint string `yaml:"endpoint"`
}

type ManagedServiceBackendsConfig added in v0.17.0

type ManagedServiceBackendsConfig struct {
	Postgres *PgManagedServiceConfig `yaml:"postgres,omitempty"`
	S3       *S3ManagedServiceConfig `yaml:"s3,omitempty"`
}

type ManagedServiceConfig added in v0.17.0

type ManagedServiceConfig struct {
	Name          string                 `yaml:"name"`
	API           ManagedServiceAPI      `yaml:"api,omitempty"`
	Author        string                 `yaml:"author,omitempty"`
	Category      string                 `yaml:"category,omitempty"`
	ConfigSchema  map[string]interface{} `yaml:"configSchema,omitempty"`
	DetailsSchema map[string]interface{} `yaml:"detailsSchema,omitempty"`
	SecretsSchema map[string]interface{} `yaml:"secretsSchema,omitempty"`
	Description   string                 `yaml:"description,omitempty"`
	DisplayName   string                 `yaml:"displayName,omitempty"`
	IconURL       string                 `yaml:"iconUrl,omitempty"`
	Plans         []ServicePlan          `yaml:"plans,omitempty"`
	Version       string                 `yaml:"version"`
}

type ManifestEntry

type ManifestEntry struct {
	MediaType   string            `json:"mediaType"`
	Digest      string            `json:"digest"`
	Size        int64             `json:"size"`
	Annotations map[string]string `json:"annotations,omitempty"` // Use omitempty just in case, though usually present
}

ManifestEntry represents a single manifest entry within the index.

type MetalLBBGP added in v0.17.0

type MetalLBBGP struct {
	Name          string              `yaml:"name"`
	Pools         []string            `yaml:"pools"`
	Config        MetalLBBGPConfig    `yaml:"config"`
	NodeSelectors []map[string]string `yaml:"nodeSelectors,omitempty"`
}

type MetalLBBGPConfig added in v0.17.0

type MetalLBBGPConfig struct {
	MyASN       int    `yaml:"myASN"`
	PeerASN     int    `yaml:"peerASN"`
	PeerAddress string `yaml:"peerAddress"`
	BFDProfile  string `yaml:"bfdProfile,omitempty"`
}

type MetalLBConfig added in v0.17.0

type MetalLBConfig struct {
	Enabled bool             `yaml:"enabled"`
	Pools   []MetalLBPoolDef `yaml:"pools"`
	L2      []MetalLBL2      `yaml:"l2,omitempty"`
	BGP     []MetalLBBGP     `yaml:"bgp,omitempty"`
}

type MetalLBL2 added in v0.17.0

type MetalLBL2 struct {
	Name          string              `yaml:"name"`
	Pools         []string            `yaml:"pools"`
	NodeSelectors []map[string]string `yaml:"nodeSelectors,omitempty"`
}

type MetalLBPool added in v0.17.0

type MetalLBPool struct {
	Name        string
	IPAddresses []string
}

type MetalLBPoolDef added in v0.17.0

type MetalLBPoolDef struct {
	Name        string   `yaml:"name"`
	IPAddresses []string `yaml:"ipAddresses"`
}

type MigrationConfig added in v1.34.0

type MigrationConfig struct {
	Postgres *MigrationPostgresConfig `yaml:"postgres,omitempty"`
}

type MigrationPostgresConfig added in v1.34.0

type MigrationPostgresConfig struct {
	Host     string `yaml:"host,omitempty"`
	Port     int    `yaml:"port,omitempty"`
	Database string `yaml:"database,omitempty"`
	AltName  string `yaml:"altName,omitempty"`
}

type MonitoringConfig added in v0.17.0

type MonitoringConfig struct {
	Prometheus        *PrometheusConfig       `yaml:"prometheus,omitempty"`
	BlackboxExporter  *BlackboxExporterConfig `yaml:"blackboxExporter,omitempty"`
	PushGateway       *PushGatewayConfig      `yaml:"pushGateway,omitempty"`
	Loki              *LokiConfig             `yaml:"loki,omitempty"`
	Grafana           *GrafanaConfig          `yaml:"grafana,omitempty"`
	GrafanaAlloy      *GrafanaAlloyConfig     `yaml:"grafanaAlloy,omitempty"`
	CentralOtelExport *CentralOtelConfig      `yaml:"centralOtelExport,omitempty"`
}

type OAuthConfig added in v0.17.0

type OAuthConfig struct {
	Issuer                string `yaml:"issuer"`
	AuthorizationEndpoint string `yaml:"authorizationEndpoint"`
	TokenEndpoint         string `yaml:"tokenEndpoint"`
	ClientAuthMethod      string `yaml:"clientAuthMethod,omitempty"`
	Scope                 string `yaml:"scope,omitempty"`
	RedirectURI           string `yaml:"redirectUri,omitempty"`
	InstallationURI       string `yaml:"installationUri,omitempty"`
}

type OAuthProvidersConfig added in v1.129.0

type OAuthProvidersConfig struct {
	Oidc *OidcOAuthProvider `yaml:"oidc,omitempty"`
}

type OCIImageIndex

type OCIImageIndex struct {
	SchemaVersion int             `json:"schemaVersion"`
	MediaType     string          `json:"mediaType"`
	Manifests     []ManifestEntry `json:"manifests"`
}

OCIImageIndex represents the top-level structure of an OCI Image Index (manifest list).

func (*OCIImageIndex) ExtractImageNames

func (o *OCIImageIndex) ExtractImageNames() ([]string, error)

ExtractImageNames extracts the image names from the OCI image index file.

func (*OCIImageIndex) ParseOCIImageConfig

func (o *OCIImageIndex) ParseOCIImageConfig(filePath string) error

type OidcOAuthProvider added in v1.129.0

type OidcOAuthProvider struct {
	Type      string   `yaml:"type"`
	Enabled   bool     `yaml:"enabled"`
	Name      string   `yaml:"name"`
	IssuerURL string   `yaml:"issuerUrl"`
	Scopes    []string `yaml:"scopes,omitempty"`
}

type OpenBaoConfig added in v0.50.0

type OpenBaoConfig struct {
	Engine string `yaml:"engine,omitempty"`
	URI    string `yaml:"uri,omitempty"`
	User   string `yaml:"user,omitempty"`
}

type OperationsConfig added in v1.184.0

type OperationsConfig struct {
	Skip []string `yaml:"skip"`
}

type PgManagedServiceConfig added in v1.79.0

type PgManagedServiceConfig struct {
	Override ChartOverride `yaml:"override,omitempty"`
}

type PgOperatorConfig added in v1.17.0

type PgOperatorConfig struct {
	Enabled  bool          `yaml:"enabled"`
	Override ChartOverride `yaml:"override,omitempty"`
}

type PlanParam added in v0.17.0

type PlanParam struct {
	PricedAs string                 `yaml:"pricedAs"`
	Schema   map[string]interface{} `yaml:"schema"`
}

type PlansConfig added in v0.17.0

type PlansConfig struct {
	HostingPlans   map[int]HostingPlan   `yaml:"hostingPlans"`
	WorkspacePlans map[int]WorkspacePlan `yaml:"workspacePlans"`
}

type PostgresConfig added in v0.17.0

type PostgresConfig struct {
	Mode          string                 `yaml:"mode,omitempty"`
	CACertPem     string                 `yaml:"caCertPem,omitempty"`
	Primary       *PostgresPrimaryConfig `yaml:"primary,omitempty"`
	Replica       *PostgresReplicaConfig `yaml:"replica,omitempty"`
	ServerAddress string                 `yaml:"serverAddress,omitempty"`
	AltName       string                 `yaml:"altName,omitempty"`
	Port          int                    `yaml:"port,omitempty"`
	Database      string                 `yaml:"database,omitempty"`
}

type PostgresPrimaryConfig added in v0.17.0

type PostgresPrimaryConfig struct {
	SSLConfig SSLConfig `yaml:"sslConfig"`
	IP        string    `yaml:"ip"`
	Hostname  string    `yaml:"hostname"`
}

type PostgresReplicaConfig added in v0.17.0

type PostgresReplicaConfig struct {
	IP        string    `yaml:"ip"`
	Name      string    `yaml:"name"`
	SSLConfig SSLConfig `yaml:"sslConfig"`
}

type PrometheusConfig added in v0.17.0

type PrometheusConfig struct {
	RemoteWrite *RemoteWriteConfig `yaml:"remoteWrite,omitempty"`
	Override    ChartOverride      `yaml:"override,omitempty"`
}

type PushGatewayConfig added in v1.17.0

type PushGatewayConfig struct {
	Override ChartOverride `yaml:"override,omitempty"`
}

type RegistryConfig

type RegistryConfig struct {
	Server              string `yaml:"server"`
	ReplaceImagesInBom  bool   `yaml:"replaceImagesInBom"`
	LoadContainerImages bool   `yaml:"loadContainerImages"`
}

type RemoteWriteConfig added in v0.17.0

type RemoteWriteConfig struct {
	Enabled     bool   `yaml:"enabled"`
	ClusterName string `yaml:"clusterName,omitempty"`
	Url         string `yaml:"url,omitempty"`
	Username    string `yaml:"username,omitempty"`
	Password    string `yaml:"-"`
}

type RgwLoadBalancerConfig added in v1.17.0

type RgwLoadBalancerConfig struct {
	Enabled  bool          `yaml:"enabled"`
	Override ChartOverride `yaml:"override,omitempty"`
}

type RookExternalClusterConfig added in v1.17.0

type RookExternalClusterConfig struct {
	Enabled bool `yaml:"enabled"`
}

type RootConfig

type RootConfig struct {
	Datacenter             DatacenterConfig              `yaml:"dataCenter"`
	Secrets                SecretsConfig                 `yaml:"secrets"`
	Registry               *RegistryConfig               `yaml:"registry,omitempty"`
	Postgres               PostgresConfig                `yaml:"postgres"`
	Ceph                   CephConfig                    `yaml:"ceph"`
	Kubernetes             KubernetesConfig              `yaml:"kubernetes"`
	Cluster                ClusterConfig                 `yaml:"cluster"`
	MetalLB                *MetalLBConfig                `yaml:"metallb,omitempty"`
	Codesphere             CodesphereConfig              `yaml:"codesphere"`
	ManagedServiceBackends *ManagedServiceBackendsConfig `yaml:"managedServiceBackends,omitempty"`
	Operations             *OperationsConfig             `yaml:"operations,omitempty"`
}

RootConfig represents the relevant parts of the configuration file

func NewRootConfig added in v0.27.2

func NewRootConfig() RootConfig

func (*RootConfig) ExtractBomRefs

func (c *RootConfig) ExtractBomRefs() []string

func (*RootConfig) Marshal added in v0.17.0

func (c *RootConfig) Marshal() ([]byte, error)

Marshal serializes the RootConfig to YAML

func (*RootConfig) Unmarshal added in v0.17.0

func (c *RootConfig) Unmarshal(data []byte) error

Unmarshal deserializes YAML data into the RootConfig

type S3ManagedServiceConfig added in v1.79.0

type S3ManagedServiceConfig struct {
	Override ChartOverride `yaml:"override,omitempty"`
}

type SSLConfig added in v0.17.0

type SSLConfig struct {
	ServerCertPem string `yaml:"serverCertPem"`
}

type SecretEntry added in v0.17.0

type SecretEntry struct {
	Name   string        `yaml:"name"`
	File   *SecretFile   `yaml:"file,omitempty"`
	Fields *SecretFields `yaml:"fields,omitempty"`
}

type SecretFields added in v0.17.0

type SecretFields struct {
	Username string `yaml:"username,omitempty"`
	Password string `yaml:"password"`
}

type SecretFile added in v0.17.0

type SecretFile struct {
	Name    string `yaml:"name"`
	Content string `yaml:"content"`
}

type SecretsConfig added in v0.17.0

type SecretsConfig struct {
	BaseDir string `yaml:"baseDir"`
}

type ServicePlan added in v0.17.0

type ServicePlan struct {
	ID          int                  `yaml:"id"`
	Description string               `yaml:"description"`
	Name        string               `yaml:"name"`
	Parameters  map[string]PlanParam `yaml:"parameters"`
}

type TelemetryExport added in v1.168.0

type TelemetryExport struct {
	RemoteEndpoint string `yaml:"remoteEndpoint"`
	RemoteExport   bool   `yaml:"remoteExport"`
	Traces         bool   `yaml:"traces"`
	TraceEndpoint  string `yaml:"traceEndpoint,omitempty"`
	SpanMetrics    bool   `yaml:"spanMetrics"`
}

type TrustManagerConfig added in v1.79.0

type TrustManagerConfig struct {
	Override ChartOverride `yaml:"override,omitempty"`
}

type UnderprovisionFactors added in v0.17.0

type UnderprovisionFactors struct {
	CPU    float64 `yaml:"cpu"`
	Memory float64 `yaml:"memory"`
}

type WorkspaceImagesConfig added in v0.17.0

type WorkspaceImagesConfig struct {
	Agent    *ImageRef `yaml:"agent,omitempty"`
	AgentGpu *ImageRef `yaml:"agentGpu,omitempty"`
	Server   *ImageRef `yaml:"server,omitempty"`
	VPN      *ImageRef `yaml:"vpn,omitempty"`
}

type WorkspacePlan added in v0.17.0

type WorkspacePlan struct {
	Name          string `yaml:"name"`
	HostingPlanID int    `yaml:"hostingPlanId"`
	MaxReplicas   int    `yaml:"maxReplicas"`
	OnDemand      bool   `yaml:"onDemand"`
}

Jump to

Keyboard shortcuts

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