Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ require (
github.com/ghodss/yaml v1.0.0
github.com/golang-jwt/jwt/v5 v5.2.2
github.com/google/go-cmp v0.7.0
github.com/openshift/api v0.0.0-20251111013132-5c461e21bdb7
github.com/openshift/api v0.0.0-20260304172252-b0658d22beea
github.com/openshift/build-machinery-go v0.0.0-20250530140348-dc5b2804eeee
github.com/openshift/client-go v0.0.0-20251015124057-db0dee36e235
github.com/openshift/library-go v0.0.0-20260303081410-9c30edf843c6
github.com/openshift/client-go v0.0.0-20251205093018-96a6cbc1420c
github.com/openshift/library-go v0.0.0-20260304201346-4aa68c020bf7
github.com/openshift/multi-operator-manager v0.0.0-20241205181422-20aa3906b99d
github.com/spf13/cobra v1.9.1
github.com/spf13/pflag v1.0.6
Expand Down
12 changes: 6 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -147,14 +147,14 @@ github.com/onsi/ginkgo/v2 v2.21.0 h1:7rg/4f3rB88pb5obDgNZrNHrQ4e6WpjonchcpuBRnZM
github.com/onsi/ginkgo/v2 v2.21.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo=
github.com/onsi/gomega v1.35.1 h1:Cwbd75ZBPxFSuZ6T+rN/WCb/gOc6YgFBXLlZLhC7Ds4=
github.com/onsi/gomega v1.35.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog=
github.com/openshift/api v0.0.0-20251111013132-5c461e21bdb7 h1:fdvcDJySvjVJctbPbdLPoMiMk+bls34+eq6tWOqdFZg=
github.com/openshift/api v0.0.0-20251111013132-5c461e21bdb7/go.mod h1:d5uzF0YN2nQQFA0jIEWzzOZ+edmo6wzlGLvx5Fhz4uY=
github.com/openshift/api v0.0.0-20260304172252-b0658d22beea h1:cakCJUhTaFEf67R5PARXWsgZAFSY0OkpIb0Sxo71gkM=
github.com/openshift/api v0.0.0-20260304172252-b0658d22beea/go.mod h1:d5uzF0YN2nQQFA0jIEWzzOZ+edmo6wzlGLvx5Fhz4uY=
github.com/openshift/build-machinery-go v0.0.0-20250530140348-dc5b2804eeee h1:+Sp5GGnjHDhT/a/nQ1xdp43UscBMr7G5wxsYotyhzJ4=
github.com/openshift/build-machinery-go v0.0.0-20250530140348-dc5b2804eeee/go.mod h1:8jcm8UPtg2mCAsxfqKil1xrmRMI3a+XU2TZ9fF8A7TE=
github.com/openshift/client-go v0.0.0-20251015124057-db0dee36e235 h1:9JBeIXmnHlpXTQPi7LPmu1jdxznBhAE7bb1K+3D8gxY=
github.com/openshift/client-go v0.0.0-20251015124057-db0dee36e235/go.mod h1:L49W6pfrZkfOE5iC1PqEkuLkXG4W0BX4w8b+L2Bv7fM=
github.com/openshift/library-go v0.0.0-20260303081410-9c30edf843c6 h1:9PoupWybtdTNB7bVBKac/tR5X+3IYydcTIrSyO5QR7E=
github.com/openshift/library-go v0.0.0-20260303081410-9c30edf843c6/go.mod h1:ErDfiIrPHH+menTP/B4LKd0nxFDdvCbTamAc6SWMIh8=
github.com/openshift/client-go v0.0.0-20251205093018-96a6cbc1420c h1:TBE0Gl+oCo/SNEhLKZQNNH/SWHXrpGyhAw7P0lAqdHg=
github.com/openshift/client-go v0.0.0-20251205093018-96a6cbc1420c/go.mod h1:IsynOWZAfdH+BgWimcFQRtI41Id9sgdhsCEjIk8ACLw=
github.com/openshift/library-go v0.0.0-20260304201346-4aa68c020bf7 h1:/FvNhsY6tN+AuYtRa5acZEXQwYRYi0MUJbVVzZADLaA=
github.com/openshift/library-go v0.0.0-20260304201346-4aa68c020bf7/go.mod h1:rYGQrSg+t1JEzeEwg6BJw3loPpXg/n3kgRygUpgxavY=
github.com/openshift/multi-operator-manager v0.0.0-20241205181422-20aa3906b99d h1:Rzx23P63JFNNz5D23ubhC0FCN5rK8CeJhKcq5QKcdyU=
github.com/openshift/multi-operator-manager v0.0.0-20241205181422-20aa3906b99d/go.mod h1:iVi9Bopa5cLhjG5ie9DoZVVqkH8BGb1FQVTtecOLn4I=
github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0=
Expand Down
2 changes: 1 addition & 1 deletion pkg/operator/replacement_starter.go
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ func CreateOperatorInputFromMOM(ctx context.Context, momInput libraryapplyconfig
apiextensionClient: apiextensionClient,
eventRecorder: eventRecorder,
clock: momInput.Clock,
featureGateAccessor: staticFeatureGateAccessor([]ocpconfigv1.FeatureGateName{features.FeatureGateExternalOIDC}, []ocpconfigv1.FeatureGateName{}),
featureGateAccessor: staticFeatureGateAccessor([]ocpconfigv1.FeatureGateName{features.FeatureGateExternalOIDC}, []ocpconfigv1.FeatureGateName{features.FeatureGateKMSEncryption}),
informerFactories: []libraryapplyconfiguration.SimplifiedInformerFactory{
libraryapplyconfiguration.DynamicInformerFactoryAdapter(dynamicInformers), // we don't share the dynamic informers, but we only want to start when requested
},
Expand Down
11 changes: 6 additions & 5 deletions pkg/operator/starter.go
Original file line number Diff line number Diff line change
Expand Up @@ -451,6 +451,11 @@ func prepareOauthAPIServerOperator(
informerFactories.kubeInformersForNamespaces.InformersFor("openshift-kube-apiserver").Core().V1().ConfigMaps(),
)

featureGateAccessor, err := authOperatorInput.featureGateAccessor(ctx, authOperatorInput, informerFactories)
if err != nil {
return nil, nil, err
}

authAPIServerWorkload := workload.NewOAuthAPIServerWorkload(
authOperatorInput.authenticationOperatorClient,
workloadcontroller.CountNodesFuncWrapper(informerFactories.kubeInformersForNamespaces.InformersFor("").Core().V1().Nodes().Lister()),
Expand All @@ -461,6 +466,7 @@ func prepareOauthAPIServerOperator(
authOperatorInput.kubeClient,
informerFactories.kubeInformersForNamespaces.InformersFor("openshift-oauth-apiserver").Apps().V1().Deployments().Lister(),
authConfigChecker,
featureGateAccessor,
versionRecorder)

infra, err := authOperatorInput.configClient.ConfigV1().Infrastructures().Get(ctx, "cluster", metav1.GetOptions{})
Expand Down Expand Up @@ -662,11 +668,6 @@ func prepareOauthAPIServerOperator(
return nil, nil, err
}

featureGateAccessor, err := authOperatorInput.featureGateAccessor(ctx, authOperatorInput, informerFactories)
if err != nil {
return nil, nil, err
}

configObserver := oauthapiconfigobservercontroller.NewConfigObserverController(
authOperatorInput.authenticationOperatorClient,
informerFactories.kubeInformersForNamespaces,
Expand Down
9 changes: 9 additions & 0 deletions pkg/operator/workload/sync_openshift_oauth_apiserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ import (
operatorv1 "github.com/openshift/api/operator/v1"
"github.com/openshift/library-go/pkg/controller/factory"
libgoetcd "github.com/openshift/library-go/pkg/operator/configobserver/etcd"
"github.com/openshift/library-go/pkg/operator/configobserver/featuregates"
encryptionkms "github.com/openshift/library-go/pkg/operator/encryption/kms"
"github.com/openshift/library-go/pkg/operator/events"
"github.com/openshift/library-go/pkg/operator/resource/resourceapply"
"github.com/openshift/library-go/pkg/operator/resource/resourcehash"
Expand Down Expand Up @@ -56,6 +58,7 @@ type OAuthAPIServerWorkload struct {
versionRecorder status.VersionGetter
deploymentsLister appsv1listers.DeploymentLister
authConfigChecker common.AuthConfigChecker
featureGateAccessor featuregates.FeatureGateAccess
}

// NewOAuthAPIServerWorkload creates new OAuthAPIServerWorkload struct
Expand All @@ -69,6 +72,7 @@ func NewOAuthAPIServerWorkload(
kubeClient kubernetes.Interface,
deploymentsLister appsv1listers.DeploymentLister,
authConfigChecker common.AuthConfigChecker,
featureGateAccessor featuregates.FeatureGateAccess,
versionRecorder status.VersionGetter,
) *OAuthAPIServerWorkload {
return &OAuthAPIServerWorkload{
Expand All @@ -82,6 +86,7 @@ func NewOAuthAPIServerWorkload(
versionRecorder: versionRecorder,
deploymentsLister: deploymentsLister,
authConfigChecker: authConfigChecker,
featureGateAccessor: featureGateAccessor,
}
}

Expand Down Expand Up @@ -264,6 +269,10 @@ func (c *OAuthAPIServerWorkload) syncDeployment(ctx context.Context, operatorSpe
}
required.Spec.Replicas = masterNodeCount

if err := encryptionkms.AddKMSPluginVolumeAndMountToPodSpec(&required.Spec.Template.Spec, "oauth-apiserver", c.featureGateAccessor); err != nil {
return nil, fmt.Errorf("failed to add KMS encryption volumes: %w", err)
}

deployment, _, err := resourceapply.ApplyDeployment(ctx, c.kubeClient.AppsV1(), eventRecorder, required, resourcemerge.ExpectedDeploymentGeneration(required, operatorStatus.Generations))
return deployment, err
}
Expand Down
2 changes: 2 additions & 0 deletions pkg/operator/workload/sync_openshift_oauth_apiserver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"github.com/google/go-cmp/cmp"

operatorv1 "github.com/openshift/api/operator/v1"
"github.com/openshift/library-go/pkg/operator/configobserver/featuregates"
"github.com/openshift/library-go/pkg/operator/events"

appsv1 "k8s.io/api/apps/v1"
Expand Down Expand Up @@ -145,6 +146,7 @@ func TestSyncOAuthAPIServerDeployment(t *testing.T) {
countNodes: func(nodeSelector map[string]string) (*int32, error) { var i int32; i = 1; return &i, nil },
ensureAtMostOnePodPerNode: func(spec *appsv1.DeploymentSpec, componentName string) error { return nil },
kubeClient: fakeKubeClient,
featureGateAccessor: featuregates.NewHardcodedFeatureGateAccessForTesting(nil, nil, make(chan struct{}), nil),
}

actualDeployment, err := target.syncDeployment(context.TODO(), &scenario.operator.Spec.OperatorSpec, &scenario.operator.Status.OperatorStatus, eventRecorder)
Expand Down
18 changes: 13 additions & 5 deletions vendor/github.com/openshift/api/AGENTS.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading