envconfig

package
v0.7.2 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EnvConfig

type EnvConfig struct {
	Port                       int      `envconfig:"PORT" required:"true"`
	KMSKeys                    []string `envconfig:"KMS_KEYS" required:"false"`
	AppIDs                     []int64  `envconfig:"GITHUB_APP_IDS" required:"true"`
	AppSecretCertificateFile   string   `envconfig:"APP_SECRET_CERTIFICATE_FILE" required:"false"`
	AppSecretCertificateEnvVar string   `envconfig:"APP_SECRET_CERTIFICATE_ENV_VAR" required:"false"`
	Metrics                    bool     `envconfig:"METRICS" required:"false" default:"true"`
	// QuotaFloorHard / QuotaFloorSoft tune the three-tier capacity-aware
	// picker in pkg/ghinstall. Defaults target GitHub's default 15,000/hr
	// installation rate-limit cap: drop out of the preferred pool below
	// ~33% remaining (5,000), exclude entirely below ~10% remaining (1,500).
	// Operators with elevated installation tiers (50,000/hr) should raise
	// SOFT to roughly the lowest cap in their pool so high-cap installs are
	// preferred while they have at least one low-cap-worth of headroom.
	QuotaFloorHard  int           `envconfig:"OCTOSTS_QUOTA_FLOOR_HARD" required:"false" default:"1500"`
	QuotaFloorSoft  int           `envconfig:"OCTOSTS_QUOTA_FLOOR_SOFT" required:"false" default:"5000"`
	QuotaStaleAfter time.Duration `envconfig:"OCTOSTS_QUOTA_STALE" required:"false" default:"5m"`

	StickyStore                    string        `envconfig:"OCTOSTS_STICKY_STORE" required:"false"`
	StickyStoreFirestoreProject    string        `envconfig:"OCTOSTS_STICKY_STORE_FIRESTORE_PROJECT" required:"false"`
	StickyStoreFirestoreCollection string        `envconfig:"OCTOSTS_STICKY_STORE_FIRESTORE_COLLECTION" required:"false" default:"sticky-routes"`
	StickyStoreFirestoreTTL        time.Duration `envconfig:"OCTOSTS_STICKY_STORE_FIRESTORE_TTL" required:"false" default:"1h"`
}

func BaseConfig added in v0.4.0

func BaseConfig() (*EnvConfig, error)

type EnvConfigApp added in v0.4.0

type EnvConfigApp struct {
	Domain          string `envconfig:"STS_DOMAIN" required:"true"`
	EventingIngress string `envconfig:"EVENT_INGRESS_URI" required:"false"`
}

func AppConfig added in v0.4.0

func AppConfig() (*EnvConfigApp, error)

type EnvConfigWebhook added in v0.4.0

type EnvConfigWebhook struct {
	WebhookSecret string `envconfig:"GITHUB_WEBHOOK_SECRET" required:"true"`
	// If set, only process events from these organizations (comma separated).
	OrganizationFilter string `envconfig:"GITHUB_WEBHOOK_ORGANIZATION_FILTER"`
}

func WebhookConfig added in v0.4.0

func WebhookConfig() (*EnvConfigWebhook, error)

Jump to

Keyboard shortcuts

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