Documentation
¶
Overview ¶
Copyright 2025 Google LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- func GetCloudSQLOpts(ipType, userAgent string, useIAM bool) ([]cloudsqlconn.Option, error)
- func GetIAMAccessToken(ctx context.Context) (string, error)
- func GetIAMPrincipalEmailFromADC(ctx context.Context, dbType string) (string, error)
- func InitConnectionSpan(ctx context.Context, tracer trace.Tracer, sourceType, sourceName string) (context.Context, trace.Span)
- func Register(sourceType string, factory SourceConfigFactory) bool
- type Cache
- type Dialect
- type IPType
- type Item
- type OnEvictFunc
- type Source
- type SourceConfig
- type SourceConfigFactory
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetCloudSQLOpts ¶
func GetCloudSQLOpts(ipType, userAgent string, useIAM bool) ([]cloudsqlconn.Option, error)
GetCloudSQLDialOpts retrieve dial options with the right ip type and user agent for cloud sql databases.
func GetIAMPrincipalEmailFromADC ¶
GetIAMPrincipalEmailFromADC finds the email associated with ADC
func InitConnectionSpan ¶
func InitConnectionSpan(ctx context.Context, tracer trace.Tracer, sourceType, sourceName string) (context.Context, trace.Span)
InitConnectionSpan adds a span for database pool connection initialization
func Register ¶
func Register(sourceType string, factory SourceConfigFactory) bool
Register registers a new source type with its factory. It returns false if the type is already registered.
Types ¶
type Cache ¶
type Cache struct {
// contains filtered or unexported fields
}
Cache is a thread-safe, expiring key-value store
func NewCache ¶
func NewCache(onEvict OnEvictFunc) *Cache
NewCache creates a new cache and cleans up every 55 min
func (*Cache) DeleteExpired ¶
func (c *Cache) DeleteExpired()
DeleteExpired removes all expired items
type OnEvictFunc ¶
OnEvictFunc is the signature for the callback
type Source ¶
type Source interface {
SourceType() string
ToConfig() SourceConfig
}
Source is the interface for the source itself.
type SourceConfig ¶
type SourceConfig interface {
SourceConfigType() string
Initialize(ctx context.Context, tracer trace.Tracer) (Source, error)
}
SourceConfig is the interface for configuring a source.
func DecodeConfig ¶
func DecodeConfig(ctx context.Context, sourceType string, name string, decoder *yaml.Decoder) (SourceConfig, error)
DecodeConfig decodes a source configuration using the registered factory for the given type.
type SourceConfigFactory ¶
type SourceConfigFactory func(ctx context.Context, name string, decoder *yaml.Decoder) (SourceConfig, error)
SourceConfigFactory defines the function signature for creating a SourceConfig.