Skip to content

Commit 4047767

Browse files
authored
Prepare for release 8.0.21-v29 (#832)
ProductLine: Stash Release: v2025.2.10 Release-tracker: stashed/CHANGELOG#80 Signed-off-by: 1gtm <1gtm@appscode.com>
1 parent 9b47b6b commit 4047767

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
gomodules.xyz/flags v0.1.3
1111
gomodules.xyz/go-sh v0.1.0
1212
gomodules.xyz/logs v0.0.7
@@ -17,7 +17,7 @@ require (
1717
kmodules.xyz/client-go v0.30.44
1818
kmodules.xyz/custom-resources v0.30.0
1919
kmodules.xyz/offshoot-api v0.30.1
20-
stash.appscode.dev/apimachinery v0.38.1-0.20250114050236-cca8469a4c04
20+
stash.appscode.dev/apimachinery v0.39.0
2121
)
2222

2323
require (
@@ -79,8 +79,8 @@ require (
7979
github.com/spf13/pflag v1.0.5 // indirect
8080
github.com/yudai/gojsondiff v1.0.0 // indirect
8181
github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect
82-
go.bytebuilders.dev/license-proxyserver v0.0.19 // indirect
83-
go.bytebuilders.dev/license-verifier v0.14.4 // indirect
82+
go.bytebuilders.dev/license-proxyserver v0.0.20 // indirect
83+
go.bytebuilders.dev/license-verifier v0.14.6 // indirect
8484
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect
8585
golang.org/x/net v0.33.0 // indirect
8686
golang.org/x/oauth2 v0.22.0 // indirect

go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -314,12 +314,12 @@ github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
314314
github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
315315
github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0=
316316
github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
317-
go.bytebuilders.dev/license-proxyserver v0.0.19 h1:mY7zPDN0JCw2a1UajOuQUQKQKjjm5KBx2CbkT/+a1N8=
318-
go.bytebuilders.dev/license-proxyserver v0.0.19/go.mod h1:B3Ig2Fo1qUollSV9GgfyFK8tXBI0RmUSpP1KFMZ2N7Q=
319-
go.bytebuilders.dev/license-verifier v0.14.4 h1:JwTGQFew4nudwv8Pk3BdfQRts8KfgUQ5xhu138w1wt4=
320-
go.bytebuilders.dev/license-verifier v0.14.4/go.mod h1:LqWXJKee5ofDcCYM6T5WilYlUc4NlKeZz58tHwO8GEs=
321-
go.bytebuilders.dev/license-verifier/kubernetes v0.14.4 h1:NeHq6SuVhRIVaMW2kSXdr8DcuUOg2jVL9rsODIQp9Fc=
322-
go.bytebuilders.dev/license-verifier/kubernetes v0.14.4/go.mod h1:1C7SaOJShC60mIXP1hXBaDWGpb0hrHQ4p4nUEvI6YQY=
317+
go.bytebuilders.dev/license-proxyserver v0.0.20 h1:gzRSwUmX/LSwPVE6T9oy5RLIutU1EeI7hmS+QGsYBY4=
318+
go.bytebuilders.dev/license-proxyserver v0.0.20/go.mod h1:2PJmjMCXncVyeP3fIVQ+hwZnuhmWSTmbcuEMBrFKIac=
319+
go.bytebuilders.dev/license-verifier v0.14.6 h1:0iHYGURUbx8toiXvFKftn/qMpeHzqHbAgEnEzOCNLvo=
320+
go.bytebuilders.dev/license-verifier v0.14.6/go.mod h1:LqWXJKee5ofDcCYM6T5WilYlUc4NlKeZz58tHwO8GEs=
321+
go.bytebuilders.dev/license-verifier/kubernetes v0.14.6 h1:NxmASX0A3lu+ABd4zuT5Ib+I63y3j5uJxmlUFEGxqWg=
322+
go.bytebuilders.dev/license-verifier/kubernetes v0.14.6/go.mod h1:N5QxsJF4EGLduOsTsW9gGfRuuMvN33T8pg5Y9NfKzuo=
323323
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
324324
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
325325
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
@@ -554,5 +554,5 @@ sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+s
554554
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
555555
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
556556
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
557-
stash.appscode.dev/apimachinery v0.38.1-0.20250114050236-cca8469a4c04 h1:NtQeear5dlS9PM6LoPVlfqRflavGvODoxa65RnI+w5Y=
558-
stash.appscode.dev/apimachinery v0.38.1-0.20250114050236-cca8469a4c04/go.mod h1:HoMcNxSg7TUHEhbHE+JvdhICrXoEKRvfLuFBKAM40ng=
557+
stash.appscode.dev/apimachinery v0.39.0 h1:jUYOFmpFgKhtsEbtmamlSgQTQ01boUzkv+25iAXzK5I=
558+
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
@@ -208,20 +208,20 @@ github.com/yudai/golcs
208208
# github.com/zeebo/xxh3 v1.0.2
209209
## explicit; go 1.17
210210
github.com/zeebo/xxh3
211-
# go.bytebuilders.dev/license-proxyserver v0.0.19
211+
# go.bytebuilders.dev/license-proxyserver v0.0.20
212212
## explicit; go 1.22.0
213213
go.bytebuilders.dev/license-proxyserver/apis/proxyserver
214214
go.bytebuilders.dev/license-proxyserver/apis/proxyserver/v1alpha1
215215
go.bytebuilders.dev/license-proxyserver/client/clientset/versioned
216216
go.bytebuilders.dev/license-proxyserver/client/clientset/versioned/scheme
217217
go.bytebuilders.dev/license-proxyserver/client/clientset/versioned/typed/proxyserver/v1alpha1
218-
# go.bytebuilders.dev/license-verifier v0.14.4
218+
# go.bytebuilders.dev/license-verifier v0.14.6
219219
## explicit; go 1.21
220220
go.bytebuilders.dev/license-verifier
221221
go.bytebuilders.dev/license-verifier/apis/licenses
222222
go.bytebuilders.dev/license-verifier/apis/licenses/v1alpha1
223223
go.bytebuilders.dev/license-verifier/info
224-
# go.bytebuilders.dev/license-verifier/kubernetes v0.14.4
224+
# go.bytebuilders.dev/license-verifier/kubernetes v0.14.6
225225
## explicit; go 1.22.0
226226
go.bytebuilders.dev/license-verifier/kubernetes
227227
# golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842
@@ -820,8 +820,8 @@ sigs.k8s.io/structured-merge-diff/v4/value
820820
## explicit; go 1.12
821821
sigs.k8s.io/yaml
822822
sigs.k8s.io/yaml/goyaml.v2
823-
# stash.appscode.dev/apimachinery v0.38.1-0.20250114050236-cca8469a4c04
824-
## explicit; go 1.22.0
823+
# stash.appscode.dev/apimachinery v0.39.0
824+
## explicit; go 1.22.1
825825
stash.appscode.dev/apimachinery/apis
826826
stash.appscode.dev/apimachinery/apis/repositories
827827
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)