crd2pulumi 변환 가이드
정보
crd2pulumi 개요 문서에서 도구 역할을 먼저 확인할 수 있습니다.
설치
go install github.com/pulumi/crd2pulumi@latest
CRDs to yaml
for crd in $(kubectl get crd -o name); do
case $crd in
*istio*)
echo $crd | cut -d "/" -f 2
echo "---" >> crds.yaml
kubectl get $crd -o yaml >> crds.yaml
;;
esac
done
yaml to pulumi
crd2pulumi \
--nodejsPath ./crds/istio \
--nodejsName istio \
crds.yaml
crds/
└── istio/
├── extensions/
│ ├── index.ts
│ └── v1alpha1/
│ ├── index.ts
│ └── wasmPlugin.ts
├── index.ts
├── install/
│ ├── index.ts
│ └── v1alpha1/
│ ├── index.ts
│ └── istioOperator.ts
├── meta/
│ └── v1.ts
├── networking/
│ ├── index.ts
│ ├── v1alpha3/
│ │ ├── destinationRule.ts
│ │ ├── envoyFilter.ts
│ │ ├── gateway.ts
│ │ ├── index.ts
│ │ ├── serviceEntry.ts
│ │ ├── sidecar.ts
│ │ ├── virtualService.ts
│ │ ├── workloadEntry.ts
│ │ └── workloadGroup.ts
│ └── v1beta1/
│ ├── destinationRule.ts
│ ├── gateway.ts
│ ├── index.ts
│ ├── proxyConfig.ts
│ ├── serviceEntry.ts
│ ├── sidecar.ts
│ ├── virtualService.ts
│ ├── workloadEntry.ts
│ └── workloadGroup.ts
├── package.json
├ ── provider.ts
├── README.md
├── scripts/
│ └── install-pulumi-plugin.js
├── security/
│ ├── index.ts
│ └── v1beta1/
│ ├── authorizationPolicy.ts
│ ├── index.ts
│ ├── peerAuthentication.ts
│ └── requestAuthentication.ts
├── telemetry/
│ ├── index.ts
│ └── v1alpha1/
│ ├── index.ts
│ └── telemetry.ts
├── tsconfig.json
├── types/
│ ├── index.ts
│ ├── input.ts
│ └── output.ts
└── utilities.ts