Skip to content

Instantly share code, notes, and snippets.

@solidnerd
Last active December 10, 2021 05:53
Show Gist options
  • Select an option

  • Save solidnerd/0adeeb6dc0b0fc23a249959a7283cbb8 to your computer and use it in GitHub Desktop.

Select an option

Save solidnerd/0adeeb6dc0b0fc23a249959a7283cbb8 to your computer and use it in GitHub Desktop.

Revisions

  1. solidnerd revised this gist Dec 10, 2021. 2 changed files with 27 additions and 14 deletions.
    27 changes: 27 additions & 0 deletions convert-ingress.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,27 @@
    #!/bin/bash
    set -e
    set -o pipefail

    # kubectl convert is a plugin or binary that can be used
    # can be fetched from https://www.downloadkubernetes.com/
    #
    KUBECTL_CONVERT_BIN=$HOME/Downloads/kubectl-convert

    mkdir -p {pre,converted}

    for ing in $(kubectl get ing -o go-template="{{range .items}}{{ .metadata.name }}{{\"\n\"}}{{end}}" 2>&1 | grep -i -v "Warn" | grep -i -v "Deprecat")
    do

    kubectl get ing $ing -o yaml > "pre/$ing.yaml"

    # Transform the current ingress version to networking.k8s.io/v1
    $KUBECTL_CONVERT_BIN -f "pre/$ing.yaml" > "converted/$ing.yaml" --output-version networking.k8s.io/v1

    # Removes unintended fields from the converted yaml
    yq e -i 'del(.status)' "converted/$ing.yaml"
    yq e -i 'del(.metadata.uid)' "converted/$ing.yaml"
    yq e -i 'del(.metadata.selfLink)' "converted/$ing.yaml"
    yq e -i 'del(.metadata.resourceVersion)' "converted/$ing.yaml"
    yq e -i 'del(.metadata.creationTimestamp)' "converted/$ing.yaml"
    yq e -i 'del(.metadata.generation)' "converted/$ing.yaml"
    done
    14 changes: 0 additions & 14 deletions convert.sh
    Original file line number Diff line number Diff line change
    @@ -1,14 +0,0 @@
    #!/bin/bash
    set -e
    set -o pipefail

    KUBECTL_CONVERT_BIN=$HOME/Downloads/kubectl-convert

    mkdir -p pre
    mkdir -p converted

    for ing in $(kubectl get ing -o go-template="{{range .items}}{{ .metadata.name }}{{\"\n\"}}{{end}}" 2>&1 | grep -i -v "Warn" | grep -i -v "Deprecat")
    do
    kubectl get ing $ing -o yaml > "pre/$ing.yaml"
    $KUBECTL_CONVERT_BIN -f "pre/$ing.yaml" > converted/"$ing.yaml" --output-version networking.k8s.io/v1
    done
  2. solidnerd created this gist Dec 9, 2021.
    14 changes: 14 additions & 0 deletions convert.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,14 @@
    #!/bin/bash
    set -e
    set -o pipefail

    KUBECTL_CONVERT_BIN=$HOME/Downloads/kubectl-convert

    mkdir -p pre
    mkdir -p converted

    for ing in $(kubectl get ing -o go-template="{{range .items}}{{ .metadata.name }}{{\"\n\"}}{{end}}" 2>&1 | grep -i -v "Warn" | grep -i -v "Deprecat")
    do
    kubectl get ing $ing -o yaml > "pre/$ing.yaml"
    $KUBECTL_CONVERT_BIN -f "pre/$ing.yaml" > converted/"$ing.yaml" --output-version networking.k8s.io/v1
    done