Skip to content

Commit

Permalink
faet(affinity): support affinity
Browse files Browse the repository at this point in the history
Signed-off-by: cndoit18 <cndoit18@outlook.com>
  • Loading branch information
cndoit18 committed Aug 29, 2022
1 parent 8a09ac2 commit 5bd5e72
Show file tree
Hide file tree
Showing 20 changed files with 30,074 additions and 77 deletions.
12 changes: 12 additions & 0 deletions apis/goharbor.io/v1beta1/chartmuseum_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,18 @@ type ChartMuseumSpec struct {

// +kubebuilder:validation:Optional
Network *harbormetav1.Network `json:"network,omitempty"`

// +kubebuilder:validation:Optional
// Affinity is the configuration of the pod affinity.
Affinity *corev1.Affinity `json:"affinity,omitempty"`
}

func (c *ChartMuseum) SetAffinity(affinity *corev1.Affinity) {
c.Spec.Affinity = affinity
}

func (c *ChartMuseum) GetAffinity() *corev1.Affinity {
return c.Spec.Affinity
}

type ChartMuseumServerSpec struct {
Expand Down
13 changes: 13 additions & 0 deletions apis/goharbor.io/v1beta1/core_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package v1beta1

import (
harbormetav1 "github.com/goharbor/harbor-operator/apis/meta/v1alpha1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

Expand Down Expand Up @@ -84,6 +85,18 @@ type CoreSpec struct {

// +kubebuilder:validation:Optional
Trace *harbormetav1.TraceSpec `json:"trace,omitempty"`

// +kubebuilder:validation:Optional
// Affinity is the configuration of the pod affinity.
Affinity *corev1.Affinity `json:"affinity,omitempty"`
}

func (c *Core) SetAffinity(affinity *corev1.Affinity) {
c.Spec.Affinity = affinity
}

func (c *Core) GetAffinity() *corev1.Affinity {
return c.Spec.Affinity
}

type CoreRedisSpec struct {
Expand Down
13 changes: 13 additions & 0 deletions apis/goharbor.io/v1beta1/exporter_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"strconv"

harbormetav1 "github.com/goharbor/harbor-operator/apis/meta/v1alpha1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

Expand Down Expand Up @@ -71,6 +72,18 @@ type ExporterSpec struct {

// +kubebuilder:validation:Optional
Network *harbormetav1.Network `json:"network,omitempty"`

// +kubebuilder:validation:Optional
// Affinity is the configuration of the pod affinity.
Affinity *corev1.Affinity `json:"affinity,omitempty"`
}

func (e *Exporter) SetAffinity(affinity *corev1.Affinity) {
e.Spec.Affinity = affinity
}

func (e *Exporter) GetAffinity() *corev1.Affinity {
return e.Spec.Affinity
}

type ExporterCacheSpec struct {
Expand Down
12 changes: 12 additions & 0 deletions apis/goharbor.io/v1beta1/harbor_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,14 @@ func (h *Harbor) deepCopyImageSpecInto(ctx context.Context, component harbormeta
}
}

func (h *Harbor) SetAffinity(affinity *corev1.Affinity) {
h.Spec.Affinity = affinity
}

func (h *Harbor) GetAffinity() *corev1.Affinity {
return h.Spec.Affinity
}

// +kubebuilder:object:root=true
// +resource:path=harbors
// HarborList contains a list of Harbor.
Expand Down Expand Up @@ -207,6 +215,10 @@ type HarborSpec struct {
// +kubebuilder:validation:Optional
// Trace settings for the harbor
Trace *harbormetav1.TraceSpec `json:"trace,omitempty"`

// +kubebuilder:validation:Optional
// Affinity is the configuration of the pod affinity.
Affinity *corev1.Affinity `json:"affinity,omitempty"`
}

func (spec *HarborSpec) ValidateNotary() *field.Error {
Expand Down
12 changes: 12 additions & 0 deletions apis/goharbor.io/v1beta1/harborcluster_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,18 @@ type EmbeddedHarborSpec struct {
// +kubebuilder:validation:Pattern="[0-9]+\\.[0-9]+\\.[0-9]+"
// The version of the harbor, eg 2.1.2
Version string `json:"version"`

// +kubebuilder:validation:Optional
// Affinity is the configuration of the pod affinity.
Affinity *corev1.Affinity `json:"affinity,omitempty"`
}

func (harborcluster *HarborCluster) SetAffinity(affinity *corev1.Affinity) {
harborcluster.Spec.Affinity = affinity
}

func (harborcluster *HarborCluster) GetAffinity() *corev1.Affinity {
return harborcluster.Spec.Affinity
}

type EmbeddedHarborComponentsSpec struct {
Expand Down
12 changes: 12 additions & 0 deletions apis/goharbor.io/v1beta1/jobservice_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,18 @@ type JobServiceSpec struct {

// +kubebuilder:validation:Optional
Trace *harbormetav1.TraceSpec `json:"trace,omitempty"`

// +kubebuilder:validation:Optional
// Affinity is the configuration of the pod affinity.
Affinity *corev1.Affinity `json:"affinity,omitempty"`
}

func (jobservice *JobService) SetAffinity(affinity *corev1.Affinity) {
jobservice.Spec.Affinity = affinity
}

func (jobservice *JobService) GetAffinity() *corev1.Affinity {
return jobservice.Spec.Affinity
}

type JobServiceTokenSpec struct {
Expand Down
13 changes: 13 additions & 0 deletions apis/goharbor.io/v1beta1/notaryserver_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package v1beta1

import (
harbormetav1 "github.com/goharbor/harbor-operator/apis/meta/v1alpha1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

Expand Down Expand Up @@ -59,6 +60,18 @@ type NotaryServerSpec struct {

// +kubebuilder:validation:Optional
Network *harbormetav1.Network `json:"network,omitempty"`

// +kubebuilder:validation:Optional
// Affinity is the configuration of the pod affinity.
Affinity *corev1.Affinity `json:"affinity,omitempty"`
}

func (n *NotaryServer) SetAffinity(affinity *corev1.Affinity) {
n.Spec.Affinity = affinity
}

func (n *NotaryServer) GetAffinity() *corev1.Affinity {
return n.Spec.Affinity
}

type NotaryServerTrustServiceSpec struct {
Expand Down
13 changes: 13 additions & 0 deletions apis/goharbor.io/v1beta1/notarysigner_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package v1beta1

import (
harbormetav1 "github.com/goharbor/harbor-operator/apis/meta/v1alpha1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

Expand Down Expand Up @@ -55,6 +56,18 @@ type NotarySignerSpec struct {

// +kubebuilder:validation:Optional
Network *harbormetav1.Network `json:"network,omitempty"`

// +kubebuilder:validation:Optional
// Affinity is the configuration of the pod affinity.
Affinity *corev1.Affinity `json:"affinity,omitempty"`
}

func (n *NotarySigner) SetAffinity(affinity *corev1.Affinity) {
n.Spec.Affinity = affinity
}

func (n *NotarySigner) GetAffinity() *corev1.Affinity {
return n.Spec.Affinity
}

type NotarySignerAuthenticationSpec struct {
Expand Down
13 changes: 13 additions & 0 deletions apis/goharbor.io/v1beta1/portal_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package v1beta1

import (
harbormetav1 "github.com/goharbor/harbor-operator/apis/meta/v1alpha1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

Expand Down Expand Up @@ -51,6 +52,18 @@ type PortalSpec struct {
// +kubebuilder:validation:Optional
// Network settings for the portal
Network *harbormetav1.Network `json:"network,omitempty"`

// +kubebuilder:validation:Optional
// Affinity is the configuration of the pod affinity.
Affinity *corev1.Affinity `json:"affinity,omitempty"`
}

func (p *Portal) SetAffinity(affinity *corev1.Affinity) {
p.Spec.Affinity = affinity
}

func (p *Portal) GetAffinity() *corev1.Affinity {
return p.Spec.Affinity
}

func init() { // nolint:gochecknoinits
Expand Down
12 changes: 12 additions & 0 deletions apis/goharbor.io/v1beta1/registry_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,18 @@ type RegistrySpec struct {

// +kubebuilder:validation:Optional
Trace *harbormetav1.TraceSpec `json:"trace,omitempty"`

// +kubebuilder:validation:Optional
// Affinity is the configuration of the pod affinity.
Affinity *corev1.Affinity `json:"affinity,omitempty"`
}

func (r *Registry) SetAffinity(affinity *corev1.Affinity) {
r.Spec.Affinity = affinity
}

func (r *Registry) GetAffinity() *corev1.Affinity {
return r.Spec.Affinity
}

func (r *RegistrySpec) Default() {
Expand Down
13 changes: 13 additions & 0 deletions apis/goharbor.io/v1beta1/registryctl_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package v1beta1

import (
harbormetav1 "github.com/goharbor/harbor-operator/apis/meta/v1alpha1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

Expand Down Expand Up @@ -65,6 +66,18 @@ type RegistryControllerSpec struct {

// +kubebuilder:validation:Optional
Network *harbormetav1.Network `json:"network,omitempty"`

// +kubebuilder:validation:Optional
// Affinity is the configuration of the pod affinity.
Affinity *corev1.Affinity `json:"affinity,omitempty"`
}

func (r *RegistryController) SetAffinity(affinity *corev1.Affinity) {
r.Spec.Affinity = affinity
}

func (r *RegistryController) GetAffinity() *corev1.Affinity {
return r.Spec.Affinity
}

type RegistryControllerAuthenticationSpec struct {
Expand Down
12 changes: 12 additions & 0 deletions apis/goharbor.io/v1beta1/trivy_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,18 @@ type TrivySpec struct {
// +kubebuilder:validation:Optional
// +kubebuilder:default=false
OfflineScan bool `json:"offlineScan"`

// +kubebuilder:validation:Optional
// Affinity is the configuration of the pod affinity.
Affinity *corev1.Affinity `json:"affinity,omitempty"`
}

func (t *Trivy) SetAffinity(affinity *corev1.Affinity) {
t.Spec.Affinity = affinity
}

func (t *Trivy) GetAffinity() *corev1.Affinity {
return t.Spec.Affinity
}

type TrivyUpdateSpec struct {
Expand Down

0 comments on commit 5bd5e72

Please sign in to comment.