Skip to content

Commit d34b334

Browse files
committed
Add PVC storage driver
Signed-off-by: Gladkov Alexey <[email protected]>
1 parent f0892b4 commit d34b334

21 files changed

+583
-58
lines changed

pkg/apis/imageregistry/v1/types.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,12 +183,17 @@ type ImageRegistryConfigStorageFilesystem struct {
183183
VolumeSource corev1.VolumeSource `json:"volumeSource,omitempty"`
184184
}
185185

186+
type ImageRegistryConfigStoragePVC struct {
187+
Claim string `json:"claim,omitempty"`
188+
}
189+
186190
type ImageRegistryConfigStorage struct {
187191
Azure *ImageRegistryConfigStorageAzure `json:"azure,omitempty"`
188192
Filesystem *ImageRegistryConfigStorageFilesystem `json:"filesystem,omitempty"`
189193
GCS *ImageRegistryConfigStorageGCS `json:"gcs,omitempty"`
190194
S3 *ImageRegistryConfigStorageS3 `json:"s3,omitempty"`
191195
Swift *ImageRegistryConfigStorageSwift `json:"swift,omitempty"`
196+
PVC *ImageRegistryConfigStoragePVC `json:"pvc,omitempty"`
192197
}
193198

194199
type ImageRegistryConfigRequests struct {

pkg/apis/imageregistry/v1/zz_generated.deepcopy.go

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

pkg/resource/caconfig.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
configlisters "github.com/openshift/client-go/config/listers/config/v1"
1212
imageregistryv1 "github.com/openshift/cluster-image-registry-operator/pkg/apis/imageregistry/v1"
1313
"github.com/openshift/cluster-image-registry-operator/pkg/parameters"
14+
"github.com/openshift/cluster-image-registry-operator/pkg/util"
1415
)
1516

1617
var _ Mutator = &generatorCAConfig{}
@@ -35,7 +36,7 @@ func newGeneratorCAConfig(lister corelisters.ConfigMapNamespaceLister, imageConf
3536
imageConfigName: params.ImageConfig.Name,
3637
name: params.CAConfig.Name,
3738
namespace: params.Deployment.Namespace,
38-
owner: asOwner(cr),
39+
owner: util.AsOwner(cr),
3940
}
4041
}
4142

@@ -81,7 +82,7 @@ func (gcac *generatorCAConfig) expected() (runtime.Object, error) {
8182
}
8283
}
8384

84-
addOwnerRefToObject(cm, gcac.owner)
85+
util.AddOwnerRefToObject(cm, gcac.owner)
8586

8687
return cm, nil
8788
}

pkg/resource/clusterrole.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
rbaclisters "k8s.io/client-go/listers/rbac/v1"
99

1010
imageregistryv1 "github.com/openshift/cluster-image-registry-operator/pkg/apis/imageregistry/v1"
11+
"github.com/openshift/cluster-image-registry-operator/pkg/util"
1112
)
1213

1314
var _ Mutator = &generatorClusterRole{}
@@ -22,7 +23,7 @@ func newGeneratorClusterRole(lister rbaclisters.ClusterRoleLister, client rbacse
2223
return &generatorClusterRole{
2324
lister: lister,
2425
client: client,
25-
owner: asOwner(cr),
26+
owner: util.AsOwner(cr),
2627
}
2728
}
2829

@@ -93,7 +94,7 @@ func (gcr *generatorClusterRole) expected() (runtime.Object, error) {
9394
},
9495
}
9596

96-
addOwnerRefToObject(role, gcr.owner)
97+
util.AddOwnerRefToObject(role, gcr.owner)
9798

9899
return role, nil
99100
}

pkg/resource/clusterrolebinding.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99

1010
imageregistryv1 "github.com/openshift/cluster-image-registry-operator/pkg/apis/imageregistry/v1"
1111
"github.com/openshift/cluster-image-registry-operator/pkg/parameters"
12+
"github.com/openshift/cluster-image-registry-operator/pkg/util"
1213
)
1314

1415
var _ Mutator = &generatorClusterRoleBinding{}
@@ -27,7 +28,7 @@ func newGeneratorClusterRoleBinding(lister rbaclisters.ClusterRoleBindingLister,
2728
client: client,
2829
saName: params.Pod.ServiceAccount,
2930
saNamespace: params.Deployment.Namespace,
30-
owner: asOwner(cr),
31+
owner: util.AsOwner(cr),
3132
}
3233
}
3334

@@ -65,7 +66,7 @@ func (gcrb *generatorClusterRoleBinding) expected() (runtime.Object, error) {
6566
},
6667
}
6768

68-
addOwnerRefToObject(crb, gcrb.owner)
69+
util.AddOwnerRefToObject(crb, gcrb.owner)
6970

7071
return crb, nil
7172
}

pkg/resource/deployment.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
imageregistryv1 "github.com/openshift/cluster-image-registry-operator/pkg/apis/imageregistry/v1"
1313
"github.com/openshift/cluster-image-registry-operator/pkg/parameters"
1414
"github.com/openshift/cluster-image-registry-operator/pkg/storage"
15+
"github.com/openshift/cluster-image-registry-operator/pkg/util"
1516
)
1617

1718
var _ Mutator = &generatorDeployment{}
@@ -83,7 +84,7 @@ func (gd *generatorDeployment) expected() (runtime.Object, error) {
8384
},
8485
}
8586

86-
addOwnerRefToObject(deploy, asOwner(gd.cr))
87+
util.AddOwnerRefToObject(deploy, util.AsOwner(gd.cr))
8788

8889
return deploy, nil
8990
}

pkg/resource/generator.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,11 @@ func (g *Generator) removeObsoleteRoutes(cr *imageregistryv1.Config) error {
171171
}
172172

173173
func (g *Generator) Apply(cr *imageregistryv1.Config) error {
174+
err := g.syncStorage(cr)
175+
if err != nil {
176+
return fmt.Errorf("unable to sync storage configuration: %s", err)
177+
}
178+
174179
generators, err := g.list(cr)
175180
if err != nil {
176181
return fmt.Errorf("unable to get generators: %s", err)
@@ -214,11 +219,6 @@ func (g *Generator) Apply(cr *imageregistryv1.Config) error {
214219
return fmt.Errorf("unable to remove obsolete routes: %s", err)
215220
}
216221

217-
err = g.syncStorage(cr)
218-
if err != nil {
219-
return fmt.Errorf("unable to sync storage configuration: %s", err)
220-
}
221-
222222
return nil
223223
}
224224

pkg/resource/imageconfig.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919

2020
imageregistryv1 "github.com/openshift/cluster-image-registry-operator/pkg/apis/imageregistry/v1"
2121
"github.com/openshift/cluster-image-registry-operator/pkg/parameters"
22+
"github.com/openshift/cluster-image-registry-operator/pkg/util"
2223
)
2324

2425
var _ Mutator = &generatorImageConfig{}
@@ -43,7 +44,7 @@ func newGeneratorImageConfig(configLister configlisters.ImageLister, routeLister
4344
name: params.ImageConfig.Name,
4445
namespace: params.Deployment.Namespace,
4546
serviceName: params.Service.Name,
46-
owner: asOwner(cr),
47+
owner: util.AsOwner(cr),
4748
}
4849
}
4950

pkg/resource/route.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111

1212
imageregistryv1 "github.com/openshift/cluster-image-registry-operator/pkg/apis/imageregistry/v1"
1313
"github.com/openshift/cluster-image-registry-operator/pkg/parameters"
14+
"github.com/openshift/cluster-image-registry-operator/pkg/util"
1415
)
1516

1617
var _ Mutator = &generatorRoute{}
@@ -32,7 +33,7 @@ func newGeneratorRoute(lister routelisters.RouteNamespaceLister, secretLister co
3233
client: client,
3334
namespace: params.Deployment.Namespace,
3435
serviceName: params.Service.Name,
35-
owner: asOwner(cr),
36+
owner: util.AsOwner(cr),
3637
route: route,
3738
}
3839
}
@@ -83,7 +84,7 @@ func (gr *generatorRoute) expected() (runtime.Object, error) {
8384
}
8485
}
8586

86-
addOwnerRefToObject(r, gr.owner)
87+
util.AddOwnerRefToObject(r, gr.owner)
8788

8889
return r, nil
8990
}

pkg/resource/secret.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
imageregistryv1 "github.com/openshift/cluster-image-registry-operator/pkg/apis/imageregistry/v1"
1111
"github.com/openshift/cluster-image-registry-operator/pkg/parameters"
1212
"github.com/openshift/cluster-image-registry-operator/pkg/storage"
13+
"github.com/openshift/cluster-image-registry-operator/pkg/util"
1314
)
1415

1516
var _ Mutator = &generatorSecret{}
@@ -30,7 +31,7 @@ func newGeneratorSecret(lister corelisters.SecretNamespaceLister, client coreset
3031
driver: driver,
3132
name: imageregistryv1.ImageRegistryPrivateConfiguration,
3233
namespace: params.Deployment.Namespace,
33-
owner: asOwner(cr),
34+
owner: util.AsOwner(cr),
3435
}
3536
}
3637

@@ -61,7 +62,7 @@ func (gs *generatorSecret) expected() (runtime.Object, error) {
6162

6263
sec.StringData = data
6364

64-
addOwnerRefToObject(sec, gs.owner)
65+
util.AddOwnerRefToObject(sec, gs.owner)
6566

6667
return sec, nil
6768
}

pkg/resource/service.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
imageregistryv1 "github.com/openshift/cluster-image-registry-operator/pkg/apis/imageregistry/v1"
1414
"github.com/openshift/cluster-image-registry-operator/pkg/parameters"
1515
"github.com/openshift/cluster-image-registry-operator/pkg/resource/strategy"
16+
"github.com/openshift/cluster-image-registry-operator/pkg/util"
1617
)
1718

1819
var _ Mutator = &generatorService{}
@@ -37,7 +38,7 @@ func newGeneratorService(lister corelisters.ServiceNamespaceLister, client cores
3738
labels: params.Deployment.Labels,
3839
port: params.Container.Port,
3940
secretName: imageregistryv1.ImageRegistryName + "-tls",
40-
owner: asOwner(cr),
41+
owner: util.AsOwner(cr),
4142
}
4243
}
4344

@@ -77,7 +78,7 @@ func (gs *generatorService) expected() *corev1.Service {
7778
"service.alpha.openshift.io/serving-cert-secret-name": gs.secretName,
7879
}
7980

80-
addOwnerRefToObject(svc, gs.owner)
81+
util.AddOwnerRefToObject(svc, gs.owner)
8182

8283
return svc
8384
}

pkg/resource/serviceaccount.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99

1010
imageregistryv1 "github.com/openshift/cluster-image-registry-operator/pkg/apis/imageregistry/v1"
1111
"github.com/openshift/cluster-image-registry-operator/pkg/parameters"
12+
"github.com/openshift/cluster-image-registry-operator/pkg/util"
1213
)
1314

1415
var _ Mutator = &generatorServiceAccount{}
@@ -27,7 +28,7 @@ func newGeneratorServiceAccount(lister corelisters.ServiceAccountNamespaceLister
2728
client: client,
2829
name: params.Pod.ServiceAccount,
2930
namespace: params.Deployment.Namespace,
30-
owner: asOwner(cr),
31+
owner: util.AsOwner(cr),
3132
}
3233
}
3334

@@ -51,7 +52,7 @@ func (gsa *generatorServiceAccount) expected() (runtime.Object, error) {
5152
},
5253
}
5354

54-
addOwnerRefToObject(sa, gsa.owner)
55+
util.AddOwnerRefToObject(sa, gsa.owner)
5556

5657
return sa, nil
5758
}

pkg/resource/utils.go

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)