Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/_build_publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ env:
GH_EMAIL: "<41898282+github-actions[bot]@users.noreply.github.com>"
GH_REPO: "charts"
GITHUB_TOKEN: ${{ github.token }}
MISE_DISABLE_TOOLS: "clang-format,golangci-lint,skaffold"
MISE_DISABLE_TOOLS: "golangci-lint,skaffold"
jobs:
build-binaries:
timeout-minutes: 70
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/_e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
- uses: jdx/mise-action@5ac50f778e26fac95da98d50503682459e86d566 # v3.2.0
env:
GITHUB_TOKEN: ${{ github.token }}
MISE_DISABLE_TOOLS: "clang-format,golangci-lint,skaffold"
MISE_DISABLE_TOOLS: "golangci-lint,skaffold"
- name: "Free up disk space for the Runner"
run: |
echo "Disk usage before cleanup"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
- uses: jdx/mise-action@5ac50f778e26fac95da98d50503682459e86d566 # v3.2.0
env:
GITHUB_TOKEN: ${{ github.token }}
MISE_DISABLE_TOOLS: "clang-format,golangci-lint,skaffold"
MISE_DISABLE_TOOLS: "golangci-lint,skaffold"
- run: |
make test
gen_e2e_matrix:
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/build-test-distribute.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,17 +66,14 @@ jobs:
- uses: jdx/mise-action@5ac50f778e26fac95da98d50503682459e86d566 # v3.2.0
env:
GITHUB_TOKEN: ${{ github.token }}
MISE_DISABLE_TOOLS: "clang-format,golangci-lint,skaffold"
MISE_DISABLE_TOOLS: "golangci-lint,skaffold"
- uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
env:
GOGC: "80" # run GC more aggressively
with:
args: --fix=false --verbose
version: ${{ env.GOLANGCI_LINT_VERSION }}
- name: Run clang-format style check for Protobuf
uses: jidicula/clang-format-action@4726374d1aa3c6aecf132e5197e498979588ebc8 # v4.15.0
with:
clang-format-version: '13'

