Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CRDs are not being skipped despite the skip_crds parameter #3522

Closed
mb-shorai opened this issue Feb 26, 2025 · 1 comment
Closed

CRDs are not being skipped despite the skip_crds parameter #3522

mb-shorai opened this issue Feb 26, 2025 · 1 comment
Labels
kind/bug Some behavior is incorrect or out of spec needs-triage Needs attention from the triage team

Comments

@mb-shorai
Copy link

mb-shorai commented Feb 26, 2025

What happened?

Hi, I'm trying to deploy Karpenter using kubernetes.helm.sh/v3.Release, where CRDs are installed as a separate chart first, and the controller is installed as a child later. Applying this configuration results in the following error, despite setting skip_crds=True:

error: Unable to continue with install: CustomResourceDefinition "ec2nodeclasses.karpenter.k8s.aws" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "karpenter": current value is "karpenter-crd"

However, running helm upgrade --install karpenter oci://public.ecr.aws/karpenter/karpenter --version 1.2.1 --namespace kube-system --set "settings.clusterName=smth" (both with and without --skip-crds) deploys the controller successfully. AFAIK, the same configuration also works correctly in Terraform. Am I missing something?

Example

        crds_chart = Release(
            "karpenter-crd",
            args=ReleaseArgs(
                namespace="kube-system",
                chart="oci://public.ecr.aws/karpenter/karpenter-crd",
                name="karpenter-crd",
                version="1.2.1",
            ),
            opts=pulumi.ResourceOptions(parent=self),
        )

        controller_chart = Release(
            "karpenter-controller",
            args=ReleaseArgs(
                namespace="kube-system",
                chart="oci://public.ecr.aws/karpenter/karpenter-crd",
                name="karpenter",
                version="1.2.1",
                skip_crds=True,
                values={
                    "settings": {
                        "clusterName": cluster_name,
                        "settings.interruptionQueue": sqs_queue_name,
                    },
                },
            ),
            opts=pulumi.ResourceOptions(parent=crds_chart),
        )

Output of pulumi about

❯ pulumi about
CLI          
Version      3.151.0
Go Version   go1.24.0
Go Compiler  gc

Plugins
KIND      NAME                   VERSION
resource  aws                    6.70.0
resource  kubernetes             4.21.1
resource  pulumi_aws_k8s         0.0.0
language  python                 3.151.0
resource  std                    1.7.3
resource  tls                    5.1.0

Host     
OS       arch
Version  "rolling"
Arch     x86_64

This project is written in python: executable='/home/max/.../pulumi/.venv/bin/python' version='3.13.2'

Current Stack: ...

TYPE                                                        URN
...


Found no pending operations associated with max

Backend        
Name           p14
URL            file://~
User           max
Organizations  
Token type     personal

Dependencies:
NAME                   VERSION
mypy                   1.15.0
pulumi_aws_k8s         0.0.0

Pulumi locates its logs in /tmp by default

Additional context

No response

Contributing

Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

@mb-shorai mb-shorai added kind/bug Some behavior is incorrect or out of spec needs-triage Needs attention from the triage team labels Feb 26, 2025
@mb-shorai
Copy link
Author

Wrong copy-pasted chart URL, sorry, my bad.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Some behavior is incorrect or out of spec needs-triage Needs attention from the triage team
Projects
None yet
Development

No branches or pull requests

1 participant