func New()

in pkg/config/config.go [98:140]


func New(ctx context.Context, gceConfigFilePath, gceServiceAccount string) (*Config, error) {
	tokenSource, projectID, err := getTokenSourceAndProjectID(ctx, gceConfigFilePath, gceServiceAccount)
	if err != nil {
		return nil, err
	}

	klog.Infof("TokenSource: %#v, projectID: %s", tokenSource, projectID)

	domainStatuses := make(map[string]string, 0)
	domainStatuses[sslActive] = managedActive
	domainStatuses[sslFailedCaaChecking] = managedFailedCaaChecking
	domainStatuses[sslFailedCaaForbidden] = managedFailedCaaForbidden
	domainStatuses[sslFailedNotVisible] = managedFailedNotVisible
	domainStatuses[sslFailedRateLimited] = managedFailedRateLimited
	domainStatuses[sslProvisioning] = managedProvisioning

	certificateStatuses := make(map[string]string, 0)
	certificateStatuses[sslActive] = managedActive
	certificateStatuses[sslEmpty] = managedEmpty
	certificateStatuses[sslManagedCertificateStatusUnspecified] = managedEmpty
	certificateStatuses[sslProvisioning] = managedProvisioning
	certificateStatuses[sslProvisioningFailed] = managedProvisioningFailed
	certificateStatuses[sslProvisioningFailedPermanently] = managedProvisioningFailedPermanently
	certificateStatuses[sslRenewalFailed] = managedRenewalFailed

	return &Config{
		CertificateStatus: certificateStatusConfig{
			Certificate: certificateStatuses,
			Domain:      domainStatuses,
		},
		Compute: computeConfig{
			TokenSource: tokenSource,
			ProjectID:   projectID,
			Timeout:     30 * time.Second,
		},
		MasterElection: masterElectionConfig{
			LeaseDuration: 15 * time.Second,
			RenewDeadline: 10 * time.Second,
			RetryPeriod:   2 * time.Second,
		},
		SslCertificateNamePrefix: SslCertificateNamePrefix,
	}, nil
}