mirror of
https://github.com/TECHNOFAB11/zfs-localpv.git
synced 2025-12-12 06:20:11 +01:00
feat(crd-gen): automate the CRDs generation with validations for APIs (#75)
- To generate the CRD spec `make manifest` generate then under deploy/yamls directory - added a update-crd script to automate the steps to generate CRDs and its validation of each types Signed-off-by: prateekpandey14 <prateek.pandey@mayadata.io>
This commit is contained in:
parent
8a9ac43ab5
commit
6033789c17
26 changed files with 509 additions and 82 deletions
45
buildscripts/update-crd.sh
Executable file
45
buildscripts/update-crd.sh
Executable file
|
|
@ -0,0 +1,45 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Copyright 2019 The Kubernetes Authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
#set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
## find or download controller-gen
|
||||
CONTROLLER_GEN=$(which controller-gen)
|
||||
|
||||
if [ "$CONTROLLER_GEN" = "" ]
|
||||
then
|
||||
TMP_DIR=$(mktemp -d);
|
||||
cd $TMP_DIR;
|
||||
go mod init tmp;
|
||||
go get sigs.k8s.io/controller-tools/cmd/controller-gen@v0.2.8;
|
||||
rm -rf $TMP_DIR;
|
||||
CONTROLLER_GEN=$(which controller-gen)
|
||||
fi
|
||||
|
||||
if [ "$CONTROLLER_GEN" = "" ]
|
||||
then
|
||||
echo "ERROR: failed to get controller-gen";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
SCRIPT_ROOT=$(unset CDPATH && cd $(dirname "${BASH_SOURCE[0]}")/.. && pwd)
|
||||
|
||||
$CONTROLLER_GEN crd:trivialVersions=true,preserveUnknownFields=false paths=${SCRIPT_ROOT}/pkg/apis/openebs.io/zfs/v1alpha1 output:crd:artifacts:config=deploy/yamls
|
||||
|
||||
# To use your own boilerplate text use:
|
||||
# --go-header-file ${SCRIPT_ROOT}/hack/custom-boilerplate.go.txt
|
||||
Loading…
Add table
Add a link
Reference in a new issue