├── .github └── workflows │ └── documentation.yaml ├── .gitignore ├── .mlc_config.json ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── archive ├── demo-app.yaml ├── deploy.yaml ├── gateway-api.svg ├── gatewayclass.yaml ├── hack │ └── gen-certs.sh └── kustomization.yml ├── authz └── authz-cr-validation │ ├── invalid_http_rules.yaml │ ├── invalid_multiple_providers.yaml │ ├── invalid_provider_custom.yaml │ ├── invalid_providers_deny.yaml │ ├── run-test.sh │ └── valid.yaml ├── cluster-setup.md ├── gateway-api └── config │ ├── mesh │ └── crd │ │ ├── experimental │ │ ├── gcpauthzpolicy.yaml │ │ ├── gcpsessionaffinityfilter.yaml │ │ └── gcpsessionaffinitypolicy.yaml │ │ ├── kustomization.yaml │ │ └── stable │ │ ├── tdgrpcroute.yaml │ │ └── tdmesh.yaml │ └── servicepolicies │ └── crd │ ├── experimental │ ├── cdnpolicy.yaml │ ├── grpcrouteretrypolicy.yaml │ ├── httprouteretrypolicy.yaml │ ├── iappolicy.yaml │ ├── lbpolicy.yaml │ ├── lbsecuritypolicy.yaml │ └── outlierdetectionpolicy.yaml │ ├── kustomization.yaml │ └── standard │ ├── gcpbackendpolicies.yaml │ ├── gcpgatewaypolicies.yaml │ ├── healthcheckpolicy.yaml │ └── lbpolicy.yaml ├── gateway ├── bbr │ ├── gcphealthcheckpolicy.yaml │ └── gcproutingextension.yaml ├── docs │ ├── README.md │ ├── cluster-migration │ │ ├── onlineboutique-frontend-manifests.yaml │ │ └── onlineboutique-middleware-manifests.yaml │ ├── site-deploy.yaml │ ├── store-autoscale.yaml │ ├── store-deploy.yaml │ ├── store-traffic-deploy.yaml │ ├── store-v1v2german-deploy.yaml │ ├── store-west-1-service.yaml │ └── store-west-2-service.yaml ├── gke-gateway-controller │ ├── app │ │ ├── site.yaml │ │ └── store.yaml │ ├── demo-app.yaml │ ├── ex1-simple-internal-gw.yaml │ ├── ex2-complex-route.yaml │ ├── ex3-multi-tenant-gw.yaml │ ├── ex4-route-weight-1.yaml │ ├── ex4-route-weight-2.yaml │ ├── ex4-route-weight-3.yaml │ ├── gateway-user-guide-app.yaml │ ├── multi-cluster-gateway │ │ ├── external-http-gateway.yaml │ │ ├── internal-http-gateway.yaml │ │ ├── internal-route-stage-1.yaml │ │ ├── internal-route-stage-2.yaml │ │ ├── internal-route-stage-3.yaml │ │ ├── internal-route-stage-4.yaml │ │ ├── private-store-route.yaml │ │ ├── public-store-route.yaml │ │ ├── store-east-1-service.yaml │ │ ├── store-west-1-service.yaml │ │ ├── store-west-2-service.yaml │ │ └── store.yaml │ └── multi-tenant-demo-app.yaml ├── grpc │ ├── CA_crt.pem │ ├── README.md │ ├── fe-configmap.yaml │ ├── fe-deployment.yaml │ ├── fe-secret.yaml │ ├── fe-srv.yaml │ ├── my-gateway.yaml │ ├── server.crt │ └── server.key ├── multi-cluster │ ├── mcg-internal-basic │ │ ├── README.md │ │ ├── gke-1 │ │ │ ├── app-v1.yaml │ │ │ ├── gateway.yaml │ │ │ ├── route.yaml │ │ │ └── serviceexport-v1.yaml │ │ └── gke-2 │ │ │ ├── app-v2.yaml │ │ │ └── serviceexport-v2.yaml │ └── mcg-internal-blue-green │ │ ├── README.md │ │ ├── cluster-blue-app.yaml │ │ ├── cluster-green-app.yaml │ │ ├── environment-setup.md │ │ ├── gateway.yaml │ │ ├── route-step-1-single-cluster.yaml │ │ ├── route-step-2-mirroring.yaml │ │ ├── route-step-3-canary.yaml │ │ ├── route-step-4a-explicit-even-split.yaml │ │ ├── route-step-4b-implicit-even-split.yaml │ │ └── route-step-5-header-routing.yaml └── single-cluster │ ├── global-l7-xlb-https-backend │ ├── README.md │ └── single-cluster-global-l7-xlb-https-backend.yaml │ ├── global-l7-xlb │ ├── README.md │ ├── app.yaml │ ├── gateway.yaml │ ├── httproutes.yaml │ └── single-cluster-global-l7-xlb-recipe.yaml │ └── regional-l7-ilb │ ├── README.md │ ├── app-v1.yaml │ ├── app-v2.yaml │ ├── gateway.yaml │ ├── route.yaml │ └── single-regional-l7-ilb-recipe.yaml ├── go.mod ├── go.sum ├── images ├── cloudarmor-ingress.png ├── external-ingress-basic.png ├── external-lb-service.png ├── healthcheck-ingress.png ├── iap-ingress.png ├── ilb-service-communication.png ├── internal-ingress-basic.png ├── internal-lb-service.png ├── mci-asm-https-e2e.png ├── multi-cluster-frontendconfig.png ├── multi-cluster-gateway-bluegreen.png ├── multi-cluster-ingress-external.png ├── multi-cluster-services-basic.png ├── multi-cluster-services-merged.png ├── secure-ingress-cert.png └── secure-ingress.png ├── ingress ├── multi-cluster │ ├── mci-asm-https-e2e │ │ ├── README.md │ │ ├── app.yaml │ │ ├── dns-spec.yaml │ │ ├── ingress-deployment.yaml │ │ ├── ingress-gateway.yaml │ │ ├── istio-service.yaml │ │ └── mci-mcs.yaml │ ├── mci-basic │ │ ├── README.md │ │ ├── app.yaml │ │ └── ingress.yaml │ ├── mci-blue-green-app │ │ └── README.md │ ├── mci-blue-green-cluster │ │ ├── README.md │ │ ├── app.yaml │ │ ├── ingress.yaml │ │ └── patch.yaml │ ├── mci-frontend-config │ │ ├── README.md │ │ ├── app.yaml │ │ └── ingress.yaml │ └── mci-https-e2e │ │ ├── README.md │ │ ├── app.yaml │ │ ├── dns-spec-bar.yaml │ │ ├── dns-spec-foo.yaml │ │ ├── haproxy.cfg │ │ └── ingress.yaml └── single-cluster │ ├── ingress-asm-multi-backendconfig │ ├── README.md │ ├── backend-services.yaml │ ├── cleanup.sh │ ├── istio-ingressgateway-service.yaml │ ├── run-test.sh │ └── setup.sh │ ├── ingress-cloudarmor │ ├── README.md │ ├── cleanup.sh │ ├── cloudarmor-ingress.yaml │ ├── run-test.sh │ └── setup.sh │ ├── ingress-custom-default-backend │ ├── README.md │ ├── cleanup.sh │ ├── ingress-custom-default-backend.yaml │ ├── run-test.sh │ └── setup.sh │ ├── ingress-custom-grpc-health-check │ ├── README.md │ ├── example │ │ ├── README.md │ │ ├── fe-configmap.yaml │ │ ├── fe-deployment.yaml │ │ ├── fe-ilb-ingress.yaml │ │ ├── fe-ingress.yaml │ │ ├── fe-secret.yaml │ │ └── fe-srv-ingress.yaml │ ├── grpc-hc-no-proxy.yaml │ └── grpc-hc-proxy.yaml │ ├── ingress-custom-http-health-check │ ├── README.md │ ├── cleanup.sh │ ├── custom-http-hc-ingress.yaml │ ├── run-test.sh │ └── setup.sh │ ├── ingress-external-basic │ ├── README.md │ ├── cleanup.sh │ ├── external-ingress-basic.yaml │ ├── run-test.sh │ └── setup.sh │ ├── ingress-https │ ├── README.md │ ├── cleanup.sh │ ├── run-test.sh │ ├── secure-ingress.yaml │ └── setup.sh │ ├── ingress-iap │ ├── README.md │ ├── cleanup.sh │ ├── iap-ingress.yaml │ ├── run-test.sh │ └── setup.sh │ ├── ingress-internal-basic │ ├── README.md │ ├── cleanup.sh │ ├── internal-ingress-basic.yaml │ ├── run-test.sh │ └── setup.sh │ └── ingress-nginx │ ├── README.md │ ├── cleanup.sh │ ├── ingress-nginx.yaml │ ├── run-test.sh │ └── setup.sh ├── service-directory ├── README.md ├── cluster-ip-service │ ├── README.md │ └── cluster-ip-service.yaml ├── headless-service │ ├── README.md │ └── headless-service.yaml ├── internal-lb-service │ ├── README.md │ └── internal-lb-service.yaml └── nodeport-service │ ├── README.md │ └── nodeport-service.yaml ├── services ├── multi-cluster │ ├── ilb │ │ ├── README.md │ │ └── app.yaml │ └── mcs-basic │ │ ├── README.md │ │ ├── app.yaml │ │ └── export.yaml └── single-cluster │ ├── external-lb-service │ ├── README.md │ └── external-lb-service.yaml │ └── internal-lb-service │ ├── README.md │ └── internal-lb-service.yaml ├── test ├── README.md ├── cleanup-all.sh ├── helper.sh ├── helpers │ ├── hash.sh │ ├── ingress.sh │ ├── managed_cert.sh │ ├── oAuth.sh │ ├── setup.sh │ └── validation.sh ├── main_test.go ├── recipe_test.go ├── test-example │ ├── cleanup-example.sh │ ├── output-example.txt │ ├── run-test-example.sh │ └── setup-example.sh └── utils │ ├── project_holder.go │ └── utils.go ├── tools └── tools.go └── vendor ├── github.com ├── beorn7 │ └── perks │ │ ├── LICENSE │ │ └── quantile │ │ ├── exampledata.txt │ │ └── stream.go ├── cespare │ └── xxhash │ │ └── v2 │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── testall.sh │ │ ├── xxhash.go │ │ ├── xxhash_amd64.s │ │ ├── xxhash_arm64.s │ │ ├── xxhash_asm.go │ │ ├── xxhash_other.go │ │ ├── xxhash_safe.go │ │ └── xxhash_unsafe.go ├── go-logr │ └── logr │ │ ├── .golangci.yaml │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── discard.go │ │ └── logr.go ├── gogo │ └── protobuf │ │ ├── AUTHORS │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── proto │ │ ├── Makefile │ │ ├── clone.go │ │ ├── custom_gogo.go │ │ ├── decode.go │ │ ├── deprecated.go │ │ ├── discard.go │ │ ├── duration.go │ │ ├── duration_gogo.go │ │ ├── encode.go │ │ ├── encode_gogo.go │ │ ├── equal.go │ │ ├── extensions.go │ │ ├── extensions_gogo.go │ │ ├── lib.go │ │ ├── lib_gogo.go │ │ ├── message_set.go │ │ ├── pointer_reflect.go │ │ ├── pointer_reflect_gogo.go │ │ ├── pointer_unsafe.go │ │ ├── pointer_unsafe_gogo.go │ │ ├── properties.go │ │ ├── properties_gogo.go │ │ ├── skip_gogo.go │ │ ├── table_marshal.go │ │ ├── table_marshal_gogo.go │ │ ├── table_merge.go │ │ ├── table_unmarshal.go │ │ ├── table_unmarshal_gogo.go │ │ ├── text.go │ │ ├── text_gogo.go │ │ ├── text_parser.go │ │ ├── timestamp.go │ │ ├── timestamp_gogo.go │ │ ├── wrappers.go │ │ └── wrappers_gogo.go │ │ └── sortkeys │ │ └── sortkeys.go ├── golang │ └── protobuf │ │ ├── AUTHORS │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ └── proto │ │ ├── buffer.go │ │ ├── defaults.go │ │ ├── deprecated.go │ │ ├── discard.go │ │ ├── extensions.go │ │ ├── properties.go │ │ ├── proto.go │ │ ├── registry.go │ │ ├── text_decode.go │ │ ├── text_encode.go │ │ ├── wire.go │ │ └── wrappers.go ├── google │ ├── gofuzz │ │ ├── .travis.yml │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bytesource │ │ │ └── bytesource.go │ │ ├── doc.go │ │ └── fuzz.go │ └── uuid │ │ ├── .travis.yml │ │ ├── CONTRIBUTING.md │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── README.md │ │ ├── dce.go │ │ ├── doc.go │ │ ├── hash.go │ │ ├── marshal.go │ │ ├── node.go │ │ ├── node_js.go │ │ ├── node_net.go │ │ ├── null.go │ │ ├── sql.go │ │ ├── time.go │ │ ├── util.go │ │ ├── uuid.go │ │ ├── version1.go │ │ └── version4.go ├── hashicorp │ ├── errwrap │ │ ├── LICENSE │ │ ├── README.md │ │ └── errwrap.go │ └── go-multierror │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── append.go │ │ ├── flatten.go │ │ ├── format.go │ │ ├── group.go │ │ ├── multierror.go │ │ ├── prefix.go │ │ └── sort.go ├── json-iterator │ └── go │ │ ├── .codecov.yml │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Gopkg.lock │ │ ├── Gopkg.toml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── adapter.go │ │ ├── any.go │ │ ├── any_array.go │ │ ├── any_bool.go │ │ ├── any_float.go │ │ ├── any_int32.go │ │ ├── any_int64.go │ │ ├── any_invalid.go │ │ ├── any_nil.go │ │ ├── any_number.go │ │ ├── any_object.go │ │ ├── any_str.go │ │ ├── any_uint32.go │ │ ├── any_uint64.go │ │ ├── build.sh │ │ ├── config.go │ │ ├── fuzzy_mode_convert_table.md │ │ ├── iter.go │ │ ├── iter_array.go │ │ ├── iter_float.go │ │ ├── iter_int.go │ │ ├── iter_object.go │ │ ├── iter_skip.go │ │ ├── iter_skip_sloppy.go │ │ ├── iter_skip_strict.go │ │ ├── iter_str.go │ │ ├── jsoniter.go │ │ ├── pool.go │ │ ├── reflect.go │ │ ├── reflect_array.go │ │ ├── reflect_dynamic.go │ │ ├── reflect_extension.go │ │ ├── reflect_json_number.go │ │ ├── reflect_json_raw_message.go │ │ ├── reflect_map.go │ │ ├── reflect_marshaler.go │ │ ├── reflect_native.go │ │ ├── reflect_optional.go │ │ ├── reflect_slice.go │ │ ├── reflect_struct_decoder.go │ │ ├── reflect_struct_encoder.go │ │ ├── stream.go │ │ ├── stream_float.go │ │ ├── stream_int.go │ │ ├── stream_str.go │ │ └── test.sh ├── matttproud │ └── golang_protobuf_extensions │ │ ├── LICENSE │ │ ├── NOTICE │ │ └── pbutil │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── decode.go │ │ ├── doc.go │ │ └── encode.go ├── modern-go │ ├── concurrent │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── executor.go │ │ ├── go_above_19.go │ │ ├── go_below_19.go │ │ ├── log.go │ │ ├── test.sh │ │ └── unbounded_executor.go │ └── reflect2 │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Gopkg.lock │ │ ├── Gopkg.toml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── go_above_118.go │ │ ├── go_above_19.go │ │ ├── go_below_118.go │ │ ├── reflect2.go │ │ ├── reflect2_amd64.s │ │ ├── reflect2_kind.go │ │ ├── relfect2_386.s │ │ ├── relfect2_amd64p32.s │ │ ├── relfect2_arm.s │ │ ├── relfect2_arm64.s │ │ ├── relfect2_mips64x.s │ │ ├── relfect2_mipsx.s │ │ ├── relfect2_ppc64x.s │ │ ├── relfect2_s390x.s │ │ ├── safe_field.go │ │ ├── safe_map.go │ │ ├── safe_slice.go │ │ ├── safe_struct.go │ │ ├── safe_type.go │ │ ├── type_map.go │ │ ├── unsafe_array.go │ │ ├── unsafe_eface.go │ │ ├── unsafe_field.go │ │ ├── unsafe_iface.go │ │ ├── unsafe_link.go │ │ ├── unsafe_map.go │ │ ├── unsafe_ptr.go │ │ ├── unsafe_slice.go │ │ ├── unsafe_struct.go │ │ └── unsafe_type.go ├── prometheus │ ├── client_golang │ │ ├── LICENSE │ │ ├── NOTICE │ │ └── prometheus │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── build_info_collector.go │ │ │ ├── collector.go │ │ │ ├── counter.go │ │ │ ├── desc.go │ │ │ ├── doc.go │ │ │ ├── expvar_collector.go │ │ │ ├── fnv.go │ │ │ ├── gauge.go │ │ │ ├── get_pid.go │ │ │ ├── get_pid_gopherjs.go │ │ │ ├── go_collector.go │ │ │ ├── go_collector_go116.go │ │ │ ├── go_collector_latest.go │ │ │ ├── histogram.go │ │ │ ├── internal │ │ │ ├── almost_equal.go │ │ │ ├── difflib.go │ │ │ ├── go_collector_options.go │ │ │ ├── go_runtime_metrics.go │ │ │ └── metric.go │ │ │ ├── labels.go │ │ │ ├── metric.go │ │ │ ├── num_threads.go │ │ │ ├── num_threads_gopherjs.go │ │ │ ├── observer.go │ │ │ ├── process_collector.go │ │ │ ├── process_collector_js.go │ │ │ ├── process_collector_other.go │ │ │ ├── process_collector_windows.go │ │ │ ├── registry.go │ │ │ ├── summary.go │ │ │ ├── timer.go │ │ │ ├── untyped.go │ │ │ ├── value.go │ │ │ ├── vec.go │ │ │ ├── vnext.go │ │ │ └── wrap.go │ ├── client_model │ │ ├── LICENSE │ │ ├── NOTICE │ │ └── go │ │ │ └── metrics.pb.go │ ├── common │ │ ├── LICENSE │ │ ├── NOTICE │ │ ├── expfmt │ │ │ ├── decode.go │ │ │ ├── encode.go │ │ │ ├── expfmt.go │ │ │ ├── fuzz.go │ │ │ ├── openmetrics_create.go │ │ │ ├── text_create.go │ │ │ └── text_parse.go │ │ ├── internal │ │ │ └── bitbucket.org │ │ │ │ └── ww │ │ │ │ └── goautoneg │ │ │ │ ├── README.txt │ │ │ │ └── autoneg.go │ │ └── model │ │ │ ├── alert.go │ │ │ ├── fingerprinting.go │ │ │ ├── fnv.go │ │ │ ├── labels.go │ │ │ ├── labelset.go │ │ │ ├── metric.go │ │ │ ├── model.go │ │ │ ├── signature.go │ │ │ ├── silence.go │ │ │ ├── time.go │ │ │ ├── value.go │ │ │ ├── value_float.go │ │ │ ├── value_histogram.go │ │ │ └── value_type.go │ └── procfs │ │ ├── .gitignore │ │ ├── .golangci.yml │ │ ├── CODE_OF_CONDUCT.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── MAINTAINERS.md │ │ ├── Makefile │ │ ├── Makefile.common │ │ ├── NOTICE │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── arp.go │ │ ├── buddyinfo.go │ │ ├── cmdline.go │ │ ├── cpuinfo.go │ │ ├── cpuinfo_armx.go │ │ ├── cpuinfo_loong64.go │ │ ├── cpuinfo_mipsx.go │ │ ├── cpuinfo_others.go │ │ ├── cpuinfo_ppcx.go │ │ ├── cpuinfo_riscvx.go │ │ ├── cpuinfo_s390x.go │ │ ├── cpuinfo_x86.go │ │ ├── crypto.go │ │ ├── doc.go │ │ ├── fs.go │ │ ├── fscache.go │ │ ├── internal │ │ ├── fs │ │ │ └── fs.go │ │ └── util │ │ │ ├── parse.go │ │ │ ├── readfile.go │ │ │ ├── sysreadfile.go │ │ │ ├── sysreadfile_compat.go │ │ │ └── valueparser.go │ │ ├── ipvs.go │ │ ├── kernel_random.go │ │ ├── loadavg.go │ │ ├── mdstat.go │ │ ├── meminfo.go │ │ ├── mountinfo.go │ │ ├── mountstats.go │ │ ├── net_conntrackstat.go │ │ ├── net_dev.go │ │ ├── net_ip_socket.go │ │ ├── net_protocols.go │ │ ├── net_sockstat.go │ │ ├── net_softnet.go │ │ ├── net_tcp.go │ │ ├── net_udp.go │ │ ├── net_unix.go │ │ ├── net_xfrm.go │ │ ├── netstat.go │ │ ├── proc.go │ │ ├── proc_cgroup.go │ │ ├── proc_cgroups.go │ │ ├── proc_environ.go │ │ ├── proc_fdinfo.go │ │ ├── proc_interrupts.go │ │ ├── proc_io.go │ │ ├── proc_limits.go │ │ ├── proc_maps.go │ │ ├── proc_netstat.go │ │ ├── proc_ns.go │ │ ├── proc_psi.go │ │ ├── proc_smaps.go │ │ ├── proc_snmp.go │ │ ├── proc_snmp6.go │ │ ├── proc_stat.go │ │ ├── proc_status.go │ │ ├── proc_sys.go │ │ ├── schedstat.go │ │ ├── slab.go │ │ ├── softirqs.go │ │ ├── stat.go │ │ ├── swaps.go │ │ ├── thread.go │ │ ├── ttar │ │ ├── vm.go │ │ └── zoneinfo.go └── sirupsen │ └── logrus │ ├── .gitignore │ ├── .golangci.yml │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── alt_exit.go │ ├── appveyor.yml │ ├── buffer_pool.go │ ├── doc.go │ ├── entry.go │ ├── exported.go │ ├── formatter.go │ ├── hooks.go │ ├── json_formatter.go │ ├── logger.go │ ├── logrus.go │ ├── terminal_check_appengine.go │ ├── terminal_check_bsd.go │ ├── terminal_check_js.go │ ├── terminal_check_no_terminal.go │ ├── terminal_check_notappengine.go │ ├── terminal_check_solaris.go │ ├── terminal_check_unix.go │ ├── terminal_check_windows.go │ ├── text_formatter.go │ └── writer.go ├── go4.org ├── AUTHORS ├── LICENSE └── bytereplacer │ └── bytereplacer.go ├── golang.org └── x │ ├── net │ ├── LICENSE │ ├── PATENTS │ ├── http │ │ └── httpguts │ │ │ ├── guts.go │ │ │ └── httplex.go │ ├── http2 │ │ ├── .gitignore │ │ ├── ascii.go │ │ ├── ciphers.go │ │ ├── client_conn_pool.go │ │ ├── databuffer.go │ │ ├── errors.go │ │ ├── flow.go │ │ ├── frame.go │ │ ├── go111.go │ │ ├── go115.go │ │ ├── go118.go │ │ ├── gotrack.go │ │ ├── headermap.go │ │ ├── hpack │ │ │ ├── encode.go │ │ │ ├── hpack.go │ │ │ ├── huffman.go │ │ │ ├── static_table.go │ │ │ └── tables.go │ │ ├── http2.go │ │ ├── not_go111.go │ │ ├── not_go115.go │ │ ├── not_go118.go │ │ ├── pipe.go │ │ ├── server.go │ │ ├── transport.go │ │ ├── write.go │ │ ├── writesched.go │ │ ├── writesched_priority.go │ │ ├── writesched_random.go │ │ └── writesched_roundrobin.go │ └── idna │ │ ├── go118.go │ │ ├── idna10.0.0.go │ │ ├── idna9.0.0.go │ │ ├── pre_go118.go │ │ ├── punycode.go │ │ ├── tables10.0.0.go │ │ ├── tables11.0.0.go │ │ ├── tables12.0.0.go │ │ ├── tables13.0.0.go │ │ ├── tables15.0.0.go │ │ ├── tables9.0.0.go │ │ ├── trie.go │ │ ├── trie12.0.0.go │ │ ├── trie13.0.0.go │ │ └── trieval.go │ ├── sys │ ├── LICENSE │ ├── PATENTS │ ├── unix │ │ ├── .gitignore │ │ ├── README.md │ │ ├── affinity_linux.go │ │ ├── aliases.go │ │ ├── asm_aix_ppc64.s │ │ ├── asm_bsd_386.s │ │ ├── asm_bsd_amd64.s │ │ ├── asm_bsd_arm.s │ │ ├── asm_bsd_arm64.s │ │ ├── asm_bsd_ppc64.s │ │ ├── asm_bsd_riscv64.s │ │ ├── asm_linux_386.s │ │ ├── asm_linux_amd64.s │ │ ├── asm_linux_arm.s │ │ ├── asm_linux_arm64.s │ │ ├── asm_linux_loong64.s │ │ ├── asm_linux_mips64x.s │ │ ├── asm_linux_mipsx.s │ │ ├── asm_linux_ppc64x.s │ │ ├── asm_linux_riscv64.s │ │ ├── asm_linux_s390x.s │ │ ├── asm_openbsd_mips64.s │ │ ├── asm_solaris_amd64.s │ │ ├── asm_zos_s390x.s │ │ ├── bluetooth_linux.go │ │ ├── cap_freebsd.go │ │ ├── constants.go │ │ ├── dev_aix_ppc.go │ │ ├── dev_aix_ppc64.go │ │ ├── dev_darwin.go │ │ ├── dev_dragonfly.go │ │ ├── dev_freebsd.go │ │ ├── dev_linux.go │ │ ├── dev_netbsd.go │ │ ├── dev_openbsd.go │ │ ├── dev_zos.go │ │ ├── dirent.go │ │ ├── endian_big.go │ │ ├── endian_little.go │ │ ├── env_unix.go │ │ ├── epoll_zos.go │ │ ├── fcntl.go │ │ ├── fcntl_darwin.go │ │ ├── fcntl_linux_32bit.go │ │ ├── fdset.go │ │ ├── fstatfs_zos.go │ │ ├── gccgo.go │ │ ├── gccgo_c.c │ │ ├── gccgo_linux_amd64.go │ │ ├── ifreq_linux.go │ │ ├── ioctl_linux.go │ │ ├── ioctl_signed.go │ │ ├── ioctl_unsigned.go │ │ ├── ioctl_zos.go │ │ ├── mkall.sh │ │ ├── mkerrors.sh │ │ ├── mmap_nomremap.go │ │ ├── mremap.go │ │ ├── pagesize_unix.go │ │ ├── pledge_openbsd.go │ │ ├── ptrace_darwin.go │ │ ├── ptrace_ios.go │ │ ├── race.go │ │ ├── race0.go │ │ ├── readdirent_getdents.go │ │ ├── readdirent_getdirentries.go │ │ ├── sockcmsg_dragonfly.go │ │ ├── sockcmsg_linux.go │ │ ├── sockcmsg_unix.go │ │ ├── sockcmsg_unix_other.go │ │ ├── syscall.go │ │ ├── syscall_aix.go │ │ ├── syscall_aix_ppc.go │ │ ├── syscall_aix_ppc64.go │ │ ├── syscall_bsd.go │ │ ├── syscall_darwin.go │ │ ├── syscall_darwin_amd64.go │ │ ├── syscall_darwin_arm64.go │ │ ├── syscall_darwin_libSystem.go │ │ ├── syscall_dragonfly.go │ │ ├── syscall_dragonfly_amd64.go │ │ ├── syscall_freebsd.go │ │ ├── syscall_freebsd_386.go │ │ ├── syscall_freebsd_amd64.go │ │ ├── syscall_freebsd_arm.go │ │ ├── syscall_freebsd_arm64.go │ │ ├── syscall_freebsd_riscv64.go │ │ ├── syscall_hurd.go │ │ ├── syscall_hurd_386.go │ │ ├── syscall_illumos.go │ │ ├── syscall_linux.go │ │ ├── syscall_linux_386.go │ │ ├── syscall_linux_alarm.go │ │ ├── syscall_linux_amd64.go │ │ ├── syscall_linux_amd64_gc.go │ │ ├── syscall_linux_arm.go │ │ ├── syscall_linux_arm64.go │ │ ├── syscall_linux_gc.go │ │ ├── syscall_linux_gc_386.go │ │ ├── syscall_linux_gc_arm.go │ │ ├── syscall_linux_gccgo_386.go │ │ ├── syscall_linux_gccgo_arm.go │ │ ├── syscall_linux_loong64.go │ │ ├── syscall_linux_mips64x.go │ │ ├── syscall_linux_mipsx.go │ │ ├── syscall_linux_ppc.go │ │ ├── syscall_linux_ppc64x.go │ │ ├── syscall_linux_riscv64.go │ │ ├── syscall_linux_s390x.go │ │ ├── syscall_linux_sparc64.go │ │ ├── syscall_netbsd.go │ │ ├── syscall_netbsd_386.go │ │ ├── syscall_netbsd_amd64.go │ │ ├── syscall_netbsd_arm.go │ │ ├── syscall_netbsd_arm64.go │ │ ├── syscall_openbsd.go │ │ ├── syscall_openbsd_386.go │ │ ├── syscall_openbsd_amd64.go │ │ ├── syscall_openbsd_arm.go │ │ ├── syscall_openbsd_arm64.go │ │ ├── syscall_openbsd_libc.go │ │ ├── syscall_openbsd_mips64.go │ │ ├── syscall_openbsd_ppc64.go │ │ ├── syscall_openbsd_riscv64.go │ │ ├── syscall_solaris.go │ │ ├── syscall_solaris_amd64.go │ │ ├── syscall_unix.go │ │ ├── syscall_unix_gc.go │ │ ├── syscall_unix_gc_ppc64x.go │ │ ├── syscall_zos_s390x.go │ │ ├── sysvshm_linux.go │ │ ├── sysvshm_unix.go │ │ ├── sysvshm_unix_other.go │ │ ├── timestruct.go │ │ ├── unveil_openbsd.go │ │ ├── xattr_bsd.go │ │ ├── zerrors_aix_ppc.go │ │ ├── zerrors_aix_ppc64.go │ │ ├── zerrors_darwin_amd64.go │ │ ├── zerrors_darwin_arm64.go │ │ ├── zerrors_dragonfly_amd64.go │ │ ├── zerrors_freebsd_386.go │ │ ├── zerrors_freebsd_amd64.go │ │ ├── zerrors_freebsd_arm.go │ │ ├── zerrors_freebsd_arm64.go │ │ ├── zerrors_freebsd_riscv64.go │ │ ├── zerrors_linux.go │ │ ├── zerrors_linux_386.go │ │ ├── zerrors_linux_amd64.go │ │ ├── zerrors_linux_arm.go │ │ ├── zerrors_linux_arm64.go │ │ ├── zerrors_linux_loong64.go │ │ ├── zerrors_linux_mips.go │ │ ├── zerrors_linux_mips64.go │ │ ├── zerrors_linux_mips64le.go │ │ ├── zerrors_linux_mipsle.go │ │ ├── zerrors_linux_ppc.go │ │ ├── zerrors_linux_ppc64.go │ │ ├── zerrors_linux_ppc64le.go │ │ ├── zerrors_linux_riscv64.go │ │ ├── zerrors_linux_s390x.go │ │ ├── zerrors_linux_sparc64.go │ │ ├── zerrors_netbsd_386.go │ │ ├── zerrors_netbsd_amd64.go │ │ ├── zerrors_netbsd_arm.go │ │ ├── zerrors_netbsd_arm64.go │ │ ├── zerrors_openbsd_386.go │ │ ├── zerrors_openbsd_amd64.go │ │ ├── zerrors_openbsd_arm.go │ │ ├── zerrors_openbsd_arm64.go │ │ ├── zerrors_openbsd_mips64.go │ │ ├── zerrors_openbsd_ppc64.go │ │ ├── zerrors_openbsd_riscv64.go │ │ ├── zerrors_solaris_amd64.go │ │ ├── zerrors_zos_s390x.go │ │ ├── zptrace_armnn_linux.go │ │ ├── zptrace_linux_arm64.go │ │ ├── zptrace_mipsnn_linux.go │ │ ├── zptrace_mipsnnle_linux.go │ │ ├── zptrace_x86_linux.go │ │ ├── zsyscall_aix_ppc.go │ │ ├── zsyscall_aix_ppc64.go │ │ ├── zsyscall_aix_ppc64_gc.go │ │ ├── zsyscall_aix_ppc64_gccgo.go │ │ ├── zsyscall_darwin_amd64.go │ │ ├── zsyscall_darwin_amd64.s │ │ ├── zsyscall_darwin_arm64.go │ │ ├── zsyscall_darwin_arm64.s │ │ ├── zsyscall_dragonfly_amd64.go │ │ ├── zsyscall_freebsd_386.go │ │ ├── zsyscall_freebsd_amd64.go │ │ ├── zsyscall_freebsd_arm.go │ │ ├── zsyscall_freebsd_arm64.go │ │ ├── zsyscall_freebsd_riscv64.go │ │ ├── zsyscall_illumos_amd64.go │ │ ├── zsyscall_linux.go │ │ ├── zsyscall_linux_386.go │ │ ├── zsyscall_linux_amd64.go │ │ ├── zsyscall_linux_arm.go │ │ ├── zsyscall_linux_arm64.go │ │ ├── zsyscall_linux_loong64.go │ │ ├── zsyscall_linux_mips.go │ │ ├── zsyscall_linux_mips64.go │ │ ├── zsyscall_linux_mips64le.go │ │ ├── zsyscall_linux_mipsle.go │ │ ├── zsyscall_linux_ppc.go │ │ ├── zsyscall_linux_ppc64.go │ │ ├── zsyscall_linux_ppc64le.go │ │ ├── zsyscall_linux_riscv64.go │ │ ├── zsyscall_linux_s390x.go │ │ ├── zsyscall_linux_sparc64.go │ │ ├── zsyscall_netbsd_386.go │ │ ├── zsyscall_netbsd_amd64.go │ │ ├── zsyscall_netbsd_arm.go │ │ ├── zsyscall_netbsd_arm64.go │ │ ├── zsyscall_openbsd_386.go │ │ ├── zsyscall_openbsd_386.s │ │ ├── zsyscall_openbsd_amd64.go │ │ ├── zsyscall_openbsd_amd64.s │ │ ├── zsyscall_openbsd_arm.go │ │ ├── zsyscall_openbsd_arm.s │ │ ├── zsyscall_openbsd_arm64.go │ │ ├── zsyscall_openbsd_arm64.s │ │ ├── zsyscall_openbsd_mips64.go │ │ ├── zsyscall_openbsd_mips64.s │ │ ├── zsyscall_openbsd_ppc64.go │ │ ├── zsyscall_openbsd_ppc64.s │ │ ├── zsyscall_openbsd_riscv64.go │ │ ├── zsyscall_openbsd_riscv64.s │ │ ├── zsyscall_solaris_amd64.go │ │ ├── zsyscall_zos_s390x.go │ │ ├── zsysctl_openbsd_386.go │ │ ├── zsysctl_openbsd_amd64.go │ │ ├── zsysctl_openbsd_arm.go │ │ ├── zsysctl_openbsd_arm64.go │ │ ├── zsysctl_openbsd_mips64.go │ │ ├── zsysctl_openbsd_ppc64.go │ │ ├── zsysctl_openbsd_riscv64.go │ │ ├── zsysnum_darwin_amd64.go │ │ ├── zsysnum_darwin_arm64.go │ │ ├── zsysnum_dragonfly_amd64.go │ │ ├── zsysnum_freebsd_386.go │ │ ├── zsysnum_freebsd_amd64.go │ │ ├── zsysnum_freebsd_arm.go │ │ ├── zsysnum_freebsd_arm64.go │ │ ├── zsysnum_freebsd_riscv64.go │ │ ├── zsysnum_linux_386.go │ │ ├── zsysnum_linux_amd64.go │ │ ├── zsysnum_linux_arm.go │ │ ├── zsysnum_linux_arm64.go │ │ ├── zsysnum_linux_loong64.go │ │ ├── zsysnum_linux_mips.go │ │ ├── zsysnum_linux_mips64.go │ │ ├── zsysnum_linux_mips64le.go │ │ ├── zsysnum_linux_mipsle.go │ │ ├── zsysnum_linux_ppc.go │ │ ├── zsysnum_linux_ppc64.go │ │ ├── zsysnum_linux_ppc64le.go │ │ ├── zsysnum_linux_riscv64.go │ │ ├── zsysnum_linux_s390x.go │ │ ├── zsysnum_linux_sparc64.go │ │ ├── zsysnum_netbsd_386.go │ │ ├── zsysnum_netbsd_amd64.go │ │ ├── zsysnum_netbsd_arm.go │ │ ├── zsysnum_netbsd_arm64.go │ │ ├── zsysnum_openbsd_386.go │ │ ├── zsysnum_openbsd_amd64.go │ │ ├── zsysnum_openbsd_arm.go │ │ ├── zsysnum_openbsd_arm64.go │ │ ├── zsysnum_openbsd_mips64.go │ │ ├── zsysnum_openbsd_ppc64.go │ │ ├── zsysnum_openbsd_riscv64.go │ │ ├── zsysnum_zos_s390x.go │ │ ├── ztypes_aix_ppc.go │ │ ├── ztypes_aix_ppc64.go │ │ ├── ztypes_darwin_amd64.go │ │ ├── ztypes_darwin_arm64.go │ │ ├── ztypes_dragonfly_amd64.go │ │ ├── ztypes_freebsd_386.go │ │ ├── ztypes_freebsd_amd64.go │ │ ├── ztypes_freebsd_arm.go │ │ ├── ztypes_freebsd_arm64.go │ │ ├── ztypes_freebsd_riscv64.go │ │ ├── ztypes_linux.go │ │ ├── ztypes_linux_386.go │ │ ├── ztypes_linux_amd64.go │ │ ├── ztypes_linux_arm.go │ │ ├── ztypes_linux_arm64.go │ │ ├── ztypes_linux_loong64.go │ │ ├── ztypes_linux_mips.go │ │ ├── ztypes_linux_mips64.go │ │ ├── ztypes_linux_mips64le.go │ │ ├── ztypes_linux_mipsle.go │ │ ├── ztypes_linux_ppc.go │ │ ├── ztypes_linux_ppc64.go │ │ ├── ztypes_linux_ppc64le.go │ │ ├── ztypes_linux_riscv64.go │ │ ├── ztypes_linux_s390x.go │ │ ├── ztypes_linux_sparc64.go │ │ ├── ztypes_netbsd_386.go │ │ ├── ztypes_netbsd_amd64.go │ │ ├── ztypes_netbsd_arm.go │ │ ├── ztypes_netbsd_arm64.go │ │ ├── ztypes_openbsd_386.go │ │ ├── ztypes_openbsd_amd64.go │ │ ├── ztypes_openbsd_arm.go │ │ ├── ztypes_openbsd_arm64.go │ │ ├── ztypes_openbsd_mips64.go │ │ ├── ztypes_openbsd_ppc64.go │ │ ├── ztypes_openbsd_riscv64.go │ │ ├── ztypes_solaris_amd64.go │ │ └── ztypes_zos_s390x.go │ └── windows │ │ ├── aliases.go │ │ ├── dll_windows.go │ │ ├── empty.s │ │ ├── env_windows.go │ │ ├── eventlog.go │ │ ├── exec_windows.go │ │ ├── memory_windows.go │ │ ├── mkerrors.bash │ │ ├── mkknownfolderids.bash │ │ ├── mksyscall.go │ │ ├── race.go │ │ ├── race0.go │ │ ├── security_windows.go │ │ ├── service.go │ │ ├── setupapi_windows.go │ │ ├── str.go │ │ ├── syscall.go │ │ ├── syscall_windows.go │ │ ├── types_windows.go │ │ ├── types_windows_386.go │ │ ├── types_windows_amd64.go │ │ ├── types_windows_arm.go │ │ ├── types_windows_arm64.go │ │ ├── zerrors_windows.go │ │ ├── zknownfolderids_windows.go │ │ └── zsyscall_windows.go │ └── text │ ├── LICENSE │ ├── PATENTS │ ├── secure │ └── bidirule │ │ ├── bidirule.go │ │ ├── bidirule10.0.0.go │ │ └── bidirule9.0.0.go │ ├── transform │ └── transform.go │ └── unicode │ ├── bidi │ ├── bidi.go │ ├── bracket.go │ ├── core.go │ ├── prop.go │ ├── tables10.0.0.go │ ├── tables11.0.0.go │ ├── tables12.0.0.go │ ├── tables13.0.0.go │ ├── tables15.0.0.go │ ├── tables9.0.0.go │ └── trieval.go │ └── norm │ ├── composition.go │ ├── forminfo.go │ ├── input.go │ ├── iter.go │ ├── normalize.go │ ├── readwriter.go │ ├── tables10.0.0.go │ ├── tables11.0.0.go │ ├── tables12.0.0.go │ ├── tables13.0.0.go │ ├── tables15.0.0.go │ ├── tables9.0.0.go │ ├── transform.go │ └── trie.go ├── google.golang.org └── protobuf │ ├── LICENSE │ ├── PATENTS │ ├── encoding │ ├── prototext │ │ ├── decode.go │ │ ├── doc.go │ │ └── encode.go │ └── protowire │ │ └── wire.go │ ├── internal │ ├── descfmt │ │ └── stringer.go │ ├── descopts │ │ └── options.go │ ├── detrand │ │ └── rand.go │ ├── editiondefaults │ │ ├── defaults.go │ │ └── editions_defaults.binpb │ ├── encoding │ │ ├── defval │ │ │ └── default.go │ │ ├── messageset │ │ │ └── messageset.go │ │ ├── tag │ │ │ └── tag.go │ │ └── text │ │ │ ├── decode.go │ │ │ ├── decode_number.go │ │ │ ├── decode_string.go │ │ │ ├── decode_token.go │ │ │ ├── doc.go │ │ │ └── encode.go │ ├── errors │ │ ├── errors.go │ │ ├── is_go112.go │ │ └── is_go113.go │ ├── filedesc │ │ ├── build.go │ │ ├── desc.go │ │ ├── desc_init.go │ │ ├── desc_lazy.go │ │ ├── desc_list.go │ │ ├── desc_list_gen.go │ │ ├── editions.go │ │ └── placeholder.go │ ├── filetype │ │ └── build.go │ ├── flags │ │ ├── flags.go │ │ ├── proto_legacy_disable.go │ │ └── proto_legacy_enable.go │ ├── genid │ │ ├── any_gen.go │ │ ├── api_gen.go │ │ ├── descriptor_gen.go │ │ ├── doc.go │ │ ├── duration_gen.go │ │ ├── empty_gen.go │ │ ├── field_mask_gen.go │ │ ├── go_features_gen.go │ │ ├── goname.go │ │ ├── map_entry.go │ │ ├── source_context_gen.go │ │ ├── struct_gen.go │ │ ├── timestamp_gen.go │ │ ├── type_gen.go │ │ ├── wrappers.go │ │ └── wrappers_gen.go │ ├── impl │ │ ├── api_export.go │ │ ├── checkinit.go │ │ ├── codec_extension.go │ │ ├── codec_field.go │ │ ├── codec_gen.go │ │ ├── codec_map.go │ │ ├── codec_map_go111.go │ │ ├── codec_map_go112.go │ │ ├── codec_message.go │ │ ├── codec_messageset.go │ │ ├── codec_reflect.go │ │ ├── codec_tables.go │ │ ├── codec_unsafe.go │ │ ├── convert.go │ │ ├── convert_list.go │ │ ├── convert_map.go │ │ ├── decode.go │ │ ├── encode.go │ │ ├── enum.go │ │ ├── extension.go │ │ ├── legacy_enum.go │ │ ├── legacy_export.go │ │ ├── legacy_extension.go │ │ ├── legacy_file.go │ │ ├── legacy_message.go │ │ ├── merge.go │ │ ├── merge_gen.go │ │ ├── message.go │ │ ├── message_reflect.go │ │ ├── message_reflect_field.go │ │ ├── message_reflect_gen.go │ │ ├── pointer_reflect.go │ │ ├── pointer_unsafe.go │ │ ├── validate.go │ │ └── weak.go │ ├── order │ │ ├── order.go │ │ └── range.go │ ├── pragma │ │ └── pragma.go │ ├── set │ │ └── ints.go │ ├── strs │ │ ├── strings.go │ │ ├── strings_pure.go │ │ ├── strings_unsafe_go120.go │ │ └── strings_unsafe_go121.go │ └── version │ │ └── version.go │ ├── proto │ ├── checkinit.go │ ├── decode.go │ ├── decode_gen.go │ ├── doc.go │ ├── encode.go │ ├── encode_gen.go │ ├── equal.go │ ├── extension.go │ ├── merge.go │ ├── messageset.go │ ├── proto.go │ ├── proto_methods.go │ ├── proto_reflect.go │ ├── reset.go │ ├── size.go │ ├── size_gen.go │ └── wrappers.go │ ├── reflect │ ├── protodesc │ │ ├── desc.go │ │ ├── desc_init.go │ │ ├── desc_resolve.go │ │ ├── desc_validate.go │ │ ├── editions.go │ │ └── proto.go │ ├── protoreflect │ │ ├── methods.go │ │ ├── proto.go │ │ ├── source.go │ │ ├── source_gen.go │ │ ├── type.go │ │ ├── value.go │ │ ├── value_equal.go │ │ ├── value_pure.go │ │ ├── value_union.go │ │ ├── value_unsafe_go120.go │ │ └── value_unsafe_go121.go │ └── protoregistry │ │ └── registry.go │ ├── runtime │ ├── protoiface │ │ ├── legacy.go │ │ └── methods.go │ └── protoimpl │ │ ├── impl.go │ │ └── version.go │ └── types │ ├── descriptorpb │ └── descriptor.pb.go │ ├── gofeaturespb │ ├── go_features.pb.go │ └── go_features.proto │ └── known │ └── timestamppb │ └── timestamp.pb.go ├── gopkg.in ├── inf.v0 │ ├── LICENSE │ ├── dec.go │ └── rounder.go └── yaml.v2 │ ├── .travis.yml │ ├── LICENSE │ ├── LICENSE.libyaml │ ├── NOTICE │ ├── README.md │ ├── apic.go │ ├── decode.go │ ├── emitterc.go │ ├── encode.go │ ├── parserc.go │ ├── readerc.go │ ├── resolve.go │ ├── scannerc.go │ ├── sorter.go │ ├── writerc.go │ ├── yaml.go │ ├── yamlh.go │ └── yamlprivateh.go ├── k8s.io ├── apimachinery │ ├── LICENSE │ ├── pkg │ │ ├── api │ │ │ ├── errors │ │ │ │ ├── OWNERS │ │ │ │ ├── doc.go │ │ │ │ └── errors.go │ │ │ └── resource │ │ │ │ ├── OWNERS │ │ │ │ ├── amount.go │ │ │ │ ├── generated.pb.go │ │ │ │ ├── generated.proto │ │ │ │ ├── math.go │ │ │ │ ├── quantity.go │ │ │ │ ├── quantity_proto.go │ │ │ │ ├── scale_int.go │ │ │ │ ├── suffix.go │ │ │ │ └── zz_generated.deepcopy.go │ │ ├── apis │ │ │ └── meta │ │ │ │ └── v1 │ │ │ │ ├── OWNERS │ │ │ │ ├── controller_ref.go │ │ │ │ ├── conversion.go │ │ │ │ ├── deepcopy.go │ │ │ │ ├── doc.go │ │ │ │ ├── duration.go │ │ │ │ ├── generated.pb.go │ │ │ │ ├── generated.proto │ │ │ │ ├── group_version.go │ │ │ │ ├── helpers.go │ │ │ │ ├── labels.go │ │ │ │ ├── meta.go │ │ │ │ ├── micro_time.go │ │ │ │ ├── micro_time_fuzz.go │ │ │ │ ├── micro_time_proto.go │ │ │ │ ├── register.go │ │ │ │ ├── time.go │ │ │ │ ├── time_fuzz.go │ │ │ │ ├── time_proto.go │ │ │ │ ├── types.go │ │ │ │ ├── types_swagger_doc_generated.go │ │ │ │ ├── watch.go │ │ │ │ ├── zz_generated.conversion.go │ │ │ │ ├── zz_generated.deepcopy.go │ │ │ │ └── zz_generated.defaults.go │ │ ├── conversion │ │ │ ├── converter.go │ │ │ ├── deep_equal.go │ │ │ ├── doc.go │ │ │ ├── helper.go │ │ │ └── queryparams │ │ │ │ ├── convert.go │ │ │ │ └── doc.go │ │ ├── fields │ │ │ ├── doc.go │ │ │ ├── fields.go │ │ │ ├── requirements.go │ │ │ └── selector.go │ │ ├── labels │ │ │ ├── doc.go │ │ │ ├── labels.go │ │ │ ├── selector.go │ │ │ └── zz_generated.deepcopy.go │ │ ├── runtime │ │ │ ├── allocator.go │ │ │ ├── codec.go │ │ │ ├── codec_check.go │ │ │ ├── conversion.go │ │ │ ├── converter.go │ │ │ ├── doc.go │ │ │ ├── embedded.go │ │ │ ├── error.go │ │ │ ├── extension.go │ │ │ ├── generated.pb.go │ │ │ ├── generated.proto │ │ │ ├── helper.go │ │ │ ├── interfaces.go │ │ │ ├── mapper.go │ │ │ ├── negotiate.go │ │ │ ├── register.go │ │ │ ├── schema │ │ │ │ ├── generated.pb.go │ │ │ │ ├── generated.proto │ │ │ │ ├── group_version.go │ │ │ │ └── interfaces.go │ │ │ ├── scheme.go │ │ │ ├── scheme_builder.go │ │ │ ├── swagger_doc_generator.go │ │ │ ├── types.go │ │ │ ├── types_proto.go │ │ │ └── zz_generated.deepcopy.go │ │ ├── selection │ │ │ └── operator.go │ │ ├── types │ │ │ ├── doc.go │ │ │ ├── namespacedname.go │ │ │ ├── nodename.go │ │ │ ├── patch.go │ │ │ └── uid.go │ │ ├── util │ │ │ ├── errors │ │ │ │ ├── doc.go │ │ │ │ └── errors.go │ │ │ ├── intstr │ │ │ │ ├── generated.pb.go │ │ │ │ ├── generated.proto │ │ │ │ ├── instr_fuzz.go │ │ │ │ └── intstr.go │ │ │ ├── json │ │ │ │ └── json.go │ │ │ ├── naming │ │ │ │ └── from_stack.go │ │ │ ├── net │ │ │ │ ├── http.go │ │ │ │ ├── interface.go │ │ │ │ ├── port_range.go │ │ │ │ ├── port_split.go │ │ │ │ └── util.go │ │ │ ├── runtime │ │ │ │ └── runtime.go │ │ │ ├── sets │ │ │ │ ├── byte.go │ │ │ │ ├── doc.go │ │ │ │ ├── empty.go │ │ │ │ ├── int.go │ │ │ │ ├── int32.go │ │ │ │ ├── int64.go │ │ │ │ ├── ordered.go │ │ │ │ ├── set.go │ │ │ │ └── string.go │ │ │ ├── validation │ │ │ │ ├── field │ │ │ │ │ ├── errors.go │ │ │ │ │ └── path.go │ │ │ │ └── validation.go │ │ │ └── wait │ │ │ │ ├── backoff.go │ │ │ │ ├── delay.go │ │ │ │ ├── doc.go │ │ │ │ ├── error.go │ │ │ │ ├── loop.go │ │ │ │ ├── poll.go │ │ │ │ ├── timer.go │ │ │ │ └── wait.go │ │ └── watch │ │ │ ├── doc.go │ │ │ ├── filter.go │ │ │ ├── mux.go │ │ │ ├── streamwatcher.go │ │ │ ├── watch.go │ │ │ └── zz_generated.deepcopy.go │ └── third_party │ │ └── forked │ │ └── golang │ │ ├── LICENSE │ │ ├── PATENTS │ │ └── reflect │ │ └── deep_equal.go ├── client-go │ ├── LICENSE │ └── util │ │ └── retry │ │ ├── OWNERS │ │ └── util.go ├── klog │ └── v2 │ │ ├── .gitignore │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── OWNERS │ │ ├── README.md │ │ ├── RELEASE.md │ │ ├── SECURITY.md │ │ ├── SECURITY_CONTACTS │ │ ├── code-of-conduct.md │ │ ├── contextual.go │ │ ├── exit.go │ │ ├── format.go │ │ ├── imports.go │ │ ├── internal │ │ ├── buffer │ │ │ └── buffer.go │ │ ├── clock │ │ │ ├── README.md │ │ │ └── clock.go │ │ ├── dbg │ │ │ └── dbg.go │ │ ├── serialize │ │ │ └── keyvalues.go │ │ └── severity │ │ │ └── severity.go │ │ ├── k8s_references.go │ │ ├── klog.go │ │ ├── klog_file.go │ │ ├── klog_file_others.go │ │ ├── klog_file_windows.go │ │ └── klogr.go ├── test-infra │ ├── LICENSE │ └── prow │ │ ├── config │ │ └── secret │ │ │ ├── agent.go │ │ │ ├── reloader.go │ │ │ └── secret.go │ │ ├── logrusutil │ │ └── logrusutil.go │ │ ├── secretutil │ │ ├── censor.go │ │ └── doc.go │ │ └── version │ │ ├── doc.go │ │ └── metrics.go └── utils │ ├── LICENSE │ ├── clock │ ├── README.md │ └── clock.go │ ├── internal │ └── third_party │ │ └── forked │ │ └── golang │ │ ├── LICENSE │ │ ├── PATENTS │ │ └── net │ │ ├── ip.go │ │ └── parse.go │ ├── net │ ├── ipfamily.go │ ├── ipnet.go │ ├── net.go │ ├── parse.go │ └── port.go │ └── strings │ └── slices │ └── slices.go ├── modules.txt └── sigs.k8s.io ├── boskos ├── LICENSE ├── client │ ├── README.md │ └── client.go ├── common │ ├── common.go │ ├── config.go │ └── mason_config.go └── storage │ └── storage.go ├── json ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── OWNERS ├── README.md ├── SECURITY.md ├── SECURITY_CONTACTS ├── code-of-conduct.md ├── doc.go ├── internal │ └── golang │ │ └── encoding │ │ └── json │ │ ├── decode.go │ │ ├── encode.go │ │ ├── fold.go │ │ ├── fuzz.go │ │ ├── indent.go │ │ ├── kubernetes_patch.go │ │ ├── scanner.go │ │ ├── stream.go │ │ ├── tables.go │ │ └── tags.go └── json.go ├── structured-merge-diff └── v4 │ ├── LICENSE │ └── value │ ├── allocator.go │ ├── doc.go │ ├── fields.go │ ├── jsontagutil.go │ ├── list.go │ ├── listreflect.go │ ├── listunstructured.go │ ├── map.go │ ├── mapreflect.go │ ├── mapunstructured.go │ ├── reflectcache.go │ ├── scalar.go │ ├── structreflect.go │ ├── value.go │ ├── valuereflect.go │ └── valueunstructured.go └── yaml ├── .gitignore ├── .travis.yml ├── CONTRIBUTING.md ├── LICENSE ├── OWNERS ├── README.md ├── RELEASE.md ├── SECURITY_CONTACTS ├── code-of-conduct.md ├── fields.go ├── yaml.go └── yaml_go110.go /.gitignore: -------------------------------------------------------------------------------- 1 | bin/ 2 | asm/ 3 | .vscode/ 4 | .crt 5 | .key 6 | .pem 7 | certs/ 8 | -------------------------------------------------------------------------------- /.mlc_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "ignorePatterns": [ 3 | { 4 | "pattern": "^http://example.net" 5 | }, 6 | { 7 | "pattern": "^https://docs.github.com" 8 | }, 9 | { 10 | "pattern": "^vendor" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /archive/gatewayclass.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.x-k8s.io/v1alpha1 2 | kind: GatewayClass 3 | metadata: 4 | name: istio 5 | spec: 6 | controller: istio.io/gateway-controller -------------------------------------------------------------------------------- /archive/hack/gen-certs.sh: -------------------------------------------------------------------------------- 1 | WD=$(dirname "$0") 2 | WD=$(cd "$WD"; pwd) 3 | 4 | set -e 5 | 6 | openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -subj '/O=example Inc./CN=gateway.local' -keyout /tmp/root.key -out /tmp/root.crt 7 | openssl req -out /tmp/cert.csr -newkey rsa:2048 -nodes -keyout /tmp/cert.key -subj "/CN=gateway.local/O=example organization" 8 | openssl x509 -req -days 365 -CA /tmp/root.crt -CAkey /tmp/root.key -set_serial 0 -in /tmp/cert.csr -out /tmp/cert.crt 9 | kubectl create -n istio-system secret tls service-apis-cert --key=/tmp/cert.key --cert=/tmp/cert.crt --dry-run=client -oyaml > "${WD}"/../certificate.yaml 10 | -------------------------------------------------------------------------------- /archive/kustomization.yml: -------------------------------------------------------------------------------- 1 | resources: 2 | # Minimal Istio deployment to handle Ingress/Gateway 3 | - deploy.yaml 4 | -------------------------------------------------------------------------------- /authz/authz-cr-validation/invalid_http_rules.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.gke.io/v1 2 | kind: GCPAuthzPolicy 3 | metadata: 4 | name: "test" 5 | spec: 6 | action: ALLOW 7 | targetRefs: 8 | - kind: Deployment 9 | name: test-deploy 10 | group: "" 11 | -------------------------------------------------------------------------------- /authz/authz-cr-validation/invalid_multiple_providers.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.gke.io/v1 2 | kind: GCPAuthzPolicy 3 | metadata: 4 | name: "test" 5 | spec: 6 | action: CUSTOM 7 | httpRules: 8 | - to: 9 | operations: 10 | - paths: 11 | - type: Exact 12 | value: "/" 13 | customProviders: 14 | cloudIAP: true 15 | extensionRefs: 16 | - kind: Service 17 | name: test 18 | group: "" 19 | targetRefs: 20 | - kind: Deployment 21 | name: test-deploy 22 | group: "" 23 | -------------------------------------------------------------------------------- /authz/authz-cr-validation/invalid_provider_custom.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.gke.io/v1 2 | kind: GCPAuthzPolicy 3 | metadata: 4 | name: "test" 5 | spec: 6 | action: CUSTOM 7 | httpRules: 8 | - to: 9 | operations: 10 | - paths: 11 | - type: Exact 12 | value: "/" 13 | targetRefs: 14 | - kind: Deployment 15 | name: test-deploy 16 | group: "" 17 | -------------------------------------------------------------------------------- /authz/authz-cr-validation/invalid_providers_deny.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.gke.io/v1 2 | kind: GCPAuthzPolicy 3 | metadata: 4 | name: "test" 5 | spec: 6 | action: DENY 7 | httpRules: 8 | - to: 9 | operations: 10 | - paths: 11 | - type: Exact 12 | value: "/" 13 | customProviders: 14 | cloudIAP: true 15 | targetRefs: 16 | - kind: Deployment 17 | name: test-deploy 18 | group: "" 19 | -------------------------------------------------------------------------------- /authz/authz-cr-validation/valid.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.gke.io/v1 2 | kind: GCPAuthzPolicy 3 | metadata: 4 | name: "test" 5 | spec: 6 | action: DENY 7 | httpRules: 8 | - to: 9 | operations: 10 | - paths: 11 | - type: Exact 12 | value: "/" 13 | targetRefs: 14 | - kind: Deployment 15 | name: test-deploy 16 | group: "" 17 | -------------------------------------------------------------------------------- /gateway-api/config/mesh/crd/kustomization.yaml: -------------------------------------------------------------------------------- 1 | resources: 2 | - stable/tdmesh.yaml 3 | - stable/tdgrpcroute.yaml 4 | - experimental/gcpsessionaffinitypolicy.yaml 5 | - experimental/gcpsessionaffinityfilter.yaml 6 | -------------------------------------------------------------------------------- /gateway-api/config/servicepolicies/crd/kustomization.yaml: -------------------------------------------------------------------------------- 1 | resources: 2 | - standard/healthcheckpolicy.yaml 3 | - standard/lbpolicy.yaml 4 | -------------------------------------------------------------------------------- /gateway/bbr/gcphealthcheckpolicy.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.gke.io/v1 2 | kind: HealthCheckPolicy 3 | metadata: 4 | name: bbr-healthcheck 5 | namespace: default 6 | spec: 7 | default: 8 | logConfig: 9 | enabled: true 10 | config: 11 | type: "GRPC" 12 | grpcHealthCheck: 13 | portSpecification: "USE_FIXED_PORT" 14 | port: 9003 15 | targetRef: 16 | group: "" 17 | kind: Service 18 | name: body-based-router 19 | -------------------------------------------------------------------------------- /gateway/bbr/gcproutingextension.yaml: -------------------------------------------------------------------------------- 1 | kind: GCPRoutingExtension 2 | apiVersion: networking.gke.io/v1 3 | metadata: 4 | name: bbr-extension 5 | namespace: default 6 | spec: 7 | targetRefs: 8 | - group: "gateway.networking.k8s.io" 9 | kind: Gateway 10 | name: my-inference-gateway 11 | extensionChains: 12 | - name: chain1 13 | matchCondition: 14 | celExpressions: 15 | - celMatcher: 16 | celExpression: `request.headers["x-gateway-model-name"] != ""` 17 | extensions: 18 | - name: ext1 19 | authority: "myext.com" 20 | timeout: 1s 21 | supportedEvents: 22 | - RequestHeaders 23 | - RequestBody 24 | - RequestTrailers 25 | requestBodySendMode: "FullDuplexStreamed" 26 | backendRef: 27 | group: "" 28 | kind: Service 29 | name: body-based-router 30 | port: 9002 31 | -------------------------------------------------------------------------------- /gateway/docs/README.md: -------------------------------------------------------------------------------- 1 | # Google Cloud Product Docs Reference Manifests 2 | 3 | The files in this folder are referenced by Google Cloud product docs. They should not be edited or removed without explicit permission from the GKE docs team. See each manifest 4 | to find out which product pages it is referenced by. 5 | -------------------------------------------------------------------------------- /gateway/docs/site-deploy.yaml: -------------------------------------------------------------------------------- 1 | ################################################## 2 | # Referenced by https://cloud.google.com/kubernetes-engine/docs/how-to/deploying-gateways#shared_gateways 3 | ################################################## 4 | 5 | 6 | apiVersion: apps/v1 7 | kind: Deployment 8 | metadata: 9 | name: site-v1 10 | spec: 11 | replicas: 2 12 | selector: 13 | matchLabels: 14 | app: site 15 | version: v1 16 | template: 17 | metadata: 18 | labels: 19 | app: site 20 | version: v1 21 | spec: 22 | containers: 23 | - name: whereami 24 | image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.20 25 | ports: 26 | - containerPort: 8080 27 | env: 28 | - name: METADATA 29 | value: "site-v1" 30 | --- 31 | apiVersion: v1 32 | kind: Service 33 | metadata: 34 | name: site-v1 35 | spec: 36 | selector: 37 | app: site 38 | version: v1 39 | ports: 40 | - port: 8080 41 | targetPort: 8080 -------------------------------------------------------------------------------- /gateway/docs/store-deploy.yaml: -------------------------------------------------------------------------------- 1 | ################################################## 2 | # Referenced by https://cloud.google.com/kubernetes-engine/docs/how-to/deploying-multi-cluster-gateways#external-gateway 3 | ################################################## 4 | 5 | kind: Namespace 6 | apiVersion: v1 7 | metadata: 8 | name: store 9 | --- 10 | apiVersion: apps/v1 11 | kind: Deployment 12 | metadata: 13 | name: store 14 | namespace: store 15 | spec: 16 | replicas: 2 17 | selector: 18 | matchLabels: 19 | app: store 20 | version: v1 21 | template: 22 | metadata: 23 | labels: 24 | app: store 25 | version: v1 26 | spec: 27 | containers: 28 | - name: whereami 29 | image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.20 30 | ports: 31 | - containerPort: 8080 -------------------------------------------------------------------------------- /gateway/docs/store-traffic-deploy.yaml: -------------------------------------------------------------------------------- 1 | ################################################## 2 | # Referenced by https://cloud.google.com/kubernetes-engine/docs/how-to/deploying-multi-cluster-gateways#capacity-load-balancing 3 | ################################################## 4 | 5 | kind: Namespace 6 | apiVersion: v1 7 | metadata: 8 | name: traffic-test 9 | --- 10 | apiVersion: apps/v1 11 | kind: Deployment 12 | metadata: 13 | name: store 14 | namespace: traffic-test 15 | spec: 16 | replicas: 2 17 | selector: 18 | matchLabels: 19 | app: store 20 | version: v1 21 | template: 22 | metadata: 23 | labels: 24 | app: store 25 | version: v1 26 | spec: 27 | containers: 28 | - name: whereami 29 | image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.20 30 | ports: 31 | - containerPort: 8080 -------------------------------------------------------------------------------- /gateway/docs/store-west-2-service.yaml: -------------------------------------------------------------------------------- 1 | ################################################## 2 | # Referenced by https://cloud.google.com/kubernetes-engine/docs/how-to/deploying-multi-cluster-gateways#blue-green 3 | ################################################## 4 | 5 | apiVersion: v1 6 | kind: Service 7 | metadata: 8 | name: store 9 | namespace: store 10 | spec: 11 | selector: 12 | app: store 13 | ports: 14 | - port: 8080 15 | targetPort: 8080 16 | --- 17 | kind: ServiceExport 18 | apiVersion: net.gke.io/v1 19 | metadata: 20 | name: store 21 | namespace: store 22 | --- 23 | apiVersion: v1 24 | kind: Service 25 | metadata: 26 | name: store-west-2 27 | namespace: store 28 | spec: 29 | selector: 30 | app: store 31 | ports: 32 | - port: 8080 33 | targetPort: 8080 34 | --- 35 | kind: ServiceExport 36 | apiVersion: net.gke.io/v1 37 | metadata: 38 | name: store-west-2 39 | namespace: store -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/app/site.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: site-v1 5 | spec: 6 | replicas: 2 7 | selector: 8 | matchLabels: 9 | app: site 10 | version: v1 11 | template: 12 | metadata: 13 | labels: 14 | app: site 15 | version: v1 16 | spec: 17 | containers: 18 | - name: whereami 19 | image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.20 20 | ports: 21 | - containerPort: 8080 22 | env: 23 | - name: METADATA 24 | value: "site-v1" 25 | --- 26 | apiVersion: v1 27 | kind: Service 28 | metadata: 29 | name: site-v1 30 | spec: 31 | selector: 32 | app: site 33 | version: v1 34 | ports: 35 | - port: 8080 36 | targetPort: 8080 -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/ex1-simple-internal-gw.yaml: -------------------------------------------------------------------------------- 1 | kind: Gateway 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: internal-gw 5 | namespace: default 6 | spec: 7 | class: internal 8 | listeners: 9 | - protocol: HTTP 10 | port: 80 11 | routes: 12 | resource: httproutes 13 | --- 14 | apiVersion: networking.x-k8s.io/v1alpha1 15 | kind: HTTPRoute 16 | metadata: 17 | name: my-route 18 | namespace: default 19 | spec: 20 | hosts: 21 | - rules: 22 | - action: 23 | forwardTo: 24 | - targetRef: 25 | name: foo-svc 26 | 27 | -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/ex2-complex-route.yaml: -------------------------------------------------------------------------------- 1 | kind: Gateway 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: internal-gw 5 | namespace: default 6 | spec: 7 | class: internal 8 | listeners: 9 | - protocol: HTTP 10 | port: 80 11 | routes: 12 | resource: httproutes 13 | --- 14 | apiVersion: networking.x-k8s.io/v1alpha1 15 | kind: HTTPRoute 16 | metadata: 17 | name: my-route 18 | namespace: default 19 | spec: 20 | hosts: 21 | - hostnames: 22 | - foo.com 23 | rules: 24 | - action: 25 | forwardTo: 26 | - targetRef: 27 | name: foo-svc 28 | - hostnames: 29 | - bar.com 30 | rules: 31 | - matches: 32 | - path: /login 33 | headers: 34 | accept: text/html 35 | action: 36 | forwardTo: 37 | - targetRef: 38 | name: bar-svc 39 | 40 | -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/ex4-route-weight-1.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.x-k8s.io/v1alpha1 2 | kind: HTTPRoute 3 | metadata: 4 | name: my-route 5 | namespace: default 6 | spec: 7 | hosts: 8 | - hostnames: 9 | - foo.com 10 | rules: 11 | - action: 12 | forwardTo: 13 | - targetRef: 14 | name: foo-svc 15 | weight: 100 16 | - targetRef: 17 | name: foo-v2-svc 18 | weight: 0 19 | - hostnames: 20 | - bar.com 21 | rules: 22 | - matches: 23 | - path: /login 24 | headers: 25 | accept: text/html 26 | action: 27 | forwardTo: 28 | - targetRef: 29 | name: bar-svc -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/ex4-route-weight-2.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.x-k8s.io/v1alpha1 2 | kind: HTTPRoute 3 | metadata: 4 | name: my-route 5 | namespace: default 6 | spec: 7 | hosts: 8 | - hostnames: 9 | - foo.com 10 | rules: 11 | - action: 12 | forwardTo: 13 | - targetRef: 14 | name: foo-svc 15 | weight: 75 16 | - targetRef: 17 | name: foo-v2-svc 18 | weight: 25 19 | - hostnames: 20 | - bar.com 21 | rules: 22 | - matches: 23 | - path: /login 24 | headers: 25 | accept: text/html 26 | action: 27 | forwardTo: 28 | - targetRef: 29 | name: bar-svc -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/ex4-route-weight-3.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.x-k8s.io/v1alpha1 2 | kind: HTTPRoute 3 | metadata: 4 | name: my-route 5 | namespace: default 6 | spec: 7 | hosts: 8 | - hostnames: 9 | - foo.com 10 | rules: 11 | - action: 12 | forwardTo: 13 | - targetRef: 14 | name: foo-svc 15 | weight: 0 16 | - targetRef: 17 | name: foo-v2-svc 18 | weight: 100 19 | - hostnames: 20 | - bar.com 21 | rules: 22 | - matches: 23 | - path: /login 24 | headers: 25 | accept: text/html 26 | action: 27 | forwardTo: 28 | - targetRef: 29 | name: bar-svc -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/multi-cluster-gateway/external-http-gateway.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/gateway/gke-gateway-controller/multi-cluster-gateway/external-http-gateway.yaml -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/multi-cluster-gateway/internal-http-gateway.yaml: -------------------------------------------------------------------------------- 1 | kind: Gateway 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: internal-http 5 | namespace: store 6 | spec: 7 | gatewayClassName: gke-l7-rilb-mc 8 | listeners: 9 | - protocol: HTTP 10 | port: 80 11 | routes: 12 | kind: HTTPRoute 13 | selector: 14 | matchLabels: 15 | gateway: internal-http -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/multi-cluster-gateway/internal-route-stage-1.yaml: -------------------------------------------------------------------------------- 1 | kind: HTTPRoute 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: internal-store-route 5 | namespace: store 6 | labels: 7 | gateway: internal-http 8 | spec: 9 | hostnames: 10 | - "store.example.internal" 11 | rules: 12 | # Matches for env=canary and sends it to store-west-2 ServiceImport 13 | - matches: 14 | - headers: 15 | values: 16 | env: canary 17 | forwardTo: 18 | - backendRef: 19 | group: net.gke.io 20 | kind: ServiceImport 21 | name: store-west-2 22 | port: 8080 23 | # All other traffic goes to store-west-1 ServiceImport 24 | - forwardTo: 25 | - backendRef: 26 | group: net.gke.io 27 | kind: ServiceImport 28 | name: store-west-1 29 | port: 8080 -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/multi-cluster-gateway/internal-route-stage-2.yaml: -------------------------------------------------------------------------------- 1 | kind: HTTPRoute 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: internal-store-route 5 | namespace: store 6 | labels: 7 | gateway: internal-http 8 | spec: 9 | hostnames: 10 | - "store.example.internal" 11 | rules: 12 | # Sends all traffic to store-west-1 ServiceImport 13 | - forwardTo: 14 | - backendRef: 15 | group: net.gke.io 16 | kind: ServiceImport 17 | name: store-west-1 18 | port: 8080 19 | # Also mirrors all traffic to store-west-2 ServiceImport 20 | filters: 21 | - type: RequestMirror 22 | requestMirror: 23 | backendRef: 24 | group: net.gke.io 25 | kind: ServiceImport 26 | name: store-west-2 27 | port: 8080 -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/multi-cluster-gateway/internal-route-stage-3.yaml: -------------------------------------------------------------------------------- 1 | kind: HTTPRoute 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: internal-store-route 5 | namespace: store 6 | labels: 7 | gateway: internal-http 8 | spec: 9 | hostnames: 10 | - "store.example.internal" 11 | rules: 12 | # 90% of traffic to store-west-1 ServiceImport 13 | - forwardTo: 14 | - backendRef: 15 | group: net.gke.io 16 | kind: ServiceImport 17 | name: store-west-1 18 | port: 8080 19 | weight: 90 20 | # 10% of traffic to store-west-2 ServiceImport 21 | - backendRef: 22 | group: net.gke.io 23 | kind: ServiceImport 24 | name: store-west-2 25 | port: 8080 26 | weight: 10 -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/multi-cluster-gateway/internal-route-stage-4.yaml: -------------------------------------------------------------------------------- 1 | kind: HTTPRoute 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: internal-store-route 5 | namespace: store 6 | labels: 7 | gateway: internal-http 8 | spec: 9 | hostnames: 10 | - "store.example.internal" 11 | rules: 12 | # No traffic to store-west-1 ServiceImport 13 | - forwardTo: 14 | - backendRef: 15 | group: net.gke.io 16 | kind: ServiceImport 17 | name: store-west-1 18 | port: 8080 19 | weight: 0 20 | # All traffic to store-west-2 ServiceImport 21 | - backendRef: 22 | group: net.gke.io 23 | kind: ServiceImport 24 | name: store-west-2 25 | port: 8080 26 | weight: 100 -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/multi-cluster-gateway/private-store-route.yaml: -------------------------------------------------------------------------------- 1 | kind: Gateway 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: internal-http 5 | namespace: store 6 | spec: 7 | gatewayClassName: gke-l7-rilb-mc 8 | listeners: 9 | - protocol: HTTP 10 | port: 80 11 | routes: 12 | kind: HTTPRoute 13 | selector: 14 | matchLabels: 15 | gateway: internal-http -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/multi-cluster-gateway/public-store-route.yaml: -------------------------------------------------------------------------------- 1 | kind: HTTPRoute 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: public-store-route 5 | namespace: store 6 | labels: 7 | gateway: external-http 8 | spec: 9 | hostnames: 10 | - "store.example.com" 11 | rules: 12 | - forwardTo: 13 | - backendRef: 14 | group: net.gke.io 15 | kind: ServiceImport 16 | name: store 17 | port: 8080 18 | - matches: 19 | - path: 20 | type: Prefix 21 | value: /west 22 | forwardTo: 23 | - backendRef: 24 | group: net.gke.io 25 | kind: ServiceImport 26 | name: store-west-1 27 | port: 8080 28 | - matches: 29 | - path: 30 | type: Prefix 31 | value: /east 32 | forwardTo: 33 | - backendRef: 34 | group: net.gke.io 35 | kind: ServiceImport 36 | name: store-east-1 37 | port: 8080 -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/multi-cluster-gateway/store-east-1-service.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/gateway/gke-gateway-controller/multi-cluster-gateway/store-east-1-service.yaml -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/multi-cluster-gateway/store-west-1-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: store 5 | namespace: store 6 | spec: 7 | selector: 8 | app: store 9 | ports: 10 | - port: 8080 11 | targetPort: 8080 12 | --- 13 | kind: ServiceExport 14 | apiVersion: net.gke.io/v1 15 | metadata: 16 | name: store 17 | namespace: store 18 | --- 19 | apiVersion: v1 20 | kind: Service 21 | metadata: 22 | name: store-west-1 23 | namespace: store 24 | spec: 25 | selector: 26 | app: store 27 | ports: 28 | - port: 8080 29 | targetPort: 8080 30 | --- 31 | kind: ServiceExport 32 | apiVersion: net.gke.io/v1 33 | metadata: 34 | name: store-west-1 35 | namespace: store -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/multi-cluster-gateway/store-west-2-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: store 5 | namespace: store 6 | spec: 7 | selector: 8 | app: store 9 | ports: 10 | - port: 8080 11 | targetPort: 8080 12 | --- 13 | kind: ServiceExport 14 | apiVersion: net.gke.io/v1 15 | metadata: 16 | name: store 17 | namespace: store 18 | --- 19 | apiVersion: v1 20 | kind: Service 21 | metadata: 22 | name: store-west-2 23 | namespace: store 24 | spec: 25 | selector: 26 | app: store 27 | ports: 28 | - port: 8080 29 | targetPort: 8080 30 | --- 31 | kind: ServiceExport 32 | apiVersion: net.gke.io/v1 33 | metadata: 34 | name: store-west-2 35 | namespace: store -------------------------------------------------------------------------------- /gateway/gke-gateway-controller/multi-cluster-gateway/store.yaml: -------------------------------------------------------------------------------- 1 | kind: Namespace 2 | apiVersion: v1 3 | metadata: 4 | name: store 5 | --- 6 | apiVersion: apps/v1 7 | kind: Deployment 8 | metadata: 9 | name: store 10 | namespace: store 11 | spec: 12 | replicas: 2 13 | selector: 14 | matchLabels: 15 | app: store 16 | version: v1 17 | template: 18 | metadata: 19 | labels: 20 | app: store 21 | version: v1 22 | spec: 23 | containers: 24 | - name: whereami 25 | image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.20 26 | ports: 27 | - containerPort: 8080 28 | 29 | -------------------------------------------------------------------------------- /gateway/multi-cluster/mcg-internal-basic/gke-1/app-v1.yaml: -------------------------------------------------------------------------------- 1 | kind: Namespace 2 | apiVersion: v1 3 | metadata: 4 | name: store 5 | --- 6 | apiVersion: apps/v1 7 | kind: Deployment 8 | metadata: 9 | name: store-v1 10 | namespace: store 11 | spec: 12 | replicas: 2 13 | selector: 14 | matchLabels: 15 | app: store 16 | version: v1 17 | template: 18 | metadata: 19 | labels: 20 | app: store 21 | version: v1 22 | spec: 23 | containers: 24 | - name: whereami 25 | image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.20 26 | ports: 27 | - containerPort: 8080 28 | env: 29 | - name: METADATA 30 | value: "store-v1" 31 | --- 32 | apiVersion: v1 33 | kind: Service 34 | metadata: 35 | name: store-v1 36 | namespace: store 37 | spec: 38 | selector: 39 | app: store 40 | version: v1 41 | ports: 42 | - port: 8080 43 | targetPort: 8080 -------------------------------------------------------------------------------- /gateway/multi-cluster/mcg-internal-basic/gke-1/gateway.yaml: -------------------------------------------------------------------------------- 1 | kind: Namespace 2 | apiVersion: v1 3 | metadata: 4 | name: store 5 | --- 6 | kind: Gateway 7 | apiVersion: networking.x-k8s.io/v1alpha1 8 | metadata: 9 | name: multi-cluster-gateway-ilb 10 | namespace: store 11 | spec: 12 | gatewayClassName: gke-l7-rilb-mc 13 | listeners: 14 | - protocol: HTTP 15 | port: 80 16 | routes: 17 | kind: HTTPRoute 18 | selector: 19 | matchLabels: 20 | gateway: multi-cluster-gateway-ilb -------------------------------------------------------------------------------- /gateway/multi-cluster/mcg-internal-basic/gke-1/route.yaml: -------------------------------------------------------------------------------- 1 | kind: HTTPRoute 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: store-route-ilb 5 | namespace: store 6 | labels: 7 | gateway: multi-cluster-gateway-ilb 8 | spec: 9 | rules: 10 | - forwardTo: 11 | - backendRef: 12 | group: net.gke.io 13 | kind: ServiceImport 14 | name: store-v1 15 | port: 8080 16 | weight: 80 17 | - backendRef: 18 | group: net.gke.io 19 | kind: ServiceImport 20 | name: store-v2 21 | port: 8080 22 | weight: 20 -------------------------------------------------------------------------------- /gateway/multi-cluster/mcg-internal-basic/gke-1/serviceexport-v1.yaml: -------------------------------------------------------------------------------- 1 | kind: ServiceExport 2 | apiVersion: net.gke.io/v1 3 | metadata: 4 | name: store-v1 5 | namespace: store -------------------------------------------------------------------------------- /gateway/multi-cluster/mcg-internal-basic/gke-2/app-v2.yaml: -------------------------------------------------------------------------------- 1 | kind: Namespace 2 | apiVersion: v1 3 | metadata: 4 | name: store 5 | --- 6 | apiVersion: apps/v1 7 | kind: Deployment 8 | metadata: 9 | name: store-v2 10 | namespace: store 11 | spec: 12 | replicas: 2 13 | selector: 14 | matchLabels: 15 | app: store 16 | version: v2 17 | template: 18 | metadata: 19 | labels: 20 | app: store 21 | version: v2 22 | spec: 23 | containers: 24 | - name: whereami 25 | image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.20 26 | ports: 27 | - containerPort: 8080 28 | env: 29 | - name: METADATA 30 | value: "store-v2" 31 | --- 32 | apiVersion: v1 33 | kind: Service 34 | metadata: 35 | name: store-v2 36 | namespace: store 37 | spec: 38 | selector: 39 | app: store 40 | version: v2 41 | ports: 42 | - port: 8080 43 | targetPort: 8080 -------------------------------------------------------------------------------- /gateway/multi-cluster/mcg-internal-basic/gke-2/serviceexport-v2.yaml: -------------------------------------------------------------------------------- 1 | kind: ServiceExport 2 | apiVersion: net.gke.io/v1 3 | metadata: 4 | name: store-v2 5 | namespace: store -------------------------------------------------------------------------------- /gateway/multi-cluster/mcg-internal-blue-green/gateway.yaml: -------------------------------------------------------------------------------- 1 | 2 | kind: Namespace 3 | apiVersion: v1 4 | metadata: 5 | name: mcgi-bg 6 | --- 7 | kind: Gateway 8 | apiVersion: networking.x-k8s.io/v1alpha1 9 | metadata: 10 | name: multi-cluster-gateway 11 | namespace: mcgi-bg 12 | spec: 13 | gatewayClassName: gke-l7-rilb-mc 14 | listeners: 15 | - protocol: HTTP 16 | port: 80 17 | routes: 18 | kind: HTTPRoute 19 | selector: 20 | matchLabels: 21 | gateway: multi-cluster-gateway 22 | -------------------------------------------------------------------------------- /gateway/multi-cluster/mcg-internal-blue-green/route-step-1-single-cluster.yaml: -------------------------------------------------------------------------------- 1 | kind: HTTPRoute 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: sample-app-route 5 | namespace: mcgi-bg 6 | labels: 7 | gateway: multi-cluster-gateway 8 | spec: 9 | rules: 10 | - forwardTo: 11 | - backendRef: 12 | group: net.gke.io 13 | kind: ServiceImport 14 | name: sample-app-blue # we're only talking to the blue cluster 15 | port: 8080 16 | weight: 100 17 | -------------------------------------------------------------------------------- /gateway/multi-cluster/mcg-internal-blue-green/route-step-2-mirroring.yaml: -------------------------------------------------------------------------------- 1 | kind: HTTPRoute 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: sample-app-route 5 | namespace: mcgi-bg 6 | labels: 7 | gateway: multi-cluster-gateway 8 | spec: 9 | rules: 10 | - forwardTo: 11 | - backendRef: 12 | group: net.gke.io 13 | kind: ServiceImport 14 | name: sample-app-blue # we're only talking to the blue cluster 15 | port: 8080 16 | weight: 100 17 | filters: 18 | - type: RequestMirror # enable traffic mirroring to the green cluster 19 | requestMirror: 20 | backendRef: 21 | group: net.gke.io 22 | kind: ServiceImport 23 | name: sample-app-green 24 | port: 8080 25 | -------------------------------------------------------------------------------- /gateway/multi-cluster/mcg-internal-blue-green/route-step-3-canary.yaml: -------------------------------------------------------------------------------- 1 | kind: HTTPRoute 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: sample-app-route 5 | namespace: mcgi-bg 6 | labels: 7 | gateway: multi-cluster-gateway 8 | spec: 9 | rules: 10 | - forwardTo: 11 | - backendRef: 12 | group: net.gke.io 13 | kind: ServiceImport 14 | name: sample-app-blue 15 | port: 8080 16 | weight: 90 17 | - backendRef: 18 | group: net.gke.io 19 | kind: ServiceImport 20 | name: sample-app-green 21 | port: 8080 22 | weight: 10 # send 10% of traffic to green cluster 23 | -------------------------------------------------------------------------------- /gateway/multi-cluster/mcg-internal-blue-green/route-step-4a-explicit-even-split.yaml: -------------------------------------------------------------------------------- 1 | kind: HTTPRoute 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: sample-app-route 5 | namespace: mcgi-bg 6 | labels: 7 | gateway: multi-cluster-gateway 8 | spec: 9 | rules: 10 | - forwardTo: 11 | - backendRef: 12 | group: net.gke.io 13 | kind: ServiceImport 14 | name: sample-app-blue 15 | port: 8080 16 | weight: 50 # even 50/50 split 17 | - backendRef: 18 | group: net.gke.io 19 | kind: ServiceImport 20 | name: sample-app-green 21 | port: 8080 22 | weight: 50 # even 50/50 split 23 | -------------------------------------------------------------------------------- /gateway/multi-cluster/mcg-internal-blue-green/route-step-4b-implicit-even-split.yaml: -------------------------------------------------------------------------------- 1 | kind: HTTPRoute 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: sample-app-route 5 | namespace: mcgi-bg 6 | labels: 7 | gateway: multi-cluster-gateway 8 | spec: 9 | rules: 10 | - forwardTo: 11 | # commenting out explicit load balancing and replacing with implicit load balancing 12 | - backendRef: 13 | group: net.gke.io 14 | kind: ServiceImport 15 | name: sample-app # no longer cluster-specific 16 | port: 8080 17 | weight: 100 18 | #- backendRef: 19 | # group: net.gke.io 20 | # kind: ServiceImport 21 | # name: sample-app-blue 22 | # port: 8080 23 | # weight: 50 # even 50/50 split 24 | #- backendRef: 25 | # group: net.gke.io 26 | # kind: ServiceImport 27 | # name: sample-app-green 28 | # port: 8080 29 | # weight: 50 # even 50/50 split 30 | -------------------------------------------------------------------------------- /gateway/single-cluster/global-l7-xlb/gateway.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | kind: Gateway 3 | apiVersion: networking.x-k8s.io/v1alpha1 4 | metadata: 5 | name: external-http 6 | spec: 7 | gatewayClassName: gke-l7-gxlb 8 | listeners: 9 | - protocol: HTTPS 10 | port: 443 11 | routes: 12 | kind: HTTPRoute 13 | namespaces: 14 | from: "All" 15 | tls: 16 | mode: Terminate 17 | options: 18 | networking.gke.io/pre-shared-certs: gxlb-cert 19 | addresses: 20 | - type: NamedAddress 21 | value: gke-gxlb-ip 22 | -------------------------------------------------------------------------------- /gateway/single-cluster/global-l7-xlb/httproutes.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | kind: HTTPRoute 3 | apiVersion: networking.x-k8s.io/v1alpha1 4 | metadata: 5 | name: foo 6 | namespace: gxlb-demo-ns1 7 | spec: 8 | gateways: 9 | allow: FromList 10 | gatewayRefs: 11 | - name: external-http 12 | namespace: default 13 | hostnames: 14 | - "foo.$DOMAIN" 15 | rules: 16 | - forwardTo: 17 | - serviceName: foo 18 | port: 8080 19 | --- 20 | kind: HTTPRoute 21 | apiVersion: networking.x-k8s.io/v1alpha1 22 | metadata: 23 | name: bar 24 | namespace: gxlb-demo-ns2 25 | spec: 26 | gateways: 27 | allow: FromList 28 | gatewayRefs: 29 | - name: external-http 30 | namespace: default 31 | hostnames: 32 | - "bar.$DOMAIN" 33 | rules: 34 | - forwardTo: 35 | - serviceName: bar 36 | port: 8080 37 | -------------------------------------------------------------------------------- /gateway/single-cluster/regional-l7-ilb/app-v1.yaml: -------------------------------------------------------------------------------- 1 | kind: Namespace 2 | apiVersion: v1 3 | metadata: 4 | name: store 5 | --- 6 | apiVersion: apps/v1 7 | kind: Deployment 8 | metadata: 9 | name: store-v1 10 | namespace: store 11 | spec: 12 | replicas: 2 13 | selector: 14 | matchLabels: 15 | app: store 16 | version: v1 17 | template: 18 | metadata: 19 | labels: 20 | app: store 21 | version: v1 22 | spec: 23 | containers: 24 | - name: whereami 25 | image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.20 26 | ports: 27 | - containerPort: 8080 28 | env: 29 | - name: METADATA 30 | value: "store-v1" 31 | --- 32 | apiVersion: v1 33 | kind: Service 34 | metadata: 35 | name: store-v1 36 | namespace: store 37 | spec: 38 | selector: 39 | app: store 40 | version: v1 41 | ports: 42 | - port: 8080 43 | targetPort: 8080 -------------------------------------------------------------------------------- /gateway/single-cluster/regional-l7-ilb/app-v2.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: store-v2 5 | namespace: store 6 | spec: 7 | replicas: 2 8 | selector: 9 | matchLabels: 10 | app: store 11 | version: v2 12 | template: 13 | metadata: 14 | labels: 15 | app: store 16 | version: v2 17 | spec: 18 | containers: 19 | - name: whereami 20 | image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.20 21 | ports: 22 | - containerPort: 8080 23 | env: 24 | - name: METADATA 25 | value: "store-v2" 26 | --- 27 | apiVersion: v1 28 | kind: Service 29 | metadata: 30 | name: store-v2 31 | namespace: store 32 | spec: 33 | selector: 34 | app: store 35 | version: v2 36 | ports: 37 | - port: 8080 38 | targetPort: 8080 -------------------------------------------------------------------------------- /gateway/single-cluster/regional-l7-ilb/gateway.yaml: -------------------------------------------------------------------------------- 1 | kind: Gateway 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: single-cluster-gateway-rilb 5 | namespace: store 6 | spec: 7 | gatewayClassName: gke-l7-rilb 8 | listeners: 9 | - protocol: HTTP 10 | port: 80 11 | routes: 12 | kind: HTTPRoute 13 | selector: 14 | matchLabels: 15 | gateway: single-cluster-gateway-rilb -------------------------------------------------------------------------------- /gateway/single-cluster/regional-l7-ilb/route.yaml: -------------------------------------------------------------------------------- 1 | kind: HTTPRoute 2 | apiVersion: networking.x-k8s.io/v1alpha1 3 | metadata: 4 | name: store-route-ilb 5 | namespace: store 6 | labels: 7 | gateway: single-cluster-gateway-rilb 8 | spec: 9 | hostnames: 10 | - "store.example.internal" 11 | rules: 12 | - forwardTo: 13 | - serviceName: store-v1 14 | port: 8080 15 | weight: 50 16 | - serviceName: store-v2 17 | port: 8080 18 | weight: 50 -------------------------------------------------------------------------------- /images/cloudarmor-ingress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/cloudarmor-ingress.png -------------------------------------------------------------------------------- /images/external-ingress-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/external-ingress-basic.png -------------------------------------------------------------------------------- /images/external-lb-service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/external-lb-service.png -------------------------------------------------------------------------------- /images/healthcheck-ingress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/healthcheck-ingress.png -------------------------------------------------------------------------------- /images/iap-ingress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/iap-ingress.png -------------------------------------------------------------------------------- /images/ilb-service-communication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/ilb-service-communication.png -------------------------------------------------------------------------------- /images/internal-ingress-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/internal-ingress-basic.png -------------------------------------------------------------------------------- /images/internal-lb-service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/internal-lb-service.png -------------------------------------------------------------------------------- /images/mci-asm-https-e2e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/mci-asm-https-e2e.png -------------------------------------------------------------------------------- /images/multi-cluster-frontendconfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/multi-cluster-frontendconfig.png -------------------------------------------------------------------------------- /images/multi-cluster-gateway-bluegreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/multi-cluster-gateway-bluegreen.png -------------------------------------------------------------------------------- /images/multi-cluster-ingress-external.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/multi-cluster-ingress-external.png -------------------------------------------------------------------------------- /images/multi-cluster-services-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/multi-cluster-services-basic.png -------------------------------------------------------------------------------- /images/multi-cluster-services-merged.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/multi-cluster-services-merged.png -------------------------------------------------------------------------------- /images/secure-ingress-cert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/secure-ingress-cert.png -------------------------------------------------------------------------------- /images/secure-ingress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/images/secure-ingress.png -------------------------------------------------------------------------------- /ingress/multi-cluster/mci-asm-https-e2e/dns-spec.yaml: -------------------------------------------------------------------------------- 1 | swagger: "2.0" 2 | info: 3 | description: "Cloud Endpoints DNS" 4 | title: "Cloud Endpoints DNS" 5 | version: "1.0.0" 6 | paths: {} 7 | host: "foo.endpoints.$PROJECT-ID.cloud.goog" 8 | x-google-endpoints: 9 | - name: "foo.endpoints.$PROJECT-ID.cloud.goog" 10 | target: "$GCLB_IP" -------------------------------------------------------------------------------- /ingress/multi-cluster/mci-asm-https-e2e/ingress-gateway.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.istio.io/v1alpha3 2 | kind: Gateway 3 | metadata: 4 | name: asm-ingressgateway 5 | namespace: asm-ingress 6 | spec: 7 | selector: 8 | asm: ingressgateway 9 | servers: 10 | - port: 11 | number: 443 12 | name: https 13 | protocol: HTTPS 14 | hosts: 15 | - "*" # IMPORTANT: Must use wildcard here when using SSL 16 | tls: 17 | mode: SIMPLE 18 | credentialName: edge2mesh-credential -------------------------------------------------------------------------------- /ingress/multi-cluster/mci-asm-https-e2e/istio-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.istio.io/v1alpha3 2 | kind: VirtualService 3 | metadata: 4 | name: foo-ingress 5 | namespace: asm-ingress 6 | spec: 7 | hosts: 8 | - "foo.endpoints.$PROJECT-ID.cloud.goog" 9 | gateways: 10 | - asm-ingress/asm-ingressgateway 11 | http: 12 | - route: 13 | - destination: 14 | host: foo 15 | port: 16 | number: 80 -------------------------------------------------------------------------------- /ingress/multi-cluster/mci-blue-green-app/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/ingress/multi-cluster/mci-blue-green-app/README.md -------------------------------------------------------------------------------- /ingress/multi-cluster/mci-blue-green-cluster/patch.yaml: -------------------------------------------------------------------------------- 1 | metadata: 2 | name: foo 3 | namespace: multi-cluster-demo 4 | spec: 5 | clusters: 6 | - link: "us-west1-b/gke-3" -------------------------------------------------------------------------------- /ingress/multi-cluster/mci-https-e2e/dns-spec-bar.yaml: -------------------------------------------------------------------------------- 1 | swagger: "2.0" 2 | info: 3 | description: "Cloud Endpoints DNS" 4 | title: "Cloud Endpoints DNS" 5 | version: "1.0.0" 6 | paths: {} 7 | host: "bar1.endpoints.$PROJECT-ID.cloud.goog" 8 | x-google-endpoints: 9 | - name: "bar1.endpoints.$PROJECT-ID.cloud.goog" 10 | target: "$GCLB_IP" -------------------------------------------------------------------------------- /ingress/multi-cluster/mci-https-e2e/dns-spec-foo.yaml: -------------------------------------------------------------------------------- 1 | swagger: "2.0" 2 | info: 3 | description: "Cloud Endpoints DNS" 4 | title: "Cloud Endpoints DNS" 5 | version: "1.0.0" 6 | paths: {} 7 | host: "foo.endpoints.$PROJECT-ID.cloud.goog" 8 | x-google-endpoints: 9 | - name: "foo.endpoints.$PROJECT-ID.cloud.goog" 10 | target: "$GCLB_IP" -------------------------------------------------------------------------------- /ingress/multi-cluster/mci-https-e2e/haproxy.cfg: -------------------------------------------------------------------------------- 1 | global 2 | stats socket /var/run/api.sock user haproxy group haproxy mode 660 level admin expose-fd listeners 3 | log stdout format raw local0 debug 4 | 5 | defaults 6 | mode http 7 | timeout client 660s 8 | timeout connect 60s 9 | timeout server 60s 10 | timeout http-request 660s 11 | timeout http-keep-alive 660s 12 | log global 13 | maxconn 20000 14 | 15 | frontend demo-frontend 16 | bind *:80 17 | bind *:443 ssl crt /usr/local/etc/haproxy-cert/mycert.pem 18 | default_backend web-servers 19 | mode http 20 | 21 | backend web-servers 22 | mode http 23 | server s1 127.0.0.1:8080 24 | -------------------------------------------------------------------------------- /service-directory/README.md: -------------------------------------------------------------------------------- 1 | # Service Directory GKE Integration Recipes 2 | 3 | Service Directory for GKE is a cloud-hosted controller for GKE Clusters that 4 | sync Services to Service Directory. 5 | 6 | This repository contains examples of the various Kubernetes Service types. For 7 | each of the types, there are full YAML examples that show how each Service type 8 | syncs to Service Directory. 9 | 10 | ### Relevant Documentation 11 | 12 | * [Service Directory Concepts](https://cloud.google.com/service-directory/docs/concepts) 13 | * [Service Directory with GKE Overview](https://cloud.google.com/service-directory/docs/sd-gke-overview) 14 | * [Configuring Service Directory for GKE](https://cloud.google.com/service-directory/docs/configuring-sd-for-gke) 15 | 16 | ### Recipes 17 | 18 | * [Internal LoadBalancer](./internal-lb-service) 19 | * [ClusterIP](./cluster-ip-service) 20 | * [Headless](./headless-service) 21 | * [NodePort](./nodeport-service) 22 | -------------------------------------------------------------------------------- /services/multi-cluster/mcs-basic/export.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: net.gke.io/v1 2 | kind: ServiceExport 3 | metadata: 4 | name: whereami 5 | namespace: multi-cluster-demo -------------------------------------------------------------------------------- /test/cleanup-all.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright 2023 Google LLC 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | set -o errexit; 18 | set -o nounset; 19 | set -o pipefail; 20 | set -o xtrace; 21 | 22 | for cleanup_script in $(find . -name cleanup.sh); do 23 | echo "Running cleanup script '${cleanup_script}'" 24 | ./${cleanup_script} 25 | done 26 | -------------------------------------------------------------------------------- /test/helper.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright 2023 Google LLC 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | source ./test/helpers/hash.sh 18 | source ./test/helpers/ingress.sh 19 | source ./test/helpers/managed_cert.sh 20 | source ./test/helpers/oAuth.sh 21 | source ./test/helpers/setup.sh 22 | source ./test/helpers/validation.sh 23 | -------------------------------------------------------------------------------- /test/test-example/run-test-example.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright 2023 Google LLC 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | set -o errexit; 18 | set -o nounset; 19 | set -o pipefail; 20 | set -o xtrace; 21 | 22 | source ./test/helper.sh 23 | # TODO: Fill in your test name here. 24 | # test_name="TEST_NAME" 25 | context=$(get_context "${test_name}") 26 | 27 | if [[ -z "${context}" ]]; then 28 | exit 1 29 | fi 30 | 31 | # TODO: Validate traffic here. 32 | vip=... 33 | check_http_status "${vip}" ... ... 34 | -------------------------------------------------------------------------------- /test/utils/utils.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package utils 16 | 17 | import ( 18 | "fmt" 19 | "os" 20 | "os/exec" 21 | ) 22 | 23 | func SetEnvProject(project string) error { 24 | if out, err := exec.Command("gcloud", "config", "set", "project", project).CombinedOutput(); err != nil { 25 | return fmt.Errorf("SetEnvProject(%q) failed: %q: %w", project, out, err) 26 | } 27 | 28 | return os.Setenv("PROJECT", project) 29 | } 30 | -------------------------------------------------------------------------------- /tools/tools.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | package tools 15 | 16 | import ( 17 | _ "sigs.k8s.io/kubectl-validate" 18 | ) 19 | -------------------------------------------------------------------------------- /vendor/github.com/cespare/xxhash/v2/testall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -eu -o pipefail 3 | 4 | # Small convenience script for running the tests with various combinations of 5 | # arch/tags. This assumes we're running on amd64 and have qemu available. 6 | 7 | go test ./... 8 | go test -tags purego ./... 9 | GOARCH=arm64 go test 10 | GOARCH=arm64 go test -tags purego 11 | -------------------------------------------------------------------------------- /vendor/github.com/cespare/xxhash/v2/xxhash_asm.go: -------------------------------------------------------------------------------- 1 | //go:build (amd64 || arm64) && !appengine && gc && !purego 2 | // +build amd64 arm64 3 | // +build !appengine 4 | // +build gc 5 | // +build !purego 6 | 7 | package xxhash 8 | 9 | // Sum64 computes the 64-bit xxHash digest of b. 10 | // 11 | //go:noescape 12 | func Sum64(b []byte) uint64 13 | 14 | //go:noescape 15 | func writeBlocks(d *Digest, b []byte) int 16 | -------------------------------------------------------------------------------- /vendor/github.com/cespare/xxhash/v2/xxhash_safe.go: -------------------------------------------------------------------------------- 1 | //go:build appengine 2 | // +build appengine 3 | 4 | // This file contains the safe implementations of otherwise unsafe-using code. 5 | 6 | package xxhash 7 | 8 | // Sum64String computes the 64-bit xxHash digest of s. 9 | func Sum64String(s string) uint64 { 10 | return Sum64([]byte(s)) 11 | } 12 | 13 | // WriteString adds more data to d. It always returns len(s), nil. 14 | func (d *Digest) WriteString(s string) (n int, err error) { 15 | return d.Write([]byte(s)) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/go-logr/logr/.golangci.yaml: -------------------------------------------------------------------------------- 1 | run: 2 | timeout: 1m 3 | tests: true 4 | 5 | linters: 6 | disable-all: true 7 | enable: 8 | - asciicheck 9 | - errcheck 10 | - forcetypeassert 11 | - gocritic 12 | - gofmt 13 | - goimports 14 | - gosimple 15 | - govet 16 | - ineffassign 17 | - misspell 18 | - revive 19 | - staticcheck 20 | - typecheck 21 | - unused 22 | 23 | issues: 24 | exclude-use-default: false 25 | max-issues-per-linter: 0 26 | max-same-issues: 10 27 | -------------------------------------------------------------------------------- /vendor/github.com/go-logr/logr/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # CHANGELOG 2 | 3 | ## v1.0.0-rc1 4 | 5 | This is the first logged release. Major changes (including breaking changes) 6 | have occurred since earlier tags. 7 | -------------------------------------------------------------------------------- /vendor/github.com/go-logr/logr/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Logr is open to pull-requests, provided they fit within the intended scope of 4 | the project. Specifically, this library aims to be VERY small and minimalist, 5 | with no external dependencies. 6 | 7 | ## Compatibility 8 | 9 | This project intends to follow [semantic versioning](http://semver.org) and 10 | is very strict about compatibility. Any proposed changes MUST follow those 11 | rules. 12 | 13 | ## Performance 14 | 15 | As a logging library, logr must be as light-weight as possible. Any proposed 16 | code change must include results of running the [benchmark](./benchmark) 17 | before and after the change. 18 | -------------------------------------------------------------------------------- /vendor/github.com/go-logr/logr/discard.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2020 The logr Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package logr 18 | 19 | // Discard returns a Logger that discards all messages logged to it. It can be 20 | // used whenever the caller is not interested in the logs. Logger instances 21 | // produced by this function always compare as equal. 22 | func Discard() Logger { 23 | return New(nil) 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/gogo/protobuf/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of GoGo authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS file, which 3 | # lists people. For example, employees are listed in CONTRIBUTORS, 4 | # but not in AUTHORS, because the employer holds the copyright. 5 | 6 | # Names should be added to this file as one of 7 | # Organization's name 8 | # Individual's name 9 | # Individual's name 10 | 11 | # Please keep the list sorted. 12 | 13 | Sendgrid, Inc 14 | Vastech SA (PTY) LTD 15 | Walter Schulze 16 | -------------------------------------------------------------------------------- /vendor/github.com/gogo/protobuf/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | Anton Povarov 2 | Brian Goff 3 | Clayton Coleman 4 | Denis Smirnov 5 | DongYun Kang 6 | Dwayne Schultz 7 | Georg Apitz 8 | Gustav Paul 9 | Johan Brandhorst 10 | John Shahid 11 | John Tuley 12 | Laurent 13 | Patrick Lee 14 | Peter Edge 15 | Roger Johansson 16 | Sam Nguyen 17 | Sergio Arbeo 18 | Stephen J Day 19 | Tamir Duberstein 20 | Todd Eisenberger 21 | Tormod Erevik Lea 22 | Vyacheslav Kim 23 | Walter Schulze 24 | -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/github.com/google/gofuzz/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.13.x 5 | - 1.14.x 6 | - 1.15.x 7 | - master 8 | 9 | script: 10 | - go test -race -cover 11 | -------------------------------------------------------------------------------- /vendor/github.com/google/gofuzz/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 Google Inc. All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package fuzz is a library for populating go objects with random values. 18 | package fuzz 19 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.4.3 5 | - 1.5.3 6 | - tip 7 | 8 | script: 9 | - go test -v ./... 10 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # How to contribute 2 | 3 | We definitely welcome patches and contribution to this project! 4 | 5 | ### Legal requirements 6 | 7 | In order to protect both you and ourselves, you will need to sign the 8 | [Contributor License Agreement](https://cla.developers.google.com/clas). 9 | 10 | You may have already signed it for other Google projects. 11 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | Paul Borman 2 | bmatsuo 3 | shawnps 4 | theory 5 | jboverfelt 6 | dsymonds 7 | cd1 8 | wallclockbuilder 9 | dansouza 10 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/README.md: -------------------------------------------------------------------------------- 1 | # uuid ![build status](https://travis-ci.org/google/uuid.svg?branch=master) 2 | The uuid package generates and inspects UUIDs based on 3 | [RFC 4122](http://tools.ietf.org/html/rfc4122) 4 | and DCE 1.1: Authentication and Security Services. 5 | 6 | This package is based on the github.com/pborman/uuid package (previously named 7 | code.google.com/p/go-uuid). It differs from these earlier packages in that 8 | a UUID is a 16 byte array rather than a byte slice. One loss due to this 9 | change is the ability to represent an invalid UUID (vs a NIL UUID). 10 | 11 | ###### Install 12 | `go get github.com/google/uuid` 13 | 14 | ###### Documentation 15 | [![GoDoc](https://godoc.org/github.com/google/uuid?status.svg)](http://godoc.org/github.com/google/uuid) 16 | 17 | Full `go doc` style documentation for the package can be viewed online without 18 | installing this package by using the GoDoc site here: 19 | http://pkg.go.dev/github.com/google/uuid 20 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 Google Inc. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package uuid generates and inspects UUIDs. 6 | // 7 | // UUIDs are based on RFC 4122 and DCE 1.1: Authentication and Security 8 | // Services. 9 | // 10 | // A UUID is a 16 byte (128 bit) array. UUIDs may be used as keys to 11 | // maps or compared directly. 12 | package uuid 13 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/node_js.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google Inc. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build js 6 | 7 | package uuid 8 | 9 | // getHardwareInterface returns nil values for the JS version of the code. 10 | // This remvoves the "net" dependency, because it is not used in the browser. 11 | // Using the "net" library inflates the size of the transpiled JS code by 673k bytes. 12 | func getHardwareInterface(name string) (string, []byte) { return "", nil } 13 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/Makefile: -------------------------------------------------------------------------------- 1 | TEST?=./... 2 | 3 | default: test 4 | 5 | # test runs the test suite and vets the code. 6 | test: generate 7 | @echo "==> Running tests..." 8 | @go list $(TEST) \ 9 | | grep -v "/vendor/" \ 10 | | xargs -n1 go test -timeout=60s -parallel=10 ${TESTARGS} 11 | 12 | # testrace runs the race checker 13 | testrace: generate 14 | @echo "==> Running tests (race)..." 15 | @go list $(TEST) \ 16 | | grep -v "/vendor/" \ 17 | | xargs -n1 go test -timeout=60s -race ${TESTARGS} 18 | 19 | # updatedeps installs all the dependencies needed to run and build. 20 | updatedeps: 21 | @sh -c "'${CURDIR}/scripts/deps.sh' '${NAME}'" 22 | 23 | # generate runs `go generate` to build the dynamically generated source files. 24 | generate: 25 | @echo "==> Generating..." 26 | @find . -type f -name '.DS_Store' -delete 27 | @go list ./... \ 28 | | grep -v "/vendor/" \ 29 | | xargs -n1 go generate 30 | 31 | .PHONY: default test testrace updatedeps generate 32 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/flatten.go: -------------------------------------------------------------------------------- 1 | package multierror 2 | 3 | // Flatten flattens the given error, merging any *Errors together into 4 | // a single *Error. 5 | func Flatten(err error) error { 6 | // If it isn't an *Error, just return the error as-is 7 | if _, ok := err.(*Error); !ok { 8 | return err 9 | } 10 | 11 | // Otherwise, make the result and flatten away! 12 | flatErr := new(Error) 13 | flatten(err, flatErr) 14 | return flatErr 15 | } 16 | 17 | func flatten(err error, flatErr *Error) { 18 | switch err := err.(type) { 19 | case *Error: 20 | for _, e := range err.Errors { 21 | flatten(e, flatErr) 22 | } 23 | default: 24 | flatErr.Errors = append(flatErr.Errors, err) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/format.go: -------------------------------------------------------------------------------- 1 | package multierror 2 | 3 | import ( 4 | "fmt" 5 | "strings" 6 | ) 7 | 8 | // ErrorFormatFunc is a function callback that is called by Error to 9 | // turn the list of errors into a string. 10 | type ErrorFormatFunc func([]error) string 11 | 12 | // ListFormatFunc is a basic formatter that outputs the number of errors 13 | // that occurred along with a bullet point list of the errors. 14 | func ListFormatFunc(es []error) string { 15 | if len(es) == 1 { 16 | return fmt.Sprintf("1 error occurred:\n\t* %s\n\n", es[0]) 17 | } 18 | 19 | points := make([]string, len(es)) 20 | for i, err := range es { 21 | points[i] = fmt.Sprintf("* %s", err) 22 | } 23 | 24 | return fmt.Sprintf( 25 | "%d errors occurred:\n\t%s\n\n", 26 | len(es), strings.Join(points, "\n\t")) 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/group.go: -------------------------------------------------------------------------------- 1 | package multierror 2 | 3 | import "sync" 4 | 5 | // Group is a collection of goroutines which return errors that need to be 6 | // coalesced. 7 | type Group struct { 8 | mutex sync.Mutex 9 | err *Error 10 | wg sync.WaitGroup 11 | } 12 | 13 | // Go calls the given function in a new goroutine. 14 | // 15 | // If the function returns an error it is added to the group multierror which 16 | // is returned by Wait. 17 | func (g *Group) Go(f func() error) { 18 | g.wg.Add(1) 19 | 20 | go func() { 21 | defer g.wg.Done() 22 | 23 | if err := f(); err != nil { 24 | g.mutex.Lock() 25 | g.err = Append(g.err, err) 26 | g.mutex.Unlock() 27 | } 28 | }() 29 | } 30 | 31 | // Wait blocks until all function calls from the Go method have returned, then 32 | // returns the multierror. 33 | func (g *Group) Wait() *Error { 34 | g.wg.Wait() 35 | g.mutex.Lock() 36 | defer g.mutex.Unlock() 37 | return g.err 38 | } 39 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/prefix.go: -------------------------------------------------------------------------------- 1 | package multierror 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/hashicorp/errwrap" 7 | ) 8 | 9 | // Prefix is a helper function that will prefix some text 10 | // to the given error. If the error is a multierror.Error, then 11 | // it will be prefixed to each wrapped error. 12 | // 13 | // This is useful to use when appending multiple multierrors 14 | // together in order to give better scoping. 15 | func Prefix(err error, prefix string) error { 16 | if err == nil { 17 | return nil 18 | } 19 | 20 | format := fmt.Sprintf("%s {{err}}", prefix) 21 | switch err := err.(type) { 22 | case *Error: 23 | // Typed nils can reach here, so initialize if we are nil 24 | if err == nil { 25 | err = new(Error) 26 | } 27 | 28 | // Wrap each of the errors 29 | for i, e := range err.Errors { 30 | err.Errors[i] = errwrap.Wrapf(format, e) 31 | } 32 | 33 | return err 34 | default: 35 | return errwrap.Wrapf(format, err) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/sort.go: -------------------------------------------------------------------------------- 1 | package multierror 2 | 3 | // Len implements sort.Interface function for length 4 | func (err Error) Len() int { 5 | return len(err.Errors) 6 | } 7 | 8 | // Swap implements sort.Interface function for swapping elements 9 | func (err Error) Swap(i, j int) { 10 | err.Errors[i], err.Errors[j] = err.Errors[j], err.Errors[i] 11 | } 12 | 13 | // Less implements sort.Interface function for determining order 14 | func (err Error) Less(i, j int) bool { 15 | return err.Errors[i].Error() < err.Errors[j].Error() 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/.codecov.yml: -------------------------------------------------------------------------------- 1 | ignore: 2 | - "output_tests/.*" 3 | 4 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /bug_test.go 3 | /coverage.txt 4 | /.idea 5 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.8.x 5 | - 1.x 6 | 7 | before_install: 8 | - go get -t -v ./... 9 | 10 | script: 11 | - ./test.sh 12 | 13 | after_success: 14 | - bash <(curl -s https://codecov.io/bash) 15 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/Gopkg.lock: -------------------------------------------------------------------------------- 1 | # This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. 2 | 3 | 4 | [[projects]] 5 | name = "github.com/modern-go/concurrent" 6 | packages = ["."] 7 | revision = "e0a39a4cb4216ea8db28e22a69f4ec25610d513a" 8 | version = "1.0.0" 9 | 10 | [[projects]] 11 | name = "github.com/modern-go/reflect2" 12 | packages = ["."] 13 | revision = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd" 14 | version = "1.0.1" 15 | 16 | [solve-meta] 17 | analyzer-name = "dep" 18 | analyzer-version = 1 19 | inputs-digest = "ea54a775e5a354cb015502d2e7aa4b74230fc77e894f34a838b268c25ec8eeb8" 20 | solver-name = "gps-cdcl" 21 | solver-version = 1 22 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/Gopkg.toml: -------------------------------------------------------------------------------- 1 | # Gopkg.toml example 2 | # 3 | # Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md 4 | # for detailed Gopkg.toml documentation. 5 | # 6 | # required = ["github.com/user/thing/cmd/thing"] 7 | # ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] 8 | # 9 | # [[constraint]] 10 | # name = "github.com/user/project" 11 | # version = "1.0.0" 12 | # 13 | # [[constraint]] 14 | # name = "github.com/user/project2" 15 | # branch = "dev" 16 | # source = "github.com/myfork/project2" 17 | # 18 | # [[override]] 19 | # name = "github.com/x/y" 20 | # version = "2.4.0" 21 | 22 | ignored = ["github.com/davecgh/go-spew*","github.com/google/gofuzz*","github.com/stretchr/testify*"] 23 | 24 | [[constraint]] 25 | name = "github.com/modern-go/reflect2" 26 | version = "1.0.1" 27 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | set -x 4 | 5 | if [ ! -d /tmp/build-golang/src/github.com/json-iterator ]; then 6 | mkdir -p /tmp/build-golang/src/github.com/json-iterator 7 | ln -s $PWD /tmp/build-golang/src/github.com/json-iterator/go 8 | fi 9 | export GOPATH=/tmp/build-golang 10 | go get -u github.com/golang/dep/cmd/dep 11 | cd /tmp/build-golang/src/github.com/json-iterator/go 12 | exec $GOPATH/bin/dep ensure -update 13 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/fuzzy_mode_convert_table.md: -------------------------------------------------------------------------------- 1 | | json type \ dest type | bool | int | uint | float |string| 2 | | --- | --- | --- | --- |--|--| 3 | | number | positive => true
negative => true
zero => false| 23.2 => 23
-32.1 => -32| 12.1 => 12
-12.1 => 0|as normal|same as origin| 4 | | string | empty string => false
string "0" => false
other strings => true | "123.32" => 123
"-123.4" => -123
"123.23xxxw" => 123
"abcde12" => 0
"-32.1" => -32| 13.2 => 13
-1.1 => 0 |12.1 => 12.1
-12.3 => -12.3
12.4xxa => 12.4
+1.1e2 =>110 |same as origin| 5 | | bool | true => true
false => false| true => 1
false => 0 | true => 1
false => 0 |true => 1
false => 0|true => "true"
false => "false"| 6 | | object | true | 0 | 0 |0|originnal json| 7 | | array | empty array => false
nonempty array => true| [] => 0
[1,2] => 1 | [] => 0
[1,2] => 1 |[] => 0
[1,2] => 1|original json| -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/jsoniter.go: -------------------------------------------------------------------------------- 1 | // Package jsoniter implements encoding and decoding of JSON as defined in 2 | // RFC 4627 and provides interfaces with identical syntax of standard lib encoding/json. 3 | // Converting from encoding/json to jsoniter is no more than replacing the package with jsoniter 4 | // and variable type declarations (if any). 5 | // jsoniter interfaces gives 100% compatibility with code using standard lib. 6 | // 7 | // "JSON and Go" 8 | // (https://golang.org/doc/articles/json_and_go.html) 9 | // gives a description of how Marshal/Unmarshal operate 10 | // between arbitrary or predefined json objects and bytes, 11 | // and it applies to jsoniter.Marshal/Unmarshal as well. 12 | // 13 | // Besides, jsoniter.Iterator provides a different set of interfaces 14 | // iterating given bytes/string/reader 15 | // and yielding parsed elements one by one. 16 | // This set of interfaces reads input as required and gives 17 | // better performance. 18 | package jsoniter 19 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -coverprofile=profile.out -coverpkg=github.com/json-iterator/go $d 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /vendor/github.com/matttproud/golang_protobuf_extensions/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2012 Matt T. Proud (matt.proud@gmail.com) 2 | -------------------------------------------------------------------------------- /vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/.gitignore: -------------------------------------------------------------------------------- 1 | cover.dat 2 | -------------------------------------------------------------------------------- /vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | 3 | cover: 4 | go test -cover -v -coverprofile=cover.dat ./... 5 | go tool cover -func cover.dat 6 | 7 | .PHONY: cover 8 | -------------------------------------------------------------------------------- /vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 Matt T. Proud 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | // Package pbutil provides record length-delimited Protocol Buffer streaming. 16 | package pbutil 17 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/.gitignore: -------------------------------------------------------------------------------- 1 | /coverage.txt 2 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.8.x 5 | - 1.x 6 | 7 | before_install: 8 | - go get -t -v ./... 9 | 10 | script: 11 | - ./test.sh 12 | 13 | after_success: 14 | - bash <(curl -s https://codecov.io/bash) 15 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/executor.go: -------------------------------------------------------------------------------- 1 | package concurrent 2 | 3 | import "context" 4 | 5 | // Executor replace go keyword to start a new goroutine 6 | // the goroutine should cancel itself if the context passed in has been cancelled 7 | // the goroutine started by the executor, is owned by the executor 8 | // we can cancel all executors owned by the executor just by stop the executor itself 9 | // however Executor interface does not Stop method, the one starting and owning executor 10 | // should use the concrete type of executor, instead of this interface. 11 | type Executor interface { 12 | // Go starts a new goroutine controlled by the context 13 | Go(handler func(ctx context.Context)) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/go_above_19.go: -------------------------------------------------------------------------------- 1 | //+build go1.9 2 | 3 | package concurrent 4 | 5 | import "sync" 6 | 7 | // Map is a wrapper for sync.Map introduced in go1.9 8 | type Map struct { 9 | sync.Map 10 | } 11 | 12 | // NewMap creates a thread safe Map 13 | func NewMap() *Map { 14 | return &Map{} 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/go_below_19.go: -------------------------------------------------------------------------------- 1 | //+build !go1.9 2 | 3 | package concurrent 4 | 5 | import "sync" 6 | 7 | // Map implements a thread safe map for go version below 1.9 using mutex 8 | type Map struct { 9 | lock sync.RWMutex 10 | data map[interface{}]interface{} 11 | } 12 | 13 | // NewMap creates a thread safe map 14 | func NewMap() *Map { 15 | return &Map{ 16 | data: make(map[interface{}]interface{}, 32), 17 | } 18 | } 19 | 20 | // Load is same as sync.Map Load 21 | func (m *Map) Load(key interface{}) (elem interface{}, found bool) { 22 | m.lock.RLock() 23 | elem, found = m.data[key] 24 | m.lock.RUnlock() 25 | return 26 | } 27 | 28 | // Load is same as sync.Map Store 29 | func (m *Map) Store(key interface{}, elem interface{}) { 30 | m.lock.Lock() 31 | m.data[key] = elem 32 | m.lock.Unlock() 33 | } 34 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/log.go: -------------------------------------------------------------------------------- 1 | package concurrent 2 | 3 | import ( 4 | "os" 5 | "log" 6 | "io/ioutil" 7 | ) 8 | 9 | // ErrorLogger is used to print out error, can be set to writer other than stderr 10 | var ErrorLogger = log.New(os.Stderr, "", 0) 11 | 12 | // InfoLogger is used to print informational message, default to off 13 | var InfoLogger = log.New(ioutil.Discard, "", 0) -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -coverprofile=profile.out -coverpkg=github.com/modern-go/concurrent $d 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /coverage.txt 3 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.9.x 5 | - 1.x 6 | 7 | before_install: 8 | - go get -t -v ./... 9 | - go get -t -v github.com/modern-go/reflect2-tests/... 10 | 11 | script: 12 | - ./test.sh 13 | 14 | after_success: 15 | - bash <(curl -s https://codecov.io/bash) 16 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/Gopkg.lock: -------------------------------------------------------------------------------- 1 | # This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. 2 | 3 | 4 | [solve-meta] 5 | analyzer-name = "dep" 6 | analyzer-version = 1 7 | input-imports = [] 8 | solver-name = "gps-cdcl" 9 | solver-version = 1 10 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/Gopkg.toml: -------------------------------------------------------------------------------- 1 | # Gopkg.toml example 2 | # 3 | # Refer to https://golang.github.io/dep/docs/Gopkg.toml.html 4 | # for detailed Gopkg.toml documentation. 5 | # 6 | # required = ["github.com/user/thing/cmd/thing"] 7 | # ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] 8 | # 9 | # [[constraint]] 10 | # name = "github.com/user/project" 11 | # version = "1.0.0" 12 | # 13 | # [[constraint]] 14 | # name = "github.com/user/project2" 15 | # branch = "dev" 16 | # source = "github.com/myfork/project2" 17 | # 18 | # [[override]] 19 | # name = "github.com/x/y" 20 | # version = "2.4.0" 21 | # 22 | # [prune] 23 | # non-go = false 24 | # go-tests = true 25 | # unused-packages = true 26 | 27 | ignored = [] 28 | 29 | [prune] 30 | go-tests = true 31 | unused-packages = true 32 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/go_above_118.go: -------------------------------------------------------------------------------- 1 | //+build go1.18 2 | 3 | package reflect2 4 | 5 | import ( 6 | "unsafe" 7 | ) 8 | 9 | // m escapes into the return value, but the caller of mapiterinit 10 | // doesn't let the return value escape. 11 | //go:noescape 12 | //go:linkname mapiterinit reflect.mapiterinit 13 | func mapiterinit(rtype unsafe.Pointer, m unsafe.Pointer, it *hiter) 14 | 15 | func (type2 *UnsafeMapType) UnsafeIterate(obj unsafe.Pointer) MapIterator { 16 | var it hiter 17 | mapiterinit(type2.rtype, *(*unsafe.Pointer)(obj), &it) 18 | return &UnsafeMapIterator{ 19 | hiter: &it, 20 | pKeyRType: type2.pKeyRType, 21 | pElemRType: type2.pElemRType, 22 | } 23 | } -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/go_above_19.go: -------------------------------------------------------------------------------- 1 | //+build go1.9 2 | 3 | package reflect2 4 | 5 | import ( 6 | "unsafe" 7 | ) 8 | 9 | //go:linkname resolveTypeOff reflect.resolveTypeOff 10 | func resolveTypeOff(rtype unsafe.Pointer, off int32) unsafe.Pointer 11 | 12 | //go:linkname makemap reflect.makemap 13 | func makemap(rtype unsafe.Pointer, cap int) (m unsafe.Pointer) 14 | 15 | func makeMapWithSize(rtype unsafe.Pointer, cap int) unsafe.Pointer { 16 | return makemap(rtype, cap) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/go_below_118.go: -------------------------------------------------------------------------------- 1 | //+build !go1.18 2 | 3 | package reflect2 4 | 5 | import ( 6 | "unsafe" 7 | ) 8 | 9 | // m escapes into the return value, but the caller of mapiterinit 10 | // doesn't let the return value escape. 11 | //go:noescape 12 | //go:linkname mapiterinit reflect.mapiterinit 13 | func mapiterinit(rtype unsafe.Pointer, m unsafe.Pointer) (val *hiter) 14 | 15 | func (type2 *UnsafeMapType) UnsafeIterate(obj unsafe.Pointer) MapIterator { 16 | return &UnsafeMapIterator{ 17 | hiter: mapiterinit(type2.rtype, *(*unsafe.Pointer)(obj)), 18 | pKeyRType: type2.pKeyRType, 19 | pElemRType: type2.pElemRType, 20 | } 21 | } -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/reflect2_amd64.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/vendor/github.com/modern-go/reflect2/reflect2_amd64.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_386.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/vendor/github.com/modern-go/reflect2/relfect2_386.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_amd64p32.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/vendor/github.com/modern-go/reflect2/relfect2_amd64p32.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_arm.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/vendor/github.com/modern-go/reflect2/relfect2_arm.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_arm64.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/vendor/github.com/modern-go/reflect2/relfect2_arm64.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_mips64x.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/vendor/github.com/modern-go/reflect2/relfect2_mips64x.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_mipsx.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/vendor/github.com/modern-go/reflect2/relfect2_mipsx.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_ppc64x.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/vendor/github.com/modern-go/reflect2/relfect2_ppc64x.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_s390x.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/vendor/github.com/modern-go/reflect2/relfect2_s390x.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/safe_struct.go: -------------------------------------------------------------------------------- 1 | package reflect2 2 | 3 | type safeStructType struct { 4 | safeType 5 | } 6 | 7 | func (type2 *safeStructType) FieldByName(name string) StructField { 8 | field, found := type2.Type.FieldByName(name) 9 | if !found { 10 | panic("field " + name + " not found") 11 | } 12 | return &safeField{StructField: field} 13 | } 14 | 15 | func (type2 *safeStructType) Field(i int) StructField { 16 | return &safeField{StructField: type2.Type.Field(i)} 17 | } 18 | 19 | func (type2 *safeStructType) FieldByIndex(index []int) StructField { 20 | return &safeField{StructField: type2.Type.FieldByIndex(index)} 21 | } 22 | 23 | func (type2 *safeStructType) FieldByNameFunc(match func(string) bool) StructField { 24 | field, found := type2.Type.FieldByNameFunc(match) 25 | if !found { 26 | panic("field match condition not found in " + type2.Type.String()) 27 | } 28 | return &safeField{StructField: field} 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/client_golang/NOTICE: -------------------------------------------------------------------------------- 1 | Prometheus instrumentation library for Go applications 2 | Copyright 2012-2015 The Prometheus Authors 3 | 4 | This product includes software developed at 5 | SoundCloud Ltd. (http://soundcloud.com/). 6 | 7 | 8 | The following components are included in this product: 9 | 10 | perks - a fork of https://github.com/bmizerany/perks 11 | https://github.com/beorn7/perks 12 | Copyright 2013-2015 Blake Mizerany, Björn Rabenstein 13 | See https://github.com/beorn7/perks/blob/master/README.md for license details. 14 | 15 | Go support for Protocol Buffers - Google's data interchange format 16 | http://github.com/golang/protobuf/ 17 | Copyright 2010 The Go Authors 18 | See source code for license details. 19 | 20 | Support for streaming Protocol Buffer messages for the Go language (golang). 21 | https://github.com/matttproud/golang_protobuf_extensions 22 | Copyright 2013 Matt T. Proud 23 | Licensed under the Apache License, Version 2.0 24 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/client_golang/prometheus/.gitignore: -------------------------------------------------------------------------------- 1 | command-line-arguments.test 2 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/client_golang/prometheus/README.md: -------------------------------------------------------------------------------- 1 | See [![Go Reference](https://pkg.go.dev/badge/github.com/prometheus/client_golang/prometheus.svg)](https://pkg.go.dev/github.com/prometheus/client_golang/prometheus). 2 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/client_golang/prometheus/get_pid.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | //go:build !js || wasm 15 | // +build !js wasm 16 | 17 | package prometheus 18 | 19 | import "os" 20 | 21 | func getPIDFn() func() (int, error) { 22 | pid := os.Getpid() 23 | return func() (int, error) { 24 | return pid, nil 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/client_golang/prometheus/get_pid_gopherjs.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | //go:build js && !wasm 15 | // +build js,!wasm 16 | 17 | package prometheus 18 | 19 | func getPIDFn() func() (int, error) { 20 | return func() (int, error) { 21 | return 1, nil 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/client_golang/prometheus/num_threads.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | //go:build !js || wasm 15 | // +build !js wasm 16 | 17 | package prometheus 18 | 19 | import "runtime" 20 | 21 | // getRuntimeNumThreads returns the number of open OS threads. 22 | func getRuntimeNumThreads() float64 { 23 | n, _ := runtime.ThreadCreateProfile(nil) 24 | return float64(n) 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/client_golang/prometheus/num_threads_gopherjs.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | //go:build js && !wasm 15 | // +build js,!wasm 16 | 17 | package prometheus 18 | 19 | // getRuntimeNumThreads returns the number of open OS threads. 20 | func getRuntimeNumThreads() float64 { 21 | return 1 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/client_golang/prometheus/process_collector_js.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | //go:build js 15 | // +build js 16 | 17 | package prometheus 18 | 19 | func canCollectProcess() bool { 20 | return false 21 | } 22 | 23 | func (c *processCollector) processCollect(ch chan<- Metric) { 24 | // noop on this platform 25 | return 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/client_model/NOTICE: -------------------------------------------------------------------------------- 1 | Data model artifacts for Prometheus. 2 | Copyright 2012-2015 The Prometheus Authors 3 | 4 | This product includes software developed at 5 | SoundCloud Ltd. (http://soundcloud.com/). 6 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/common/NOTICE: -------------------------------------------------------------------------------- 1 | Common libraries shared by Prometheus Go components. 2 | Copyright 2015 The Prometheus Authors 3 | 4 | This product includes software developed at 5 | SoundCloud Ltd. (http://soundcloud.com/). 6 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/common/model/model.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | // Package model contains common data structures that are shared across 15 | // Prometheus components and libraries. 16 | package model 17 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/.gitignore: -------------------------------------------------------------------------------- 1 | /testdata/fixtures/ 2 | /fixtures 3 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/.golangci.yml: -------------------------------------------------------------------------------- 1 | --- 2 | linters: 3 | enable: 4 | - godot 5 | - revive 6 | 7 | linter-settings: 8 | godot: 9 | capital: true 10 | exclude: 11 | # Ignore "See: URL" 12 | - 'See:' 13 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Prometheus Community Code of Conduct 2 | 3 | Prometheus follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). 4 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/MAINTAINERS.md: -------------------------------------------------------------------------------- 1 | * Johannes 'fish' Ziemke @discordianfish 2 | * Paul Gier @pgier 3 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/NOTICE: -------------------------------------------------------------------------------- 1 | procfs provides functions to retrieve system, kernel and process 2 | metrics from the pseudo-filesystem proc. 3 | 4 | Copyright 2014-2015 The Prometheus Authors 5 | 6 | This product includes software developed at 7 | SoundCloud Ltd. (http://soundcloud.com/). 8 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Reporting a security issue 2 | 3 | The Prometheus security policy, including how to report vulnerabilities, can be 4 | found here: 5 | 6 | 7 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/cpuinfo_armx.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | //go:build linux && (arm || arm64) 15 | // +build linux 16 | // +build arm arm64 17 | 18 | package procfs 19 | 20 | var parseCPUInfo = parseCPUInfoARM 21 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/cpuinfo_loong64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | //go:build linux 15 | // +build linux 16 | 17 | package procfs 18 | 19 | var parseCPUInfo = parseCPUInfoLoong 20 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/cpuinfo_mipsx.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | //go:build linux && (mips || mipsle || mips64 || mips64le) 15 | // +build linux 16 | // +build mips mipsle mips64 mips64le 17 | 18 | package procfs 19 | 20 | var parseCPUInfo = parseCPUInfoMips 21 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/cpuinfo_others.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | //go:build linux && !386 && !amd64 && !arm && !arm64 && !loong64 && !mips && !mips64 && !mips64le && !mipsle && !ppc64 && !ppc64le && !riscv64 && !s390x 15 | // +build linux,!386,!amd64,!arm,!arm64,!loong64,!mips,!mips64,!mips64le,!mipsle,!ppc64,!ppc64le,!riscv64,!s390x 16 | 17 | package procfs 18 | 19 | var parseCPUInfo = parseCPUInfoDummy 20 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/cpuinfo_ppcx.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | //go:build linux && (ppc64 || ppc64le) 15 | // +build linux 16 | // +build ppc64 ppc64le 17 | 18 | package procfs 19 | 20 | var parseCPUInfo = parseCPUInfoPPC 21 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/cpuinfo_riscvx.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | //go:build linux && (riscv || riscv64) 15 | // +build linux 16 | // +build riscv riscv64 17 | 18 | package procfs 19 | 20 | var parseCPUInfo = parseCPUInfoRISCV 21 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/cpuinfo_s390x.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | //go:build linux 15 | // +build linux 16 | 17 | package procfs 18 | 19 | var parseCPUInfo = parseCPUInfoS390X 20 | -------------------------------------------------------------------------------- /vendor/github.com/prometheus/procfs/cpuinfo_x86.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | //go:build linux && (386 || amd64) 15 | // +build linux 16 | // +build 386 amd64 17 | 18 | package procfs 19 | 20 | var parseCPUInfo = parseCPUInfoX86 21 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/.gitignore: -------------------------------------------------------------------------------- 1 | logrus 2 | vendor 3 | 4 | .idea/ 5 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go_import_path: github.com/sirupsen/logrus 3 | git: 4 | depth: 1 5 | env: 6 | - GO111MODULE=on 7 | go: 1.15.x 8 | os: linux 9 | install: 10 | - ./travis/install.sh 11 | script: 12 | - cd ci 13 | - go run mage.go -v -w ../ crossBuild 14 | - go run mage.go -v -w ../ lint 15 | - go run mage.go -v -w ../ test 16 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: "{build}" 2 | platform: x64 3 | clone_folder: c:\gopath\src\github.com\sirupsen\logrus 4 | environment: 5 | GOPATH: c:\gopath 6 | branches: 7 | only: 8 | - master 9 | install: 10 | - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% 11 | - go version 12 | build_script: 13 | - go get -t 14 | - go test 15 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/buffer_pool.go: -------------------------------------------------------------------------------- 1 | package logrus 2 | 3 | import ( 4 | "bytes" 5 | "sync" 6 | ) 7 | 8 | var ( 9 | bufferPool BufferPool 10 | ) 11 | 12 | type BufferPool interface { 13 | Put(*bytes.Buffer) 14 | Get() *bytes.Buffer 15 | } 16 | 17 | type defaultPool struct { 18 | pool *sync.Pool 19 | } 20 | 21 | func (p *defaultPool) Put(buf *bytes.Buffer) { 22 | p.pool.Put(buf) 23 | } 24 | 25 | func (p *defaultPool) Get() *bytes.Buffer { 26 | return p.pool.Get().(*bytes.Buffer) 27 | } 28 | 29 | // SetBufferPool allows to replace the default logrus buffer pool 30 | // to better meets the specific needs of an application. 31 | func SetBufferPool(bp BufferPool) { 32 | bufferPool = bp 33 | } 34 | 35 | func init() { 36 | SetBufferPool(&defaultPool{ 37 | pool: &sync.Pool{ 38 | New: func() interface{} { 39 | return new(bytes.Buffer) 40 | }, 41 | }, 42 | }) 43 | } 44 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package logrus is a structured logger for Go, completely API compatible with the standard library logger. 3 | 4 | 5 | The simplest way to use Logrus is simply the package-level exported logger: 6 | 7 | package main 8 | 9 | import ( 10 | log "github.com/sirupsen/logrus" 11 | ) 12 | 13 | func main() { 14 | log.WithFields(log.Fields{ 15 | "animal": "walrus", 16 | "number": 1, 17 | "size": 10, 18 | }).Info("A walrus appears") 19 | } 20 | 21 | Output: 22 | time="2015-09-07T08:48:33Z" level=info msg="A walrus appears" animal=walrus number=1 size=10 23 | 24 | For a full guide visit https://github.com/sirupsen/logrus 25 | */ 26 | package logrus 27 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_appengine.go: -------------------------------------------------------------------------------- 1 | // +build appengine 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | ) 8 | 9 | func checkIfTerminal(w io.Writer) bool { 10 | return true 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_bsd.go: -------------------------------------------------------------------------------- 1 | // +build darwin dragonfly freebsd netbsd openbsd 2 | // +build !js 3 | 4 | package logrus 5 | 6 | import "golang.org/x/sys/unix" 7 | 8 | const ioctlReadTermios = unix.TIOCGETA 9 | 10 | func isTerminal(fd int) bool { 11 | _, err := unix.IoctlGetTermios(fd, ioctlReadTermios) 12 | return err == nil 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_js.go: -------------------------------------------------------------------------------- 1 | // +build js 2 | 3 | package logrus 4 | 5 | func isTerminal(fd int) bool { 6 | return false 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go: -------------------------------------------------------------------------------- 1 | // +build js nacl plan9 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | ) 8 | 9 | func checkIfTerminal(w io.Writer) bool { 10 | return false 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go: -------------------------------------------------------------------------------- 1 | // +build !appengine,!js,!windows,!nacl,!plan9 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | "os" 8 | ) 9 | 10 | func checkIfTerminal(w io.Writer) bool { 11 | switch v := w.(type) { 12 | case *os.File: 13 | return isTerminal(int(v.Fd())) 14 | default: 15 | return false 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_solaris.go: -------------------------------------------------------------------------------- 1 | package logrus 2 | 3 | import ( 4 | "golang.org/x/sys/unix" 5 | ) 6 | 7 | // IsTerminal returns true if the given file descriptor is a terminal. 8 | func isTerminal(fd int) bool { 9 | _, err := unix.IoctlGetTermio(fd, unix.TCGETA) 10 | return err == nil 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_unix.go: -------------------------------------------------------------------------------- 1 | // +build linux aix zos 2 | // +build !js 3 | 4 | package logrus 5 | 6 | import "golang.org/x/sys/unix" 7 | 8 | const ioctlReadTermios = unix.TCGETS 9 | 10 | func isTerminal(fd int) bool { 11 | _, err := unix.IoctlGetTermios(fd, ioctlReadTermios) 12 | return err == nil 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_windows.go: -------------------------------------------------------------------------------- 1 | // +build !appengine,!js,windows 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | "os" 8 | 9 | "golang.org/x/sys/windows" 10 | ) 11 | 12 | func checkIfTerminal(w io.Writer) bool { 13 | switch v := w.(type) { 14 | case *os.File: 15 | handle := windows.Handle(v.Fd()) 16 | var mode uint32 17 | if err := windows.GetConsoleMode(handle, &mode); err != nil { 18 | return false 19 | } 20 | mode |= windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING 21 | if err := windows.SetConsoleMode(handle, mode); err != nil { 22 | return false 23 | } 24 | return true 25 | } 26 | return false 27 | } 28 | -------------------------------------------------------------------------------- /vendor/go4.org/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of go4 authors for copyright purposes. 2 | # This is distinct from the CONTRIBUTORS file, which is the list of 3 | # people who have contributed, even if they don't own the copyright on 4 | # their work. 5 | 6 | Mathieu Lonjaret 7 | Daniel Theophanes 8 | Google 9 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/http2/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | h2i/h2i 3 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/http2/go111.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.11 6 | // +build go1.11 7 | 8 | package http2 9 | 10 | import ( 11 | "net/http/httptrace" 12 | "net/textproto" 13 | ) 14 | 15 | func traceHasWroteHeaderField(trace *httptrace.ClientTrace) bool { 16 | return trace != nil && trace.WroteHeaderField != nil 17 | } 18 | 19 | func traceWroteHeaderField(trace *httptrace.ClientTrace, k, v string) { 20 | if trace != nil && trace.WroteHeaderField != nil { 21 | trace.WroteHeaderField(k, []string{v}) 22 | } 23 | } 24 | 25 | func traceGot1xxResponseFunc(trace *httptrace.ClientTrace) func(int, textproto.MIMEHeader) error { 26 | if trace != nil { 27 | return trace.Got1xxResponse 28 | } 29 | return nil 30 | } 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/http2/go115.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.15 6 | // +build go1.15 7 | 8 | package http2 9 | 10 | import ( 11 | "context" 12 | "crypto/tls" 13 | ) 14 | 15 | // dialTLSWithContext uses tls.Dialer, added in Go 1.15, to open a TLS 16 | // connection. 17 | func (t *Transport) dialTLSWithContext(ctx context.Context, network, addr string, cfg *tls.Config) (*tls.Conn, error) { 18 | dialer := &tls.Dialer{ 19 | Config: cfg, 20 | } 21 | cn, err := dialer.DialContext(ctx, network, addr) 22 | if err != nil { 23 | return nil, err 24 | } 25 | tlsCn := cn.(*tls.Conn) // DialContext comment promises this will always succeed 26 | return tlsCn, nil 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/http2/go118.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.18 6 | // +build go1.18 7 | 8 | package http2 9 | 10 | import ( 11 | "crypto/tls" 12 | "net" 13 | ) 14 | 15 | func tlsUnderlyingConn(tc *tls.Conn) net.Conn { 16 | return tc.NetConn() 17 | } 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/http2/not_go111.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.11 6 | // +build !go1.11 7 | 8 | package http2 9 | 10 | import ( 11 | "net/http/httptrace" 12 | "net/textproto" 13 | ) 14 | 15 | func traceHasWroteHeaderField(trace *httptrace.ClientTrace) bool { return false } 16 | 17 | func traceWroteHeaderField(trace *httptrace.ClientTrace, k, v string) {} 18 | 19 | func traceGot1xxResponseFunc(trace *httptrace.ClientTrace) func(int, textproto.MIMEHeader) error { 20 | return nil 21 | } 22 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/http2/not_go115.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.15 6 | // +build !go1.15 7 | 8 | package http2 9 | 10 | import ( 11 | "context" 12 | "crypto/tls" 13 | ) 14 | 15 | // dialTLSWithContext opens a TLS connection. 16 | func (t *Transport) dialTLSWithContext(ctx context.Context, network, addr string, cfg *tls.Config) (*tls.Conn, error) { 17 | cn, err := tls.Dial(network, addr, cfg) 18 | if err != nil { 19 | return nil, err 20 | } 21 | if err := cn.Handshake(); err != nil { 22 | return nil, err 23 | } 24 | if cfg.InsecureSkipVerify { 25 | return cn, nil 26 | } 27 | if err := cn.VerifyHostname(cfg.ServerName); err != nil { 28 | return nil, err 29 | } 30 | return cn, nil 31 | } 32 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/http2/not_go118.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.18 6 | // +build !go1.18 7 | 8 | package http2 9 | 10 | import ( 11 | "crypto/tls" 12 | "net" 13 | ) 14 | 15 | func tlsUnderlyingConn(tc *tls.Conn) net.Conn { 16 | return nil 17 | } 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/idna/go118.go: -------------------------------------------------------------------------------- 1 | // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. 2 | 3 | // Copyright 2021 The Go Authors. All rights reserved. 4 | // Use of this source code is governed by a BSD-style 5 | // license that can be found in the LICENSE file. 6 | 7 | //go:build go1.18 8 | // +build go1.18 9 | 10 | package idna 11 | 12 | // Transitional processing is disabled by default in Go 1.18. 13 | // https://golang.org/issue/47510 14 | const transitionalLookup = false 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/idna/pre_go118.go: -------------------------------------------------------------------------------- 1 | // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. 2 | 3 | // Copyright 2021 The Go Authors. All rights reserved. 4 | // Use of this source code is governed by a BSD-style 5 | // license that can be found in the LICENSE file. 6 | 7 | //go:build !go1.18 8 | // +build !go1.18 9 | 10 | package idna 11 | 12 | const transitionalLookup = true 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/idna/trie12.0.0.go: -------------------------------------------------------------------------------- 1 | // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. 2 | 3 | // Copyright 2016 The Go Authors. All rights reserved. 4 | // Use of this source code is governed by a BSD-style 5 | // license that can be found in the LICENSE file. 6 | 7 | //go:build !go1.16 8 | // +build !go1.16 9 | 10 | package idna 11 | 12 | // appendMapping appends the mapping for the respective rune. isMapped must be 13 | // true. A mapping is a categorization of a rune as defined in UTS #46. 14 | func (c info) appendMapping(b []byte, s string) []byte { 15 | index := int(c >> indexShift) 16 | if c&xorBit == 0 { 17 | s := mappings[index:] 18 | return append(b, s[1:s[0]+1]...) 19 | } 20 | b = append(b, s...) 21 | if c&inlineXOR == inlineXOR { 22 | // TODO: support and handle two-byte inline masks 23 | b[len(b)-1] ^= byte(index) 24 | } else { 25 | for p := len(b) - int(xorData[index]); p < len(b); p++ { 26 | index++ 27 | b[p] ^= xorData[index] 28 | } 29 | } 30 | return b 31 | } 32 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/idna/trie13.0.0.go: -------------------------------------------------------------------------------- 1 | // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. 2 | 3 | // Copyright 2016 The Go Authors. All rights reserved. 4 | // Use of this source code is governed by a BSD-style 5 | // license that can be found in the LICENSE file. 6 | 7 | //go:build go1.16 8 | // +build go1.16 9 | 10 | package idna 11 | 12 | // appendMapping appends the mapping for the respective rune. isMapped must be 13 | // true. A mapping is a categorization of a rune as defined in UTS #46. 14 | func (c info) appendMapping(b []byte, s string) []byte { 15 | index := int(c >> indexShift) 16 | if c&xorBit == 0 { 17 | p := index 18 | return append(b, mappings[mappingIndex[p]:mappingIndex[p+1]]...) 19 | } 20 | b = append(b, s...) 21 | if c&inlineXOR == inlineXOR { 22 | // TODO: support and handle two-byte inline masks 23 | b[len(b)-1] ^= byte(index) 24 | } else { 25 | for p := len(b) - int(xorData[index]); p < len(b); p++ { 26 | index++ 27 | b[p] ^= xorData[index] 28 | } 29 | } 30 | return b 31 | } 32 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/.gitignore: -------------------------------------------------------------------------------- 1 | _obj/ 2 | unix.test 3 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/aliases.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) && go1.9 6 | // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos 7 | // +build go1.9 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | type Signal = syscall.Signal 14 | type Errno = syscall.Errno 15 | type SysProcAttr = syscall.SysProcAttr 16 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_aix_ppc64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | // +build gc 7 | 8 | #include "textflag.h" 9 | 10 | // 11 | // System calls for ppc64, AIX are implemented in runtime/syscall_aix.go 12 | // 13 | 14 | TEXT ·syscall6(SB),NOSPLIT,$0-88 15 | JMP syscall·syscall6(SB) 16 | 17 | TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 18 | JMP syscall·rawSyscall6(SB) 19 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (freebsd || netbsd || openbsd) && gc 6 | // +build freebsd netbsd openbsd 7 | // +build gc 8 | 9 | #include "textflag.h" 10 | 11 | // System call support for 386 BSD 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc 6 | // +build darwin dragonfly freebsd netbsd openbsd 7 | // +build gc 8 | 9 | #include "textflag.h" 10 | 11 | // System call support for AMD64 BSD 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (freebsd || netbsd || openbsd) && gc 6 | // +build freebsd netbsd openbsd 7 | // +build gc 8 | 9 | #include "textflag.h" 10 | 11 | // System call support for ARM BSD 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | B syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | B syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | B syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | B syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | B syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_arm64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | // +build darwin freebsd netbsd openbsd 7 | // +build gc 8 | 9 | #include "textflag.h" 10 | 11 | // System call support for ARM64 BSD 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | // +build darwin freebsd netbsd openbsd 7 | // +build gc 8 | 9 | #include "textflag.h" 10 | 11 | // 12 | // System call support for ppc64, BSD 13 | // 14 | 15 | // Just jump to package syscall's implementation for all these functions. 16 | // The runtime may know about them. 17 | 18 | TEXT ·Syscall(SB),NOSPLIT,$0-56 19 | JMP syscall·Syscall(SB) 20 | 21 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 22 | JMP syscall·Syscall6(SB) 23 | 24 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 25 | JMP syscall·Syscall9(SB) 26 | 27 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 28 | JMP syscall·RawSyscall(SB) 29 | 30 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 31 | JMP syscall·RawSyscall6(SB) 32 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | // +build darwin freebsd netbsd openbsd 7 | // +build gc 8 | 9 | #include "textflag.h" 10 | 11 | // System call support for RISCV64 BSD 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | // +build gc 7 | 8 | #include "textflag.h" 9 | 10 | // 11 | // System call support for mips64, OpenBSD 12 | // 13 | 14 | // Just jump to package syscall's implementation for all these functions. 15 | // The runtime may know about them. 16 | 17 | TEXT ·Syscall(SB),NOSPLIT,$0-56 18 | JMP syscall·Syscall(SB) 19 | 20 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 21 | JMP syscall·Syscall6(SB) 22 | 23 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 24 | JMP syscall·Syscall9(SB) 25 | 26 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 27 | JMP syscall·RawSyscall(SB) 28 | 29 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 30 | JMP syscall·RawSyscall6(SB) 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_solaris_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | // +build gc 7 | 8 | #include "textflag.h" 9 | 10 | // 11 | // System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go 12 | // 13 | 14 | TEXT ·sysvicall6(SB),NOSPLIT,$0-88 15 | JMP syscall·sysvicall6(SB) 16 | 17 | TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88 18 | JMP syscall·rawSysvicall6(SB) 19 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/bluetooth_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Bluetooth sockets and messages 6 | 7 | package unix 8 | 9 | // Bluetooth Protocols 10 | const ( 11 | BTPROTO_L2CAP = 0 12 | BTPROTO_HCI = 1 13 | BTPROTO_SCO = 2 14 | BTPROTO_RFCOMM = 3 15 | BTPROTO_BNEP = 4 16 | BTPROTO_CMTP = 5 17 | BTPROTO_HIDP = 6 18 | BTPROTO_AVDTP = 7 19 | ) 20 | 21 | const ( 22 | HCI_CHANNEL_RAW = 0 23 | HCI_CHANNEL_USER = 1 24 | HCI_CHANNEL_MONITOR = 2 25 | HCI_CHANNEL_CONTROL = 3 26 | HCI_CHANNEL_LOGGING = 4 27 | ) 28 | 29 | // Socketoption Level 30 | const ( 31 | SOL_BLUETOOTH = 0x112 32 | SOL_HCI = 0x0 33 | SOL_L2CAP = 0x6 34 | SOL_RFCOMM = 0x12 35 | SOL_SCO = 0x11 36 | ) 37 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/constants.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos 7 | 8 | package unix 9 | 10 | const ( 11 | R_OK = 0x4 12 | W_OK = 0x2 13 | X_OK = 0x1 14 | ) 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_aix_ppc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix && ppc 6 | // +build aix,ppc 7 | 8 | // Functions to access/create device major and minor numbers matching the 9 | // encoding used by AIX. 10 | 11 | package unix 12 | 13 | // Major returns the major component of a Linux device number. 14 | func Major(dev uint64) uint32 { 15 | return uint32((dev >> 16) & 0xffff) 16 | } 17 | 18 | // Minor returns the minor component of a Linux device number. 19 | func Minor(dev uint64) uint32 { 20 | return uint32(dev & 0xffff) 21 | } 22 | 23 | // Mkdev returns a Linux device number generated from the given major and minor 24 | // components. 25 | func Mkdev(major, minor uint32) uint64 { 26 | return uint64(((major) << 16) | (minor)) 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_aix_ppc64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix && ppc64 6 | // +build aix,ppc64 7 | 8 | // Functions to access/create device major and minor numbers matching the 9 | // encoding used AIX. 10 | 11 | package unix 12 | 13 | // Major returns the major component of a Linux device number. 14 | func Major(dev uint64) uint32 { 15 | return uint32((dev & 0x3fffffff00000000) >> 32) 16 | } 17 | 18 | // Minor returns the minor component of a Linux device number. 19 | func Minor(dev uint64) uint32 { 20 | return uint32((dev & 0x00000000ffffffff) >> 0) 21 | } 22 | 23 | // Mkdev returns a Linux device number generated from the given major and minor 24 | // components. 25 | func Mkdev(major, minor uint32) uint64 { 26 | var DEVNO64 uint64 27 | DEVNO64 = 0x8000000000000000 28 | return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64) 29 | } 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in Darwin's sys/types.h header. 7 | 8 | package unix 9 | 10 | // Major returns the major component of a Darwin device number. 11 | func Major(dev uint64) uint32 { 12 | return uint32((dev >> 24) & 0xff) 13 | } 14 | 15 | // Minor returns the minor component of a Darwin device number. 16 | func Minor(dev uint64) uint32 { 17 | return uint32(dev & 0xffffff) 18 | } 19 | 20 | // Mkdev returns a Darwin device number generated from the given major and minor 21 | // components. 22 | func Mkdev(major, minor uint32) uint64 { 23 | return (uint64(major) << 24) | uint64(minor) 24 | } 25 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_zos.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build zos && s390x 6 | // +build zos,s390x 7 | 8 | // Functions to access/create device major and minor numbers matching the 9 | // encoding used by z/OS. 10 | // 11 | // The information below is extracted and adapted from macros. 12 | 13 | package unix 14 | 15 | // Major returns the major component of a z/OS device number. 16 | func Major(dev uint64) uint32 { 17 | return uint32((dev >> 16) & 0x0000FFFF) 18 | } 19 | 20 | // Minor returns the minor component of a z/OS device number. 21 | func Minor(dev uint64) uint32 { 22 | return uint32(dev & 0x0000FFFF) 23 | } 24 | 25 | // Mkdev returns a z/OS device number generated from the given major and minor 26 | // components. 27 | func Mkdev(major, minor uint32) uint64 { 28 | return (uint64(major) << 16) | uint64(minor) 29 | } 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/endian_big.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64 6 | // +build armbe arm64be m68k mips mips64 mips64p32 ppc ppc64 s390 s390x shbe sparc sparc64 7 | 8 | package unix 9 | 10 | const isBigEndian = true 11 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/endian_little.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh 6 | // +build 386 amd64 amd64p32 alpha arm arm64 loong64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh 7 | 8 | package unix 9 | 10 | const isBigEndian = false 11 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/env_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2010 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos 7 | 8 | // Unix environment variables. 9 | 10 | package unix 11 | 12 | import "syscall" 13 | 14 | func Getenv(key string) (value string, found bool) { 15 | return syscall.Getenv(key) 16 | } 17 | 18 | func Setenv(key, value string) error { 19 | return syscall.Setenv(key, value) 20 | } 21 | 22 | func Clearenv() { 23 | syscall.Clearenv() 24 | } 25 | 26 | func Environ() []string { 27 | return syscall.Environ() 28 | } 29 | 30 | func Unsetenv(key string) error { 31 | return syscall.Unsetenv(key) 32 | } 33 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/fcntl_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package unix 6 | 7 | import "unsafe" 8 | 9 | // FcntlInt performs a fcntl syscall on fd with the provided command and argument. 10 | func FcntlInt(fd uintptr, cmd, arg int) (int, error) { 11 | return fcntl(int(fd), cmd, arg) 12 | } 13 | 14 | // FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. 15 | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { 16 | _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk)))) 17 | return err 18 | } 19 | 20 | // FcntlFstore performs a fcntl syscall for the F_PREALLOCATE command. 21 | func FcntlFstore(fd uintptr, cmd int, fstore *Fstore_t) error { 22 | _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(fstore)))) 23 | return err 24 | } 25 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc) 6 | // +build linux,386 linux,arm linux,mips linux,mipsle linux,ppc 7 | 8 | package unix 9 | 10 | func init() { 11 | // On 32-bit Linux systems, the fcntl syscall that matches Go's 12 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. 13 | fcntl64Syscall = SYS_FCNTL64 14 | } 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/fdset.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos 7 | 8 | package unix 9 | 10 | // Set adds fd to the set fds. 11 | func (fds *FdSet) Set(fd int) { 12 | fds.Bits[fd/NFDBITS] |= (1 << (uintptr(fd) % NFDBITS)) 13 | } 14 | 15 | // Clear removes fd from the set fds. 16 | func (fds *FdSet) Clear(fd int) { 17 | fds.Bits[fd/NFDBITS] &^= (1 << (uintptr(fd) % NFDBITS)) 18 | } 19 | 20 | // IsSet returns whether fd is in the set fds. 21 | func (fds *FdSet) IsSet(fd int) bool { 22 | return fds.Bits[fd/NFDBITS]&(1<<(uintptr(fd)%NFDBITS)) != 0 23 | } 24 | 25 | // Zero clears the set fds. 26 | func (fds *FdSet) Zero() { 27 | for i := range fds.Bits { 28 | fds.Bits[i] = 0 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gccgo && linux && amd64 6 | // +build gccgo,linux,amd64 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | //extern gettimeofday 13 | func realGettimeofday(*Timeval, *byte) int32 14 | 15 | func gettimeofday(tv *Timeval) (err syscall.Errno) { 16 | r := realGettimeofday(tv, nil) 17 | if r < 0 { 18 | return syscall.GetErrno() 19 | } 20 | return 0 21 | } 22 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/mmap_nomremap.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || openbsd || solaris 6 | // +build aix darwin dragonfly freebsd openbsd solaris 7 | 8 | package unix 9 | 10 | var mapper = &mmapper{ 11 | active: make(map[*byte][]byte), 12 | mmap: mmap, 13 | munmap: munmap, 14 | } 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/pagesize_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris 6 | // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris 7 | 8 | // For Unix, get the pagesize from the runtime. 9 | 10 | package unix 11 | 12 | import "syscall" 13 | 14 | func Getpagesize() int { 15 | return syscall.Getpagesize() 16 | } 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/ptrace_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin && !ios 6 | // +build darwin,!ios 7 | 8 | package unix 9 | 10 | func ptrace(request int, pid int, addr uintptr, data uintptr) error { 11 | return ptrace1(request, pid, addr, data) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/ptrace_ios.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build ios 6 | // +build ios 7 | 8 | package unix 9 | 10 | func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { 11 | return ENOTSUP 12 | } 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/race.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin && race) || (linux && race) || (freebsd && race) 6 | // +build darwin,race linux,race freebsd,race 7 | 8 | package unix 9 | 10 | import ( 11 | "runtime" 12 | "unsafe" 13 | ) 14 | 15 | const raceenabled = true 16 | 17 | func raceAcquire(addr unsafe.Pointer) { 18 | runtime.RaceAcquire(addr) 19 | } 20 | 21 | func raceReleaseMerge(addr unsafe.Pointer) { 22 | runtime.RaceReleaseMerge(addr) 23 | } 24 | 25 | func raceReadRange(addr unsafe.Pointer, len int) { 26 | runtime.RaceReadRange(addr, len) 27 | } 28 | 29 | func raceWriteRange(addr unsafe.Pointer, len int) { 30 | runtime.RaceWriteRange(addr, len) 31 | } 32 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || (darwin && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos 6 | // +build aix darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly zos 7 | 8 | package unix 9 | 10 | import ( 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = false 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | } 18 | 19 | func raceReleaseMerge(addr unsafe.Pointer) { 20 | } 21 | 22 | func raceReadRange(addr unsafe.Pointer, len int) { 23 | } 24 | 25 | func raceWriteRange(addr unsafe.Pointer, len int) { 26 | } 27 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/readdirent_getdents.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || dragonfly || freebsd || linux || netbsd || openbsd 6 | // +build aix dragonfly freebsd linux netbsd openbsd 7 | 8 | package unix 9 | 10 | // ReadDirent reads directory entries from fd and writes them into buf. 11 | func ReadDirent(fd int, buf []byte) (n int, err error) { 12 | return Getdents(fd, buf) 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/readdirent_getdirentries.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin 6 | // +build darwin 7 | 8 | package unix 9 | 10 | import "unsafe" 11 | 12 | // ReadDirent reads directory entries from fd and writes them into buf. 13 | func ReadDirent(fd int, buf []byte) (n int, err error) { 14 | // Final argument is (basep *uintptr) and the syscall doesn't take nil. 15 | // 64 bits should be enough. (32 bits isn't even on 386). Since the 16 | // actual system call is getdirentries64, 64 is a good guess. 17 | // TODO(rsc): Can we use a single global basep for all calls? 18 | var base = (*uintptr)(unsafe.Pointer(new(uint64))) 19 | return Getdirentries(fd, buf, base) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package unix 6 | 7 | // Round the length of a raw sockaddr up to align it properly. 8 | func cmsgAlignOf(salen int) int { 9 | salign := SizeofPtr 10 | if SizeofPtr == 8 && !supportsABI(_dragonflyABIChangeVersion) { 11 | // 64-bit Dragonfly before the September 2019 ABI changes still requires 12 | // 32-bit aligned access to network subsystem. 13 | salign = 4 14 | } 15 | return (salen + salign - 1) & ^(salign - 1) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_hurd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build hurd 6 | // +build hurd 7 | 8 | package unix 9 | 10 | /* 11 | #include 12 | int ioctl(int, unsigned long int, uintptr_t); 13 | */ 14 | import "C" 15 | 16 | func ioctl(fd int, req uint, arg uintptr) (err error) { 17 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg)) 18 | if r0 == -1 && er != nil { 19 | err = er 20 | } 21 | return 22 | } 23 | 24 | func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { 25 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(uintptr(arg))) 26 | if r0 == -1 && er != nil { 27 | err = er 28 | } 29 | return 30 | } 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_hurd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build 386 && hurd 6 | // +build 386,hurd 7 | 8 | package unix 9 | 10 | const ( 11 | TIOCGETA = 0x62251713 12 | ) 13 | 14 | type Winsize struct { 15 | Row uint16 16 | Col uint16 17 | Xpixel uint16 18 | Ypixel uint16 19 | } 20 | 21 | type Termios struct { 22 | Iflag uint32 23 | Oflag uint32 24 | Cflag uint32 25 | Lflag uint32 26 | Cc [20]uint8 27 | Ispeed int32 28 | Ospeed int32 29 | } 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_alarm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64) 6 | // +build linux 7 | // +build 386 amd64 mips mipsle mips64 mipsle ppc64 ppc64le ppc s390x sparc64 8 | 9 | package unix 10 | 11 | // SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH 12 | // values. 13 | 14 | //sys Alarm(seconds uint) (remaining uint, err error) 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && linux && gc 6 | // +build amd64,linux,gc 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | //go:noescape 13 | func gettimeofday(tv *Timeval) (err syscall.Errno) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gc 6 | // +build linux,gc 7 | 8 | package unix 9 | 10 | // SyscallNoError may be used instead of Syscall for syscalls that don't fail. 11 | func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 12 | 13 | // RawSyscallNoError may be used instead of RawSyscall for syscalls that don't 14 | // fail. 15 | func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 16 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gc && 386 6 | // +build linux,gc,386 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | // Underlying system call writes to newoffset via pointer. 13 | // Implemented in assembly to avoid allocation. 14 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 15 | 16 | func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) 17 | func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && gc && linux 6 | // +build arm,gc,linux 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | // Underlying system call writes to newoffset via pointer. 13 | // Implemented in assembly to avoid allocation. 14 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gccgo && arm 6 | // +build linux,gccgo,arm 7 | 8 | package unix 9 | 10 | import ( 11 | "syscall" 12 | "unsafe" 13 | ) 14 | 15 | func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { 16 | var newoffset int64 17 | offsetLow := uint32(offset & 0xffffffff) 18 | offsetHigh := uint32((offset >> 32) & 0xffffffff) 19 | _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) 20 | return newoffset, err 21 | } 22 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build 386 && netbsd 6 | // +build 386,netbsd 7 | 8 | package unix 9 | 10 | func setTimespec(sec, nsec int64) Timespec { 11 | return Timespec{Sec: sec, Nsec: int32(nsec)} 12 | } 13 | 14 | func setTimeval(sec, usec int64) Timeval { 15 | return Timeval{Sec: sec, Usec: int32(usec)} 16 | } 17 | 18 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 19 | k.Ident = uint32(fd) 20 | k.Filter = uint32(mode) 21 | k.Flags = uint32(flags) 22 | } 23 | 24 | func (iov *Iovec) SetLen(length int) { 25 | iov.Len = uint32(length) 26 | } 27 | 28 | func (msghdr *Msghdr) SetControllen(length int) { 29 | msghdr.Controllen = uint32(length) 30 | } 31 | 32 | func (msghdr *Msghdr) SetIovlen(length int) { 33 | msghdr.Iovlen = int32(length) 34 | } 35 | 36 | func (cmsg *Cmsghdr) SetLen(length int) { 37 | cmsg.Len = uint32(length) 38 | } 39 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && netbsd 6 | // +build amd64,netbsd 7 | 8 | package unix 9 | 10 | func setTimespec(sec, nsec int64) Timespec { 11 | return Timespec{Sec: sec, Nsec: nsec} 12 | } 13 | 14 | func setTimeval(sec, usec int64) Timeval { 15 | return Timeval{Sec: sec, Usec: int32(usec)} 16 | } 17 | 18 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 19 | k.Ident = uint64(fd) 20 | k.Filter = uint32(mode) 21 | k.Flags = uint32(flags) 22 | } 23 | 24 | func (iov *Iovec) SetLen(length int) { 25 | iov.Len = uint64(length) 26 | } 27 | 28 | func (msghdr *Msghdr) SetControllen(length int) { 29 | msghdr.Controllen = uint32(length) 30 | } 31 | 32 | func (msghdr *Msghdr) SetIovlen(length int) { 33 | msghdr.Iovlen = int32(length) 34 | } 35 | 36 | func (cmsg *Cmsghdr) SetLen(length int) { 37 | cmsg.Len = uint32(length) 38 | } 39 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && netbsd 6 | // +build arm,netbsd 7 | 8 | package unix 9 | 10 | func setTimespec(sec, nsec int64) Timespec { 11 | return Timespec{Sec: sec, Nsec: int32(nsec)} 12 | } 13 | 14 | func setTimeval(sec, usec int64) Timeval { 15 | return Timeval{Sec: sec, Usec: int32(usec)} 16 | } 17 | 18 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 19 | k.Ident = uint32(fd) 20 | k.Filter = uint32(mode) 21 | k.Flags = uint32(flags) 22 | } 23 | 24 | func (iov *Iovec) SetLen(length int) { 25 | iov.Len = uint32(length) 26 | } 27 | 28 | func (msghdr *Msghdr) SetControllen(length int) { 29 | msghdr.Controllen = uint32(length) 30 | } 31 | 32 | func (msghdr *Msghdr) SetIovlen(length int) { 33 | msghdr.Iovlen = int32(length) 34 | } 35 | 36 | func (cmsg *Cmsghdr) SetLen(length int) { 37 | cmsg.Len = uint32(length) 38 | } 39 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm64 && netbsd 6 | // +build arm64,netbsd 7 | 8 | package unix 9 | 10 | func setTimespec(sec, nsec int64) Timespec { 11 | return Timespec{Sec: sec, Nsec: nsec} 12 | } 13 | 14 | func setTimeval(sec, usec int64) Timeval { 15 | return Timeval{Sec: sec, Usec: int32(usec)} 16 | } 17 | 18 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 19 | k.Ident = uint64(fd) 20 | k.Filter = uint32(mode) 21 | k.Flags = uint32(flags) 22 | } 23 | 24 | func (iov *Iovec) SetLen(length int) { 25 | iov.Len = uint64(length) 26 | } 27 | 28 | func (msghdr *Msghdr) SetControllen(length int) { 29 | msghdr.Controllen = uint32(length) 30 | } 31 | 32 | func (msghdr *Msghdr) SetIovlen(length int) { 33 | msghdr.Iovlen = int32(length) 34 | } 35 | 36 | func (cmsg *Cmsghdr) SetLen(length int) { 37 | cmsg.Len = uint32(length) 38 | } 39 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && solaris 6 | // +build amd64,solaris 7 | 8 | package unix 9 | 10 | func setTimespec(sec, nsec int64) Timespec { 11 | return Timespec{Sec: sec, Nsec: nsec} 12 | } 13 | 14 | func setTimeval(sec, usec int64) Timeval { 15 | return Timeval{Sec: sec, Usec: usec} 16 | } 17 | 18 | func (iov *Iovec) SetLen(length int) { 19 | iov.Len = uint64(length) 20 | } 21 | 22 | func (msghdr *Msghdr) SetIovlen(length int) { 23 | msghdr.Iovlen = int32(length) 24 | } 25 | 26 | func (cmsg *Cmsghdr) SetLen(length int) { 27 | cmsg.Len = uint32(length) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_unix_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || dragonfly || freebsd || (linux && !ppc64 && !ppc64le) || netbsd || openbsd || solaris) && gc 6 | // +build darwin dragonfly freebsd linux,!ppc64,!ppc64le netbsd openbsd solaris 7 | // +build gc 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 14 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 15 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 16 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (ppc64le || ppc64) && gc 6 | // +build linux 7 | // +build ppc64le ppc64 8 | // +build gc 9 | 10 | package unix 11 | 12 | import "syscall" 13 | 14 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { 15 | return syscall.Syscall(trap, a1, a2, a3) 16 | } 17 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { 18 | return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6) 19 | } 20 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { 21 | return syscall.RawSyscall(trap, a1, a2, a3) 22 | } 23 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { 24 | return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6) 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/sysvshm_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux 6 | // +build linux 7 | 8 | package unix 9 | 10 | import "runtime" 11 | 12 | // SysvShmCtl performs control operations on the shared memory segment 13 | // specified by id. 14 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 15 | if runtime.GOARCH == "arm" || 16 | runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" { 17 | cmd |= ipc_64 18 | } 19 | 20 | return shmctl(id, cmd, desc) 21 | } 22 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/sysvshm_unix_other.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin && !ios 6 | // +build darwin,!ios 7 | 8 | package unix 9 | 10 | // SysvShmCtl performs control operations on the shared memory segment 11 | // specified by id. 12 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 13 | return shmctl(id, cmd, desc) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go: -------------------------------------------------------------------------------- 1 | // Code generated by linux/mkall.go generatePtraceRegSet("arm64"). DO NOT EDIT. 2 | 3 | package unix 4 | 5 | import "unsafe" 6 | 7 | // PtraceGetRegSetArm64 fetches the registers used by arm64 binaries. 8 | func PtraceGetRegSetArm64(pid, addr int, regsout *PtraceRegsArm64) error { 9 | iovec := Iovec{(*byte)(unsafe.Pointer(regsout)), uint64(unsafe.Sizeof(*regsout))} 10 | return ptracePtr(PTRACE_GETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec)) 11 | } 12 | 13 | // PtraceSetRegSetArm64 sets the registers used by arm64 binaries. 14 | func PtraceSetRegSetArm64(pid, addr int, regs *PtraceRegsArm64) error { 15 | iovec := Iovec{(*byte)(unsafe.Pointer(regs)), uint64(unsafe.Sizeof(*regs))} 16 | return ptracePtr(PTRACE_SETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec)) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/aliases.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows && go1.9 6 | // +build windows,go1.9 7 | 8 | package windows 9 | 10 | import "syscall" 11 | 12 | type Errno = syscall.Errno 13 | type SysProcAttr = syscall.SysProcAttr 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/empty.s: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.12 6 | // +build !go1.12 7 | 8 | // This file is here to allow bodyless functions with go:linkname for Go 1.11 9 | // and earlier (see https://golang.org/issue/23311). 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/eventlog.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | // +build windows 7 | 8 | package windows 9 | 10 | const ( 11 | EVENTLOG_SUCCESS = 0 12 | EVENTLOG_ERROR_TYPE = 1 13 | EVENTLOG_WARNING_TYPE = 2 14 | EVENTLOG_INFORMATION_TYPE = 4 15 | EVENTLOG_AUDIT_SUCCESS = 8 16 | EVENTLOG_AUDIT_FAILURE = 16 17 | ) 18 | 19 | //sys RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) [failretval==0] = advapi32.RegisterEventSourceW 20 | //sys DeregisterEventSource(handle Handle) (err error) = advapi32.DeregisterEventSource 21 | //sys ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) = advapi32.ReportEventW 22 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/mksyscall.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build generate 6 | // +build generate 7 | 8 | package windows 9 | 10 | //go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go setupapi_windows.go 11 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/race.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows && race 6 | // +build windows,race 7 | 8 | package windows 9 | 10 | import ( 11 | "runtime" 12 | "unsafe" 13 | ) 14 | 15 | const raceenabled = true 16 | 17 | func raceAcquire(addr unsafe.Pointer) { 18 | runtime.RaceAcquire(addr) 19 | } 20 | 21 | func raceReleaseMerge(addr unsafe.Pointer) { 22 | runtime.RaceReleaseMerge(addr) 23 | } 24 | 25 | func raceReadRange(addr unsafe.Pointer, len int) { 26 | runtime.RaceReadRange(addr, len) 27 | } 28 | 29 | func raceWriteRange(addr unsafe.Pointer, len int) { 30 | runtime.RaceWriteRange(addr, len) 31 | } 32 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows && !race 6 | // +build windows,!race 7 | 8 | package windows 9 | 10 | import ( 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = false 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | } 18 | 19 | func raceReleaseMerge(addr unsafe.Pointer) { 20 | } 21 | 22 | func raceReadRange(addr unsafe.Pointer, len int) { 23 | } 24 | 25 | func raceWriteRange(addr unsafe.Pointer, len int) { 26 | } 27 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/str.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | // +build windows 7 | 8 | package windows 9 | 10 | func itoa(val int) string { // do it here rather than with fmt to avoid dependency 11 | if val < 0 { 12 | return "-" + itoa(-val) 13 | } 14 | var buf [32]byte // big enough for int64 15 | i := len(buf) - 1 16 | for val >= 10 { 17 | buf[i] = byte(val%10 + '0') 18 | i-- 19 | val /= 10 20 | } 21 | buf[i] = byte(val + '0') 22 | return string(buf[i:]) 23 | } 24 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/types_windows_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | MaxSockets uint16 11 | MaxUdpDg uint16 12 | VendorInfo *byte 13 | Description [WSADESCRIPTION_LEN + 1]byte 14 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Proto *byte 21 | Port uint16 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | } 35 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/types_windows_arm64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | MaxSockets uint16 11 | MaxUdpDg uint16 12 | VendorInfo *byte 13 | Description [WSADESCRIPTION_LEN + 1]byte 14 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Proto *byte 21 | Port uint16 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | } 35 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.10 6 | // +build go1.10 7 | 8 | package bidirule 9 | 10 | func (t *Transformer) isFinal() bool { 11 | return t.state == ruleLTRFinal || t.state == ruleRTLFinal || t.state == ruleInitial 12 | } 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.10 6 | // +build !go1.10 7 | 8 | package bidirule 9 | 10 | func (t *Transformer) isFinal() bool { 11 | if !t.isRTL() { 12 | return true 13 | } 14 | return t.state == ruleLTRFinal || t.state == ruleRTLFinal || t.state == ruleInitial 15 | } 16 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/encoding/prototext/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package prototext marshals and unmarshals protocol buffer messages as the 6 | // textproto format. 7 | package prototext 8 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/editiondefaults/defaults.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package editiondefaults contains the binary representation of the editions 6 | // defaults. 7 | package editiondefaults 8 | 9 | import _ "embed" 10 | 11 | //go:embed editions_defaults.binpb 12 | var Defaults []byte 13 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/cce161862be77c541b1b1eac8899e7012f5a9985/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/errors/is_go112.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.13 6 | // +build !go1.13 7 | 8 | package errors 9 | 10 | import "reflect" 11 | 12 | // Is is a copy of Go 1.13's errors.Is for use with older Go versions. 13 | func Is(err, target error) bool { 14 | if target == nil { 15 | return err == target 16 | } 17 | 18 | isComparable := reflect.TypeOf(target).Comparable() 19 | for { 20 | if isComparable && err == target { 21 | return true 22 | } 23 | if x, ok := err.(interface{ Is(error) bool }); ok && x.Is(target) { 24 | return true 25 | } 26 | if err = unwrap(err); err == nil { 27 | return false 28 | } 29 | } 30 | } 31 | 32 | func unwrap(err error) error { 33 | u, ok := err.(interface { 34 | Unwrap() error 35 | }) 36 | if !ok { 37 | return nil 38 | } 39 | return u.Unwrap() 40 | } 41 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/errors/is_go113.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.13 6 | // +build go1.13 7 | 8 | package errors 9 | 10 | import "errors" 11 | 12 | // Is is errors.Is. 13 | func Is(err, target error) bool { return errors.Is(err, target) } 14 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !protolegacy 6 | // +build !protolegacy 7 | 8 | package flags 9 | 10 | const protoLegacy = false 11 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build protolegacy 6 | // +build protolegacy 7 | 8 | package flags 9 | 10 | const protoLegacy = true 11 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/genid/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package genid contains constants for declarations in descriptor.proto 6 | // and the well-known types. 7 | package genid 8 | 9 | import protoreflect "google.golang.org/protobuf/reflect/protoreflect" 10 | 11 | const GoogleProtobuf_package protoreflect.FullName = "google.protobuf" 12 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/genid/empty_gen.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Code generated by generate-protos. DO NOT EDIT. 6 | 7 | package genid 8 | 9 | import ( 10 | protoreflect "google.golang.org/protobuf/reflect/protoreflect" 11 | ) 12 | 13 | const File_google_protobuf_empty_proto = "google/protobuf/empty.proto" 14 | 15 | // Names for google.protobuf.Empty. 16 | const ( 17 | Empty_message_name protoreflect.Name = "Empty" 18 | Empty_message_fullname protoreflect.FullName = "google.protobuf.Empty" 19 | ) 20 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/genid/goname.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package genid 6 | 7 | // Go names of implementation-specific struct fields in generated messages. 8 | const ( 9 | State_goname = "state" 10 | 11 | SizeCache_goname = "sizeCache" 12 | SizeCacheA_goname = "XXX_sizecache" 13 | 14 | WeakFields_goname = "weakFields" 15 | WeakFieldsA_goname = "XXX_weak" 16 | 17 | UnknownFields_goname = "unknownFields" 18 | UnknownFieldsA_goname = "XXX_unrecognized" 19 | 20 | ExtensionFields_goname = "extensionFields" 21 | ExtensionFieldsA_goname = "XXX_InternalExtensions" 22 | ExtensionFieldsB_goname = "XXX_extensions" 23 | 24 | WeakFieldPrefix_goname = "XXX_weak_" 25 | ) 26 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/genid/map_entry.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package genid 6 | 7 | import protoreflect "google.golang.org/protobuf/reflect/protoreflect" 8 | 9 | // Generic field names and numbers for synthetic map entry messages. 10 | const ( 11 | MapEntry_Key_field_name protoreflect.Name = "key" 12 | MapEntry_Value_field_name protoreflect.Name = "value" 13 | 14 | MapEntry_Key_field_number protoreflect.FieldNumber = 1 15 | MapEntry_Value_field_number protoreflect.FieldNumber = 2 16 | ) 17 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/genid/wrappers.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package genid 6 | 7 | import protoreflect "google.golang.org/protobuf/reflect/protoreflect" 8 | 9 | // Generic field name and number for messages in wrappers.proto. 10 | const ( 11 | WrapperValue_Value_field_name protoreflect.Name = "value" 12 | WrapperValue_Value_field_number protoreflect.FieldNumber = 1 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.12 6 | // +build !go1.12 7 | 8 | package impl 9 | 10 | import "reflect" 11 | 12 | type mapIter struct { 13 | v reflect.Value 14 | keys []reflect.Value 15 | } 16 | 17 | // mapRange provides a less-efficient equivalent to 18 | // the Go 1.12 reflect.Value.MapRange method. 19 | func mapRange(v reflect.Value) *mapIter { 20 | return &mapIter{v: v} 21 | } 22 | 23 | func (i *mapIter) Next() bool { 24 | if i.keys == nil { 25 | i.keys = i.v.MapKeys() 26 | } else { 27 | i.keys = i.keys[1:] 28 | } 29 | return len(i.keys) > 0 30 | } 31 | 32 | func (i *mapIter) Key() reflect.Value { 33 | return i.keys[0] 34 | } 35 | 36 | func (i *mapIter) Value() reflect.Value { 37 | return i.v.MapIndex(i.keys[0]) 38 | } 39 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.12 6 | // +build go1.12 7 | 8 | package impl 9 | 10 | import "reflect" 11 | 12 | func mapRange(v reflect.Value) *reflect.MapIter { return v.MapRange() } 13 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !purego && !appengine 6 | // +build !purego,!appengine 7 | 8 | package impl 9 | 10 | // When using unsafe pointers, we can just treat enum values as int32s. 11 | 12 | var ( 13 | coderEnumNoZero = coderInt32NoZero 14 | coderEnum = coderInt32 15 | coderEnumPtr = coderInt32Ptr 16 | coderEnumSlice = coderInt32Slice 17 | coderEnumPackedSlice = coderInt32PackedSlice 18 | ) 19 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/impl/enum.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package impl 6 | 7 | import ( 8 | "reflect" 9 | 10 | "google.golang.org/protobuf/reflect/protoreflect" 11 | ) 12 | 13 | type EnumInfo struct { 14 | GoReflectType reflect.Type // int32 kind 15 | Desc protoreflect.EnumDescriptor 16 | } 17 | 18 | func (t *EnumInfo) New(n protoreflect.EnumNumber) protoreflect.Enum { 19 | return reflect.ValueOf(n).Convert(t.GoReflectType).Interface().(protoreflect.Enum) 20 | } 21 | func (t *EnumInfo) Descriptor() protoreflect.EnumDescriptor { return t.Desc } 22 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/strs/strings_pure.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build purego || appengine 6 | // +build purego appengine 7 | 8 | package strs 9 | 10 | import pref "google.golang.org/protobuf/reflect/protoreflect" 11 | 12 | func UnsafeString(b []byte) string { 13 | return string(b) 14 | } 15 | 16 | func UnsafeBytes(s string) []byte { 17 | return []byte(s) 18 | } 19 | 20 | type Builder struct{} 21 | 22 | func (*Builder) AppendFullName(prefix pref.FullName, name pref.Name) pref.FullName { 23 | return prefix.Append(name) 24 | } 25 | 26 | func (*Builder) MakeString(b []byte) string { 27 | return string(b) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/proto/proto_methods.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // The protoreflect build tag disables use of fast-path methods. 6 | //go:build !protoreflect 7 | // +build !protoreflect 8 | 9 | package proto 10 | 11 | import ( 12 | "google.golang.org/protobuf/reflect/protoreflect" 13 | "google.golang.org/protobuf/runtime/protoiface" 14 | ) 15 | 16 | const hasProtoMethods = true 17 | 18 | func protoMethods(m protoreflect.Message) *protoiface.Methods { 19 | return m.ProtoMethods() 20 | } 21 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/proto/proto_reflect.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // The protoreflect build tag disables use of fast-path methods. 6 | //go:build protoreflect 7 | // +build protoreflect 8 | 9 | package proto 10 | 11 | import ( 12 | "google.golang.org/protobuf/reflect/protoreflect" 13 | "google.golang.org/protobuf/runtime/protoiface" 14 | ) 15 | 16 | const hasProtoMethods = false 17 | 18 | func protoMethods(m protoreflect.Message) *protoiface.Methods { 19 | return nil 20 | } 21 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package protoiface 6 | 7 | type MessageV1 interface { 8 | Reset() 9 | String() string 10 | ProtoMessage() 11 | } 12 | 13 | type ExtensionRangeV1 struct { 14 | Start, End int32 // both inclusive 15 | } 16 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.proto: -------------------------------------------------------------------------------- 1 | // Protocol Buffers - Google's data interchange format 2 | // Copyright 2023 Google Inc. All rights reserved. 3 | // 4 | // Use of this source code is governed by a BSD-style 5 | // license that can be found in the LICENSE file or at 6 | // https://developers.google.com/open-source/licenses/bsd 7 | 8 | syntax = "proto2"; 9 | 10 | package google.protobuf; 11 | 12 | import "google/protobuf/descriptor.proto"; 13 | 14 | option go_package = "google.golang.org/protobuf/types/gofeaturespb"; 15 | 16 | extend google.protobuf.FeatureSet { 17 | optional GoFeatures go = 1002; 18 | } 19 | 20 | message GoFeatures { 21 | // Whether or not to generate the deprecated UnmarshalJSON method for enums. 22 | optional bool legacy_unmarshal_json_enum = 1 [ 23 | retention = RETENTION_RUNTIME, 24 | targets = TARGET_TYPE_ENUM, 25 | edition_defaults = { edition: EDITION_PROTO2, value: "true" }, 26 | edition_defaults = { edition: EDITION_PROTO3, value: "false" } 27 | ]; 28 | } 29 | -------------------------------------------------------------------------------- /vendor/gopkg.in/yaml.v2/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - "1.4.x" 5 | - "1.5.x" 6 | - "1.6.x" 7 | - "1.7.x" 8 | - "1.8.x" 9 | - "1.9.x" 10 | - "1.10.x" 11 | - "1.11.x" 12 | - "1.12.x" 13 | - "1.13.x" 14 | - "1.14.x" 15 | - "tip" 16 | 17 | go_import_path: gopkg.in/yaml.v2 18 | -------------------------------------------------------------------------------- /vendor/gopkg.in/yaml.v2/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2011-2016 Canonical Ltd. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /vendor/gopkg.in/yaml.v2/writerc.go: -------------------------------------------------------------------------------- 1 | package yaml 2 | 3 | // Set the writer error and return false. 4 | func yaml_emitter_set_writer_error(emitter *yaml_emitter_t, problem string) bool { 5 | emitter.error = yaml_WRITER_ERROR 6 | emitter.problem = problem 7 | return false 8 | } 9 | 10 | // Flush the output buffer. 11 | func yaml_emitter_flush(emitter *yaml_emitter_t) bool { 12 | if emitter.write_handler == nil { 13 | panic("write handler not set") 14 | } 15 | 16 | // Check if the buffer is empty. 17 | if emitter.buffer_pos == 0 { 18 | return true 19 | } 20 | 21 | if err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil { 22 | return yaml_emitter_set_writer_error(emitter, "write error: "+err.Error()) 23 | } 24 | emitter.buffer_pos = 0 25 | return true 26 | } 27 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - thockin 5 | - lavalamp 6 | - smarterclayton 7 | - wojtek-t 8 | - deads2k 9 | - derekwaynecarr 10 | - caesarxuchao 11 | - mikedanese 12 | - liggitt 13 | - saad-ali 14 | - janetkuo 15 | - tallclair 16 | - dims 17 | - cjcullen 18 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/api/errors/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package errors provides detailed error types for api field validation. 18 | package errors // import "k8s.io/apimachinery/pkg/api/errors" 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - thockin 5 | - lavalamp 6 | - smarterclayton 7 | - wojtek-t 8 | - derekwaynecarr 9 | - mikedanese 10 | - saad-ali 11 | - janetkuo 12 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - thockin 5 | - smarterclayton 6 | - wojtek-t 7 | - deads2k 8 | - caesarxuchao 9 | - liggitt 10 | - sttts 11 | - luxas 12 | - janetkuo 13 | - justinsb 14 | - ncdc 15 | - soltysh 16 | - dims 17 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/apis/meta/v1/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // +k8s:conversion-gen=false 18 | // +k8s:deepcopy-gen=package 19 | // +k8s:openapi-gen=true 20 | // +k8s:defaulter-gen=TypeMeta 21 | 22 | // +groupName=meta.k8s.io 23 | 24 | package v1 // import "k8s.io/apimachinery/pkg/apis/meta/v1" 25 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/conversion/queryparams/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package queryparams provides conversion from versioned 18 | // runtime objects to URL query values 19 | package queryparams // import "k8s.io/apimachinery/pkg/conversion/queryparams" 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/fields/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package fields implements a simple field system, parsing and matching 18 | // selectors with sets of fields. 19 | package fields // import "k8s.io/apimachinery/pkg/fields" 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/labels/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package labels implements a simple label system, parsing and matching 18 | // selectors with sets of labels. 19 | package labels // import "k8s.io/apimachinery/pkg/labels" 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/runtime/schema/generated.proto: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | 18 | // This file was autogenerated by go-to-protobuf. Do not edit it manually! 19 | 20 | syntax = "proto2"; 21 | 22 | package k8s.io.apimachinery.pkg.runtime.schema; 23 | 24 | // Package-wide variables from generator "generated". 25 | option go_package = "k8s.io/apimachinery/pkg/runtime/schema"; 26 | 27 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/types/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package types implements various generic types used throughout kubernetes. 18 | package types // import "k8s.io/apimachinery/pkg/types" 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/types/uid.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package types 18 | 19 | // UID is a type that holds unique ID values, including UUIDs. Because we 20 | // don't ONLY use UUIDs, this is an alias to string. Being a type captures 21 | // intent and helps make sure that UIDs and names do not get conflated. 22 | type UID string 23 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/util/errors/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package errors implements various utility functions and types around errors. 18 | package errors // import "k8s.io/apimachinery/pkg/util/errors" 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/util/sets/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package sets has generic set and specified sets. Generic set will 18 | // replace specified ones over time. And specific ones are deprecated. 19 | package sets 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/util/sets/empty.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package sets 18 | 19 | // Empty is public since it is used by some internal API objects for conversions between external 20 | // string arrays and internal sets, and conversion logic requires public types today. 21 | type Empty struct{} 22 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/util/wait/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package wait provides tools for polling or listening for changes 18 | // to a condition. 19 | package wait // import "k8s.io/apimachinery/pkg/util/wait" 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/apimachinery/pkg/watch/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package watch contains a generic watchable interface, and a fake for 18 | // testing code that uses the watch interface. 19 | package watch // import "k8s.io/apimachinery/pkg/watch" 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/client-go/util/retry/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - caesarxuchao 5 | -------------------------------------------------------------------------------- /vendor/k8s.io/klog/v2/.gitignore: -------------------------------------------------------------------------------- 1 | # OSX leaves these everywhere on SMB shares 2 | ._* 3 | 4 | # OSX trash 5 | .DS_Store 6 | 7 | # Eclipse files 8 | .classpath 9 | .project 10 | .settings/** 11 | 12 | # Files generated by JetBrains IDEs, e.g. IntelliJ IDEA 13 | .idea/ 14 | *.iml 15 | 16 | # Vscode files 17 | .vscode 18 | -------------------------------------------------------------------------------- /vendor/k8s.io/klog/v2/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | reviewers: 3 | - harshanarayana 4 | - pohly 5 | approvers: 6 | - dims 7 | - thockin 8 | - serathius 9 | emeritus_approvers: 10 | - brancz 11 | - justinsb 12 | - lavalamp 13 | - piosz 14 | - tallclair 15 | -------------------------------------------------------------------------------- /vendor/k8s.io/klog/v2/RELEASE.md: -------------------------------------------------------------------------------- 1 | # Release Process 2 | 3 | The `klog` is released on an as-needed basis. The process is as follows: 4 | 5 | 1. An issue is proposing a new release with a changelog since the last release 6 | 1. All [OWNERS](OWNERS) must LGTM this release 7 | 1. An OWNER runs `git tag -s $VERSION` and inserts the changelog and pushes the tag with `git push $VERSION` 8 | 1. The release issue is closed 9 | 1. An announcement email is sent to `kubernetes-dev@googlegroups.com` with the subject `[ANNOUNCE] kubernetes-template-project $VERSION is released` 10 | -------------------------------------------------------------------------------- /vendor/k8s.io/klog/v2/SECURITY_CONTACTS: -------------------------------------------------------------------------------- 1 | # Defined below are the security contacts for this repo. 2 | # 3 | # They are the contact point for the Product Security Committee to reach out 4 | # to for triaging and handling of incoming issues. 5 | # 6 | # The below names agree to abide by the 7 | # [Embargo Policy](https://git.k8s.io/security/private-distributors-list.md#embargo-policy) 8 | # and will be removed and replaced if they violate that agreement. 9 | # 10 | # DO NOT REPORT SECURITY VULNERABILITIES DIRECTLY TO THESE NAMES, FOLLOW THE 11 | # INSTRUCTIONS AT https://kubernetes.io/security/ 12 | 13 | dims 14 | thockin 15 | justinsb 16 | tallclair 17 | piosz 18 | brancz 19 | DirectXMan12 20 | lavalamp 21 | -------------------------------------------------------------------------------- /vendor/k8s.io/klog/v2/code-of-conduct.md: -------------------------------------------------------------------------------- 1 | # Kubernetes Community Code of Conduct 2 | 3 | Please refer to our [Kubernetes Community Code of Conduct](https://git.k8s.io/community/code-of-conduct.md) 4 | -------------------------------------------------------------------------------- /vendor/k8s.io/klog/v2/internal/clock/README.md: -------------------------------------------------------------------------------- 1 | # Clock 2 | 3 | This package provides an interface for time-based operations. It allows 4 | mocking time for testing. 5 | 6 | This is a copy of k8s.io/utils/clock. We have to copy it to avoid a circular 7 | dependency (k8s.io/klog -> k8s.io/utils -> k8s.io/klog). 8 | -------------------------------------------------------------------------------- /vendor/k8s.io/klog/v2/klog_file_others.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | // +build !windows 3 | 4 | package klog 5 | 6 | import ( 7 | "os/user" 8 | ) 9 | 10 | func getUserName() string { 11 | userNameOnce.Do(func() { 12 | current, err := user.Current() 13 | if err == nil { 14 | userName = current.Username 15 | } 16 | }) 17 | 18 | return userName 19 | } 20 | -------------------------------------------------------------------------------- /vendor/k8s.io/klog/v2/klog_file_windows.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | // +build windows 3 | 4 | package klog 5 | 6 | import ( 7 | "os" 8 | "strings" 9 | ) 10 | 11 | func getUserName() string { 12 | userNameOnce.Do(func() { 13 | // On Windows, the Go 'user' package requires netapi32.dll. 14 | // This affects Windows Nano Server: 15 | // https://github.com/golang/go/issues/21867 16 | // Fallback to using environment variables. 17 | u := os.Getenv("USERNAME") 18 | if len(u) == 0 { 19 | return 20 | } 21 | // Sanitize the USERNAME since it may contain filepath separators. 22 | u = strings.Replace(u, `\`, "_", -1) 23 | 24 | // user.Current().Username normally produces something like 'USERDOMAIN\USERNAME' 25 | d := os.Getenv("USERDOMAIN") 26 | if len(d) != 0 { 27 | userName = d + "_" + u 28 | } else { 29 | userName = u 30 | } 31 | }) 32 | 33 | return userName 34 | } 35 | -------------------------------------------------------------------------------- /vendor/k8s.io/test-infra/prow/secretutil/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package secretutil contains utilities for operating with secret data. 18 | package secretutil 19 | -------------------------------------------------------------------------------- /vendor/k8s.io/utils/clock/README.md: -------------------------------------------------------------------------------- 1 | # Clock 2 | 3 | This package provides an interface for time-based operations. It allows 4 | mocking time for testing. 5 | -------------------------------------------------------------------------------- /vendor/sigs.k8s.io/json/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: default build test benchmark fmt vet 2 | 3 | default: build 4 | 5 | build: 6 | go build ./... 7 | 8 | test: 9 | go test sigs.k8s.io/json/... 10 | 11 | benchmark: 12 | go test sigs.k8s.io/json -bench . -benchmem 13 | 14 | fmt: 15 | go mod tidy 16 | gofmt -s -w *.go 17 | 18 | vet: 19 | go vet sigs.k8s.io/json 20 | 21 | @echo "checking for external dependencies" 22 | @deps=$$(go mod graph); \ 23 | if [ -n "$${deps}" ]; then \ 24 | echo "only stdlib dependencies allowed, found:"; \ 25 | echo "$${deps}"; \ 26 | exit 1; \ 27 | fi 28 | 29 | @echo "checking for unsafe use" 30 | @unsafe=$$(go list -f '{{.ImportPath}} depends on {{.Imports}}' sigs.k8s.io/json/... | grep unsafe || true); \ 31 | if [ -n "$${unsafe}" ]; then \ 32 | echo "no dependencies on unsafe allowed, found:"; \ 33 | echo "$${unsafe}"; \ 34 | exit 1; \ 35 | fi 36 | -------------------------------------------------------------------------------- /vendor/sigs.k8s.io/json/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | approvers: 4 | - deads2k 5 | - lavalamp 6 | - liggitt 7 | -------------------------------------------------------------------------------- /vendor/sigs.k8s.io/json/SECURITY_CONTACTS: -------------------------------------------------------------------------------- 1 | # Defined below are the security contacts for this repo. 2 | # 3 | # They are the contact point for the Product Security Committee to reach out 4 | # to for triaging and handling of incoming issues. 5 | # 6 | # The below names agree to abide by the 7 | # [Embargo Policy](https://git.k8s.io/security/private-distributors-list.md#embargo-policy) 8 | # and will be removed and replaced if they violate that agreement. 9 | # 10 | # DO NOT REPORT SECURITY VULNERABILITIES DIRECTLY TO THESE NAMES, FOLLOW THE 11 | # INSTRUCTIONS AT https://kubernetes.io/security/ 12 | 13 | deads2k 14 | lavalamp 15 | liggitt 16 | -------------------------------------------------------------------------------- /vendor/sigs.k8s.io/json/code-of-conduct.md: -------------------------------------------------------------------------------- 1 | # Kubernetes Community Code of Conduct 2 | 3 | Please refer to our [Kubernetes Community Code of Conduct](https://git.k8s.io/community/code-of-conduct.md) 4 | -------------------------------------------------------------------------------- /vendor/sigs.k8s.io/json/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2021 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package json // import "sigs.k8s.io/json" 18 | -------------------------------------------------------------------------------- /vendor/sigs.k8s.io/json/internal/golang/encoding/json/fuzz.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gofuzz 6 | 7 | package json 8 | 9 | import ( 10 | "fmt" 11 | ) 12 | 13 | func Fuzz(data []byte) (score int) { 14 | for _, ctor := range []func() any{ 15 | func() any { return new(any) }, 16 | func() any { return new(map[string]any) }, 17 | func() any { return new([]any) }, 18 | } { 19 | v := ctor() 20 | err := Unmarshal(data, v) 21 | if err != nil { 22 | continue 23 | } 24 | score = 1 25 | 26 | m, err := Marshal(v) 27 | if err != nil { 28 | fmt.Printf("v=%#v\n", v) 29 | panic(err) 30 | } 31 | 32 | u := ctor() 33 | err = Unmarshal(m, u) 34 | if err != nil { 35 | fmt.Printf("v=%#v\n", v) 36 | fmt.Printf("m=%s\n", m) 37 | panic(err) 38 | } 39 | } 40 | 41 | return 42 | } 43 | -------------------------------------------------------------------------------- /vendor/sigs.k8s.io/structured-merge-diff/v4/value/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package value defines types for an in-memory representation of yaml or json 18 | // objects, organized for convenient comparison with a schema (as defined by 19 | // the sibling schema package). Functions for reading and writing the objects 20 | // are also provided. 21 | package value 22 | -------------------------------------------------------------------------------- /vendor/sigs.k8s.io/yaml/.gitignore: -------------------------------------------------------------------------------- 1 | # OSX leaves these everywhere on SMB shares 2 | ._* 3 | 4 | # Eclipse files 5 | .classpath 6 | .project 7 | .settings/** 8 | 9 | # Idea files 10 | .idea/** 11 | .idea/ 12 | 13 | # Emacs save files 14 | *~ 15 | 16 | # Vim-related files 17 | [._]*.s[a-w][a-z] 18 | [._]s[a-w][a-z] 19 | *.un~ 20 | Session.vim 21 | .netrwhist 22 | 23 | # Go test binaries 24 | *.test 25 | -------------------------------------------------------------------------------- /vendor/sigs.k8s.io/yaml/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | arch: arm64 3 | dist: focal 4 | go: 1.15.x 5 | script: 6 | - diff -u <(echo -n) <(gofmt -d *.go) 7 | - diff -u <(echo -n) <(golint $(go list -e ./...) | grep -v YAMLToJSON) 8 | - GO111MODULE=on go vet . 9 | - GO111MODULE=on go test -v -race ./... 10 | - git diff --exit-code 11 | install: 12 | - GO111MODULE=off go get golang.org/x/lint/golint 13 | -------------------------------------------------------------------------------- /vendor/sigs.k8s.io/yaml/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | approvers: 4 | - dims 5 | - lavalamp 6 | - smarterclayton 7 | - deads2k 8 | - sttts 9 | - liggitt 10 | - caesarxuchao 11 | reviewers: 12 | - dims 13 | - thockin 14 | - lavalamp 15 | - smarterclayton 16 | - wojtek-t 17 | - deads2k 18 | - derekwaynecarr 19 | - caesarxuchao 20 | - mikedanese 21 | - liggitt 22 | - gmarek 23 | - sttts 24 | - ncdc 25 | - tallclair 26 | labels: 27 | - sig/api-machinery 28 | -------------------------------------------------------------------------------- /vendor/sigs.k8s.io/yaml/RELEASE.md: -------------------------------------------------------------------------------- 1 | # Release Process 2 | 3 | The `yaml` Project is released on an as-needed basis. The process is as follows: 4 | 5 | 1. An issue is proposing a new release with a changelog since the last release 6 | 1. All [OWNERS](OWNERS) must LGTM this release 7 | 1. An OWNER runs `git tag -s $VERSION` and inserts the changelog and pushes the tag with `git push $VERSION` 8 | 1. The release issue is closed 9 | 1. An announcement email is sent to `kubernetes-dev@googlegroups.com` with the subject `[ANNOUNCE] kubernetes-template-project $VERSION is released` 10 | -------------------------------------------------------------------------------- /vendor/sigs.k8s.io/yaml/SECURITY_CONTACTS: -------------------------------------------------------------------------------- 1 | # Defined below are the security contacts for this repo. 2 | # 3 | # They are the contact point for the Product Security Team to reach out 4 | # to for triaging and handling of incoming issues. 5 | # 6 | # The below names agree to abide by the 7 | # [Embargo Policy](https://github.com/kubernetes/sig-release/blob/master/security-release-process-documentation/security-release-process.md#embargo-policy) 8 | # and will be removed and replaced if they violate that agreement. 9 | # 10 | # DO NOT REPORT SECURITY VULNERABILITIES DIRECTLY TO THESE NAMES, FOLLOW THE 11 | # INSTRUCTIONS AT https://kubernetes.io/security/ 12 | 13 | cjcullen 14 | jessfraz 15 | liggitt 16 | philips 17 | tallclair 18 | -------------------------------------------------------------------------------- /vendor/sigs.k8s.io/yaml/code-of-conduct.md: -------------------------------------------------------------------------------- 1 | # Kubernetes Community Code of Conduct 2 | 3 | Please refer to our [Kubernetes Community Code of Conduct](https://git.k8s.io/community/code-of-conduct.md) 4 | -------------------------------------------------------------------------------- /vendor/sigs.k8s.io/yaml/yaml_go110.go: -------------------------------------------------------------------------------- 1 | // This file contains changes that are only compatible with go 1.10 and onwards. 2 | 3 | // +build go1.10 4 | 5 | package yaml 6 | 7 | import "encoding/json" 8 | 9 | // DisallowUnknownFields configures the JSON decoder to error out if unknown 10 | // fields come along, instead of dropping them by default. 11 | func DisallowUnknownFields(d *json.Decoder) *json.Decoder { 12 | d.DisallowUnknownFields() 13 | return d 14 | } 15 | --------------------------------------------------------------------------------