Skip to content

Commit 72bb2d8

Browse files
authored
Merge pull request #53 from fluxcd/meta-pkg
Implement `fluxcd/pkg/meta/api` in APIs
2 parents c439216 + d4e3755 commit 72bb2d8

18 files changed

+88
-215
lines changed

Makefile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,11 @@ manifests: controller-gen
6161
api-docs: gen-crd-api-reference-docs
6262
$(API_REF_GEN) -api-dir=./api/v1alpha1 -config=./hack/api-docs/config.json -template-dir=./hack/api-docs/template -out-file=./docs/api/notification.md
6363

64+
# Run go mod tidy
65+
tidy:
66+
go mod tidy
67+
cd api; go mod tidy
68+
6469
# Run go fmt against code
6570
fmt:
6671
go fmt ./...
@@ -73,7 +78,7 @@ vet:
7378

7479
# Generate code
7580
generate: controller-gen
76-
$(CONTROLLER_GEN) object:headerFile="hack/boilerplate.go.txt" paths="./..."
81+
cd api; $(CONTROLLER_GEN) object:headerFile="../hack/boilerplate.go.txt" paths="./..."
7782

7883
# Build the docker image
7984
docker-build: test

api/go.mod

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ module github.com/fluxcd/notification-controller/api
33
go 1.14
44

55
require (
6-
k8s.io/api v0.18.8
7-
k8s.io/apimachinery v0.18.8
8-
sigs.k8s.io/controller-runtime v0.6.2
6+
github.com/fluxcd/pkg/apis/meta v0.0.2
7+
k8s.io/api v0.18.9
8+
k8s.io/apimachinery v0.18.9
9+
sigs.k8s.io/controller-runtime v0.6.3
910
)

api/go.sum

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:l
2525
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
2626
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
2727
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
28-
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
2928
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
3029
github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
3130
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
@@ -58,10 +57,12 @@ github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb
5857
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
5958
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
6059
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
61-
github.com/evanphx/json-patch v0.0.0-20200808040245-162e5629780b/go.mod h1:NAJj0yf/KaRKURN6nyi7A9IZydMivZEm9oQLWNjfKDc=
6260
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
6361
github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
62+
github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
6463
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
64+
github.com/fluxcd/pkg/apis/meta v0.0.2 h1:kyA4Y0IzNjf1joBOnFqpWG7aNDHvtLExZcaHQM7qhRI=
65+
github.com/fluxcd/pkg/apis/meta v0.0.2/go.mod h1:nCNps5JJOcEQr3MNDmZqI4o0chjePSUYL6Q2ktDtotU=
6566
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
6667
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
6768
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
@@ -170,7 +171,6 @@ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpO
170171
github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
171172
github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
172173
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
173-
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
174174
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
175175
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
176176
github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
@@ -419,12 +419,12 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh
419419
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
420420
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
421421
k8s.io/api v0.18.6/go.mod h1:eeyxr+cwCjMdLAmr2W3RyDI0VvTawSg/3RFFBEnmZGI=
422-
k8s.io/api v0.18.8 h1:aIKUzJPb96f3fKec2lxtY7acZC9gQNDLVhfSGpxBAC4=
423-
k8s.io/api v0.18.8/go.mod h1:d/CXqwWv+Z2XEG1LgceeDmHQwpUJhROPx16SlxJgERY=
422+
k8s.io/api v0.18.9 h1:7VDtivqwbvLOf8hmXSd/PDSSbpCBq49MELg84EYBYiQ=
423+
k8s.io/api v0.18.9/go.mod h1:9u/h6sUh6FxfErv7QqetX1EB3yBMIYOBXzdcf0Gf0rc=
424424
k8s.io/apiextensions-apiserver v0.18.6/go.mod h1:lv89S7fUysXjLZO7ke783xOwVTm6lKizADfvUM/SS/M=
425425
k8s.io/apimachinery v0.18.6/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko=
426-
k8s.io/apimachinery v0.18.8 h1:jimPrycCqgx2QPearX3to1JePz7wSbVLq+7PdBTTwQ0=
427-
k8s.io/apimachinery v0.18.8/go.mod h1:6sQd+iHEqmOtALqOFjSWp2KZ9F0wlU/nWm0ZgsYWMig=
426+
k8s.io/apimachinery v0.18.9 h1:3ZABKQx3F3xPWlsGhCfUl8W+JXRRblV6Wo2A3zn0pvY=
427+
k8s.io/apimachinery v0.18.9/go.mod h1:PF5taHbXgTEJLU+xMypMmYTXTWPJ5LaW8bfsisxnEXk=
428428
k8s.io/apiserver v0.18.6/go.mod h1:Zt2XvTHuaZjBz6EFYzpp+X4hTmgWGy8AthNVnTdm3Wg=
429429
k8s.io/client-go v0.18.6/go.mod h1:/fwtGLjYMS1MaM5oi+eXhKwG+1UHidUEXRh6cNsdO0Q=
430430
k8s.io/code-generator v0.18.6/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c=
@@ -440,8 +440,8 @@ k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C
440440
k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
441441
k8s.io/utils v0.0.0-20200603063816-c1c6865ac451/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
442442
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.7/go.mod h1:PHgbrJT7lCHcxMU+mDHEm+nx46H4zuuHZkDP6icnhu0=
443-
sigs.k8s.io/controller-runtime v0.6.2 h1:jkAnfdTYBpFwlmBn3pS5HFO06SfxvnTZ1p5PeEF/zAA=
444-
sigs.k8s.io/controller-runtime v0.6.2/go.mod h1:vhcq/rlnENJ09SIRp3EveTaZ0yqH526hjf9iJdbUJ/E=
443+
sigs.k8s.io/controller-runtime v0.6.3 h1:SBbr+inLPEKhvlJtrvDcwIpm+uhDvp63Bl72xYJtoOE=
444+
sigs.k8s.io/controller-runtime v0.6.3/go.mod h1:WlZNXcM0++oyaQt4B7C2lEE5JYRs8vJUzRP4N4JpdAY=
445445
sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
446446
sigs.k8s.io/structured-merge-diff/v3 v3.0.0 h1:dOmIZBMfhcHS09XZkMyUgkq5trg3/jRyJYFZUiaOp8E=
447447
sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=

