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

Kubernetes + Jenkins example doesn't work with Minikube #1717

Open
cnunciato opened this issue Oct 27, 2024 · 0 comments
Open

Kubernetes + Jenkins example doesn't work with Minikube #1717

cnunciato opened this issue Oct 27, 2024 · 0 comments
Labels
kind/bug Some behavior is incorrect or out of spec needs-triage Needs attention from the triage team

Comments

@cnunciato
Copy link
Contributor

cnunciato commented Oct 27, 2024

What happened?

The blog post that surfaces when searching for Pulumi + Jenkins uses the kubernetes-ts-jenkins example. In the post, it says the following:

If [...] you are targeting minikube or your own custom Kubernetes cluster, replace type: "LoadBalancer" with type: "ClusterIP" in jenkins.ts.

I did this, but when I ran pulumi up, I got an error about a config value that isn't in the blog post:

error: Missing required configuration variable 'jenkins-minikube:isMinikube'
    please set a value using the command `pulumi config set jenkins-minikube:isMinikube <value>`

This value is referenced in the code under a comment that the code itself seems to conflict with (i.e., the comment suggests using ClusterIP for Minikube, as the post does, but the code hard-fails on Minkube):

// Minikube does not implement services of type `LoadBalancer`; require the user to specify if we're
// running on minikube, and if so, create only services of type ClusterIP. 👈 Suggests this works with Minikube.
const config = new pulumi.Config();
if (config.require("isMinikube") === "true") {
    throw new Error("This example does not yet support minikube"); 👈 Suggests it doesn't.
}

When I use ClusterIP as the post describes, the deployment eventually times out, after many minutes of retries.

The code, comment, and README should be updated to reflect what is supported and the example should be placed under test, so users don't run lose time trying to debug something that may or may not actually be supported.

As an aside, there's an import here that doesn't seem to be doing anything, and warns on update:

warning: Undefined value (externalIp) will not show as a stack output.

Should probably just be deleted and replaced with exporting the actual output:

this.registerOutputs({externalIp: this.externalIp});

Example

See above.

Output of pulumi about

CLI          
Version      3.136.1
Go Version   go1.23.2
Go Compiler  gc

Plugins
KIND      NAME        VERSION
resource  kubernetes  4.18.2
language  nodejs      unknown

Host     
OS       darwin
Version  14.6
Arch     arm64

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).

@cnunciato cnunciato added kind/bug Some behavior is incorrect or out of spec needs-triage Needs attention from the triage team labels Oct 27, 2024
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