helm-charts icon indicating copy to clipboard operation
helm-charts copied to clipboard

unable to change the [additionalPlugins]

Open jascao opened this issue 3 years ago • 0 comments

Describe the bug

I want to add some plugins, but got failed when I apply it

Version of Helm and Kubernetes

- Helm: v3.7.0
- Kubernetes: v1.23.3

Chart version

4.2.17

What happened?

1.I create the Jenkins by helm with this config

    controller:
      adminSecret: true
      adminUser: "admin"
      testEnabled: false
    agent:
      enabled: true
      jenkinsUrl: localhost:8080
  1. Then I adjusts the config file, add some plugins, like this
    controller:
      adminSecret: true
      adminUser: "admin"
      testEnabled: false
      additionalPlugins:
      - google-login:1.7
      - job-dsl:1.81
    agent:
      enabled: true
      jenkinsUrl: localhost:8080

3.Run terraform plan, got this

Terraform will perform the following actions:

  # module.jenkins_svc.helm_release.this will be updated in-place
  ~ resource "helm_release" "this" {
        id                         = "jenkins"
      ~ manifest                   = jsonencode(
          ~ {
              ~ "jenkins/configmap/v1/jenkins"                                                                        = {
                  ~ data       = {
                      ~ "plugins.txt"     = <<-EOT
                            kubernetes:3734.v562b_b_a_627ea_c
                            workflow-aggregator:590.v6a_d052e5a_a_b_5
                            git:4.13.0
                            configuration-as-code:1569.vb_72405b_80249
                          + google-login:1.7
                          + job-dsl:1.81
                        EOT
                        # (1 unchanged element hidden)
                    }
                    # (3 unchanged elements hidden)
                }
              ~ "jenkins/secret/v1/jenkins"                                                                           = {
                  ~ data       = {
                      ~ jenkins-admin-password = "KHNlbnNpdGl2ZSB2YWx1ZSBkZWFjNGI3ZTA2NDdhZTU3KQ==" -> "KHNlbnNpdGl2ZSB2YWx1ZSBhZDFjNjc3YTBmYzliZTQxKQ=="
                        # (1 unchanged element hidden)
                    }
                    # (4 unchanged elements hidden)
                }
              ~ "jenkins/statefulset.apps/apps/v1/jenkins"                                                            = {
                  ~ spec       = {
                      ~ template    = {
                          ~ metadata = {
                              ~ annotations = {
                                  ~ "checksum/config" = "2b0c4702e7dc5a1c165c86e02e5a2c8804a2f5b8c94c9735042c0dbdcba59c2f" -> "f66edcf409c81f049afb1315c854a041285ba77c1b1966fcb412455ef66acc0d"
                                }
                                # (1 unchanged element hidden)
                            }
                            # (1 unchanged element hidden)
                        }
                        # (3 unchanged elements hidden)
                    }
                    # (3 unchanged elements hidden)
                }
                # (9 unchanged elements hidden)
            }
        )
        name                       = "jenkins"
      ~ values                     = [
          - <<-EOT
                controller:
                  adminSecret: true
                  adminUser: "admin"
                  testEnabled: false

                agent:
                  enabled: true
                  jenkinsUrl: localhost:8080
            EOT,
          + <<-EOT
                controller:
                  adminSecret: true
                  adminUser: "admin"
                  testEnabled: false
                  additionalPlugins:
                  - google-login:1.7
                  - job-dsl:1.81
                agent:
                  enabled: true
                  jenkinsUrl: localhost:8080
            EOT,
        ]
        # (26 unchanged attributes hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.
  1. But when I run terraform apply, got this error:
terraform apply -input=false -refresh=false ./plan.out || rm ./plan.out
╷
│ Error: Provider produced inconsistent final plan
│
│ When expanding the plan for module.jenkins_svc.helm_release.this to include new values learned so far during apply, provider
│ "registry.terraform.io/hashicorp/helm" produced an invalid new value for .manifest: was
│ cty.StringVal("{\"jenkins/configmap/v1/jenkins\":{\"apiVersion\":\"v1\",\"data\":{\"apply_config.sh\":\"set -e\\necho \\\"disable Setup
│ Wizard\\\"\\n# Prevent Setup Wizard when JCasC is enabled\\necho $JENKINS_VERSION \\u003e
│ /var/jenkins_home/jenkins.install.UpgradeWizard.state\\necho $JENKINS_VERSION \\u003e
│ /var/jenkins_home/jenkins.install.InstallUtil.lastExecVersion\\necho \\\"download plugins\\\"\\n# Install missing plugins\\ncp
│ /var/jenkins_config/plugins.txt /var/jenkins_home;\\nrm -rf /usr/share/jenkins/ref/plugins/*.lock\\nversion () { echo \\\"$@\\\" | awk
│ -F. '{ printf(\\\"%d%03d%03d%03d\\\\n\\\", $1,$2,$3,$4); }'; }\\nif [ -f \\\"/usr/share/jenkins/jenkins.war\\\" ] \\u0026\\u0026 [ -n
│ \\\"$(command -v jenkins-plugin-cli)\\\" 2\\u003e/dev/null ] \\u0026\\u0026 [ $(version $(jenkins-plugin-cli --version)) -ge $(version
│ \\\"2.1.1\\\") ]; then\\n  jenkins-plugin-cli --verbose --war \\\"/usr/share/jenkins/jenkins.war\\\" --plugin-file
│ \\\"/var/jenkins_home/plugins.txt\\\" --latest true;\\nelse\\n  /usr/local/bin/install-plugins.sh `echo $(cat
│ /var/jenkins_home/plugins.txt)`;\\nfi\\necho \\\"copy plugins to shared volume\\\"\\n# Copy plugins to shared volume\\nyes n | cp -i
│ /usr/share/jenkins/ref/plugins/* /var/jenkins_plugins/;\\necho \\\"finished
│ initialization\\\"\",\"plugins.txt\":\"kubernetes:3734.v562b_b_a_627ea_c\\nworkflow-aggregator:590.v6a_d052e5a_a_b_5\\ngit:4.13.0\\nconfiguration-as-code:1569.vb_72405b_80249\\ngoogle-login:1.7\\njob-dsl:1.81\"},\"kind\":\"ConfigMap\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\"},\"name\":\"jenkins\",\"namespace\":\"jenkins\"}},\"jenkins/configmap/v1/jenkins-jenkins-jcasc-config\":{\"apiVersion\":\"v1\",\"data\":{\"jcasc-default-config.yaml\":\"jenkins:\\n
│ authorizationStrategy:\\n    loggedInUsersCanDoAnything:\\n      allowAnonymousRead: false\\n  securityRealm:\\n    local:\\n
│ allowsSignup: false\\n      enableCaptcha: false\\n      users:\\n      - id: \\\"${chart-admin-username}\\\"\\n        name: \\\"Jenkins
│ Admin\\\"\\n        password: \\\"${chart-admin-password}\\\"\\n  disableRememberMe: false\\n  mode: NORMAL\\n  numExecutors: 0\\n
│ labelString: \\\"\\\"\\n  projectNamingStrategy: \\\"standard\\\"\\n  markupFormatter:\\n    plainText\\n  clouds:\\n  - kubernetes:\\n
│ containerCapStr: \\\"10\\\"\\n      defaultsProviderTemplate: \\\"\\\"\\n      connectTimeout: \\\"5\\\"\\n      readTimeout:
│ \\\"15\\\"\\n      jenkinsUrl: \\\"localhost:8080\\\"\\n      jenkinsTunnel: \\\"jenkins-agent.jenkins.svc.cluster.local:50000\\\"\\n
│ maxRequestsPerHostStr: \\\"32\\\"\\n      name: \\\"kubernetes\\\"\\n      namespace: \\\"jenkins\\\"\\n      serverUrl:
│ \\\"https://kubernetes.default\\\"\\n      podLabels:\\n      - key: \\\"jenkins/jenkins-jenkins-agent\\\"\\n        value:
│ \\\"true\\\"\\n      templates:\\n        - name: \\\"default\\\"\\n          namespace: \\\"jenkins\\\"\\n          id:
│ 8b89b7d653dc77f89888079b028e472617f7daff7072b7365a0aa392fc319cc6\\n          containers:\\n          - name: \\\"jnlp\\\"\\n
│ alwaysPullImage: false\\n            args: \\\"^${computer.jnlpmac} ^${computer.name}\\\"\\n            command: \\n
│ envVars:\\n              - envVar:\\n                  key: \\\"JENKINS_URL\\\"\\n                  value: localhost:8080\\n
│ image: \\\"jenkins/inbound-agent:4.11.2-4\\\"\\n            privileged: \\\"false\\\"\\n            resourceLimitCpu: 512m\\n
│ resourceLimitMemory: 512Mi\\n            resourceRequestCpu: 512m\\n            resourceRequestMemory: 512Mi\\n            runAsUser: \\n
│ runAsGroup: \\n            ttyEnabled: false\\n            workingDir: /home/jenkins/agent\\n          idleMinutes: 0\\n
│ instanceCap: 2147483647\\n          label: \\\"jenkins-jenkins-agent \\\"\\n          nodeUsageMode: \\\"NORMAL\\\"\\n
│ podRetention: Never\\n          showRawYaml: true\\n          serviceAccount: \\\"default\\\"\\n          slaveConnectTimeoutStr:
│ \\\"100\\\"\\n          yamlMergeStrategy: override\\n  crumbIssuer:\\n    standard:\\n      excludeClientIPFromCrumb:
│ true\\nsecurity:\\n  apiToken:\\n    creationOfLegacyTokenEnabled: false\\n    tokenGenerationOnCreationEnabled: false\\n
│ usageStatisticsEnabled: true\\nunclassified:\\n  location:\\n    adminAddress: \\n    url:
│ http://jenkins:8080\"},\"kind\":\"ConfigMap\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\",\"jenkins-jenkins-config\":\"true\"},\"name\":\"jenkins-jenkins-jcasc-config\",\"namespace\":\"jenkins\"}},\"jenkins/persistentvolumeclaim/v1/jenkins\":{\"apiVersion\":\"v1\",\"kind\":\"PersistentVolumeClaim\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins\",\"namespace\":\"jenkins\"},\"spec\":{\"accessModes\":[\"ReadWriteOnce\"],\"resources\":{\"requests\":{\"storage\":\"8Gi\"}}}},\"jenkins/role.rbac.authorization.k8s.io/rbac.authorization.k8s.io/v1/jenkins-casc-reload\":{\"apiVersion\":\"rbac.authorization.k8s.io/v1\",\"kind\":\"Role\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins-casc-reload\",\"namespace\":\"jenkins\"},\"rules\":[{\"apiGroups\":[\"\"],\"resources\":[\"configmaps\"],\"verbs\":[\"get\",\"watch\",\"list\"]}]},\"jenkins/role.rbac.authorization.k8s.io/rbac.authorization.k8s.io/v1/jenkins-schedule-agents\":{\"apiVersion\":\"rbac.authorization.k8s.io/v1\",\"kind\":\"Role\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins-schedule-agents\",\"namespace\":\"jenkins\"},\"rules\":[{\"apiGroups\":[\"\"],\"resources\":[\"pods\",\"pods/exec\",\"pods/log\",\"persistentvolumeclaims\",\"events\"],\"verbs\":[\"get\",\"list\",\"watch\"]},{\"apiGroups\":[\"\"],\"resources\":[\"pods\",\"pods/exec\",\"persistentvolumeclaims\"],\"verbs\":[\"create\",\"delete\",\"deletecollection\",\"patch\",\"update\"]}]},\"jenkins/rolebinding.rbac.authorization.k8s.io/rbac.authorization.k8s.io/v1/jenkins-schedule-agents\":{\"apiVersion\":\"rbac.authorization.k8s.io/v1\",\"kind\":\"RoleBinding\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins-schedule-agents\",\"namespace\":\"jenkins\"},\"roleRef\":{\"apiGroup\":\"rbac.authorization.k8s.io\",\"kind\":\"Role\",\"name\":\"jenkins-schedule-agents\"},\"subjects\":[{\"kind\":\"ServiceAccount\",\"name\":\"jenkins\",\"namespace\":\"jenkins\"}]},\"jenkins/rolebinding.rbac.authorization.k8s.io/rbac.authorization.k8s.io/v1/jenkins-watch-configmaps\":{\"apiVersion\":\"rbac.authorization.k8s.io/v1\",\"kind\":\"RoleBinding\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins-watch-configmaps\",\"namespace\":\"jenkins\"},\"roleRef\":{\"apiGroup\":\"rbac.authorization.k8s.io\",\"kind\":\"Role\",\"name\":\"jenkins-casc-reload\"},\"subjects\":[{\"kind\":\"ServiceAccount\",\"name\":\"jenkins\",\"namespace\":\"jenkins\"}]},\"jenkins/secret/v1/jenkins\":{\"kind\":\"Secret\",\"apiVersion\":\"v1\",\"metadata\":{\"name\":\"jenkins\",\"namespace\":\"jenkins\",\"creationTimestamp\":null,\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"}},\"data\":{\"jenkins-admin-password\":\"KHNlbnNpdGl2ZSB2YWx1ZSBhZDFjNjc3YTBmYzliZTQxKQ==\",\"jenkins-admin-user\":\"KHNlbnNpdGl2ZSB2YWx1ZSA2YTEyN2FmNGY1YWU2MmU3KQ==\"},\"type\":\"Opaque\"},\"jenkins/service/v1/jenkins\":{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins\",\"namespace\":\"jenkins\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"targetPort\":8080}],\"selector\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\"},\"type\":\"ClusterIP\"}},\"jenkins/service/v1/jenkins-agent\":{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins-agent\",\"namespace\":\"jenkins\"},\"spec\":{\"ports\":[{\"name\":\"agent-listener\",\"port\":50000,\"targetPort\":50000}],\"selector\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\"},\"type\":\"ClusterIP\"}},\"jenkins/serviceaccount/v1/jenkins\":{\"apiVersion\":\"v1\",\"kind\":\"ServiceAccount\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins\",\"namespace\":\"jenkins\"}},\"jenkins/statefulset.apps/apps/v1/jenkins\":{\"apiVersion\":\"apps/v1\",\"kind\":\"StatefulSet\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins\",\"namespace\":\"jenkins\"},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\"}},\"serviceName\":\"jenkins\",\"template\":{\"metadata\":{\"annotations\":{\"checksum/config\":\"f66edcf409c81f049afb1315c854a041285ba77c1b1966fcb412455ef66acc0d\"},\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\"}},\"spec\":{\"containers\":[{\"args\":[\"--httpPort=8080\"],\"env\":[{\"name\":\"SECRETS\",\"value\":\"/run/secrets/additional\"},{\"name\":\"POD_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.name\"}}},{\"name\":\"JAVA_OPTS\",\"value\":\"-Dcasc.reload.token=$(POD_NAME)
│ \"},{\"name\":\"JENKINS_OPTS\",\"value\":\"--webroot=/var/jenkins_cache/war
│ \"},{\"name\":\"JENKINS_SLAVE_AGENT_PORT\",\"value\":\"50000\"},{\"name\":\"CASC_JENKINS_CONFIG\",\"value\":\"/var/jenkins_home/casc_configs\"}],\"image\":\"jenkins/jenkins:2.375.1-jdk11\",\"imagePullPolicy\":\"Always\",\"livenessProbe\":{\"failureThreshold\":5,\"httpGet\":{\"path\":\"/login\",\"port\":\"http\"},\"periodSeconds\":10,\"timeoutSeconds\":5},\"name\":\"jenkins\",\"ports\":[{\"containerPort\":8080,\"name\":\"http\"},{\"containerPort\":50000,\"name\":\"agent-listener\"}],\"readinessProbe\":{\"failureThreshold\":3,\"httpGet\":{\"path\":\"/login\",\"port\":\"http\"},\"periodSeconds\":10,\"timeoutSeconds\":5},\"resources\":{\"limits\":{\"cpu\":\"2000m\",\"memory\":\"4096Mi\"},\"requests\":{\"cpu\":\"50m\",\"memory\":\"256Mi\"}},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"readOnlyRootFilesystem\":true,\"runAsGroup\":1000,\"runAsUser\":1000},\"startupProbe\":{\"failureThreshold\":12,\"httpGet\":{\"path\":\"/login\",\"port\":\"http\"},\"periodSeconds\":10,\"timeoutSeconds\":5},\"volumeMounts\":[{\"mountPath\":\"/var/jenkins_home\",\"name\":\"jenkins-home\",\"readOnly\":false},{\"mountPath\":\"/var/jenkins_config\",\"name\":\"jenkins-config\",\"readOnly\":true},{\"mountPath\":\"/usr/share/jenkins/ref/plugins/\",\"name\":\"plugin-dir\",\"readOnly\":false},{\"mountPath\":\"/var/jenkins_home/casc_configs\",\"name\":\"sc-config-volume\"},{\"mountPath\":\"/run/secrets/additional\",\"name\":\"jenkins-secrets\",\"readOnly\":true},{\"mountPath\":\"/var/jenkins_cache\",\"name\":\"jenkins-cache\"},{\"mountPath\":\"/tmp\",\"name\":\"tmp-volume\"}]},{\"env\":[{\"name\":\"POD_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.name\"}}},{\"name\":\"LABEL\",\"value\":\"jenkins-jenkins-config\"},{\"name\":\"FOLDER\",\"value\":\"/var/jenkins_home/casc_configs\"},{\"name\":\"NAMESPACE\",\"value\":\"jenkins\"},{\"name\":\"REQ_URL\",\"value\":\"http://localhost:8080/reload-configuration-as-code/?casc-reload-token=$(POD_NAME)\"},{\"name\":\"REQ_METHOD\",\"value\":\"POST\"},{\"name\":\"REQ_RETRY_CONNECT\",\"value\":\"10\"}],\"image\":\"kiwigrid/k8s-sidecar:1.15.0\",\"imagePullPolicy\":\"IfNotPresent\",\"name\":\"config-reload\",\"resources\":{},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"readOnlyRootFilesystem\":true},\"volumeMounts\":[{\"mountPath\":\"/var/jenkins_home/casc_configs\",\"name\":\"sc-config-volume\"},{\"mountPath\":\"/var/jenkins_home\",\"name\":\"jenkins-home\"}]}],\"initContainers\":[{\"command\":[\"sh\",\"/var/jenkins_config/apply_config.sh\"],\"image\":\"jenkins/jenkins:2.375.1-jdk11\",\"imagePullPolicy\":\"Always\",\"name\":\"init\",\"resources\":{\"limits\":{\"cpu\":\"2000m\",\"memory\":\"4096Mi\"},\"requests\":{\"cpu\":\"50m\",\"memory\":\"256Mi\"}},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"readOnlyRootFilesystem\":true,\"runAsGroup\":1000,\"runAsUser\":1000},\"volumeMounts\":[{\"mountPath\":\"/var/jenkins_home\",\"name\":\"jenkins-home\"},{\"mountPath\":\"/var/jenkins_config\",\"name\":\"jenkins-config\"},{\"mountPath\":\"/usr/share/jenkins/ref/plugins\",\"name\":\"plugins\"},{\"mountPath\":\"/var/jenkins_plugins\",\"name\":\"plugin-dir\"},{\"mountPath\":\"/tmp\",\"name\":\"tmp-volume\"}]}],\"securityContext\":{\"fsGroup\":1000,\"runAsNonRoot\":true,\"runAsUser\":1000},\"serviceAccountName\":\"jenkins\",\"volumes\":[{\"emptyDir\":{},\"name\":\"plugins\"},{\"configMap\":{\"name\":\"jenkins\"},\"name\":\"jenkins-config\"},{\"emptyDir\":{},\"name\":\"plugin-dir\"},{\"name\":\"jenkins-secrets\",\"projected\":{\"sources\":[{\"secret\":{\"items\":[{\"key\":\"jenkins-admin-user\",\"path\":\"chart-admin-username\"},{\"key\":\"jenkins-admin-password\",\"path\":\"chart-admin-password\"}],\"name\":\"jenkins\"}}]}},{\"emptyDir\":{},\"name\":\"jenkins-cache\"},{\"name\":\"jenkins-home\",\"persistentVolumeClaim\":{\"claimName\":\"jenkins\"}},{\"emptyDir\":{},\"name\":\"sc-config-volume\"},{\"emptyDir\":{},\"name\":\"tmp-volume\"}]}}}}}"),
│ but now cty.StringVal("{\"jenkins/configmap/v1/jenkins\":{\"apiVersion\":\"v1\",\"data\":{\"apply_config.sh\":\"set -e\\necho \\\"disable
│ Setup Wizard\\\"\\n# Prevent Setup Wizard when JCasC is enabled\\necho $JENKINS_VERSION \\u003e
│ /var/jenkins_home/jenkins.install.UpgradeWizard.state\\necho $JENKINS_VERSION \\u003e
│ /var/jenkins_home/jenkins.install.InstallUtil.lastExecVersion\\necho \\\"download plugins\\\"\\n# Install missing plugins\\ncp
│ /var/jenkins_config/plugins.txt /var/jenkins_home;\\nrm -rf /usr/share/jenkins/ref/plugins/*.lock\\nversion () { echo \\\"$@\\\" | awk
│ -F. '{ printf(\\\"%d%03d%03d%03d\\\\n\\\", $1,$2,$3,$4); }'; }\\nif [ -f \\\"/usr/share/jenkins/jenkins.war\\\" ] \\u0026\\u0026 [ -n
│ \\\"$(command -v jenkins-plugin-cli)\\\" 2\\u003e/dev/null ] \\u0026\\u0026 [ $(version $(jenkins-plugin-cli --version)) -ge $(version
│ \\\"2.1.1\\\") ]; then\\n  jenkins-plugin-cli --verbose --war \\\"/usr/share/jenkins/jenkins.war\\\" --plugin-file
│ \\\"/var/jenkins_home/plugins.txt\\\" --latest true;\\nelse\\n  /usr/local/bin/install-plugins.sh `echo $(cat
│ /var/jenkins_home/plugins.txt)`;\\nfi\\necho \\\"copy plugins to shared volume\\\"\\n# Copy plugins to shared volume\\nyes n | cp -i
│ /usr/share/jenkins/ref/plugins/* /var/jenkins_plugins/;\\necho \\\"finished
│ initialization\\\"\",\"plugins.txt\":\"kubernetes:3734.v562b_b_a_627ea_c\\nworkflow-aggregator:590.v6a_d052e5a_a_b_5\\ngit:4.13.0\\nconfiguration-as-code:1569.vb_72405b_80249\\ngoogle-login:1.7\\njob-dsl:1.81\"},\"kind\":\"ConfigMap\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\"},\"name\":\"jenkins\",\"namespace\":\"jenkins\"}},\"jenkins/configmap/v1/jenkins-jenkins-jcasc-config\":{\"apiVersion\":\"v1\",\"data\":{\"jcasc-default-config.yaml\":\"jenkins:\\n
│ authorizationStrategy:\\n    loggedInUsersCanDoAnything:\\n      allowAnonymousRead: false\\n  securityRealm:\\n    local:\\n
│ allowsSignup: false\\n      enableCaptcha: false\\n      users:\\n      - id: \\\"${chart-admin-username}\\\"\\n        name: \\\"Jenkins
│ Admin\\\"\\n        password: \\\"${chart-admin-password}\\\"\\n  disableRememberMe: false\\n  mode: NORMAL\\n  numExecutors: 0\\n
│ labelString: \\\"\\\"\\n  projectNamingStrategy: \\\"standard\\\"\\n  markupFormatter:\\n    plainText\\n  clouds:\\n  - kubernetes:\\n
│ containerCapStr: \\\"10\\\"\\n      defaultsProviderTemplate: \\\"\\\"\\n      connectTimeout: \\\"5\\\"\\n      readTimeout:
│ \\\"15\\\"\\n      jenkinsUrl: \\\"localhost:8080\\\"\\n      jenkinsTunnel: \\\"jenkins-agent.jenkins.svc.cluster.local:50000\\\"\\n
│ maxRequestsPerHostStr: \\\"32\\\"\\n      name: \\\"kubernetes\\\"\\n      namespace: \\\"jenkins\\\"\\n      serverUrl:
│ \\\"https://kubernetes.default\\\"\\n      podLabels:\\n      - key: \\\"jenkins/jenkins-jenkins-agent\\\"\\n        value:
│ \\\"true\\\"\\n      templates:\\n        - name: \\\"default\\\"\\n          namespace: \\\"jenkins\\\"\\n          id:
│ 8b89b7d653dc77f89888079b028e472617f7daff7072b7365a0aa392fc319cc6\\n          containers:\\n          - name: \\\"jnlp\\\"\\n
│ alwaysPullImage: false\\n            args: \\\"^${computer.jnlpmac} ^${computer.name}\\\"\\n            command: \\n
│ envVars:\\n              - envVar:\\n                  key: \\\"JENKINS_URL\\\"\\n                  value: localhost:8080\\n
│ image: \\\"jenkins/inbound-agent:4.11.2-4\\\"\\n            privileged: \\\"false\\\"\\n            resourceLimitCpu: 512m\\n
│ resourceLimitMemory: 512Mi\\n            resourceRequestCpu: 512m\\n            resourceRequestMemory: 512Mi\\n            runAsUser: \\n
│ runAsGroup: \\n            ttyEnabled: false\\n            workingDir: /home/jenkins/agent\\n          idleMinutes: 0\\n
│ instanceCap: 2147483647\\n          label: \\\"jenkins-jenkins-agent \\\"\\n          nodeUsageMode: \\\"NORMAL\\\"\\n
│ podRetention: Never\\n          showRawYaml: true\\n          serviceAccount: \\\"default\\\"\\n          slaveConnectTimeoutStr:
│ \\\"100\\\"\\n          yamlMergeStrategy: override\\n  crumbIssuer:\\n    standard:\\n      excludeClientIPFromCrumb:
│ true\\nsecurity:\\n  apiToken:\\n    creationOfLegacyTokenEnabled: false\\n    tokenGenerationOnCreationEnabled: false\\n
│ usageStatisticsEnabled: true\\nunclassified:\\n  location:\\n    adminAddress: \\n    url:
│ http://jenkins:8080\"},\"kind\":\"ConfigMap\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\",\"jenkins-jenkins-config\":\"true\"},\"name\":\"jenkins-jenkins-jcasc-config\",\"namespace\":\"jenkins\"}},\"jenkins/persistentvolumeclaim/v1/jenkins\":{\"apiVersion\":\"v1\",\"kind\":\"PersistentVolumeClaim\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins\",\"namespace\":\"jenkins\"},\"spec\":{\"accessModes\":[\"ReadWriteOnce\"],\"resources\":{\"requests\":{\"storage\":\"8Gi\"}}}},\"jenkins/role.rbac.authorization.k8s.io/rbac.authorization.k8s.io/v1/jenkins-casc-reload\":{\"apiVersion\":\"rbac.authorization.k8s.io/v1\",\"kind\":\"Role\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins-casc-reload\",\"namespace\":\"jenkins\"},\"rules\":[{\"apiGroups\":[\"\"],\"resources\":[\"configmaps\"],\"verbs\":[\"get\",\"watch\",\"list\"]}]},\"jenkins/role.rbac.authorization.k8s.io/rbac.authorization.k8s.io/v1/jenkins-schedule-agents\":{\"apiVersion\":\"rbac.authorization.k8s.io/v1\",\"kind\":\"Role\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins-schedule-agents\",\"namespace\":\"jenkins\"},\"rules\":[{\"apiGroups\":[\"\"],\"resources\":[\"pods\",\"pods/exec\",\"pods/log\",\"persistentvolumeclaims\",\"events\"],\"verbs\":[\"get\",\"list\",\"watch\"]},{\"apiGroups\":[\"\"],\"resources\":[\"pods\",\"pods/exec\",\"persistentvolumeclaims\"],\"verbs\":[\"create\",\"delete\",\"deletecollection\",\"patch\",\"update\"]}]},\"jenkins/rolebinding.rbac.authorization.k8s.io/rbac.authorization.k8s.io/v1/jenkins-schedule-agents\":{\"apiVersion\":\"rbac.authorization.k8s.io/v1\",\"kind\":\"RoleBinding\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins-schedule-agents\",\"namespace\":\"jenkins\"},\"roleRef\":{\"apiGroup\":\"rbac.authorization.k8s.io\",\"kind\":\"Role\",\"name\":\"jenkins-schedule-agents\"},\"subjects\":[{\"kind\":\"ServiceAccount\",\"name\":\"jenkins\",\"namespace\":\"jenkins\"}]},\"jenkins/rolebinding.rbac.authorization.k8s.io/rbac.authorization.k8s.io/v1/jenkins-watch-configmaps\":{\"apiVersion\":\"rbac.authorization.k8s.io/v1\",\"kind\":\"RoleBinding\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins-watch-configmaps\",\"namespace\":\"jenkins\"},\"roleRef\":{\"apiGroup\":\"rbac.authorization.k8s.io\",\"kind\":\"Role\",\"name\":\"jenkins-casc-reload\"},\"subjects\":[{\"kind\":\"ServiceAccount\",\"name\":\"jenkins\",\"namespace\":\"jenkins\"}]},\"jenkins/secret/v1/jenkins\":{\"kind\":\"Secret\",\"apiVersion\":\"v1\",\"metadata\":{\"name\":\"jenkins\",\"namespace\":\"jenkins\",\"creationTimestamp\":null,\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"}},\"data\":{\"jenkins-admin-password\":\"KHNlbnNpdGl2ZSB2YWx1ZSA3ODcwN2QxYzMwMjZjOWE0KQ==\",\"jenkins-admin-user\":\"KHNlbnNpdGl2ZSB2YWx1ZSA2YTEyN2FmNGY1YWU2MmU3KQ==\"},\"type\":\"Opaque\"},\"jenkins/service/v1/jenkins\":{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins\",\"namespace\":\"jenkins\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"targetPort\":8080}],\"selector\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\"},\"type\":\"ClusterIP\"}},\"jenkins/service/v1/jenkins-agent\":{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins-agent\",\"namespace\":\"jenkins\"},\"spec\":{\"ports\":[{\"name\":\"agent-listener\",\"port\":50000,\"targetPort\":50000}],\"selector\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\"},\"type\":\"ClusterIP\"}},\"jenkins/serviceaccount/v1/jenkins\":{\"apiVersion\":\"v1\",\"kind\":\"ServiceAccount\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins\",\"namespace\":\"jenkins\"}},\"jenkins/statefulset.apps/apps/v1/jenkins\":{\"apiVersion\":\"apps/v1\",\"kind\":\"StatefulSet\",\"metadata\":{\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\",\"helm.sh/chart\":\"jenkins-4.2.17\"},\"name\":\"jenkins\",\"namespace\":\"jenkins\"},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\"}},\"serviceName\":\"jenkins\",\"template\":{\"metadata\":{\"annotations\":{\"checksum/config\":\"f66edcf409c81f049afb1315c854a041285ba77c1b1966fcb412455ef66acc0d\"},\"labels\":{\"app.kubernetes.io/component\":\"jenkins-controller\",\"app.kubernetes.io/instance\":\"jenkins\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"jenkins\"}},\"spec\":{\"containers\":[{\"args\":[\"--httpPort=8080\"],\"env\":[{\"name\":\"SECRETS\",\"value\":\"/run/secrets/additional\"},{\"name\":\"POD_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.name\"}}},{\"name\":\"JAVA_OPTS\",\"value\":\"-Dcasc.reload.token=$(POD_NAME)
│ \"},{\"name\":\"JENKINS_OPTS\",\"value\":\"--webroot=/var/jenkins_cache/war
│ \"},{\"name\":\"JENKINS_SLAVE_AGENT_PORT\",\"value\":\"50000\"},{\"name\":\"CASC_JENKINS_CONFIG\",\"value\":\"/var/jenkins_home/casc_configs\"}],\"image\":\"jenkins/jenkins:2.375.1-jdk11\",\"imagePullPolicy\":\"Always\",\"livenessProbe\":{\"failureThreshold\":5,\"httpGet\":{\"path\":\"/login\",\"port\":\"http\"},\"periodSeconds\":10,\"timeoutSeconds\":5},\"name\":\"jenkins\",\"ports\":[{\"containerPort\":8080,\"name\":\"http\"},{\"containerPort\":50000,\"name\":\"agent-listener\"}],\"readinessProbe\":{\"failureThreshold\":3,\"httpGet\":{\"path\":\"/login\",\"port\":\"http\"},\"periodSeconds\":10,\"timeoutSeconds\":5},\"resources\":{\"limits\":{\"cpu\":\"2000m\",\"memory\":\"4096Mi\"},\"requests\":{\"cpu\":\"50m\",\"memory\":\"256Mi\"}},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"readOnlyRootFilesystem\":true,\"runAsGroup\":1000,\"runAsUser\":1000},\"startupProbe\":{\"failureThreshold\":12,\"httpGet\":{\"path\":\"/login\",\"port\":\"http\"},\"periodSeconds\":10,\"timeoutSeconds\":5},\"volumeMounts\":[{\"mountPath\":\"/var/jenkins_home\",\"name\":\"jenkins-home\",\"readOnly\":false},{\"mountPath\":\"/var/jenkins_config\",\"name\":\"jenkins-config\",\"readOnly\":true},{\"mountPath\":\"/usr/share/jenkins/ref/plugins/\",\"name\":\"plugin-dir\",\"readOnly\":false},{\"mountPath\":\"/var/jenkins_home/casc_configs\",\"name\":\"sc-config-volume\"},{\"mountPath\":\"/run/secrets/additional\",\"name\":\"jenkins-secrets\",\"readOnly\":true},{\"mountPath\":\"/var/jenkins_cache\",\"name\":\"jenkins-cache\"},{\"mountPath\":\"/tmp\",\"name\":\"tmp-volume\"}]},{\"env\":[{\"name\":\"POD_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.name\"}}},{\"name\":\"LABEL\",\"value\":\"jenkins-jenkins-config\"},{\"name\":\"FOLDER\",\"value\":\"/var/jenkins_home/casc_configs\"},{\"name\":\"NAMESPACE\",\"value\":\"jenkins\"},{\"name\":\"REQ_URL\",\"value\":\"http://localhost:8080/reload-configuration-as-code/?casc-reload-token=$(POD_NAME)\"},{\"name\":\"REQ_METHOD\",\"value\":\"POST\"},{\"name\":\"REQ_RETRY_CONNECT\",\"value\":\"10\"}],\"image\":\"kiwigrid/k8s-sidecar:1.15.0\",\"imagePullPolicy\":\"IfNotPresent\",\"name\":\"config-reload\",\"resources\":{},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"readOnlyRootFilesystem\":true},\"volumeMounts\":[{\"mountPath\":\"/var/jenkins_home/casc_configs\",\"name\":\"sc-config-volume\"},{\"mountPath\":\"/var/jenkins_home\",\"name\":\"jenkins-home\"}]}],\"initContainers\":[{\"command\":[\"sh\",\"/var/jenkins_config/apply_config.sh\"],\"image\":\"jenkins/jenkins:2.375.1-jdk11\",\"imagePullPolicy\":\"Always\",\"name\":\"init\",\"resources\":{\"limits\":{\"cpu\":\"2000m\",\"memory\":\"4096Mi\"},\"requests\":{\"cpu\":\"50m\",\"memory\":\"256Mi\"}},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"readOnlyRootFilesystem\":true,\"runAsGroup\":1000,\"runAsUser\":1000},\"volumeMounts\":[{\"mountPath\":\"/var/jenkins_home\",\"name\":\"jenkins-home\"},{\"mountPath\":\"/var/jenkins_config\",\"name\":\"jenkins-config\"},{\"mountPath\":\"/usr/share/jenkins/ref/plugins\",\"name\":\"plugins\"},{\"mountPath\":\"/var/jenkins_plugins\",\"name\":\"plugin-dir\"},{\"mountPath\":\"/tmp\",\"name\":\"tmp-volume\"}]}],\"securityContext\":{\"fsGroup\":1000,\"runAsNonRoot\":true,\"runAsUser\":1000},\"serviceAccountName\":\"jenkins\",\"volumes\":[{\"emptyDir\":{},\"name\":\"plugins\"},{\"configMap\":{\"name\":\"jenkins\"},\"name\":\"jenkins-config\"},{\"emptyDir\":{},\"name\":\"plugin-dir\"},{\"name\":\"jenkins-secrets\",\"projected\":{\"sources\":[{\"secret\":{\"items\":[{\"key\":\"jenkins-admin-user\",\"path\":\"chart-admin-username\"},{\"key\":\"jenkins-admin-password\",\"path\":\"chart-admin-password\"}],\"name\":\"jenkins\"}}]}},{\"emptyDir\":{},\"name\":\"jenkins-cache\"},{\"name\":\"jenkins-home\",\"persistentVolumeClaim\":{\"claimName\":\"jenkins\"}},{\"emptyDir\":{},\"name\":\"sc-config-volume\"},{\"emptyDir\":{},\"name\":\"tmp-volume\"}]}}}}}").
│
│ This is a bug in the provider, which should be reported in the provider's own issue tracker.

...



### What you expected to happen?

apply successful and install the plugins

### How to reproduce it

_No response_

### Anything else we need to know?

_No response_

jascao avatar Dec 29 '22 08:12 jascao