api/v1alpha1/alert_types.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ package v1alpha1
1919
import (
2020
corev1 "k8s.io/api/core/v1"
2121
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
22+
23+
"github.com/fluxcd/pkg/apis/meta"
2224
)
2325

2426
// AlertSpec defines an alerting rule for events involving a list of objects
@@ -47,7 +49,7 @@ type AlertSpec struct {
4749
// AlertStatus defines the observed state of Alert
4850
type AlertStatus struct {
4951
// +optional
50-
Conditions []Condition `json:"conditions,omitempty"`
52+
Conditions []meta.Condition `json:"conditions,omitempty"`
5153
}
5254

5355
// +genclient

api/v1alpha1/condition_types.go

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -16,54 +16,10 @@ limitations under the License.
1616

1717
package v1alpha1
1818

19-
import (
20-
corev1 "k8s.io/api/core/v1"
21-
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
22-
)
23-
24-
// Condition contains condition information for a notification object.
25-
type Condition struct {
26-
// Type of the condition, currently ('Ready').
27-
// +required
28-
Type string `json:"type"`
29-
30-
// Status of the condition, one of ('True', 'False', 'Unknown').
31-
// +required
32-
Status corev1.ConditionStatus `json:"status"`
33-
34-
// LastTransitionTime is the timestamp corresponding to the last status
35-
// change of this condition.
36-
// +required
37-
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
38-
39-
// Reason is a brief machine readable explanation for the condition's last
40-
// transition.
41-
// +required
42-
Reason string `json:"reason,omitempty"`
43-
44-
// Message is a human readable description of the details of the last
45-
// transition, complementing reason.
46-
// +optional
47-
Message string `json:"message,omitempty"`
48-
}
49-
50-
const (
51-
// ReadyCondition represents the fact that a given object has passed
52-
// validation and was acknowledge by the controller.
53-
ReadyCondition string = "Ready"
54-
)
55-
5619
const (
5720
// InitializedReason represents the fact that a given resource has been initialized.
5821
InitializedReason string = "Initialized"
5922

60-
// ProgressingReason represents the fact that a resource reconciliation
61-
// is underway.
62-
ProgressingReason string = "Progressing"
63-
6423
// TokenNotFound represents the fact that receiver token can't be found.
6524
TokenNotFoundReason string = "TokenNotFound"
66-
67-
// SuspendedReason represents the fact that the resource reconciliation is suspended.
68-
SuspendedReason string = "Suspended"
6925
)

api/v1alpha1/provider_types.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ package v1alpha1
1919
import (
2020
corev1 "k8s.io/api/core/v1"
2121
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
22+
23+
"github.com/fluxcd/pkg/apis/meta"
2224
)
2325

2426
// ProviderSpec defines the desired state of Provider
@@ -58,7 +60,7 @@ const (
5860
// ProviderStatus defines the observed state of Provider
5961
type ProviderStatus struct {
6062
// +optional
61-
Conditions []Condition `json:"conditions,omitempty"`
63+
Conditions []meta.Condition `json:"conditions,omitempty"`
6264
}
6365

6466
// +genclient

api/v1alpha1/receiver_types.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ package v1alpha1
1919
import (
2020
corev1 "k8s.io/api/core/v1"
2121
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
22+
23+
"github.com/fluxcd/pkg/apis/meta"
2224
)
2325

2426
// ReceiverSpec defines the desired state of Receiver
@@ -52,7 +54,7 @@ type ReceiverSpec struct {
5254
// ReceiverStatus defines the observed state of Receiver
5355
type ReceiverStatus struct {
5456
// +optional
55-
Conditions []Condition `json:"conditions,omitempty"`
57+
Conditions []meta.Condition `json:"conditions,omitempty"`
5658

5759
// Generated webhook URL in the format
5860
// of '/hook/sha256sum(token+name+namespace)'.
@@ -69,9 +71,9 @@ const (
6971
)
7072

7173
func ReceiverReady(receiver Receiver, reason, message, url string) Receiver {
72-
receiver.Status.Conditions = []Condition{
74+
receiver.Status.Conditions = []meta.Condition{
7375
{
74-
Type: ReadyCondition,
76+
Type: meta.ReadyCondition,
7577
Status: corev1.ConditionTrue,
7678
LastTransitionTime: metav1.Now(),
7779
Reason: reason,
@@ -84,9 +86,9 @@ func ReceiverReady(receiver Receiver, reason, message, url string) Receiver {
8486
}
8587

8688
func ReceiverNotReady(receiver Receiver, reason, message string) Receiver {
87-
receiver.Status.Conditions = []Condition{
89+
receiver.Status.Conditions = []meta.Condition{
8890
{
89-
Type: ReadyCondition,
91+
Type: meta.ReadyCondition,
9092
Status: corev1.ConditionFalse,
9193
LastTransitionTime: metav1.Now(),
9294
Reason: reason,

api/v1alpha1/zz_generated.deepcopy.go

Lines changed: 4 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/bases/notification.toolkit.fluxcd.io_alerts.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ spec:
105105
properties:
106106
conditions:
107107
items:
108-
description: Condition contains condition information for a notification
109-
object.
108+
description: Condition contains condition information of a toolkit
109+
resource.
110110
properties:
111111
lastTransitionTime:
112112
description: LastTransitionTime is the timestamp corresponding
@@ -126,7 +126,7 @@ spec:
126126
'Unknown').
127127
type: string
128128
type:
129-
description: Type of the condition, currently ('Ready').
129+
description: Type of the condition.
130130
type: string
131131
required:
132132
- status

config/crd/bases/notification.toolkit.fluxcd.io_providers.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ spec:
8282
properties:
8383
conditions:
8484
items:
85-
description: Condition contains condition information for a notification
86-
object.
85+
description: Condition contains condition information of a toolkit
86+
resource.
8787
properties:
8888
lastTransitionTime:
8989
description: LastTransitionTime is the timestamp corresponding
@@ -103,7 +103,7 @@ spec:
103103
'Unknown').
104104
type: string
105105
type:
106-
description: Type of the condition, currently ('Ready').
106+
description: Type of the condition.
107107
type: string
108108
required:
109109
- status

0 commit comments

Comments
 (0)