Skip to content

Use Kubernetes Service DNS instead of Cluster IP for Extension Catalog imports #17171

@rak-phillip

Description

@rak-phillip

When importing an Extension Catalog, Rancher Dashboard configures the catalog to point directly to the Kubernetes Service Cluster IP.

Relying on the static IP address makes the configuration prone to failure because Cluster IPs can be ephemeral; they might change if a service is recreated or modified.

Proposed Solution

Update the extension URL to use the internal Kubernetes DNS name instead of the clusterIP.

Using the DNS entry (service.namespace.svc) follows Kubernetes best practices and ensures that traffic is correctly routed to the service regardless of changes to the underlying Cluster IP.

Acceptance Criteria

  • Extension Catalog imports use the SVC DNS name instead of the Cluster IP
  • The generated URL follows the standard K8s format: http://<service-name>.<namespace>.svc:<port>
  • Verified that the catalog remains accessible after import using the DNS-based URL

Additional details

📝 Note for testing:

I was able to confirm this change using ghcr.io/kubewarden/kubewarden-ui:1.1.0. After importing the extension catalog:

  • Navigate to local cluster => Service Discovery => Services, filter by namespace cattle-ui-plugin-system. You should see a service named kubewarden-ui-svc
  • Navigate to local cluster => Apps => Repositories and open kubewarden-ui-charts. Its URL should be http://kubewarden-ui-svc.cattle-ui-plugin-system.svc:8080. Previously, it would be an ip address

Metadata

Metadata

Type

No fields configured for Task.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions