Ctrl K
ComunidadGuías…

test/docker-context.sh

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/usr/bin/env bash
set -euo pipefail

root=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
work=$(mktemp -d)
trap 'rm -rf "$work"' EXIT
context="$work/input"
output="$work/output"
mkdir -p "$context" "$output"
cp "$root/.dockerignore" "$context/.dockerignore"
touch "$context/source.go"
mkdir -p "$context/internal/kubeconfig"
touch "$context/internal/kubeconfig/source.go"

credentials=(
    .env
    .env.local
    .npmrc
    .netrc
    .pypirc
    .aws/credentials
    .azure/accessTokens.json
    .config/gcloud/application_default_credentials.json
    .docker/config.json
    .kube/config
    kubeconfig
    kubeconfig.dev
    cluster.kubeconfig
    id_rsa
    id_dsa
    id_ecdsa
    id_ed25519
    client.pem
    client.key
    client.p12
    client.pfx
    client.jks
    frontend/.env
    frontend/.env.production
    frontend/.npmrc
)

for path in "${credentials[@]}"; do
    mkdir -p "$context/$(dirname "$path")"
    touch "$context/$path"
done

docker buildx build \
    --file "$root/test/docker-context.Dockerfile" \
    --output "type=local,dest=$output" \
    "$context" > /dev/null

if [ ! -f "$output/context/source.go" ]; then
    echo "Docker context excluded required source" >&2
    exit 1
fi

if [ ! -f "$output/context/internal/kubeconfig/source.go" ]; then
    echo "Docker context excluded the kubeconfig source package" >&2
    exit 1
fi

for path in "${credentials[@]}"; do
    if [ -e "$output/context/$path" ]; then
        echo "Docker context included credential path $path" >&2
        exit 1
    fi
done