Skip to content

Support insecureSkipTLSVerify in Identity CRD for API proxy scenarios #3159

@rajsinghtech

Description

@rajsinghtech

Problem

When using Liqo with networking.enabled=false and accessing remote clusters through an API proxy (e.g., Tailscale Kubernetes API proxy), virtual kubelets fail with TLS errors:

x509: certificate signed by unknown authority

The proxy terminates TLS using its own certificates, but Liqo's Identity controller embeds the cluster's CA in kubeconfig secrets (kubeconfig-resourceslice-*, kubeconfig-controlplane-*), causing certificate validation to fail.

Current Behavior

  1. Identity CRD stores certificateAuthorityData in spec.authParams
  2. Controller-manager generates kubeconfig secrets with certificate-authority-data
  3. Even if manually patched with insecure-skip-tls-verify: true, the controller immediately reconciles and reverts the change

Proposed Solution

Add an optional insecureSkipTLSVerify field to the Identity CRD's authParams:

spec:
  authParams:
    apiServerURL: https://proxy.example.com
    insecureSkipTLSVerify: true  # New field

When set, the controller should:

  1. Generate kubeconfig with insecure-skip-tls-verify: true
  2. Omit certificate-authority-data from the kubeconfig

Use Case

Multi-cluster setups using Tailscale, Cloudflare Tunnel, or similar API proxies where:

  • Networking is handled externally (Liqo networking disabled)
  • API servers are accessed via proxy hostnames
  • Proxy uses its own TLS certificates (not the cluster CA)

Environment

  • Liqo version: 1.0.1
  • Kubernetes: Talos Linux clusters
  • Network: Tailscale with API server proxy enabled

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions