Skip to content

Commit f7a3c6d

Browse files
author
Per Goncalves da Silva
committed
patch default policy load error handling
Signed-off-by: Per Goncalves da Silva <pegoncal@redhat.com>
1 parent 64c2a99 commit f7a3c6d

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

catalogd/internal/source/containers_image.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ import (
3333

3434
const ConfigDirLabel = "operators.operatorframework.io.index.configs.v1"
3535

36+
var insecurePolicy = []byte(`{"default":[{"type":"insecureAcceptAnything"}]}`)
37+
3638
type ContainersImageRegistry struct {
3739
BaseCachePath string
3840
SourceContextFunc func(logger logr.Logger) (*types.SystemContext, error)
@@ -249,9 +251,11 @@ func resolveCanonicalRef(ctx context.Context, imgRef reference.Named, imageCtx *
249251

250252
func loadPolicyContext(sourceContext *types.SystemContext, l logr.Logger) (*signature.PolicyContext, error) {
251253
policy, err := signature.DefaultPolicy(sourceContext)
252-
if os.IsNotExist(err) {
254+
// TODO: there are security implications to silently moving to an insecure policy
255+
// tracking issue: https://github.com/operator-framework/operator-controller/issues/1622
256+
if err != nil {
253257
l.Info("no default policy found, using insecure policy")
254-
policy, err = signature.NewPolicyFromBytes([]byte(`{"default":[{"type":"insecureAcceptAnything"}]}`))
258+
policy, err = signature.NewPolicyFromBytes(insecurePolicy)
255259
}
256260
if err != nil {
257261
return nil, fmt.Errorf("error loading default policy: %w", err)

internal/rukpak/source/containers_image.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ import (
2525
"sigs.k8s.io/controller-runtime/pkg/reconcile"
2626
)
2727

28+
var insecurePolicy = []byte(`{"default":[{"type":"insecureAcceptAnything"}]}`)
29+
2830
type ContainersImageRegistry struct {
2931
BaseCachePath string
3032
SourceContextFunc func(logger logr.Logger) (*types.SystemContext, error)
@@ -225,9 +227,11 @@ func resolveCanonicalRef(ctx context.Context, imgRef reference.Named, imageCtx *
225227

226228
func loadPolicyContext(sourceContext *types.SystemContext, l logr.Logger) (*signature.PolicyContext, error) {
227229
policy, err := signature.DefaultPolicy(sourceContext)
228-
if os.IsNotExist(err) {
230+
// TODO: there are security implications to silently moving to an insecure policy
231+
// tracking issue: https://github.com/operator-framework/operator-controller/issues/1622
232+
if err != nil {
229233
l.Info("no default policy found, using insecure policy")
230-
policy, err = signature.NewPolicyFromBytes([]byte(`{"default":[{"type":"insecureAcceptAnything"}]}`))
234+
policy, err = signature.NewPolicyFromBytes(insecurePolicy)
231235
}
232236
if err != nil {
233237
return nil, fmt.Errorf("error loading default policy: %w", err)

0 commit comments

Comments
 (0)