| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/usr/bin/sh
- set -euo pipefail
- DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
- rm -rf $DIR/generated/*
- for providerdir in $(find $DIR/../../pkg/provider -maxdepth 1 -mindepth 1 | grep -vE "(util|testing|register)"); do
- provider=$(basename $providerdir)
- cd $providerdir
- if [ ! -f "go.mod" ]; then
- go mod init "github.com/external-secrets/external-secrets-provider-${provider}"
- go mod tidy
- fi
- cd $DIR
- # TODO:
- if [ "${provider}" == "yandex" ]; then
- continue;
- fi
- # grpc should not be generated
- if [ "${provider}" == "grpc" ]; then
- continue;
- fi
- pkgname=$provider
- # override import path, because provider directory structure is not standardised
- if [ "${provider}" == "gcp" ]; then
- pkgname="gcp/secretmanager"
- fi
- if [ "${provider}" == "azure" ]; then
- pkgname="azure/keyvault"
- fi
- echo "generating provider $provider from $providerdir"
- mkdir -p "${DIR}/generated/${provider}"
- sed "s\PROVIDER_NAME\\$pkgname\g" $DIR/provider.go.tmpl > "$DIR/generated/${provider}/main.go"
- cd $DIR/generated/${provider}/
- go mod init github.com/external-secrets/external-secrets-provider-$provider >/dev/null 2>&1
- sed -i "2i replace github.com/external-secrets/external-secrets/pkg/provider/${provider} => ../../../../pkg/provider/${provider}" go.mod
- cd $DIR
- go mod download
- done
|