config

package
v0.0.0-...-4c4ccab Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2024 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultConfig = Config{
	Repositories: RepositoriesConfig{
		Core: []string{
			"runtime",
			"dev-tools",
			"community",
			"code-generator",
			"test-infra",
		},
	},
	Github: GithubConfig{
		ForkPrefix: "ack-",
	},
}

DefaultConfig is the default configuration used to generated ackdev config

Functions

func Save

func Save(cfg *Config, filename string) error

Save serialise a configuration object and writes it to given filepath.

Types

type Config

type Config struct {
	// RootDirectory is the parent directory of the all ACK local repositories.
	// If it's not specified ackdev will use $GOPATH/src/github.com/aws-controllers-k8s
	RootDirectory string `yaml:"rootDirectory" json:"rootDirectory"`
	// Git contains information used by ackdev to manage local git repositories.
	Git GitConfig `yaml:"git" json:"git"`
	// Github contains information used by ackdev to manage Github forks.
	Github GithubConfig `yaml:"github" json:"github"`
	// Repositories let you specify the Github/Local repositories ackdev should
	// manage for you. By default ackdev manage all the core repositories (community,
	// code-generator, test-infra, dev-tools and runtime).
	Repositories RepositoriesConfig `yaml:"repositories" json:"repositories"`
	// RunConfig let specify the arguments and flags used to run a controller locally,
	// without having to build it image or deploy it into a cluster.
	RunConfig RunConfig `yaml:"run" json:"run"`
}

Config is the ackdev global configuration. It contains information and default values used by ackdev to manage local repositories, forks, dependencies, controllers...

func Load

func Load(configPath string) (*Config, error)

Load reads a local configuration file and returns an ackdev configuration object.

type GitConfig

type GitConfig struct {
	// SSHKeyPath is the full path the SSH key used to clone Github repositories.
	SSHKeyPath string `yaml:"sshKeyPath" json:"sshKeyPath"`
}

Git contains information used by ackdev to manage local git repositories.

type GithubConfig

type GithubConfig struct {
	// Token is the token used to make Github API calls. This token needs at least
	// the 'repo' scope. To generate this token please follow instructions in:
	// https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token
	Token string `yaml:"token" json:"token"`
	// Username is the ackdev contributor Github username.
	Username string `yaml:"username" json:"username"`
	// ForkPrefix is the prefix prepended to the personal forks of ACK repositories.
	// For example if ForkPrefix is 'ack-', ackdev will fork code-generator repository
	// and rename to 'ack-code-generator.
	ForkPrefix string `yaml:"forkPrefix" json:"forkPrefix"`
}

GithubConfig represents the Github information needed to personal forks.

type RepositoriesConfig

type RepositoriesConfig struct {
	// Core is the list of ACK core repositories. The default configuration contains:
	// commmunity, code-generator, test-infra, dev-tools and runtime.
	Core []string `yaml:"core" json:"core"`
	// Services is the list of service controllers managed by ackdev.
	Services []string `yaml:"services" json:"services"`
}

RepositoriesConfig represent repositories that are be managed by ackdev.

type RunConfig

type RunConfig struct {
	// Flags is the map of flags/values passed to the controller binaries. For example
	// to pass --aws-region=us-west-1 you'll need to set Flags to {"aws-region","us-west-1"}
	Flags map[string]string `yaml:"flags" json:"flags"`
}

RunConfig contains flags and arguments passed to service controllers binaries when they are executed locally.

Jump to

Keyboard shortcuts

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