- run: |
make clean
- run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/merge-release-to-master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- uses: jdx/mise-action@5ac50f778e26fac95da98d50503682459e86d566 # v3.2.0
env:
GITHUB_TOKEN: ${{ github.token }}
MISE_DISABLE_TOOLS: "clang-format,golangci-lint,skaffold"
MISE_DISABLE_TOOLS: "golangci-lint,skaffold"
- run: |
git config --global user.email "110050114+kumahq[bot]@users.noreply.github.com"
git config --global user.name "kumahq[bot]"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/transparentproxy-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- uses: jdx/mise-action@5ac50f778e26fac95da98d50503682459e86d566 # v3.2.0
env:
GITHUB_TOKEN: ${{ github.token }}
MISE_DISABLE_TOOLS: "clang-format,golangci-lint,skaffold"
MISE_DISABLE_TOOLS: "golangci-lint,skaffold"
- name: "Enable IPv6 for Docker and enable necessary kernel modules for ip6tables"
run: |
cat <<'EOF' | sudo tee /etc/docker/daemon.json
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-insecure-dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
- uses: jdx/mise-action@5ac50f778e26fac95da98d50503682459e86d566 # v3.2.0
env:
GITHUB_TOKEN: ${{ github.token }}
MISE_DISABLE_TOOLS: "clang-format,golangci-lint,skaffold"
MISE_DISABLE_TOOLS: "golangci-lint,skaffold"
- name: "Install tools"
run: |
go install github.com/google/osv-scanner/cmd/osv-scanner@b13f37e1a1e4cb98556c1d34cd3256a876929be1 # v1.9.1
Expand Down
1 change: 0 additions & 1 deletion DEVELOPER.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ for any tools/libraries that you may be missing.
- [`unzip`](http://infozip.sourceforge.net/UnZip.html)
- [`make`](https://www.gnu.org/software/make/)
- [`go`](https://golang.org/)
- [`ninja`](https://github.com/ninja-build/ninja)
- [`mise`](https://mise.jdx.dev)

### Helper commands
Expand Down
2 changes: 1 addition & 1 deletion api/mesh/options.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions api/mesh/options.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ syntax = "proto3";

package kuma.mesh;

option go_package = "github.com/kumahq/kuma/api/mesh";

import "google/protobuf/descriptor.proto";

option go_package = "github.com/kumahq/kuma/api/mesh";

message KumaResourceOptions {
// Name of the Kuma resource struct.
string name = 1;
Expand Down Expand Up @@ -91,5 +91,5 @@ message KumaPolicyOptions {

extend google.protobuf.MessageOptions {
KumaResourceOptions resource = 43534533; // 'kuma'
KumaPolicyOptions policy = 43534534; // 'kuma'
KumaPolicyOptions policy = 43534534; // 'kuma'
}
2 changes: 1 addition & 1 deletion api/mesh/v1alpha1/circuit_breaker.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 5 additions & 4 deletions api/mesh/v1alpha1/circuit_breaker.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,15 @@ syntax = "proto3";

package kuma.mesh.v1alpha1;

option go_package = "github.com/kumahq/kuma/api/mesh/v1alpha1";

import "api/mesh/options.proto";
import "api/mesh/v1alpha1/selector.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/wrappers.proto";

option go_package = "github.com/kumahq/kuma/api/mesh/v1alpha1";

// CircuitBreaker defines circuit breaking policy for dataplane's outbound
message CircuitBreaker {

option (kuma.mesh.resource).name = "CircuitBreakerResource";
option (kuma.mesh.resource).type = "CircuitBreaker";
option (kuma.mesh.resource).package = "mesh";
Expand Down Expand Up @@ -39,7 +38,9 @@ message CircuitBreaker {

message Detectors {
// Detector based on counting consecutive number of errors
message Errors { google.protobuf.UInt32Value consecutive = 1; }
message Errors {
google.protobuf.UInt32Value consecutive = 1;
}
// Errors with status code 5xx and locally originated errors, in Split
// Mode - just errors with status code 5xx
Errors totalErrors = 1;
Expand Down
6 changes: 3 additions & 3 deletions api/mesh/v1alpha1/dataplane.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

46 changes: 22 additions & 24 deletions api/mesh/v1alpha1/dataplane.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,17 @@ syntax = "proto3";

package kuma.mesh.v1alpha1;

option go_package = "github.com/kumahq/kuma/api/mesh/v1alpha1";

import "api/mesh/options.proto";
import "api/mesh/v1alpha1/metrics.proto";
import "api/mesh/v1alpha1/envoy_admin.proto";
import "api/mesh/v1alpha1/metrics.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/wrappers.proto";
import "validate/validate.proto";

option go_package = "github.com/kumahq/kuma/api/mesh/v1alpha1";

// Dataplane defines a configuration of a side-car proxy.
message Dataplane {

option (kuma.mesh.resource).name = "DataplaneResource";
option (kuma.mesh.resource).short_name = "dp";
option (kuma.mesh.resource).type = "Dataplane";
Expand All @@ -24,25 +23,24 @@ message Dataplane {
option (kuma.mesh.resource).has_insights = true;
option (kuma.mesh.resource).is_proxy = true;
option (kuma.mesh.resource).additional_printer_columns =
"description=\"Service tag of the first "
"inbound\",JSONPath=`.spec.networking.inbound[0].tags[\'kuma\\.io/"
"service\']`,name=\"kuma.io/service\",type=string";
"description=\"Service tag of the first "
"inbound\",JSONPath=`.spec.networking.inbound[0].tags[\'kuma\\.io/"
"service\']`,name=\"kuma.io/service\",type=string";
option (kuma.mesh.resource).additional_printer_columns =
"description=\"Service tag of the second "
"inbound\",JSONPath=`.spec.networking.inbound[1].tags[\'kuma\\.io/"
"service\']`,name=\"kuma.io/service\",type=string";
"description=\"Service tag of the second "
"inbound\",JSONPath=`.spec.networking.inbound[1].tags[\'kuma\\.io/"
"service\']`,name=\"kuma.io/service\",type=string";
option (kuma.mesh.resource).additional_printer_columns =
"description=\"Service tag of the third "
"inbound\",JSONPath=`.spec.networking.inbound[2].tags[\'kuma\\.io/"
"service\']`,name=\"kuma.io/service\",type=string,priority=1";
"description=\"Service tag of the third "
"inbound\",JSONPath=`.spec.networking.inbound[2].tags[\'kuma\\.io/"
"service\']`,name=\"kuma.io/service\",type=string,priority=1";
option (kuma.mesh.resource).additional_printer_columns =
"description=\"Service tag of the fourth "
"inbound\",JSONPath=`.spec.networking.inbound[3].tags[\'kuma\\.io/"
"service\']`,name=\"kuma.io/service\",type=string,priority=1";
"description=\"Service tag of the fourth "
"inbound\",JSONPath=`.spec.networking.inbound[3].tags[\'kuma\\.io/"
"service\']`,name=\"kuma.io/service\",type=string,priority=1";

// Networking describes inbound and outbound interfaces of a data plane proxy.
message Networking {

// IP on which the data plane proxy is accessible to the control plane and
// other data plane proxies in the same network. This can also be a
// hostname, in which case the control plane will periodically resolve it.
Expand Down Expand Up @@ -89,7 +87,7 @@ message Dataplane {
// next to, e.g. `kuma.io/service=web`, `version=1.0`. You can then
// reference these tags in policies like MeshTrafficPermission.
// `kuma.io/service` tag is mandatory.
map<string, string> tags = 2 [ (validate.rules).map.min_pairs = 1 ];
map<string, string> tags = 2 [(validate.rules).map.min_pairs = 1];

// Health describes the status of an inbound
message Health {
Expand Down Expand Up @@ -214,7 +212,7 @@ message Dataplane {
// Tags associated with a gateway of this data plane to, e.g.
// `kuma.io/service=gateway`, `env=prod`. `kuma.io/service` tag is
// mandatory.
map<string, string> tags = 1 [ (validate.rules).map.min_pairs = 1 ];
map<string, string> tags = 1 [(validate.rules).map.min_pairs = 1];

// Type of gateway this data plane proxy manages.
// There are two types: `DELEGATED` and `BUILTIN`. Defaults to
Expand Down Expand Up @@ -248,12 +246,10 @@ message Dataplane {
}

// Port on which all inbound traffic is being transparently redirected.
uint32 redirect_port_inbound = 1
[ (validate.rules).uint32 = {lte : 65535} ];
uint32 redirect_port_inbound = 1 [(validate.rules).uint32 = {lte: 65535}];

// Port on which all outbound traffic is being transparently redirected.
uint32 redirect_port_outbound = 2
[ (validate.rules).uint32 = {lte : 65535} ];
uint32 redirect_port_outbound = 2 [(validate.rules).uint32 = {lte: 65535}];

// List of services that will be accessed directly via IP:PORT
// Use `*` to indicate direct access to every service in the Mesh.
Expand Down Expand Up @@ -292,7 +288,9 @@ message Dataplane {
map<string, string> labels = 5;
}

message ReachableBackends { repeated ReachableBackendRef refs = 1; }
message ReachableBackends {
repeated ReachableBackendRef refs = 1;
}
// Reachable backend via transparent proxy when running with
// MeshExternalService, MeshService and MeshMultiZoneService. Setting an
// explicit list of refs can dramatically improve the performance of the
Expand Down
4 changes: 2 additions & 2 deletions api/mesh/v1alpha1/dataplane_insight.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 7 additions & 16 deletions api/mesh/v1alpha1/dataplane_insight.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,15 @@ syntax = "proto3";

package kuma.mesh.v1alpha1;

option go_package = "github.com/kumahq/kuma/api/mesh/v1alpha1";

import "api/mesh/options.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "validate/validate.proto";

option go_package = "github.com/kumahq/kuma/api/mesh/v1alpha1";

// DataplaneInsight defines the observed state of a Dataplane.
message DataplaneInsight {

option (kuma.mesh.resource).name = "DataplaneInsightResource";
option (kuma.mesh.resource).type = "DataplaneInsight";
option (kuma.mesh.resource).package = "mesh";
Expand Down Expand Up @@ -58,23 +57,20 @@ message DataplaneInsight {
// - Control Plane restart (i.e. rolling update or crash)
// - etc
message DiscoverySubscription {

// Unique id per ADS subscription.
string id = 1 [ (validate.rules).string.min_len = 1 ];
string id = 1 [(validate.rules).string.min_len = 1];

// Control Plane instance that handled given subscription.
string control_plane_instance_id = 2 [ (validate.rules).string.min_len = 1 ];
string control_plane_instance_id = 2 [(validate.rules).string.min_len = 1];

// Time when a given Dataplane connected to the Control Plane.
google.protobuf.Timestamp connect_time = 3
[ (validate.rules).timestamp.required = true ];
google.protobuf.Timestamp connect_time = 3 [(validate.rules).timestamp.required = true];

// Time when a given Dataplane disconnected from the Control Plane.
google.protobuf.Timestamp disconnect_time = 4;

// Status of the ADS subscription.
DiscoverySubscriptionStatus status = 5
[ (validate.rules).message.required = true ];
DiscoverySubscriptionStatus status = 5 [(validate.rules).message.required = true];

// Version of Envoy and Kuma dataplane
Version version = 6;
Expand All @@ -86,7 +82,6 @@ message DiscoverySubscription {

// DiscoverySubscriptionStatus defines status of an ADS subscription.
message DiscoverySubscriptionStatus {

// Time when status of a given ADS subscription was most recently updated.
google.protobuf.Timestamp last_update_time = 1;

Expand All @@ -108,7 +103,6 @@ message DiscoverySubscriptionStatus {

// DiscoveryServiceStats defines all stats over a single xDS service.
message DiscoveryServiceStats {

// Number of xDS responses sent to the Dataplane.
uint64 responses_sent = 1;

Expand All @@ -121,7 +115,6 @@ message DiscoveryServiceStats {

// Version defines version of Kuma Dataplane and Envoy
message Version {

// Version of Kuma Dataplane
KumaDpVersion kumaDp = 1;

Expand All @@ -134,7 +127,6 @@ message Version {

// KumaDpVersion describes details of Kuma Dataplane version
message KumaDpVersion {

// Version number of Kuma Dataplane
string version = 1;

Expand All @@ -153,7 +145,6 @@ message KumaDpVersion {

// EnvoyVersion describes details of Envoy version
message EnvoyVersion {

// Version number of Envoy
string version = 1;

Expand Down
2 changes: 1 addition & 1 deletion api/mesh/v1alpha1/dataplane_overview.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading