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
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ require (
github.com/nutanix-cloud-native/cluster-api-provider-nutanix v1.10.3
github.com/nutanix-cloud-native/prism-go-client v0.8.0
github.com/onsi/gomega v1.42.0
github.com/openshift/api v0.0.0-20260724095150-18550f1a6d13
github.com/openshift/api v0.0.0-20260806145859-7f3965b4f603
github.com/openshift/assisted-image-service v0.0.0-20260428115106-2b81dd8e7120
github.com/openshift/assisted-service/api v0.0.0-20260722223301-f50c5b20c7e1
github.com/openshift/assisted-service/client v0.0.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -879,8 +879,8 @@ github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJw
github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M=
github.com/opencontainers/runtime-spec v1.2.1 h1:S4k4ryNgEpxW1dzyqffOmhI1BHYcjzU8lpJfSlR0xww=
github.com/opencontainers/runtime-spec v1.2.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
github.com/openshift/api v0.0.0-20260724095150-18550f1a6d13 h1:xDz0RoMp1GYVmA93Hht8CQxN8rFAADif8H6CtKkHEYk=
github.com/openshift/api v0.0.0-20260724095150-18550f1a6d13/go.mod h1:k6qH5QOVa5GDln2VVm8Jz4NV3Z7R2SATHFLwGS6Wh3M=
github.com/openshift/api v0.0.0-20260806145859-7f3965b4f603 h1:4RHgmb/icrh6C8+Ofgr79KRqds2GjcUpjuHtADIPrAQ=
github.com/openshift/api v0.0.0-20260806145859-7f3965b4f603/go.mod h1:k6qH5QOVa5GDln2VVm8Jz4NV3Z7R2SATHFLwGS6Wh3M=
github.com/openshift/assisted-image-service v0.0.0-20260428115106-2b81dd8e7120 h1:fxnvVDuqfnAz9jCuritFrsb6IK33dxc/MxC9Gtv+nlk=
github.com/openshift/assisted-image-service v0.0.0-20260428115106-2b81dd8e7120/go.mod h1:eLxB7EHTDEvuJHobsVZsyMKOFkVATz4aGAwNtSGMdyM=
github.com/openshift/assisted-service/api v0.0.0-20260722223301-f50c5b20c7e1 h1:CQULurVWElnk8kTQflgNZcu82xcw4DQzwvv2PPC33i4=
Expand Down
7 changes: 3 additions & 4 deletions pkg/asset/ignition/bootstrap/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -385,10 +385,9 @@ func (a *Common) getTemplateData(dependencies asset.Parents, bootstrapInPlace bo
pullSecret := installConfig.Config.PullSecret

// Merge IRI registry credentials into pull secret if available.
// IRIRegistryCredentials generates credentials only when the NoRegistryClusterInstall
// feature gate is enabled and an InternalReleaseImage manifest is present.
// This ensures kubelet/CRI-O on bootstrap and cluster nodes can
// authenticate to the IRI registry on master nodes.
// IRIRegistryCredentials generates credentials when an InternalReleaseImage
// manifest is present. This ensures kubelet/CRI-O on bootstrap and cluster
// nodes can authenticate to the IRI registry on master nodes.
iriAuth := &tls.IRIRegistryCredentials{}
dependencies.Get(iriAuth)
if iriAuth.Password != "" {
Expand Down
15 changes: 6 additions & 9 deletions pkg/asset/manifests/operators.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import (
"k8s.io/apimachinery/pkg/util/sets"
"sigs.k8s.io/yaml"

"github.com/openshift/api/features"
"github.com/openshift/installer/pkg/asset"
"github.com/openshift/installer/pkg/asset/installconfig"
"github.com/openshift/installer/pkg/asset/rhcos"
Expand Down Expand Up @@ -238,15 +237,13 @@ func (m *Manifests) generateBootKubeManifests(dependencies asset.Parents) []*ass
}
}

if installConfig.Config.Enabled(features.FeatureGateNoRegistryClusterInstall) {
iri := &manifests.InternalReleaseImage{}
dependencies.Get(iri)
iri := &manifests.InternalReleaseImage{}
dependencies.Get(iri)

// Skip if InternalReleaseImage manifest wasn't found.
if len(iri.FileList) > 0 {
files = append(files, appendIRIcerts(dependencies))
files = append(files, appendIRIRegistryCredentials(dependencies))
}
// Skip if InternalReleaseImage manifest wasn't found.
if len(iri.FileList) > 0 {
files = append(files, appendIRIcerts(dependencies))
files = append(files, appendIRIRegistryCredentials(dependencies))
}

return files
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (
"os"
"path/filepath"

"github.com/openshift/api/features"
"github.com/openshift/installer/pkg/asset"
"github.com/openshift/installer/pkg/asset/installconfig"
"github.com/openshift/installer/pkg/asset/templates/content"
Expand Down Expand Up @@ -43,10 +42,6 @@ func (t *InternalReleaseImageRegistryAuthSecret) Generate(_ context.Context, dep

dependencies.Get(installConfig, iri)

if !installConfig.Config.EnabledFeatureGates().Enabled(features.FeatureGateNoRegistryClusterInstall) {
return nil
}

// Skip if InternalReleaseImage manifest wasn't found.
if len(iri.FileList) == 0 {
return nil
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (
"os"
"path/filepath"

"github.com/openshift/api/features"
"github.com/openshift/installer/pkg/asset"
"github.com/openshift/installer/pkg/asset/installconfig"
"github.com/openshift/installer/pkg/asset/templates/content"
Expand Down Expand Up @@ -43,10 +42,6 @@ func (t *InternalReleaseImageTLSSecret) Generate(_ context.Context, dependencies

dependencies.Get(installConfig, iri)

if !installConfig.Config.Enabled(features.FeatureGateNoRegistryClusterInstall) {
return nil
}

// Skip if InternalReleaseImage manifest wasn't found.
if len(iri.FileList) == 0 {
return nil
Expand Down
5 changes: 0 additions & 5 deletions pkg/asset/tls/iricertkey.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import (
"crypto/x509/pkix"
"net"

features "github.com/openshift/api/features"
"github.com/openshift/installer/pkg/asset"
"github.com/openshift/installer/pkg/asset/installconfig"
"github.com/openshift/installer/pkg/asset/templates/content/manifests"
Expand Down Expand Up @@ -40,10 +39,6 @@ func (a *IRICertKey) Generate(ctx context.Context, dependencies asset.Parents) e
iri := &manifests.InternalReleaseImage{}
dependencies.Get(ca, installConfig, iri)

if !installConfig.Config.Enabled(features.FeatureGateNoRegistryClusterInstall) {
return nil
}

// Skip if InternalReleaseImage manifest wasn't found.
if len(iri.FileList) == 0 {
return nil
Expand Down
6 changes: 0 additions & 6 deletions pkg/asset/tls/iriregistryauth.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (

"golang.org/x/crypto/bcrypt"

features "github.com/openshift/api/features"
"github.com/openshift/installer/pkg/asset"
"github.com/openshift/installer/pkg/asset/installconfig"
"github.com/openshift/installer/pkg/asset/templates/content/manifests"
Expand Down Expand Up @@ -52,11 +51,6 @@ func (a *IRIRegistryCredentials) Generate(ctx context.Context, dependencies asse
iri := &manifests.InternalReleaseImage{}
dependencies.Get(installConfig, iri)

// Only generate if NoRegistryClusterInstall feature is enabled
if !installConfig.Config.EnabledFeatureGates().Enabled(features.FeatureGateNoRegistryClusterInstall) {
return nil
}

// Skip if InternalReleaseImage manifest wasn't found
if len(iri.FileList) == 0 {
return nil
Expand Down
16 changes: 1 addition & 15 deletions pkg/asset/tls/iriregistryauth_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import (
"golang.org/x/crypto/bcrypt"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

configv1 "github.com/openshift/api/config/v1"
"github.com/openshift/installer/pkg/asset"
"github.com/openshift/installer/pkg/asset/installconfig"
"github.com/openshift/installer/pkg/asset/templates/content/manifests"
Expand All @@ -23,25 +22,16 @@ import (
func TestIRIRegistryCredentialsGenerate(t *testing.T) {
tests := []struct {
name string
featureGate string
iriManifest bool
shouldGenerate bool
}{
{
name: "Generate with feature gate enabled and IRI manifest present",
featureGate: "TechPreviewNoUpgrade",
name: "Generate with IRI manifest present",
iriManifest: true,
shouldGenerate: true,
},
{
name: "Skip without feature gate",
featureGate: "",
iriManifest: true,
shouldGenerate: false,
},
{
name: "Skip without IRI manifest",
featureGate: "TechPreviewNoUpgrade",
iriManifest: false,
shouldGenerate: false,
},
Expand Down Expand Up @@ -84,10 +74,6 @@ func TestIRIRegistryCredentialsGenerate(t *testing.T) {
},
}

if tt.featureGate != "" {
ic.Config.FeatureSet = configv1.FeatureSet(tt.featureGate)
}

// Create IRI manifest asset
iri := &manifests.InternalReleaseImage{}
if tt.iriManifest {
Expand Down
11 changes: 0 additions & 11 deletions pkg/types/aws/validation/featuregates.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,13 @@ import (

features "github.com/openshift/api/features"
"github.com/openshift/installer/pkg/types"
"github.com/openshift/installer/pkg/types/dns"
"github.com/openshift/installer/pkg/types/featuregates"
)

// GatedFeatures determines all of the install config fields that should
// be validated to ensure that the proper featuregate is enabled when the field is used.
func GatedFeatures(c *types.InstallConfig) []featuregates.GatedInstallConfigFeature {
gatedFeatures := []featuregates.GatedInstallConfigFeature{
{
FeatureGateName: features.FeatureGateAWSClusterHostedDNSInstall,
Condition: c.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled,
Field: field.NewPath("platform", "aws", "userProvisionedDNS"),
},
{
FeatureGateName: features.FeatureGateAWSDualStackInstall,
Condition: c.AWS.IPFamily.DualStackEnabled(),
Field: field.NewPath("platform", "aws", "ipFamily"),
},
{
FeatureGateName: features.FeatureGateAWSEuropeanSovereignCloudInstall,
Condition: strings.HasPrefix(c.AWS.Region, "eusc-"),
Expand Down

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

33 changes: 33 additions & 0 deletions vendor/github.com/openshift/api/config/v1/types_infrastructure.go

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

6 changes: 4 additions & 2 deletions vendor/github.com/openshift/api/config/v1/types_ingress.go

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

Loading