diff --git a/.github/create_bundle.sh b/.github/create_bundle.sh index 28c8c981b..e3dfc3da4 100755 --- a/.github/create_bundle.sh +++ b/.github/create_bundle.sh @@ -34,32 +34,32 @@ cat "${CLUSTER_BUNDLE_FILE}" | grep "image:" # error will be reported to the console. set +e for csv_image in $(cat "${CLUSTER_BUNDLE_FILE}" | grep "image:" | sed -e "s|.*image:||" | sort -u); do - digest_image="" - echo "CSV line: ${csv_image}" + digest_image="" + echo "CSV line: ${csv_image}" - # case where @ is in the csv_image image - if [[ "$csv_image" =~ .*"@".* ]]; then - delimeter='@' - else - delimeter=':' - fi + # case where @ is in the csv_image image + if [[ "$csv_image" =~ .*"@".* ]]; then + delimeter='@' + else + delimeter=':' + fi - base_image=$(echo $csv_image | cut -f 1 -d${delimeter}) - tag_image=$(echo $csv_image | cut -f 2 -d${delimeter}) + base_image=$(echo $csv_image | cut -f 1 -d${delimeter}) + tag_image=$(echo $csv_image | cut -f 2 -d${delimeter}) - if [[ "$base_image:$tag_image" == "controller:latest" ]]; then - echo "$base_image:$tag_image becomes $OPERATOR_IMG_WITH_DIGEST" - sed -e "s|$base_image:$tag_image|$OPERATOR_IMG_WITH_DIGEST|g" -i "${CLUSTER_BUNDLE_FILE}" - else - digest_image=$(skopeo inspect docker://${base_image}${delimeter}${tag_image} | jq '.Digest' -r) - echo "Base image: $base_image" - if [ -n "$digest_image" ]; then - echo "$base_image${delimeter}$tag_image becomes $base_image@$digest_image" - sed -i "s|$base_image$delimeter$tag_image|$base_image@$digest_image|g" "${CLUSTER_BUNDLE_FILE}" + if [[ "$base_image:$tag_image" == "controller:latest" ]]; then + echo "$base_image:$tag_image becomes $OPERATOR_IMG_WITH_DIGEST" + sed -e "s|$base_image:$tag_image|$OPERATOR_IMG_WITH_DIGEST|g" -i "${CLUSTER_BUNDLE_FILE}" else - echo "$base_image${delimeter}$tag_image not changed" + digest_image=$(skopeo inspect docker://${base_image}${delimeter}${tag_image} | jq '.Digest' -r) + echo "Base image: $base_image" + if [ -n "$digest_image" ]; then + echo "$base_image${delimeter}$tag_image becomes $base_image@$digest_image" + sed -i "s|$base_image$delimeter$tag_image|$base_image@$digest_image|g" "${CLUSTER_BUNDLE_FILE}" + else + echo "$base_image${delimeter}$tag_image not changed" + fi fi - fi done echo "Resulting bundle file images:" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index be132eea0..6319c2903 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,4 +1,17 @@ repos: +- repo: https://github.com/dnephin/pre-commit-golang + rev: v0.5.1 + hooks: + - id: go-fmt + exclude: ^vendor + - id: go-vet + - id: go-mod-tidy + +- repo: https://github.com/golangci/golangci-lint + rev: v1.50.1 + hooks: + - id: golangci-lint + - repo: local hooks: - id: make-manifests @@ -20,17 +33,8 @@ repos: args: ['operator-lint'] pass_filenames: false -- repo: https://github.com/dnephin/pre-commit-golang - rev: v0.5.1 - hooks: - - id: go-fmt - exclude: ^vendor - - id: go-vet - - id: go-mod-tidy - - id: go-lint - - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.3.0 + rev: v4.4.0 hooks: - id: check-added-large-files - id: fix-byte-order-marker @@ -51,3 +55,9 @@ repos: - id: no-commit-to-branch - id: trailing-whitespace exclude: ^vendor + +- repo: https://github.com/openstack/bashate.git + rev: 2.1.1 + hooks: + - id: bashate + entry: bashate --error . --ignore=E006,E040,E043 diff --git a/apis/core/v1beta1/conditions.go b/apis/core/v1beta1/conditions.go index 73bbc0387..ee787b5c9 100644 --- a/apis/core/v1beta1/conditions.go +++ b/apis/core/v1beta1/conditions.go @@ -19,9 +19,7 @@ import ( condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition" ) -// // OpenStackControlPlane Condition Types used by API objects. -// const ( // OpenStackControlPlaneRabbitMQReadyCondition Status=True condition which indicates if RabbitMQ is configured and operational OpenStackControlPlaneRabbitMQReadyCondition condition.Type = "OpenStackControlPlaneRabbitMQReady" @@ -53,14 +51,10 @@ const ( OpenStackControlPlaneNovaReadyCondition condition.Type = "OpenStackControlPlaneNovaReady" ) -// // OpenStackControlPlane Reasons used by API objects. -// const () -// // Common Messages used by API objects. -// const ( // // OpenStackControlPlaneReady condition messages diff --git a/apis/core/v1beta1/groupversion_info.go b/apis/core/v1beta1/groupversion_info.go index cb1a83a62..edbed81eb 100644 --- a/apis/core/v1beta1/groupversion_info.go +++ b/apis/core/v1beta1/groupversion_info.go @@ -15,8 +15,8 @@ limitations under the License. */ // Package v1beta1 contains API Schema definitions for the core v1beta1 API group -//+kubebuilder:object:generate=true -//+groupName=core.openstack.org +// +kubebuilder:object:generate=true +// +groupName=core.openstack.org package v1beta1 import ( diff --git a/apis/rabbitmq/v1beta1/conditions.go b/apis/rabbitmq/v1beta1/conditions.go index c3eed83a9..e1d82ae7f 100644 --- a/apis/rabbitmq/v1beta1/conditions.go +++ b/apis/rabbitmq/v1beta1/conditions.go @@ -19,22 +19,16 @@ import ( condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition" ) -// // TransportURL Condition Types used by API objects. -// const ( // TransportURLReadyCondition Status=True condition which indicates if TransportURL is configured and operational TransportURLReadyCondition condition.Type = "TransportURLReady" ) -// // TransportURL Reasons used by API objects. -// const () -// // Common Messages used by API objects. -// const ( // // TransportURLReady condition messages diff --git a/apis/rabbitmq/v1beta1/groupversion_info.go b/apis/rabbitmq/v1beta1/groupversion_info.go index 5c0ebf013..7ef593a7a 100644 --- a/apis/rabbitmq/v1beta1/groupversion_info.go +++ b/apis/rabbitmq/v1beta1/groupversion_info.go @@ -15,8 +15,8 @@ limitations under the License. */ // Package v1beta1 contains API Schema definitions for the rabbitmq v1beta1 API group -//+kubebuilder:object:generate=true -//+groupName=rabbitmq.openstack.org +// +kubebuilder:object:generate=true +// +groupName=rabbitmq.openstack.org package v1beta1 import ( diff --git a/hack/pin-custom-bundle-dockerfile.sh b/hack/pin-custom-bundle-dockerfile.sh index c8b3c7ef8..1f18d3551 100755 --- a/hack/pin-custom-bundle-dockerfile.sh +++ b/hack/pin-custom-bundle-dockerfile.sh @@ -4,30 +4,28 @@ set -ex IMAGENAMESPACE=${IMAGENAMESPACE:-"openstack-k8s-operators"} IMAGEREGISTRY=${IMAGEREGISTRY:-"quay.io"} - cp custom-bundle.Dockerfile custom-bundle.Dockerfile.pinned #loop over each openstack-k8s-operators go.mod entry for MOD_PATH in $(go list -m -json all | jq -r '. | select(.Path | contains("openstack")) | .Replace // . |.Path' | grep -v apis | grep -v openstack-operator | grep -v lib-common); do - MOD_VERSION=$(go list -m -json all | jq -r ". | select(.Path | contains(\"openstack\")) | .Replace // . | select( .Path == \"$MOD_PATH\") | .Version") + MOD_VERSION=$(go list -m -json all | jq -r ". | select(.Path | contains(\"openstack\")) | .Replace // . | select( .Path == \"$MOD_PATH\") | .Version") - BASE=$(echo $MOD_PATH | sed -e 's|github.com/.*/\(.*\)-operator/.*|\1|') + BASE=$(echo $MOD_PATH | sed -e 's|github.com/.*/\(.*\)-operator/.*|\1|') - REF=$(echo $MOD_VERSION | sed -e 's|v0.0.0-[0-9]*-\(.*\)$|\1|') - GITHUB_USER=$(echo $MOD_PATH | sed -e 's|github.com/\(.*\)/.*-operator/.*$|\1|') - REPO_CURL_URL="https://quay.io/api/v1/repository/openstack-k8s-operators" - REPO_URL="quay.io/openstack-k8s-operators" - if [[ "$GITHUB_USER" != "openstack-k8s-operators" ]]; then - if [[ "$IMAGENAMESPACE" != "openstack-k8s-operators" || "${IMAGEREGISTRY}" != "quay.io" ]]; then - REPO_CURL_URL="https://${IMAGEREGISTRY}/api/v1/repository/${IMAGENAMESPACE}" - REPO_URL="${IMAGEREGISTRY}/${IMAGENAMESPACE}" - else - REPO_CURL_URL="https://quay.io/api/v1/repository/${GITHUB_USER}" - REPO_URL="quay.io/${GITHUB_USER}" - fi - fi + REF=$(echo $MOD_VERSION | sed -e 's|v0.0.0-[0-9]*-\(.*\)$|\1|') + GITHUB_USER=$(echo $MOD_PATH | sed -e 's|github.com/\(.*\)/.*-operator/.*$|\1|') + REPO_CURL_URL="https://quay.io/api/v1/repository/openstack-k8s-operators" + REPO_URL="quay.io/openstack-k8s-operators" + if [[ "$GITHUB_USER" != "openstack-k8s-operators" ]]; then + if [[ "$IMAGENAMESPACE" != "openstack-k8s-operators" || "${IMAGEREGISTRY}" != "quay.io" ]]; then + REPO_CURL_URL="https://${IMAGEREGISTRY}/api/v1/repository/${IMAGENAMESPACE}" + REPO_URL="${IMAGEREGISTRY}/${IMAGENAMESPACE}" + else + REPO_CURL_URL="https://quay.io/api/v1/repository/${GITHUB_USER}" + REPO_URL="quay.io/${GITHUB_USER}" + fi + fi - SHA=$(curl -s ${REPO_CURL_URL}/$BASE-operator-bundle/tag/ \ - | jq -r .tags[].name | grep $REF) - sed -i custom-bundle.Dockerfile.pinned -e "s|FROM quay.io/openstack-k8s-operators/${BASE}-operator-bundle.*|FROM ${REPO_URL}/${BASE}-operator-bundle:$SHA as ${BASE}-bundle|" + SHA=$(curl -s ${REPO_CURL_URL}/$BASE-operator-bundle/tag/ | jq -r .tags[].name | grep $REF) + sed -i custom-bundle.Dockerfile.pinned -e "s|FROM quay.io/openstack-k8s-operators/${BASE}-operator-bundle.*|FROM ${REPO_URL}/${BASE}-operator-bundle:$SHA as ${BASE}-bundle|" done diff --git a/pkg/rabbitmq/funcs.go b/pkg/rabbitmq/funcs.go index 8e0af7203..cbb701968 100644 --- a/pkg/rabbitmq/funcs.go +++ b/pkg/rabbitmq/funcs.go @@ -25,7 +25,6 @@ import ( rabbitmqv1 "github.com/rabbitmq/cluster-operator/api/v1beta1" ) -// // GetRabbitmqCluster - get RabbitmqCluster object in namespace func GetRabbitmqCluster( ctx context.Context,