Skip to content

Commit

Permalink
Sync from server repo (d7d9a0ab4c3)
Browse files Browse the repository at this point in the history
  • Loading branch information
releng committed Aug 9, 2024
1 parent 79595d9 commit b863e4f
Show file tree
Hide file tree
Showing 215 changed files with 56 additions and 67 deletions.
20 changes: 0 additions & 20 deletions .github/workflows/merge_branch.yaml

This file was deleted.

Empty file modified .github/workflows/unittests.yaml
100644 → 100755
Empty file.
Empty file modified .gitignore
100644 → 100755
Empty file.
Empty file modified .golangci.yml
100644 → 100755
Empty file.
Empty file modified CONTRIBUTING.md
100644 → 100755
Empty file.
Empty file modified LICENSE
100644 → 100755
Empty file.
Empty file modified Makefile
100644 → 100755
Empty file.
4 changes: 3 additions & 1 deletion README.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# vcluster
TEST
TEST

[![Go Reference](https://pkg.go.dev/badge/github.com/vertica/vcluster.svg)](https://pkg.go.dev/github.com/vertica/vcluster)

Expand Down Expand Up @@ -94,4 +96,4 @@ We can use similar way to set up and call other vcluster-ops commands.


## Licensing
vcluster is open source code and is under the Apache 2.0 license. Please see `LICENSE` for details.
vcluster is open source code and is under the Apache 2.0 license. Please see `LICENSE` for details.
Empty file modified commands/cluster_command_launcher.go
100644 → 100755
Empty file.
Empty file modified commands/cluster_command_launcher_test.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_add_node.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_add_subcluster.go
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion commands/cmd_base.go
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ func (c *CmdBase) setConfigFlags(cmd *cobra.Command, flags []string) {
configFlag,
"c",
"",
"The path to the config file. If a configuration file is present in the default location (automatically generated by `create_db`),\n"+
"The path to the config file. If a configuration file is present in the default location (automatically generated by create_db),\n"+
"you do not need to specify this option.\n"+
"Default: /opt/vertica/config/vertica_cluster.yaml")
markFlagsFileName(cmd, map[string][]string{configFlag: {"yaml"}})
Expand Down
Empty file modified commands/cmd_config_recover.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_config_show.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_create_connection.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_create_db.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_drop_db.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_install_packages.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_list_all_nodes.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_manage_config.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_promote_sandbox.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_re_ip.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_remove_node.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_remove_subcluster.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_replication.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_restart_node.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_revive_db.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_sandbox.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_scrutinize.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_show_restore_points.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_start_db.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_start_replication.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_start_subcluster.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_stop_db.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_stop_node.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_stop_subcluster.go
100644 → 100755
Empty file.
Empty file modified commands/cmd_unsandbox.go
100644 → 100755
Empty file.
Empty file modified commands/helpers.go
100644 → 100755
Empty file.
Empty file modified commands/init.go
100644 → 100755
Empty file.
Empty file modified commands/scrutinize_test.go
100644 → 100755
Empty file.
Empty file modified commands/user_input_test.go
100644 → 100755
Empty file.
Empty file modified commands/vcluster_config.go
100644 → 100755
Empty file.
Empty file modified commands/vcluster_connection.go
100644 → 100755
Empty file.
Empty file modified go.mod
100644 → 100755
Empty file.
Empty file modified go.sum
100644 → 100755
Empty file.
Empty file modified logging-utils.sh
100644 → 100755
Empty file.
Empty file modified main.go
100644 → 100755
Empty file.
Empty file modified rfc7807/errors.go
100644 → 100755
Empty file.
Empty file modified rfc7807/rfc7807.go
100644 → 100755
Empty file.
6 changes: 3 additions & 3 deletions rfc7807/rfc7807_test.go
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ func TestHttpResponse(t *testing.T) {
p := New(CommunalAccessError).
WithDetail("communal endpoint is down").
WithHost("pod-2")
handler := func(w http.ResponseWriter, r *http.Request) {
handler := func(w http.ResponseWriter, _ *http.Request) {
p.SendError(w)
}

Expand All @@ -70,7 +70,7 @@ func TestProblemExtraction(t *testing.T) {
origProblem := New(CommunalRWAccessError).
WithDetail("could not read from communal storage").
WithHost("pod-3")
handler := func(w http.ResponseWriter, r *http.Request) {
handler := func(w http.ResponseWriter, _ *http.Request) {
origProblem.SendError(w)
}

Expand All @@ -94,7 +94,7 @@ func TestProblemExtraction(t *testing.T) {
}

func TestJSONExtractFailure(t *testing.T) {
handler := func(w http.ResponseWriter, r *http.Request) {
handler := func(w http.ResponseWriter, _ *http.Request) {
fmt.Fprintln(w, "not json")
}
req := httptest.NewRequest("GET", "http://vertica.com/bootstrapEndpoint", http.NoBody)
Expand Down
Empty file modified vclusterops/adapter_pool.go
100644 → 100755
Empty file.
Empty file modified vclusterops/add_node.go
100644 → 100755
Empty file.
Empty file modified vclusterops/add_subcluster.go
100644 → 100755
Empty file.
Empty file modified vclusterops/alter_subcluster_type.go
100644 → 100755
Empty file.
Empty file modified vclusterops/alter_subcluster_type_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/cluster_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/cluster_op_engine.go
100644 → 100755
Empty file.
Empty file modified vclusterops/cluster_op_engine_context.go
100644 → 100755
Empty file.
Empty file modified vclusterops/cluster_op_engine_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/cluster_op_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/cmd_type.go
100644 → 100755
Empty file.
Empty file modified vclusterops/coordinator_database.go
100644 → 100755
Empty file.
Empty file modified vclusterops/create_db.go
100644 → 100755
Empty file.
Empty file modified vclusterops/create_db_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/drop_db.go
100644 → 100755
Empty file.
Empty file modified vclusterops/fetch_database.go
100644 → 100755
Empty file.
Empty file modified vclusterops/fetch_node_state.go
100644 → 100755
Empty file.
Empty file modified vclusterops/fetch_nodes_details.go
100644 → 100755
Empty file.
Empty file modified vclusterops/fetch_nodes_details_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/get_config_parameter.go
100644 → 100755
Empty file.
Empty file modified vclusterops/get_config_parameter_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/helpers.go
100644 → 100755
Empty file.
Empty file modified vclusterops/helpers_test.go
100644 → 100755
Empty file.
43 changes: 1 addition & 42 deletions vclusterops/http_adapter.go
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,7 @@ func (adapter *httpAdapter) setupHTTPClient(
// Note that hosts at this point are IP addresses, so verify-full may be impractical
// or impossible due to the complications of issuing certificates valid for IPs.
// Hence the custom validator skipping hostname validation.
config.VerifyPeerCertificate = adapter.generateTLSVerifyFunc(caCertPool)
config.VerifyPeerCertificate = util.GenerateTLSVerifyFunc(caCertPool)
}
}
}
Expand All @@ -399,47 +399,6 @@ func (adapter *httpAdapter) setupHTTPClient(
return client, nil
}

// generateTLSVerifyFunc returns a callback function suitable for use as the VerifyPeerCertificate
// field of a tls.Config struct. It is a slightly less performant but logically equivalent version of
// the validation logic which gets run when InsecureSkipVerify == false in go v1.20.11. The difference
// is that hostname validation is elided, which is not possible without custom verification.
//
// See crypto/x509/verify.go for hostname validation behavior and crypto/tls/handshake_client.go for
// the reference implementation of this function.
func (*httpAdapter) generateTLSVerifyFunc(rootCAs *x509.CertPool) func([][]byte, [][]*x509.Certificate) error {
return func(certificates [][]byte, _ [][]*x509.Certificate) error {
// Reparse certs. The crypto/tls package version does some extra checks, but they're already
// done by this point, so no need to repeat them. It also uses a cache to reduce parsing, which
// isn't included here, but could be if there is a perf issue.
certs := make([]*x509.Certificate, len(certificates))
for i, asn1Data := range certificates {
cert, err := x509.ParseCertificate(asn1Data)
if err != nil {
return err
}
certs[i] = cert
}

// construct verification options like reference implementation, minus hostname
opts := x509.VerifyOptions{
Roots: rootCAs,
CurrentTime: time.Now(),
DNSName: "",
Intermediates: x509.NewCertPool(),
}

for _, cert := range certs[1:] {
opts.Intermediates.AddCert(cert)
}
_, err := certs[0].Verify(opts)
if err != nil {
return &tls.CertificateVerificationError{UnverifiedCertificates: certs, Err: err}
}

return nil
}
}

func buildQueryParamString(queryParams map[string]string) string {
var queryParamString string
if len(queryParams) == 0 {
Expand Down
Empty file modified vclusterops/http_adapter_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/http_request.go
100644 → 100755
Empty file.
Empty file modified vclusterops/http_request_dispatcher.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_add_subcluster_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_check_db_running_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_check_node_state_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_check_subcluster_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_check_subcluster_sandbox_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_convert_sandbox_to_main_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_create_cluster_depot_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_create_node_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_create_nodes_depot_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_demote_subcluster_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_disallow_multiple_namespaces_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_drop_node_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_drop_subcluster_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_find_subcluster_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_get_cluster_info_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_get_local_node_state_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_get_local_storage_locations.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_get_nodes_info_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_get_system_tables_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_get_up_nodes_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_install_packages_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_mark_design_ksafe_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_mark_nodes_ephemeral_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_poll_node_state_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_poll_node_state_op_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_poll_subcluster_node_state_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_poll_subscription_state_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_promote_subcluster_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_re_ip_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_rebalance_cluster_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_rebalance_subcluster_shards_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_reload_spread_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_rename_subcluster_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_sandbox_subcluster_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_spread_remove_node_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_stage_system_tables_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_start_replication_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_startup_command_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_stop_db_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_stop_node_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_stop_subcluster_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_sync_catalog_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_unsandbox_subcluster_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/https_update_node_state_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/install_packages.go
100644 → 100755
Empty file.
Empty file modified vclusterops/manage_connection_draining.go
100644 → 100755
Empty file.
Empty file modified vclusterops/manage_connection_draining_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/network_adapter.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_bootstrap_catalog_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_clean_communal_storage_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_delete_dir_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_download_config.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_download_file_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_download_file_op_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_get_config_parameter_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_get_config_parameter_op_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_get_healthy_nodes_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_get_nodes_info_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_get_scrutinize_tar_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_health_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_load_remote_catalog_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_manage_connections_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_manage_connections_op_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_network_profile_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_prepare_directories_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_prepare_scrutinizer_directories_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_re_ip_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_read_catalog_editor_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_set_config_parameter_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_set_config_parameter_op_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_show_restore_points_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_show_restore_points_op_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_spread_security_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_spread_security_op_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_stage_commands_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_stage_dc_tables_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_stage_files_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_stage_vertica_logs_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_start_node_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_start_node_op_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_upload_config.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_vertica_version_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/nma_vertica_version_op_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/node_info.go
100644 → 100755
Empty file.
Empty file modified vclusterops/node_info_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/promote_sandbox_to_main.go
100644 → 100755
Empty file.
Empty file modified vclusterops/promote_sandbox_to_main_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/re_ip.go
100644 → 100755
Empty file.
Empty file modified vclusterops/re_ip_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/remove_node.go
100644 → 100755
Empty file.
Empty file modified vclusterops/remove_subcluster.go
100644 → 100755
Empty file.
Empty file modified vclusterops/remove_subcluster_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/rename_subcluster.go
100644 → 100755
Empty file.
Empty file modified vclusterops/rename_subcluster_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/replication.go
100644 → 100755
Empty file.
Empty file modified vclusterops/restore_points.go
100644 → 100755
Empty file.
Empty file modified vclusterops/restore_points_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/revive_db.go
100644 → 100755
Empty file.
Empty file modified vclusterops/revive_db_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/sandbox.go
100644 → 100755
Empty file.
Empty file modified vclusterops/scrutinize.go
100644 → 100755
Empty file.
Empty file modified vclusterops/scrutinize_op.go
100644 → 100755
Empty file.
Empty file modified vclusterops/scrutinize_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/set_config_parameter.go
100644 → 100755
Empty file.
Empty file modified vclusterops/set_config_parameter_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/sql_endpoint_common.go
100644 → 100755
Empty file.
Empty file modified vclusterops/start_db.go
100644 → 100755
Empty file.
Empty file modified vclusterops/start_node.go
100644 → 100755
Empty file.
Empty file modified vclusterops/start_subcluster.go
100644 → 100755
Empty file.
Empty file modified vclusterops/state_poller.go
100644 → 100755
Empty file.
Empty file modified vclusterops/stop_db.go
100644 → 100755
Empty file.
Empty file modified vclusterops/stop_node.go
100644 → 100755
Empty file.
Empty file modified vclusterops/stop_subcluster.go
100644 → 100755
Empty file.
Empty file modified vclusterops/test_data/re_ip_v4.json
100644 → 100755
Empty file.
Empty file modified vclusterops/test_data/re_ip_v4_wrong.json
100644 → 100755
Empty file.
Empty file modified vclusterops/test_data/re_ip_v6.json
100644 → 100755
Empty file.
Empty file modified vclusterops/test_data/re_ip_v6_wrong.json
100644 → 100755
Empty file.
Empty file modified vclusterops/test_data/rootca.pem
100644 → 100755
Empty file.
Empty file modified vclusterops/test_data/test.key
100644 → 100755
Empty file.
Empty file modified vclusterops/test_data/test.pem
100644 → 100755
Empty file.
Empty file modified vclusterops/test_data/vertica_cluster.yaml
100644 → 100755
Empty file.
Empty file modified vclusterops/unsandbox.go
100644 → 100755
Empty file.
Empty file modified vclusterops/util/README.md
100644 → 100755
Empty file.
Empty file modified vclusterops/util/defaults.go
100644 → 100755
Empty file.
Empty file modified vclusterops/util/time.go
100644 → 100755
Empty file.
Empty file modified vclusterops/util/time_test.go
100644 → 100755
Empty file.
48 changes: 48 additions & 0 deletions vclusterops/util/tls.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package util

import (
"crypto/tls"
"crypto/x509"
"time"
)

// generateTLSVerifyFunc returns a callback function suitable for use as the VerifyPeerCertificate
// field of a tls.Config struct. It is a slightly less performant but logically equivalent version of
// the validation logic which gets run when InsecureSkipVerify == false in go v1.20.11. The difference
// is that hostname validation is elided, which is not possible without custom verification.
//
// See crypto/x509/verify.go for hostname validation behavior and crypto/tls/handshake_client.go for
// the reference implementation of this function.
func GenerateTLSVerifyFunc(rootCAs *x509.CertPool) func([][]byte, [][]*x509.Certificate) error {
return func(certificates [][]byte, _ [][]*x509.Certificate) error {
// Reparse certs. The crypto/tls package version does some extra checks, but they're already
// done by this point, so no need to repeat them. It also uses a cache to reduce parsing, which
// isn't included here, but could be if there is a perf issue.
certs := make([]*x509.Certificate, len(certificates))
for i, asn1Data := range certificates {
cert, err := x509.ParseCertificate(asn1Data)
if err != nil {
return err
}
certs[i] = cert
}

// construct verification options like reference implementation, minus hostname
opts := x509.VerifyOptions{
Roots: rootCAs,
CurrentTime: time.Now(),
DNSName: "",
Intermediates: x509.NewCertPool(),
}

for _, cert := range certs[1:] {
opts.Intermediates.AddCert(cert)
}
_, err := certs[0].Verify(opts)
if err != nil {
return &tls.CertificateVerificationError{UnverifiedCertificates: certs, Err: err}
}

return nil
}
}
Empty file modified vclusterops/util/util.go
100644 → 100755
Empty file.
Empty file modified vclusterops/util/util_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/vcluster_database_options.go
100644 → 100755
Empty file.
Empty file modified vclusterops/vcluster_database_options_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/vcluster_version.go
100644 → 100755
Empty file.
Empty file modified vclusterops/vcluster_version_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/vlog/README.md
100644 → 100755
Empty file.
Empty file modified vclusterops/vlog/printer.go
100644 → 100755
Empty file.
Empty file modified vclusterops/vlog/printer_test.go
100644 → 100755
Empty file.
Empty file modified vclusterops/vstruct/vstruct.go
100644 → 100755
Empty file.

0 comments on commit b863e4f

Please sign in to comment.