@@ -2,18 +2,33 @@ package version
2
2
3
3
import (
4
4
"context"
5
+ _ "embed"
5
6
"fmt"
6
7
"net/http"
7
8
"net/url"
9
+ "os"
10
+ "strings"
8
11
"time"
9
12
10
13
"github.com/pkg/errors"
11
14
12
15
"github.com/percona/percona-postgresql-operator/percona/version/service/client"
13
16
"github.com/percona/percona-postgresql-operator/percona/version/service/client/version_service"
14
- v2 "github.com/percona/percona-postgresql-operator/pkg/apis/pgv2.percona.com/v2"
15
17
)
16
18
19
+ //go:generate sh -c "yq -i '.metadata.labels.\"pgv2.percona.com/version\" = \"v\" + load(\"version.txt\")' ../../config/crd/patches/versionlabel_in_perconapgclusters.yaml"
20
+ //go:generate sh -c "yq -i '.metadata.labels.\"pgv2.percona.com/version\" = \"v\" + load(\"version.txt\")' ../../config/crd/patches/versionlabel_in_perconapgbackups.yaml"
21
+ //go:generate sh -c "yq -i '.metadata.labels.\"pgv2.percona.com/version\" = \"v\" + load(\"version.txt\")' ../../config/crd/patches/versionlabel_in_perconapgrestores.yaml"
22
+
23
+ //go:embed version.txt
24
+ var version string
25
+
26
+ func Version () string {
27
+ return strings .TrimSpace (version )
28
+ }
29
+
30
+ const ProductName = "pg-operator"
31
+
17
32
type Meta struct {
18
33
Apply string
19
34
OperatorVersion string
@@ -30,10 +45,22 @@ type Meta struct {
30
45
Extensions string
31
46
}
32
47
48
+ const DefaultVersionServiceEndpoint = "https://check.percona.com"
49
+
50
+ func getDefaultVersionServiceEndpoint () string {
51
+ endpoint := os .Getenv ("PERCONA_VS_FALLBACK_URI" )
52
+
53
+ if len (endpoint ) != 0 {
54
+ return endpoint
55
+ }
56
+
57
+ return DefaultVersionServiceEndpoint
58
+ }
59
+
33
60
func EnsureVersion (ctx context.Context , meta Meta ) error {
34
- err := fetchVersions (ctx , v2 . GetDefaultVersionServiceEndpoint (), meta )
61
+ err := fetchVersions (ctx , getDefaultVersionServiceEndpoint (), meta )
35
62
if err != nil {
36
- return errors .Wrap (err , fmt .Sprintf ("failed to send telemetry to %s" , v2 . GetDefaultVersionServiceEndpoint ()))
63
+ return errors .Wrap (err , fmt .Sprintf ("failed to send telemetry to %s" , getDefaultVersionServiceEndpoint ()))
37
64
}
38
65
39
66
return nil
@@ -54,7 +81,7 @@ func fetchVersions(ctx context.Context, endpoint string, vm Meta) error {
54
81
applyParams := & version_service.VersionServiceApplyParams {
55
82
Context : ctx ,
56
83
HTTPClient : & http.Client {Timeout : 10 * time .Second },
57
- Product : v2 . ProductName ,
84
+ Product : ProductName ,
58
85
Apply : vm .Apply ,
59
86
BackupVersion : & vm .BackupVersion ,
60
87
CustomResourceUID : & vm .CRUID ,
0 commit comments