Skip to content

Commit

Permalink
Merge branch 'master' into docs-cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
frodopwns authored May 15, 2020
2 parents 45de2eb + 1e3b6eb commit d3ac7db
Show file tree
Hide file tree
Showing 59 changed files with 786 additions and 257 deletions.
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
* @frodopwns @WilliamMortlMicrosoft @jananivMS
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ default.etcd
# Test binary, build with `go test -c`
*.test

# Output of the go coverage tool, specifically when used with LiteIDE
*.out
# Output of the test and coverage results
reports/

bin/
vendor/
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Build the manager binary
FROM golang:1.13.5 as builder
FROM golang:1.13.7 as builder

WORKDIR /workspace/
# Copy the Go Modules manifests
Expand Down
113 changes: 51 additions & 62 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Image URL to use all building/pushing image targets

IMG ?= controller:latest

# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
ifeq (,$(shell go env GOBIN))
Expand All @@ -8,7 +8,6 @@ else
GOBIN=$(shell go env GOBIN)
endif

IMG ?= controller:latest
# Produce CRDs that work back to Kubernetes 1.11 (no version conversion)
CRD_OPTIONS ?= "crd"

Expand All @@ -17,7 +16,7 @@ BUILD_ID ?= $(shell git rev-parse --short HEAD)
# best to keep the prefix as short as possible to not exceed naming limits for things like keyvault (24 chars)
TEST_RESOURCE_PREFIX ?= aso-$(BUILD_ID)

# Some parts of the test suite use Go Build Tags to ignore certain tests. Default to all tests but allow the user to pass custom tags.
# Go compiler builds tags: some parts of the test suite use these to selectively compile tests.
BUILD_TAGS ?= all

all: manager
Expand All @@ -34,50 +33,47 @@ generate-test-certs:
mkdir -p /tmp/k8s-webhook-server/serving-certs
mv tls.* /tmp/k8s-webhook-server/serving-certs/

# Run API unittests
api-test: generate fmt vet manifests
TEST_USE_EXISTING_CLUSTER=false go test -v -coverprofile=coverage.txt -covermode count ./api/... 2>&1 | tee testlogs.txt
go-junit-report < testlogs.txt > report.xml
go tool cover -html=coverage.txt -o cover.html

# Run tests
test: generate fmt vet manifests
TEST_USE_EXISTING_CLUSTER=false REQUEUE_AFTER=20 \
go test -tags "$(BUILD_TAGS)" -parallel 3 -v -coverprofile=coverage.txt -covermode count \
./api/... \
./controllers/... \
-timeout 10m 2>&1 | tee testlogs.txt
go-junit-report < testlogs.txt > report.xml
go tool cover -html=coverage.txt -o cover.html

# Run tests with existing cluster
test-existing-controllers: generate fmt vet manifests
TEST_RESOURCE_PREFIX=$(TEST_RESOURCE_PREFIX) TEST_USE_EXISTING_CLUSTER=true REQUEUE_AFTER=20 go test -tags "$(BUILD_TAGS)" -parallel 4 -v ./controllers/... -timeout 45m

unit-tests:
go test -v \
./pkg/resourcemanager/keyvaults/unittest/ \
./pkg/helpers/


# Run tests with existing cluster
test-existing-managers: generate fmt vet manifests
TEST_USE_EXISTING_CLUSTER=true REQUEUE_AFTER=20 \
go test -v -coverprofile=coverage-existing.txt -covermode count \
./api/... \
# Run Controller tests against the configured cluster
test-integration-controllers: generate fmt vet manifests
TEST_RESOURCE_PREFIX=$(TEST_RESOURCE_PREFIX) TEST_USE_EXISTING_CLUSTER=true REQUEUE_AFTER=20 \
go test -v -tags "$(BUILD_TAGS)" -coverprofile=reports/integration-controllers-coverage-output.txt -coverpkg=./... -covermode count -parallel 4 -timeout 45m \
./controllers/...
#2>&1 | tee reports/integration-controllers-output.txt
#go-junit-report < reports/integration-controllers-output.txt > reports/integration-controllers-report.xml

