iceberg

package
v0.11.689 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package iceberg builds the ingestr destination URI for Apache Iceberg (iceberg+<catalog>://<location>?storage=s3&...), a write-only destination.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is a thin wrapper around Config. Iceberg is only used as an ingestr destination in Bruin, so the client just exposes the ingestr URI.

func NewClient

func NewClient(c Config) (*Client, error)

func (*Client) GetIngestrURI

func (c *Client) GetIngestrURI() (string, error)

type Config

type Config struct {
	Catalog config.IcebergCatalog
	Storage config.IcebergStorage

	// CatalogName is the logical catalog identifier used by the Iceberg client.
	// ingestr defaults it to "ingestr" when empty.
	CatalogName string

	// Table/namespace write options.
	CreateNamespace *bool
	TableLocation   string
	TablePath       string
	// TableProperties are emitted as table.<key>=<value> (Iceberg table properties).
	TableProperties map[string]string
	// Properties is a passthrough for non-secret ingestr Iceberg URI parameters.
	// Applied last, so it wins on conflict. Its values are NOT masked in logs,
	// so credentials belong in the dedicated fields, never here.
	Properties map[string]string
}

func (Config) GetIngestrURI

func (c Config) GetIngestrURI() (string, error)

GetIngestrURI builds the ingestr Iceberg destination URI (iceberg+<catalog>://<location>?storage=s3&...).

Jump to

Keyboard shortcuts

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