Skip to content

Commit

Permalink
Merge branch 'main' into helm-add-image-puller
Browse files Browse the repository at this point in the history
  • Loading branch information
ykuc authored Dec 11, 2024
2 parents 764c255 + bb03139 commit 1e3707b
Show file tree
Hide file tree
Showing 26 changed files with 463 additions and 142 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,3 @@ report
**/ya.make
**/*.secret.yaml
.idea
helm/values.yaml
5 changes: 5 additions & 0 deletions .mapping.json
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@
"cloud/doublecloud/transfer/github_os/docs/connectors/mysql_source.md":"cloud/doublecloud/transfer/github_os/docs/connectors/mysql_source.md",
"cloud/doublecloud/transfer/github_os/docs/connectors/postgres_source.md":"cloud/doublecloud/transfer/github_os/docs/connectors/postgres_source.md",
"cloud/doublecloud/transfer/github_os/docs/connectors/s3_source.md":"cloud/doublecloud/transfer/github_os/docs/connectors/s3_source.md",
"cloud/doublecloud/transfer/github_os/docs/connectors/ytsaurus_destination.md":"cloud/doublecloud/transfer/github_os/docs/connectors/ytsaurus_destination.md",
"cloud/doublecloud/transfer/github_os/docs/deploy_k8s.md":"cloud/doublecloud/transfer/github_os/docs/deploy_k8s.md",
"cloud/doublecloud/transfer/github_os/docs/getting_started.md":"cloud/doublecloud/transfer/github_os/docs/getting_started.md",
"cloud/doublecloud/transfer/github_os/docs/scale_horisontal.md":"cloud/doublecloud/transfer/github_os/docs/scale_horisontal.md",
Expand Down Expand Up @@ -184,6 +185,7 @@
"docs/connectors/mysql_source.md":"cloud/doublecloud/transfer/github_os/docs/connectors/mysql_source.md",
"docs/connectors/postgres_source.md":"cloud/doublecloud/transfer/github_os/docs/connectors/postgres_source.md",
"docs/connectors/s3_source.md":"cloud/doublecloud/transfer/github_os/docs/connectors/s3_source.md",
"docs/connectors/ytsaurus_destination.md":"cloud/doublecloud/transfer/github_os/docs/connectors/ytsaurus_destination.md",
"docs/deploy_k8s.md":"cloud/doublecloud/transfer/github_os/docs/deploy_k8s.md",
"docs/getting_started.md":"cloud/doublecloud/transfer/github_os/docs/getting_started.md",
"docs/scale_horisontal.md":"cloud/doublecloud/transfer/github_os/docs/scale_horisontal.md",
Expand Down Expand Up @@ -2384,6 +2386,9 @@
"tests/e2e/mysql2mysql/replace_fkey/test_per_transaction/check_db_test.go":"transfer_manager/go/tests/e2e/mysql2mysql/replace_fkey/test_per_transaction/check_db_test.go",
"tests/e2e/mysql2mysql/scheme/check_db_test.go":"transfer_manager/go/tests/e2e/mysql2mysql/scheme/check_db_test.go",
"tests/e2e/mysql2mysql/scheme/dump/scheme.sql":"transfer_manager/go/tests/e2e/mysql2mysql/scheme/dump/scheme.sql",
"tests/e2e/mysql2mysql/skip_key_check/check_db_test.go":"transfer_manager/go/tests/e2e/mysql2mysql/skip_key_check/check_db_test.go",
"tests/e2e/mysql2mysql/skip_key_check/source/dump.sql":"transfer_manager/go/tests/e2e/mysql2mysql/skip_key_check/source/dump.sql",
"tests/e2e/mysql2mysql/skip_key_check/target/dump.sql":"transfer_manager/go/tests/e2e/mysql2mysql/skip_key_check/target/dump.sql",
"tests/e2e/mysql2mysql/snapshot_and_repl_with_connection/check_db_test.go":"transfer_manager/go/tests/e2e/mysql2mysql/snapshot_and_repl_with_connection/check_db_test.go",
"tests/e2e/mysql2mysql/snapshot_and_repl_with_connection/dump/update.sql":"transfer_manager/go/tests/e2e/mysql2mysql/snapshot_and_repl_with_connection/dump/update.sql",
"tests/e2e/mysql2mysql/snapshot_without_pk/check_db_test.go":"transfer_manager/go/tests/e2e/mysql2mysql/snapshot_without_pk/check_db_test.go",
Expand Down
2 changes: 2 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ FROM ubuntu:jammy

ENV TZ=Etc/UTC

ENV ROTATION_TZ=Etc/UTC

ENV DEBIAN_FRONTEND=noninteractive

RUN echo $TZ > /etc/timezone && \
Expand Down
115 changes: 115 additions & 0 deletions docs/connectors/ytsaurus_destination.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
# YTsaurus Destination Connector Documentation

## Overview

The YTsaurus Connector allows for efficient data insert from YTsaurus databases.
---

## Configuration

The YTsaurus Destination Connector is configured using the `YtDestination` structure. Below is a breakdown of each configuration field.

### JSON/YAML Example

#### Snapshot (Static Table)
```yaml
Path: "//home/dst_folder"
Cluster: "yt-backend:80"
Token: "token"
Static: true
```
#### Replication (Dynamic Table)
```yaml
Path: "//home/dst_folder"
Cluster: "yt-backend:80"
Token: "token"
CellBundle: "default",
PrimaryMedium: "default"
Static: false
```
### Fields
- **Path** (`string`): The path to the destination folder where the data will be written.
- **Cluster** (`string`): The address of the YTsaurus cluster. Default "hahn".
- **Token** (`string`): The token for the YTsaurus cluster.
- **PushWal** (`bool`): TODO
- **NeedArchive** (`bool`): Whether to archive the data in the YTsaurus cluster. ??
- **CellBundle** (`string`): [The tablet cell bundle](https://ytsaurus.tech/docs/en/user-guide/dynamic-tables/concepts) to use for dynamic tables quota in the YTsaurus cluster.
- **TTL** (`int64`): The time-to-live in milliseconds for the data in the YTsaurus cluster.
- **OptimizeFor** (`string`): Data in YTsaurus tables can be stored both in row-based `OptimizeFor=scan`, and columnar `OptimizeFor=lookup`. Defaults `OptimizeFor=scan`.
- **CanAlter** (`bool`): Can be altered table schema?
- **TimeShardCount** (`int`): TODO
- **Index** (`[]string`): TODO
- **HashColumn** (`string`): The hash column to use for the data in the YTsaurus cluster.
- **PrimaryMedium** (`string`): [The primary medium](https://ytsaurus.tech/docs/en/user-guide/storage/media#primary) to use for the data in the YTsaurus cluster. Default "ssd_blobs" ??
- **Pool** (`string`): The pool to use for running merge and sort operations for static tables. Default "transfer_manager"
- **Strict** (`bool`): DEPRECATED, UNUSED IN NEW DATA PLANE - use LoseDataOnError and Atomicity.
- **Atomicity** (`yt.Atomicity`): [Atomicity](https://ytsaurus.tech/docs/ru/user-guide/dynamic-tables/transactions#atomicity) for the dynamic tables being created
- **LoseDataOnError** (`bool`): If true, some errors on data insertion to YTsaurus will be skipped, and a warning will be written to the log.
- **DiscardBigValues** (`bool`): If data is too long, batch will be discarded
- **TabletCount** (`int`): DEPRECATED - remove in March.
- **Rotation** (`*dp_model.RotatorConfig`): Use for partitioning tables.
- **KeepPartCount** (`int`): Number of partitions to keep.
- **PartType** (`RotatorPartType`): Type of partitioning: by hour `h`, by day `d`, by month `m`.
- **PartSize** (`int`): Max size of partition.
- **TimeColumn** (`string`): Time column for partitioning.
- **TableNameTemplate** (`string`): Template for table name.
- **VersionColumn** (`string`): TODO
- **AutoFlushPeriod** (`int`): Frequency of forced flushes [dynamic_store_auto_flush_period](https://ytsaurus.tech/docs/en/user-guide/dynamic-tables/compaction#flush_attributes), when the dynamic store is flushed to the disk straight away, even if it hasn't reached its overflow threshold yet.
- **Ordered** (`bool`): Will table be ordered?
- **TransformerConfig** (`map[string]string`): TOD
- **UseStaticTableOnSnapshot** (`bool`): If true, use static tables on snapshot.
- **AltNames** (`map[string]string`): Rename tables
- **Cleanup** (`dp_model.CleanupType`): Policy for cleanup data: "Drop", "Truncate", "Disabled". Default "Drop".
- **Spec** (`YTSpec`): TODO
- **TolerateKeyChanges** (`bool`): TODO
- **InitialTabletCount** (`uint32`): TODO
- **WriteTimeoutSec** (`uint32`): Timeout for write operations in seconds. Default 60 seconds.
- **ChunkSize** (`uint32`): ChunkSize defines the number of items in a single request to YTsaurus for dynamic sink and chunk size in bytes for static sink. Default 90_000 // items ??
- **BufferTriggingSize** (`uint64`): Bufferer trigging size . Default value (256 * humanize.MiByte) assume that we have 4 thread writer in 3gb box (default runtime box) so each thread would consume at most 256 * 2 (one time for source one time for target) mb + some constant memory in total it would eat 512 * 4 = 2gb, which is less than 3gb
- **BufferTriggingInterval** (`time.Duration`): Buffer trigging interval.
- **CompressionCodec** (`yt.ClientCompressionCodec`): [Compression codec](https://ytsaurus.tech/docs/en/user-guide/storage/compression#compression_codecs) for data.
- **DisableDatetimeHack** (`bool`): This disable old hack for inverting time. Time columns as int64 timestamp for LF>YTsaurus. ??
- **Connection** (`ConnectionData`): TODO
- **CustomAttributes** (`map[string]string`): TODO
- **Static** (`bool`): Is table static?
- **SortedStatic** (`bool`): true, if we need to sort static tables.
- **StaticChunkSize** (`int`): desired size of static table chunk in bytes. Default 100 * 1024 * 1024 bytes

---

## Supported transfer types

### 1. Snapshot

In the snapshot mode, the connector ingests all data from the specified tables in one go. Better to use static tables in YTsaurus.

- **Use Case**: One-time ingestion of static data.
- **Performance Optimization**: Leverage `DesiredTableSize` and `SnapshotDegreeOfParallelism` to shard large tables across multiple processes.

### 2. Snapshot with Cursor Column

In this mode, the connector ingests data from the specified tables based on a filter column (like a timestamp or auto-incrementing ID). The ingestion occurs at regular intervals, copying only the new data based on the value of the cursor column. Need to use dynamic tables in YTsaurus.

- **Use Case**: Recurrent ingestion of new data with some form of time or ID-based filtering.

### 3. Replication

The Replication mode listens for real-time changes. Need to use dynamic tables in YTsaurus.

- **Use Case**: Ongoing ingestion of live updates from the database.

---


## Special Considerations

TODO
---

## Demo

TODO

4 changes: 2 additions & 2 deletions examples/pg2yt/transfer_dynamic.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ src:
type: pg
params: |
{
"Hosts": ["localhost"],
"Hosts": ["postgres"],
"User": "postgres",
"Password": "password",
"Database": "mydb",
Expand All @@ -15,7 +15,7 @@ dst:
params: |
{
"path": "//home/cdc",
"cluster": "localhost:9980",
"cluster": "yt-backend:80",
"cellbundle": "default",
"primarymedium": "default"
}
4 changes: 2 additions & 2 deletions examples/pg2yt/transfer_static.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ src:
type: pg
params: |
{
"hosts": ["localhost"],
"hosts": ["postgres"],
"user": "postgres",
"password": "password",
"database": "mydb",
Expand All @@ -14,6 +14,6 @@ dst:
params: |
{
"path": "//home/snapshots",
"cluster": "localhost:9980",
"cluster": "yt-backend:80",
"static": true
}
14 changes: 7 additions & 7 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ require (
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de
google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd
google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd
google.golang.org/grpc v1.65.0
google.golang.org/grpc v1.67.1
google.golang.org/protobuf v1.34.2
gopkg.in/yaml.v2 v2.4.0
gopkg.in/yaml.v3 v3.0.1
Expand All @@ -94,7 +94,7 @@ require (
)

require (
cloud.google.com/go/compute/metadata v0.3.0 // indirect
cloud.google.com/go/compute/metadata v0.5.0 // indirect
cloud.google.com/go/iam v1.1.6 // indirect
dario.cat/mergo v1.0.0 // indirect
github.com/Azure/azure-sdk-for-go v68.0.0+incompatible // indirect
Expand Down Expand Up @@ -217,17 +217,17 @@ require (
github.com/zeebo/xxh3 v1.0.2 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect
go.opentelemetry.io/otel v1.29.0 // indirect
go.opentelemetry.io/otel/metric v1.29.0 // indirect
go.opentelemetry.io/otel/trace v1.29.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.57.0 // indirect
go.opentelemetry.io/otel v1.32.0 // indirect
go.opentelemetry.io/otel/metric v1.32.0 // indirect
go.opentelemetry.io/otel/trace v1.32.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.ytsaurus.tech/library/go/blockcodecs v0.0.3 // indirect
go.ytsaurus.tech/library/go/core/xerrors v0.0.4 // indirect
go.ytsaurus.tech/library/go/ptr v0.0.2 // indirect
go.ytsaurus.tech/library/go/x/xreflect v0.0.3 // indirect
go.ytsaurus.tech/library/go/x/xruntime v0.0.4 // indirect
golang.org/x/oauth2 v0.22.0 // indirect
golang.org/x/oauth2 v0.24.0 // indirect
golang.org/x/sys v0.26.0 // indirect
golang.org/x/term v0.25.0 // indirect
golang.org/x/time v0.6.0 // indirect
Expand Down
24 changes: 12 additions & 12 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -345,8 +345,8 @@ cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZ
cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM=
cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc=
cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY=
cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY=
cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY=
cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck=
cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w=
Expand Down Expand Up @@ -2749,17 +2749,17 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.5
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.35.0/go.mod h1:9NiG9I2aHTKkcxqCILhjtyNA1QEiCjdBACv4IvrFQ+c=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1/go.mod h1:sEGXWArGqc3tVa+ekntsN65DmVbVeW+7lTKTjZF3/Fo=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 h1:4K4tsIXefpVJtvA/8srF4V4y0akAoPHkIslgAkjixJA=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.57.0 h1:DheMAlT6POBP+gh8RUH19EOTnQIor5QE0uSRPtzCpSw=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.57.0/go.mod h1:wZcGmeVO9nzP67aYSLDqXNWK87EZWhi7JWj1v7ZXf94=
go.opentelemetry.io/otel v1.0.1/go.mod h1:OPEOD4jIT2SlZPMmwT6FqZz2C0ZNdQqiWcoK6M0SNFU=
go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs=
go.opentelemetry.io/otel v1.8.0/go.mod h1:2pkj+iMj0o03Y+cW6/m8Y4WkRdYN3AvCXCnzRMp9yvM=
go.opentelemetry.io/otel v1.10.0/go.mod h1:NbvWjCthWHKBEUMpf0/v8ZRZlni86PpGFEMA9pnQSnQ=
go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY=
go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo=
go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI=
go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw=
go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8=
go.opentelemetry.io/otel v1.32.0 h1:WnBN+Xjcteh0zdk01SVqV55d/m62NJLJdIyb4y/WO5U=
go.opentelemetry.io/otel v1.32.0/go.mod h1:00DCVSB0RQcnzlwyTfqtxSm+DRr9hpYrHjNGiBHVQIg=
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4=
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0/go.mod h1:78XhIg8Ht9vR4tbLNUhXsiOnE2HOuSeKAiAcoVQEpOY=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0/go.mod h1:hO1KLR7jcKaDDKDkvI9dP/FIhpmna5lkqPUQdEjFAM8=
Expand All @@ -2775,8 +2775,8 @@ go.opentelemetry.io/otel/metric v0.31.0/go.mod h1:ohmwj9KTSIeBnDBm/ZwH2PSZxZzoOa
go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8=
go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM=
go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY=
go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc=
go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8=
go.opentelemetry.io/otel/metric v1.32.0 h1:xV2umtmNcThh2/a/aCP+h64Xx5wsj8qqnkYZktzNa0M=
go.opentelemetry.io/otel/metric v1.32.0/go.mod h1:jH7CIbbK6SH2V2wE16W05BHCtIDzauciCRLoc/SyMv8=
go.opentelemetry.io/otel/sdk v1.0.1/go.mod h1:HrdXne+BiwsOHYYkBE5ysIcv2bvdZstxzmCQhxTcZkI=
go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs=
go.opentelemetry.io/otel/sdk v1.10.0/go.mod h1:vO06iKzD5baltJz1zarxMCNHFpUlUiOy4s65ECtn6kE=
Expand All @@ -2792,8 +2792,8 @@ go.opentelemetry.io/otel/trace v1.10.0/go.mod h1:Sij3YYczqAdz+EhmGhE6TpTxUO5/F/A
go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo=
go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ=
go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo=
go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4=
go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ=
go.opentelemetry.io/otel/trace v1.32.0 h1:WIC9mYrXf8TmY/EXuULKc8hR17vE+Hjv2cssQDe03fM=
go.opentelemetry.io/otel/trace v1.32.0/go.mod h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ=
go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
Expand Down Expand Up @@ -3085,8 +3085,8 @@ golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn
golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM=
golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o=
golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA=
golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE=
golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
Expand Down
Loading

0 comments on commit 1e3707b

Please sign in to comment.