# Run Resource Manager tests against the configured cluster
test-integration-managers: generate fmt vet manifests
TEST_USE_EXISTING_CLUSTER=true TEST_CONTROLLER_WITH_MOCKS=false REQUEUE_AFTER=20 \
go test -v -coverprofile=reports/integration-managers-coverage-ouput.txt -coverpkg=./... -covermode count -parallel 4 -timeout 45m \
./api/... \
./pkg/resourcemanager/eventhubs/... \
./pkg/resourcemanager/resourcegroups/... \
./pkg/resourcemanager/storages/... \
./pkg/resourcemanager/psql/server/... \
./pkg/resourcemanager/psql/database/... \
./pkg/resourcemanager/psql/firewallrule/... \
./pkg/resourcemanager/appinsights/... \
./pkg/resourcemanager/vnet/... \
./pkg/resourcemanager/pip/... \
./pkg/resourcemanager/nic/... \
./pkg/resourcemanager/apim/apimgmt... \
./pkg/resourcemanager/vnet/...
#2>&1 | tee reports/integration-managers-output.txt
#go-junit-report < reports/integration-managers-output.txt > reports/integration-managers-report.xml

# Run all available tests. Note that Controllers are not unit-testable.
test-unit: generate fmt vet manifests
TEST_USE_EXISTING_CLUSTER=false REQUEUE_AFTER=20 \
go test -v -tags "$(BUILD_TAGS)" -coverprofile=coverage-unit.txt -covermode count -parallel 4 -timeout 10m \
./api/... \
./pkg/secrets/...
./pkg/resourcemanager/keyvaults/unittest/ \
#2>&1 | tee testlogs.txt
#go-junit-report < testlogs.txt > report-unit.xml
go tool cover -html=coverage/coverage.txt -o cover-unit.html

# Merge all the available test coverage results and publish a single report
test-process-coverage:
find reports -name "*-coverage-output.txt" -type f -print | xargs gocovmerge > reports/merged-coverage-output.txt
gocov convert reports/merged-coverage-output.txt > reports/merged-coverage-output.json
gocov-xml < reports/merged-coverage-output.json > reports/merged-coverage.xml
go tool cover -html=reports/merged-coverage-output.txt -o reports/merged-coverage.html

# Cleanup resource groups azure created by tests using pattern matching 't-rg-'
test-cleanup-azure-resources:
Expand All @@ -87,6 +83,19 @@ test-cleanup-azure-resources:
az group delete --name $$rgname --no-wait --yes; \
done

# Build the docker image
docker-build:
docker build . -t ${IMG} ${ARGS}
@echo "updating kustomize image patch file for manager resource"
sed -i'' -e 's@image: .*@image: '"${IMG}"'@' ./config/default/manager_image_patch.yaml

# Push the docker image
docker-push:
docker push ${IMG}

# Build and Push the docker image
build-and-push: docker-build docker-push

# Build manager binary
manager: generate fmt vet
go build -o bin/manager main.go
Expand Down Expand Up @@ -150,26 +159,6 @@ vet:
generate: manifests
$(CONTROLLER_GEN) object:headerFile=./hack/boilerplate.go.txt paths=./api/...

# Build the docker image
docker-build:
docker build . -t ${IMG} ${ARGS}
@echo "updating kustomize image patch file for manager resource"
sed -i'' -e 's@image: .*@image: '"${IMG}"'@' ./config/default/manager_image_patch.yaml

# Push the docker image
docker-push:
docker push ${IMG}

# Build and Push the docker image
build-and-push: docker-build docker-push

# Deploy operator infrastructure
terraform:
terraform init devops/terraform
terraform apply devops/terraform

terraform-and-deploy: terraform generate install-cert-manager build-and-push deploy

