Back to

Package bufconfig

Latest Go to latest

The latest major version is .

Published: 3 days ago | License: Apache-2.0 | Module:


Package bufconfig contains the configuration functionality.



const ConfigFilePath = "buf.yaml"

ConfigFilePath is the configuration file path.

func ConfigExists

func ConfigExists(ctx context.Context, readBucket storage.ReadBucket) (bool, error)

ConfigExists checks if a configuration file exists.

func CreateConfig

func CreateConfig(ctx context.Context, writeBucket storage.WriteBucket, name string, deps ...string) error

CreateConfig writes an initial configuration file into the bucket.

type Config

type Config struct {
	Name     bufmodule.ModuleName
	Build    *bufmodulebuild.Config
	Breaking *bufbreaking.Config
	Lint     *buflint.Config

Config is the user config.

func ReadConfig

func ReadConfig(ctx context.Context, provider Provider, readBucket storage.ReadBucket, override string) (*Config, error)

ReadConfig reads the configuration, including potentially reading from the OS for an override.

If no override is set, this reads ConfigFilePath in the bucket.. If override is set, this will first check if the override ends in .json or .yaml, if so, this reads the file at this path and uses it. Otherwise, this assumes this is configuration data in either JSON or YAML format, and unmarshals it.

Only use in CLI tools.

type Provider

type Provider interface {
	// GetConfig gets the Config for the YAML data at ConfigFilePath.
	// If the data is of length 0, returns the default config.
	GetConfig(ctx context.Context, readBucket storage.ReadBucket) (*Config, error)
	// GetConfig gets the Config for the given JSON or YAML data.
	// If the data is of length 0, returns the default config.
	GetConfigForData(ctx context.Context, data []byte) (*Config, error)

Provider is a provider.

func NewProvider

func NewProvider(logger *zap.Logger) Provider

NewProvider returns a new Provider.

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier