package config import "time" const DefaultPath = "/usr/local/etc/weatherreporter/config.yml" func Defaults() Config { return Config{ WeatherAPI: WeatherAPIConfig{ Timeout: 10 * time.Second, Precision: 1, Units: "us", Timezone: "America/Chicago", Format: "json", }, Location: LocationConfig{ ID: "home", Name: "Brentwood", Region: "St. Louis Metro", }, Secrets: SecretsConfig{ Directory: "", }, Notify: NotifyConfig{ Distributor: DistributorNotifyConfig{ Enabled: false, Endpoint: "https://distributor.example.com", TokenEnv: "DISTRIBUTOR_UPLOAD_TOKEN", Timeout: 30 * time.Second, FailurePolicy: NotifyFailureError, PipelineIDTemplate: "", BundleIDTemplate: "weatherreporter.{location_id}.{report_id}", IdempotencyKeyTemplate: "{bundle_id}.{run_id}", ReportPathTemplates: []string{ "{valid_start_date}/{artifact_group}/{valid_start_date}-{artifact_group}-{run_id}.md", }, Batch: DistributorBatchNotifyConfig{ Enabled: true, PipelineIDTemplate: "weatherreporter", BundleIDTemplate: "weatherreporter.{location_id}.{batch}", IdempotencyKeyTemplate: "{bundle_id}.{batch_run_id}", }, }, }, MissingSource: MissingSourceConfig{ Default: MissingSourceWarn, Sources: map[string]MissingSourcePolicy{}, }, Scriptorium: ScriptoriumConfig{ Binary: "scriptorium", Timeout: 2 * time.Minute, }, Workspace: WorkspaceConfig{ Root: "workspace", SnapshotsDir: "snapshots", ReportsDir: "reports", DataPackagesDir: "data-packages", PreflightDir: "preflight", NotificationsDir: "notifications", }, Dayparts: []DaypartConfig{ {Name: "overnight", Start: "00:00", End: "06:00"}, {Name: "morning", Start: "06:00", End: "10:00"}, {Name: "midday", Start: "10:00", End: "15:00"}, {Name: "afternoon", Start: "15:00", End: "17:00"}, {Name: "evening", Start: "17:00", End: "24:00"}, }, RecentChange: RecentChangeConfig{ TemperatureDegrees: 5, PrecipProbabilityPoints: 20, WindGustMilesPerHour: 10, PrecipTimingShiftMinutes: 120, }, Reports: map[string]ReportConfig{}, } }