Commit 0ef87337 authored by Pierre Smeyers's avatar Pierre Smeyers
Browse files

Merge branch 'better-kusto' into 'master'

feat: apply kustomize independently and allow setting ARGS

Closes #38

See merge request to-be-continuous/kubernetes!58
parents d9e9dfa8 d1245931
Loading
Loading
Loading
Loading
+13 −12
Original line number Diff line number Diff line
@@ -356,6 +356,7 @@ The Kubernetes template uses some global configuration used throughout all jobs.
| :lock: `K8S_TOKEN`     | default service account token                                                                                                                                           | **required if using exploded kubeconfig parameters**                                                   |
| `K8S_SCRIPTS_DIR`      | directory where k8s scripts (hook scripts) are located                                                                                                                  | `.` _(root project dir)_                                                                               |
| `K8S_KUSTOMIZE_ENABLED` | Set to `true` to force using [Kustomize](https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/)                                                        | _none_ (disabled)                                                                                      |
| `K8S_KUSTOMIZE_ARGS`    | Additional [`kubectl kustomize` options](https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#kustomize)<br/>_for example: `--enable-helm`_ | _none_                                                                                               |
| `DOCKER_CONTAINER_STABLE_IMAGE` | Docker image name to use for staging/prod                                                                                                                               | **has to be defined when not chaining execution from Docker template**                                 |
| `DOCKER_CONTAINER_UNSTABLE_IMAGE` | Docker image name to use for review                                                                                                                                     | **has to be defined when not chaining execution from Docker template**                                 |

+5 −0
Original line number Diff line number Diff line
@@ -51,6 +51,11 @@
      "description": "Set to `true` to enable [Kustomize](https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/)",
      "type": "boolean",
      "advanced": true
    },
    {
      "name": "K8S_KUSTOMIZE_ARGS",
      "description": "Additional [`kubectl kustomize` options](https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#kustomize)\n\n_For example: `--enable-helm`_",
      "advanced": true
    }
  ],
  "features": [
+6 −2
Original line number Diff line number Diff line
@@ -51,6 +51,8 @@ variables:
  K8S_SCRIPTS_DIR: "."
  K8S_REVIEW_ENVIRONMENT_SCHEME: "https"

  #K8S_KUSTOMIZE_ARGS: "--enable-helm"

  # default production ref name (pattern)
  PROD_REF: '/^(master|main)$/'
  # default integration ref name (pattern)
@@ -357,8 +359,10 @@ stages:
      deploymentdir=$(dirname "$kustofile")

      # apply/delete deployment descriptor
      log_info "--- \\e[32mkustomize\\e[0m"
      kubectl kustomize "$deploymentdir" ${K8S_KUSTOMIZE_ARGS}  > ./generated-deployment.yml
      log_info "--- \\e[32mkubectl apply\\e[0m"
      kubectl ${TRACE+-v=5} "$action" -k "$deploymentdir"
      kubectl ${TRACE+-v=5} "$action" -f ./generated-deployment.yml
    else
      # find deployment file
      deploymentfile=$(ls -1 "$K8S_SCRIPTS_DIR/deployment-${environment_type}.yml" 2>/dev/null || ls -1 "$K8S_SCRIPTS_DIR/deployment.yml" 2>/dev/null || echo "")
@@ -574,7 +578,7 @@ stages:
      deploymentdir=$(dirname "$kustofile")

      # shellcheck disable=SC2086
      kustomize build "${deploymentdir}" | /usr/bin/kube-score score $K8S_SCORE_EXTRA_OPTS -
      kustomize build ${K8S_KUSTOMIZE_ARGS} "${deploymentdir}" | /usr/bin/kube-score score $K8S_SCORE_EXTRA_OPTS -
    else
      # find deployment file
      deploymentfile=$(ls -1 "$K8S_SCRIPTS_DIR/deployment-${environment_type}.yml" 2>/dev/null || ls -1 "$K8S_SCRIPTS_DIR/deployment.yml" 2>/dev/null || echo "")