# find or download controller-gen
# download controller-gen if necessary
controller-gen:
Expand Down Expand Up @@ -275,12 +264,12 @@ install-cert-manager:
kubectl label namespace cert-manager cert-manager.io/disable-validation=true
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.12.0/cert-manager.yaml


install-aad-pod-identity:
kubectl apply -f https://raw.githubusercontent.com/Azure/aad-pod-identity/master/deploy/infra/deployment-rbac.yaml

install-test-dependency:
go get -u github.com/jstemmer/go-junit-report \
install-test-dependencies:
go get github.com/jstemmer/go-junit-report \
&& go get github.com/axw/gocov/gocov \
&& go get github.com/AlekSi/gocov-xml \
&& go get github.com/onsi/ginkgo/ginkgo \
&& go get golang.org/x/tools/cmd/cover
&& go get github.com/wadey/gocovmerge
1 change: 1 addition & 0 deletions api/v1alpha1/apimgmt_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ type APIMgmtSpec struct {

// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:resource:shortName=apim,path=apimgmt
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type APIMgmtAPI struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/apimservice_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ type ApimServiceSpec struct {
// +kubebuilder:subresource:status

// ApimService is the Schema for the apimservices API
// +kubebuilder:resource:shortName=apims,path=apimservice
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type ApimService struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/appinsights_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ type AppInsightsSpec struct {
// +kubebuilder:subresource:status

// AppInsights is the Schema for the appinsights API
// +kubebuilder:resource:shortName=ai,path=appinsights
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type AppInsights struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/azureloadbalancer_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ type AzureLoadBalancerSpec struct {
// +kubebuilder:subresource:status

// AzureLoadBalancer is the Schema for the azureloadbalancers API
// +kubebuilder:resource:shortName=lb,path=loadbalancer
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type AzureLoadBalancer struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/azurenetworkinterface_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ type AzureNetworkInterfaceSpec struct {
// +kubebuilder:subresource:status

// AzureNetworkInterface is the Schema for the azurenetworkinterfaces API
// +kubebuilder:resource:shortName=ni,path=azurenetworkinterfaces
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type AzureNetworkInterface struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/azurepublicipaddress_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ type AzurePublicIPAddressSpec struct {
// +kubebuilder:subresource:status

// AzurePublicIPAddress is the Schema for the azurepublicipaddresses API
// +kubebuilder:resource:shortName=pipa,path=azurepublicipaddress
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type AzurePublicIPAddress struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/azuresqlaction_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ type AzureSqlActionSpec struct {
// +kubebuilder:subresource:status

// AzureSqlAction is the Schema for the azuresqlactions API
// +kubebuilder:resource:shortName=asqla,path=azuresqlaction
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type AzureSqlAction struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/azuresqldatabase_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ type AzureSqlDatabaseSpec struct {
// +kubebuilder:subresource:status

// AzureSqlDatabase is the Schema for the azuresqldatabases API
// +kubebuilder:resource:shortName=asqldb,path=azuresqldatabase
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type AzureSqlDatabase struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/azuresqlfailovergroup_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ type AzureSqlFailoverGroupSpec struct {
// +kubebuilder:subresource:status

// AzureSqlFailoverGroup is the Schema for the azuresqlfailovergroups API
// +kubebuilder:resource:shortName=asqlfg,path=azuresqlfailovergroup
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type AzureSqlFailoverGroup struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/azuresqlfirewallrule_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ type AzureSqlFirewallRuleSpec struct {
// +kubebuilder:subresource:status

// AzureSqlFirewallRule is the Schema for the azuresqlfirewallrules API
// +kubebuilder:resource:shortName=asqlfwr,path=azuresqlfirewallrule
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type AzureSqlFirewallRule struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/azuresqlserver_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ type AzureSqlServerSpec struct {
// +kubebuilder:subresource:status

// AzureSqlServer is the Schema for the azuresqlservers API
// +kubebuilder:resource:shortName=asqls,path=azuresqlserver
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type AzureSqlServer struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/azuresqluser_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ type AzureSQLUserSpec struct {
// +kubebuilder:subresource:status

// AzureSQLUser is the Schema for the sqlusers API
// +kubebuilder:resource:shortName=asqlu,path=azuresqluser
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type AzureSQLUser struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/azuresqlvnetrule_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ type AzureSQLVNetRuleSpec struct {
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// AzureSQLVNetRule is the Schema for the azuresqlvnetrules API
// +kubebuilder:resource:shortName=asqlvn,path=azuresqlvnetrule
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type AzureSQLVNetRule struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/azurevirtualmachine_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ const (
// +kubebuilder:subresource:status

// AzureVirtualMachine is the Schema for the azurevirtualmachines API
// +kubebuilder:resource:shortName=vm,path=azurevirtualmachine
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type AzureVirtualMachine struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/azurevmscaleset_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ type AzureVMScaleSetSpec struct {
// +kubebuilder:subresource:status

// AzureVMScaleSet is the Schema for the azurevmscalesets API
// +kubebuilder:resource:shortName=vmss,path=azurevmscaleset
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type AzureVMScaleSet struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/blobcontainer_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ type BlobContainerSpec struct {
// +kubebuilder:subresource:status

// BlobContainer is the Schema for the blobcontainers API
// +kubebuilder:resource:shortName=bc,path=blobcontainer
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type BlobContainer struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/consumergroup_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ type ConsumerGroupSpec struct {
// +kubebuilder:subresource:status

// ConsumerGroup is the Schema for the consumergroups API
// +kubebuilder:resource:shortName=cg,path=consumergroup
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type ConsumerGroup struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/cosmosdb_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ type CosmosDBLocation struct {
// +kubebuilder:subresource:status

// CosmosDB is the Schema for the cosmosdbs API
// +kubebuilder:resource:shortName=cdb,path=cosmosdb
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type CosmosDB struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/eventhub_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ type EventhubProperties struct {
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// Eventhub is the Schema for the eventhubs API
// +kubebuilder:resource:shortName=eh,path=eventhub
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type Eventhub struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/eventhubnamespace_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ type EventhubNamespaceSpec struct {
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// EventhubNamespace is the Schema for the eventhubnamespaces API
// +kubebuilder:resource:shortName=ehns,path=eventhubnamespaces
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type EventhubNamespace struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/keyvault_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ type Permissions struct {
// +kubebuilder:subresource:status

// KeyVault is the Schema for the keyvaults API
// +kubebuilder:resource:shortName=kv,path=keyvault
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type KeyVault struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/keyvaultkey_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ type KeyVaultKeySpec struct {
// +kubebuilder:subresource:status

// KeyVaultKey is the Schema for the keyvaultkeys API
// +kubebuilder:resource:shortName=kvk,path=keyvaultkey
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type KeyVaultKey struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/mysqldatabase_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ type MySQLDatabaseSpec struct {
// +kubebuilder:subresource:status

// MySQLDatabase is the Schema for the mysqldatabases API
// +kubebuilder:resource:shortName=mysqldb,path=mysqldatabase
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type MySQLDatabase struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/mysqlfirewallrule_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ type MySQLFirewallRuleSpec struct {
// +kubebuilder:subresource:status

// MySQLFirewallRule is the Schema for the mysqlfirewallrules API
// +kubebuilder:resource:shortName=mysqlfwr,path=mysqlfirewallrule
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type MySQLFirewallRule struct {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha1/mysqlserver_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ type MySQLServerSpec struct {
// +kubebuilder:subresource:status

// MySQLServer is the Schema for the mysqlservers API
// +kubebuilder:resource:shortName=mysqls,path=mysqlserver
// +kubebuilder:printcolumn:name="Provisioned",type="string",JSONPath=".status.provisioned"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.message"
type MySQLServer struct {
Expand Down
Loading

0 comments on commit d3ac7db

Please sign in to comment.