-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Sanskar Jaiswal <[email protected]>
- Loading branch information
Showing
37 changed files
with
4,891 additions
and
11,268 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
[alias] | ||
xtask = "run -q --manifest-path ./xtask/Cargo.toml --" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
/target | ||
/Cargo.lock | ||
target | ||
Cargo.lock |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,2 @@ | ||
[package] | ||
name = "gateway-api" | ||
version = "0.8.1" | ||
description = "Kubernetes Gateway API bindings in Rust" | ||
authors = ["Shane Utt <[email protected]>"] | ||
license = "MIT" | ||
keywords = ["kubernetes", "gateway-api"] | ||
categories = ["api-bindings"] | ||
homepage = "https://gateway-api.sigs.k8s.io/" | ||
repository = "https://github.com/kube-rs/gateway-api-rs" | ||
edition = "2021" | ||
|
||
[dependencies] | ||
kube = { version = "^0.88.0", default-features = false, features = ["derive"] } | ||
k8s-openapi = { version = "0.21.0", features = ["v1_29"] } | ||
schemars = "0.8.16" | ||
serde = { version = "1.0.195", features = ["derive"] } | ||
serde_json = "1.0.111" | ||
serde_yaml = "0.9.30" | ||
|
||
[dev-dependencies] | ||
anyhow = "1.0.79" | ||
hyper = "0.14.28" | ||
kube = { version = "^0.88.0" } | ||
k8s-openapi = { version = "0.21.0" , features = ["v1_29"] } | ||
tokio = { version = "1.35.1", features = ["macros"] } | ||
tower = "0.4.13" | ||
uuid = { version = "1.7.0", features = ["v4", "fast-rng"] } | ||
[workspace] | ||
members = ["gateway-api", "xtask"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
[package] | ||
name = "gateway-api" | ||
version = "0.8.1" | ||
description = "Kubernetes Gateway API bindings in Rust" | ||
authors = ["Shane Utt <[email protected]>"] | ||
license = "MIT" | ||
keywords = ["kubernetes", "gateway-api"] | ||
categories = ["api-bindings"] | ||
homepage = "https://gateway-api.sigs.k8s.io/" | ||
repository = "https://github.com/kube-rs/gateway-api-rs" | ||
edition = "2021" | ||
|
||
[dependencies] | ||
kube = { version = "^0.88.0", default-features = false, features = ["derive"] } | ||
k8s-openapi = { version = "0.21.0", features = ["v1_29", "schemars"] } | ||
schemars = "0.8.16" | ||
serde = { version = "1.0.195", features = ["derive"] } | ||
serde_json = "1.0.111" | ||
serde_yaml = "0.9.30" | ||
|
||
[dev-dependencies] | ||
anyhow = "1.0.79" | ||
hyper = "0.14.28" | ||
kube = { version = "^0.88.0" } | ||
k8s-openapi = { version = "0.21.0" , features = ["v1_29"] } | ||
tokio = { version = "1.35.1", features = ["macros"] } | ||
tower = "0.4.13" | ||
uuid = { version = "1.7.0", features = ["v4", "fast-rng"] } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
// WARNING: generated file - manual changes will be overriden | ||
|
||
use super::httproutes::{ | ||
HTTPRouteRulesBackendRefsFiltersRequestRedirectPathType, HTTPRouteRulesBackendRefsFiltersType, | ||
HTTPRouteRulesBackendRefsFiltersUrlRewritePathType, | ||
HTTPRouteRulesFiltersRequestRedirectPathType, HTTPRouteRulesFiltersType, | ||
HTTPRouteRulesFiltersUrlRewritePathType, | ||
}; | ||
|
||
use super::grpcroutes::{GRPCRouteRulesBackendRefsFiltersType, GRPCRouteRulesFiltersType}; | ||
|
||
impl Default for GRPCRouteRulesBackendRefsFiltersType { | ||
fn default() -> Self { | ||
GRPCRouteRulesBackendRefsFiltersType::RequestHeaderModifier | ||
} | ||
} | ||
|
||
impl Default for GRPCRouteRulesFiltersType { | ||
fn default() -> Self { | ||
GRPCRouteRulesFiltersType::RequestHeaderModifier | ||
} | ||
} | ||
|
||
impl Default for HTTPRouteRulesBackendRefsFiltersRequestRedirectPathType { | ||
fn default() -> Self { | ||
HTTPRouteRulesBackendRefsFiltersRequestRedirectPathType::ReplaceFullPath | ||
} | ||
} | ||
|
||
impl Default for HTTPRouteRulesBackendRefsFiltersType { | ||
fn default() -> Self { | ||
HTTPRouteRulesBackendRefsFiltersType::RequestHeaderModifier | ||
} | ||
} | ||
|
||
impl Default for HTTPRouteRulesBackendRefsFiltersUrlRewritePathType { | ||
fn default() -> Self { | ||
HTTPRouteRulesBackendRefsFiltersUrlRewritePathType::ReplaceFullPath | ||
} | ||
} | ||
|
||
impl Default for HTTPRouteRulesFiltersRequestRedirectPathType { | ||
fn default() -> Self { | ||
HTTPRouteRulesFiltersRequestRedirectPathType::ReplaceFullPath | ||
} | ||
} | ||
|
||
impl Default for HTTPRouteRulesFiltersType { | ||
fn default() -> Self { | ||
HTTPRouteRulesFiltersType::RequestHeaderModifier | ||
} | ||
} | ||
|
||
impl Default for HTTPRouteRulesFiltersUrlRewritePathType { | ||
fn default() -> Self { | ||
HTTPRouteRulesFiltersUrlRewritePathType::ReplaceFullPath | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
// WARNING: generated by kopium - manual changes will be overwritten | ||
// kopium command: kopium --schema=derived --derive=JsonSchema --derive=Default --docs -f - | ||
// kopium version: 0.17.2 | ||
|
||
use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition; | ||
use kube::CustomResource; | ||
use schemars::JsonSchema; | ||
use serde::{Deserialize, Serialize}; | ||
|
||
/// Spec defines the desired state of GatewayClass. | ||
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, JsonSchema, Default)] | ||
#[kube( | ||
group = "gateway.networking.k8s.io", | ||
version = "v1", | ||
kind = "GatewayClass", | ||
plural = "gatewayclasses" | ||
)] | ||
#[kube(status = "GatewayClassStatus")] | ||
pub struct GatewayClassSpec { | ||
/// ControllerName is the name of the controller that is managing Gateways of this class. The value of this field MUST be a domain prefixed path. | ||
/// Example: "example.net/gateway-controller". | ||
/// This field is not mutable and cannot be empty. | ||
/// Support: Core | ||
#[serde(rename = "controllerName")] | ||
pub controller_name: String, | ||
/// Description helps describe a GatewayClass with more details. | ||
#[serde(default, skip_serializing_if = "Option::is_none")] | ||
pub description: Option<String>, | ||
/// ParametersRef is a reference to a resource that contains the configuration parameters corresponding to the GatewayClass. This is optional if the controller does not require any additional configuration. | ||
/// ParametersRef can reference a standard Kubernetes resource, i.e. ConfigMap, or an implementation-specific custom resource. The resource can be cluster-scoped or namespace-scoped. | ||
/// If the referent cannot be found, the GatewayClass's "InvalidParameters" status condition will be true. | ||
/// Support: Implementation-specific | ||
#[serde( | ||
default, | ||
skip_serializing_if = "Option::is_none", | ||
rename = "parametersRef" | ||
)] | ||
pub parameters_ref: Option<GatewayClassParametersRef>, | ||
} | ||
|
||
/// ParametersRef is a reference to a resource that contains the configuration parameters corresponding to the GatewayClass. This is optional if the controller does not require any additional configuration. | ||
/// ParametersRef can reference a standard Kubernetes resource, i.e. ConfigMap, or an implementation-specific custom resource. The resource can be cluster-scoped or namespace-scoped. | ||
/// If the referent cannot be found, the GatewayClass's "InvalidParameters" status condition will be true. | ||
/// Support: Implementation-specific | ||
#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default)] | ||
pub struct GatewayClassParametersRef { | ||
/// Group is the group of the referent. | ||
pub group: String, | ||
/// Kind is kind of the referent. | ||
pub kind: String, | ||
/// Name is the name of the referent. | ||
pub name: String, | ||
/// Namespace is the namespace of the referent. This field is required when referring to a Namespace-scoped resource and MUST be unset when referring to a Cluster-scoped resource. | ||
#[serde(default, skip_serializing_if = "Option::is_none")] | ||
pub namespace: Option<String>, | ||
} | ||
|
||
/// Status defines the current state of GatewayClass. | ||
/// Implementations MUST populate status on all GatewayClass resources which specify their controller name. | ||
#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default)] | ||
pub struct GatewayClassStatus { | ||
/// Conditions is the current status from the controller for this GatewayClass. | ||
/// Controllers should prefer to publish conditions using values of GatewayClassConditionType for the type of each Condition. | ||
#[serde(default, skip_serializing_if = "Option::is_none")] | ||
pub conditions: Option<Vec<Condition>>, | ||
/// SupportedFeatures is the set of features the GatewayClass support. It MUST be sorted in ascending alphabetical order. | ||
#[serde( | ||
default, | ||
skip_serializing_if = "Option::is_none", | ||
rename = "supportedFeatures" | ||
)] | ||
pub supported_features: Option<Vec<String>>, | ||
} |
Oops, something went wrong.