Skip to content

Commit 0e0f1e4

Browse files
committed
created a new provider
1 parent dc2c787 commit 0e0f1e4

File tree

7 files changed

+505
-0
lines changed

7 files changed

+505
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
include ../../../Makefile.Common
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Google Secrets Provider
2+
3+
4+
## Summary
5+
6+
This package provides a `confmap.Provider` implementation for Google Secrets
7+
Manager (`googlesecretsprovider`) that allows the Collector the ability to read data
8+
stored in Google Secrets Manager.
9+
10+
## How it works
11+
12+
- Just use the placeholders with the following pattern `${googlesecretsprovider:<arn or name>}`
13+
14+
Prerequisites:
15+
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
module github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/secretsmanagerprovider
2+
3+
go 1.23.0
4+
5+
require (
6+
go.opentelemetry.io/collector/confmap v1.30.0
7+
go.uber.org/zap v1.27.0
8+
)
9+
10+
require (
11+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
12+
github.com/go-viper/mapstructure/v2 v2.2.1 // indirect
13+
github.com/hashicorp/go-version v1.7.0 // indirect
14+
github.com/knadh/koanf v1.5.0 // indirect
15+
github.com/knadh/koanf/v2 v2.1.2 // indirect
16+
github.com/mitchellh/copystructure v1.2.0 // indirect
17+
github.com/mitchellh/reflectwalk v1.0.2 // indirect
18+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
19+
go.opentelemetry.io/collector/featuregate v1.30.0 // indirect
20+
go.uber.org/multierr v1.11.0 // indirect
21+
gopkg.in/yaml.v3 v3.0.1 // indirect
22+
)

confmap/provider/googlesecretprovider/go.sum

Lines changed: 402 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
type: googlesecretsprovider
2+
3+
status:
4+
class: provider
5+
stability:
6+
alpha: [provider]
7+
distributions: [contrib]
8+
codeowners:
9+
active: [atoulme]
10+
emeritus: [driverpt]
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
//go:generate mdatagen metadata.yaml
5+
6+
package googlesecretsprovider // import "github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/googlesecretsprovider"
7+
8+
import (
9+
"context"
10+
"fmt"
11+
"strings"
12+
13+
"go.opentelemetry.io/collector/confmap"
14+
"go.uber.org/zap"
15+
)
16+
17+
type secretsManagerClient interface {
18+
}
19+
20+
const (
21+
schemeName = "googlesecretsprovider"
22+
)
23+
24+
type provider struct {
25+
client secretsManagerClient
26+
logger *zap.Logger
27+
}
28+
29+
func NewFactory() confmap.ProviderFactory {
30+
return confmap.NewProviderFactory(newWithSettings)
31+
}
32+
33+
func newWithSettings(ps confmap.ProviderSettings) confmap.Provider {
34+
return &provider{client: nil, logger: ps.Logger}
35+
}
36+
37+
func (provider *provider) Retrieve(ctx context.Context, uri string, _ confmap.WatcherFunc) (*confmap.Retrieved, error) {
38+
if !strings.HasPrefix(uri, schemeName+":") {
39+
return nil, fmt.Errorf("%q uri is not supported by %q provider", uri, schemeName)
40+
}
41+
42+
return confmap.NewRetrieved("plaintext secret")
43+
}
44+
45+
func (*provider) Scheme() string {
46+
return schemeName
47+
}
48+
49+
func (*provider) Shutdown(context.Context) error {
50+
return nil
51+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package googlesecretsprovider

0 commit comments

Comments
 (0)