kubenix/tests/istio/bookinfo.nix

136 lines
2.6 KiB
Nix
Raw Normal View History

2019-02-27 14:18:38 +01:00
{
2022-04-02 12:40:35 -07:00
config,
kubenix,
...
}: {
imports = with kubenix.modules; [test k8s istio];
2019-02-27 14:18:38 +01:00
test = {
name = "istio-bookinfo";
description = "Simple istio bookinfo application (WIP)";
};
kubernetes.api."networking.istio.io"."v1alpha3" = {
Gateway."bookinfo-gateway" = {
spec = {
selector.istio = "ingressgateway";
2022-04-02 12:40:35 -07:00
servers = [
{
port = {
number = 80;
name = "http";
protocol = "HTTP";
};
hosts = ["*"];
}
];
2019-02-27 14:18:38 +01:00
};
};
VirtualService.bookinfo = {
spec = {
2022-04-02 12:40:35 -07:00
hosts = ["*"];
gateways = ["bookinfo-gateway"];
http = [
{
match = [
{
uri.exact = "/productpage";
}
{
uri.exact = "/login";
}
{
uri.exact = "/logout";
}
{
uri.prefix = "/api/v1/products";
}
];
route = [
{
destination = {
host = "productpage";
port.number = 9080;
};
}
];
2021-05-13 17:27:08 -04:00
}
2022-04-02 12:40:35 -07:00
];
2019-02-27 14:18:38 +01:00
};
};
DestinationRule.productpage = {
spec = {
host = "productpage";
2022-04-02 12:40:35 -07:00
subsets = [
{
name = "v1";
labels.version = "v1";
}
];
};
};
DestinationRule.reviews = {
spec = {
host = "reviews";
2022-04-02 12:40:35 -07:00
subsets = [
{
name = "v1";
labels.version = "v1";
}
2021-05-13 17:27:08 -04:00
{
name = "v2";
labels.version = "v2";
}
{
name = "v3";
labels.version = "v3";
2022-04-02 12:40:35 -07:00
}
];
};
};
DestinationRule.ratings = {
spec = {
host = "ratings";
2022-04-02 12:40:35 -07:00
subsets = [
{
name = "v1";
labels.version = "v1";
}
2021-05-13 17:27:08 -04:00
{
name = "v2";
labels.version = "v2";
}
{
name = "v2-mysql";
labels.version = "v2-mysql";
}
{
name = "v2-mysql-vm";
labels.version = "v2-mysql-vm";
2022-04-02 12:40:35 -07:00
}
];
};
};
DestinationRule.details = {
spec = {
host = "details";
2022-04-02 12:40:35 -07:00
subsets = [
{
name = "v1";
labels.version = "v1";
}
2021-05-13 17:27:08 -04:00
{
name = "v2";
labels.version = "v2";
2022-04-02 12:40:35 -07:00
}
];
};
};
2019-02-27 14:18:38 +01:00
};
}