Skip to content

Commit 5ec833d

Browse files
authored
Prepare for release 7.14.0-v21 (#1631)
ProductLine: Stash Release: v2025.2.10 Release-tracker: stashed/CHANGELOG#80 Signed-off-by: 1gtm <1gtm@appscode.com>
1 parent 97c9045 commit 5ec833d

File tree

15 files changed

+98
-48
lines changed

15 files changed

+98
-48
lines changed

go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ toolchain go1.23.0
66

77
require (
88
github.com/spf13/cobra v1.8.1
9-
go.bytebuilders.dev/license-verifier/kubernetes v0.14.4
9+
go.bytebuilders.dev/license-verifier/kubernetes v0.14.6
1010
golang.org/x/text v0.21.0
1111
gomodules.xyz/flags v0.1.3
1212
gomodules.xyz/go-sh v0.1.0
@@ -22,7 +22,7 @@ require (
2222
kubedb.dev/apimachinery v0.51.0
2323
kubedb.dev/db-client-go v0.6.0
2424
sigs.k8s.io/controller-runtime v0.18.4
25-
stash.appscode.dev/apimachinery v0.38.1-0.20250114050236-cca8469a4c04
25+
stash.appscode.dev/apimachinery v0.39.0
2626
)
2727

2828
require (
@@ -85,8 +85,8 @@ require (
8585
github.com/yudai/gojsondiff v1.0.0 // indirect
8686
github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect
8787
github.com/zeebo/xxh3 v1.0.2 // indirect
88-
go.bytebuilders.dev/license-proxyserver v0.0.19 // indirect
89-
go.bytebuilders.dev/license-verifier v0.14.4 // indirect
88+
go.bytebuilders.dev/license-proxyserver v0.0.20 // indirect
89+
go.bytebuilders.dev/license-verifier v0.14.6 // indirect
9090
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect
9191
golang.org/x/net v0.33.0 // indirect
9292
golang.org/x/oauth2 v0.22.0 // indirect

go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -325,12 +325,12 @@ github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
325325
github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
326326
github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0=
327327
github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
328-
go.bytebuilders.dev/license-proxyserver v0.0.19 h1:mY7zPDN0JCw2a1UajOuQUQKQKjjm5KBx2CbkT/+a1N8=
329-
go.bytebuilders.dev/license-proxyserver v0.0.19/go.mod h1:B3Ig2Fo1qUollSV9GgfyFK8tXBI0RmUSpP1KFMZ2N7Q=
330-
go.bytebuilders.dev/license-verifier v0.14.4 h1:JwTGQFew4nudwv8Pk3BdfQRts8KfgUQ5xhu138w1wt4=
331-
go.bytebuilders.dev/license-verifier v0.14.4/go.mod h1:LqWXJKee5ofDcCYM6T5WilYlUc4NlKeZz58tHwO8GEs=
332-
go.bytebuilders.dev/license-verifier/kubernetes v0.14.4 h1:NeHq6SuVhRIVaMW2kSXdr8DcuUOg2jVL9rsODIQp9Fc=
333-
go.bytebuilders.dev/license-verifier/kubernetes v0.14.4/go.mod h1:1C7SaOJShC60mIXP1hXBaDWGpb0hrHQ4p4nUEvI6YQY=
328+
go.bytebuilders.dev/license-proxyserver v0.0.20 h1:gzRSwUmX/LSwPVE6T9oy5RLIutU1EeI7hmS+QGsYBY4=
329+
go.bytebuilders.dev/license-proxyserver v0.0.20/go.mod h1:2PJmjMCXncVyeP3fIVQ+hwZnuhmWSTmbcuEMBrFKIac=
330+
go.bytebuilders.dev/license-verifier v0.14.6 h1:0iHYGURUbx8toiXvFKftn/qMpeHzqHbAgEnEzOCNLvo=
331+
go.bytebuilders.dev/license-verifier v0.14.6/go.mod h1:LqWXJKee5ofDcCYM6T5WilYlUc4NlKeZz58tHwO8GEs=
332+
go.bytebuilders.dev/license-verifier/kubernetes v0.14.6 h1:NxmASX0A3lu+ABd4zuT5Ib+I63y3j5uJxmlUFEGxqWg=
333+
go.bytebuilders.dev/license-verifier/kubernetes v0.14.6/go.mod h1:N5QxsJF4EGLduOsTsW9gGfRuuMvN33T8pg5Y9NfKzuo=
334334
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
335335
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
336336
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
@@ -609,5 +609,5 @@ sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+s
609609
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
610610
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
611611
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
612-
stash.appscode.dev/apimachinery v0.38.1-0.20250114050236-cca8469a4c04 h1:NtQeear5dlS9PM6LoPVlfqRflavGvODoxa65RnI+w5Y=
613-
stash.appscode.dev/apimachinery v0.38.1-0.20250114050236-cca8469a4c04/go.mod h1:HoMcNxSg7TUHEhbHE+JvdhICrXoEKRvfLuFBKAM40ng=
612+
stash.appscode.dev/apimachinery v0.39.0 h1:jUYOFmpFgKhtsEbtmamlSgQTQ01boUzkv+25iAXzK5I=
613+
stash.appscode.dev/apimachinery v0.39.0/go.mod h1:6z4oQvMMBPyybs8uajBsrgO2ZK98ulB0CKGwfeuav+4=

vendor/go.bytebuilders.dev/license-verifier/apis/licenses/v1alpha1/helper.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ limitations under the License.
1717
package v1alpha1
1818

1919
func (l License) DisableAnalytics() bool {
20-
return len(l.FeatureFlags) > 0 && l.FeatureFlags["DisableAnalytics"] == "true"
20+
return len(l.FeatureFlags) > 0 && l.FeatureFlags[FeatureDisableAnalytics] == "true"
21+
}
22+
23+
func (l License) EnableClientBilling() bool {
24+
return len(l.FeatureFlags) > 0 && l.FeatureFlags[FeatureEnableClientBilling] == "true"
2125
}
2226

2327
func (i *License) Less(j *License) bool {

vendor/go.bytebuilders.dev/license-verifier/apis/licenses/v1alpha1/types.go

Lines changed: 51 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ limitations under the License.
1717
package v1alpha1
1818

1919
import (
20+
"fmt"
21+
2022
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
23+
"k8s.io/apimachinery/pkg/util/errors"
24+
"k8s.io/apimachinery/pkg/util/sets"
2125
)
2226

2327
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
@@ -26,20 +30,20 @@ import (
2630
type License struct {
2731
metav1.TypeMeta `json:",inline,omitempty"`
2832

29-
Data []byte `json:"-"`
30-
Issuer string `json:"issuer,omitempty"` // byte.builders
31-
ProductLine string `json:"productLine,omitempty"`
32-
TierName string `json:"tierName,omitempty"`
33-
PlanName string `json:"planName,omitempty"`
34-
Features []string `json:"features,omitempty"`
35-
FeatureFlags map[string]string `json:"featureFlags,omitempty"`
36-
Clusters []string `json:"clusters,omitempty"` // cluster_id ?
37-
User *User `json:"user,omitempty"`
38-
NotBefore *metav1.Time `json:"notBefore,omitempty"` // start of subscription start
39-
NotAfter *metav1.Time `json:"notAfter,omitempty"` // if set, use this
40-
ID string `json:"id,omitempty"` // license ID
41-
Status LicenseStatus `json:"status"`
42-
Reason string `json:"reason"`
33+
Data []byte `json:"-"`
34+
Issuer string `json:"issuer,omitempty"` // byte.builders
35+
ProductLine string `json:"productLine,omitempty"`
36+
TierName string `json:"tierName,omitempty"`
37+
PlanName string `json:"planName,omitempty"`
38+
Features []string `json:"features,omitempty"`
39+
FeatureFlags FeatureFlags `json:"featureFlags,omitempty"`
40+
Clusters []string `json:"clusters,omitempty"` // cluster_id ?
41+
User *User `json:"user,omitempty"`
42+
NotBefore *metav1.Time `json:"notBefore,omitempty"` // start of subscription start
43+
NotAfter *metav1.Time `json:"notAfter,omitempty"` // if set, use this
44+
ID string `json:"id,omitempty"` // license ID
45+
Status LicenseStatus `json:"status"`
46+
Reason string `json:"reason"`
4347
}
4448

4549
type User struct {
@@ -62,3 +66,36 @@ type Contract struct {
6266
StartTimestamp metav1.Time `json:"startTimestamp"`
6367
ExpiryTimestamp metav1.Time `json:"expiryTimestamp"`
6468
}
69+
70+
type FeatureFlag string
71+
72+
const (
73+
FeatureDisableAnalytics FeatureFlag = "DisableAnalytics"
74+
FeatureRestrictions FeatureFlag = "Restrictions"
75+
FeatureEnableClientBilling FeatureFlag = "EnableClientBilling"
76+
)
77+
78+
var knownFlags = sets.New[FeatureFlag](FeatureDisableAnalytics, FeatureRestrictions, FeatureEnableClientBilling)
79+
80+
type FeatureFlags map[FeatureFlag]string
81+
82+
func (f FeatureFlags) IsValid() error {
83+
var errs []error
84+
for k := range f {
85+
if !knownFlags.Has(k) {
86+
errs = append(errs, fmt.Errorf("unknown feature flag %q", k))
87+
}
88+
}
89+
return errors.NewAggregate(errs)
90+
}
91+
92+
func (f FeatureFlags) ToSlice() []string {
93+
if len(f) == 0 {
94+
return nil
95+
}
96+
result := make([]string, 0, len(f))
97+
for k, v := range f {
98+
result = append(result, fmt.Sprintf("%s=%s", k, v))
99+
}
100+
return result
101+
}

vendor/go.bytebuilders.dev/license-verifier/apis/licenses/v1alpha1/zz_generated.deepcopy.go

Lines changed: 23 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/go.bytebuilders.dev/license-verifier/lib.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,11 @@ func ParseLicense(opts ParserOptions) (v1alpha1.License, error) {
115115
license.TierName = parts[1]
116116
}
117117
}
118-
license.FeatureFlags = map[string]string{}
118+
license.FeatureFlags = v1alpha1.FeatureFlags{}
119119
for _, ff := range cert.Subject.Locality {
120120
parts := strings.SplitN(ff, "=", 2)
121121
if len(parts) == 2 {
122-
license.FeatureFlags[parts[0]] = parts[1]
122+
license.FeatureFlags[v1alpha1.FeatureFlag(parts[0])] = parts[1]
123123
}
124124
}
125125

vendor/modules.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -227,20 +227,20 @@ github.com/yudai/golcs
227227
# github.com/zeebo/xxh3 v1.0.2
228228
## explicit; go 1.17
229229
github.com/zeebo/xxh3
230-
# go.bytebuilders.dev/license-proxyserver v0.0.19
230+
# go.bytebuilders.dev/license-proxyserver v0.0.20
231231
## explicit; go 1.22.0
232232
go.bytebuilders.dev/license-proxyserver/apis/proxyserver
233233
go.bytebuilders.dev/license-proxyserver/apis/proxyserver/v1alpha1
234234
go.bytebuilders.dev/license-proxyserver/client/clientset/versioned
235235
go.bytebuilders.dev/license-proxyserver/client/clientset/versioned/scheme
236236
go.bytebuilders.dev/license-proxyserver/client/clientset/versioned/typed/proxyserver/v1alpha1
237-
# go.bytebuilders.dev/license-verifier v0.14.4
237+
# go.bytebuilders.dev/license-verifier v0.14.6
238238
## explicit; go 1.21
239239
go.bytebuilders.dev/license-verifier
240240
go.bytebuilders.dev/license-verifier/apis/licenses
241241
go.bytebuilders.dev/license-verifier/apis/licenses/v1alpha1
242242
go.bytebuilders.dev/license-verifier/info
243-
# go.bytebuilders.dev/license-verifier/kubernetes v0.14.4
243+
# go.bytebuilders.dev/license-verifier/kubernetes v0.14.6
244244
## explicit; go 1.22.0
245245
go.bytebuilders.dev/license-verifier/kubernetes
246246
# golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842
@@ -888,8 +888,8 @@ sigs.k8s.io/structured-merge-diff/v4/value
888888
## explicit; go 1.12
889889
sigs.k8s.io/yaml
890890
sigs.k8s.io/yaml/goyaml.v2
891-
# stash.appscode.dev/apimachinery v0.38.1-0.20250114050236-cca8469a4c04
892-
## explicit; go 1.22.0
891+
# stash.appscode.dev/apimachinery v0.39.0
892+
## explicit; go 1.22.1
893893
stash.appscode.dev/apimachinery/apis
894894
stash.appscode.dev/apimachinery/apis/repositories
895895
stash.appscode.dev/apimachinery/apis/repositories/v1alpha1

vendor/stash.appscode.dev/apimachinery/client/clientset/versioned/typed/stash/v1beta1/util/backupbatch.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ func TryUpdateBackupBatch(ctx context.Context, c cs.StashV1beta1Interface, meta
9494
klog.Errorf("Attempt %d failed to update BackupBatch %s/%s due to %v.", attempt, cur.Namespace, cur.Name, e2)
9595
return false, nil
9696
})
97-
9897
if err != nil {
9998
err = fmt.Errorf("failed to update BackupBatch %s/%s after %d attempts due to %v", meta.Namespace, meta.Name, attempt, err)
10099
}
@@ -148,7 +147,6 @@ func UpdateBackupBatchStatus(
148147
}
149148
return e2 == nil, nil
150149
})
151-
152150
if err != nil {
153151
err = fmt.Errorf("failed to update status of BackupBatch %s/%s after %d attempts due to %v", meta.Namespace, meta.Name, attempt, err)
154152
}

vendor/stash.appscode.dev/apimachinery/client/clientset/versioned/typed/stash/v1beta1/util/backupblueprint.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ func TryUpdateBackupBlueprint(ctx context.Context, c cs.StashV1beta1Interface, m
9494
klog.Errorf("Attempt %d failed to update BackupBlueprint %s/%s due to %v.", attempt, cur.Namespace, cur.Name, e2)
9595
return false, nil
9696
})
97-
9897
if err != nil {
9998
err = fmt.Errorf("failed to update BackupBlueprint %s/%s after %d attempts due to %v", meta.Namespace, meta.Name, attempt, err)
10099
}

vendor/stash.appscode.dev/apimachinery/client/clientset/versioned/typed/stash/v1beta1/util/backupconfiguration.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ func TryUpdateBackupConfiguration(ctx context.Context, c cs.StashV1beta1Interfac
9494
klog.Errorf("Attempt %d failed to update BackupConfiguration %s/%s due to %v.", attempt, cur.Namespace, cur.Name, e2)
9595
return false, nil
9696
})
97-
9897
if err != nil {
9998
err = fmt.Errorf("failed to update BackupConfiguration %s/%s after %d attempts due to %v", meta.Namespace, meta.Name, attempt, err)
10099
}
@@ -148,7 +147,6 @@ func UpdateBackupConfigurationStatus(
148147
}
149148
return e2 == nil, nil
150149
})
151-
152150
if err != nil {
153151
err = fmt.Errorf("failed to update status of BackupConfiguration %s/%s after %d attempts due to %v", meta.Namespace, meta.Name, attempt, err)
154152
}

0 commit comments

Comments
 (0)