aboutsummaryrefslogtreecommitdiff
path: root/src/rpc/Cargo.toml
diff options
context:
space:
mode:
authorMax Audron <audron@cocaine.farm>2022-03-06 14:50:00 +0100
committerMax Audron <audron@cocaine.farm>2022-03-12 13:05:52 +0100
commit9d44127245990cc55dbdff5a4bd0a1524348f110 (patch)
tree82110b06619b6cd7031398d8c1c6d42f7308b152 /src/rpc/Cargo.toml
parentc00b2c9948bc686a5f33805a5cc4295c933a723a (diff)
downloadgarage-9d44127245990cc55dbdff5a4bd0a1524348f110.tar.gz
garage-9d44127245990cc55dbdff5a4bd0a1524348f110.zip
add support for kubernetes service discovery
This commit adds support to discover garage instances running in kubernetes. Once enabled by setting `kubernetes_namespace` and `kubernetes_service_name` garage will create a Custom Resources `garagenodes.deuxfleurs.fr` with nodes public key as the resource name. and IP and Port information as spec in the namespace configured by `kubernetes_namespace`. For discovering nodes the resources are filtered with the optionally set `kubernetes_service_name` which sets a label `garage.deuxfleurs.fr/service` on the resources. This allows to separate multiple garage deployments in a single namespace. the `kubernetes_skip_crd` variable allows to disable the creation of the CRD by garage itself. The user must deploy this manually.
Diffstat (limited to 'src/rpc/Cargo.toml')
-rw-r--r--src/rpc/Cargo.toml9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/rpc/Cargo.toml b/src/rpc/Cargo.toml
index b49a126a..f06606e5 100644
--- a/src/rpc/Cargo.toml
+++ b/src/rpc/Cargo.toml
@@ -30,6 +30,15 @@ serde = { version = "1.0", default-features = false, features = ["derive", "rc"]
serde_bytes = "0.11"
serde_json = "1.0"
+# newer version requires rust edition 2021
+kube = { version = "0.62", features = ["runtime", "derive"] }
+k8s-openapi = { version = "0.13", features = ["v1_22"] }
+openssl = { version = "0.10", features = ["vendored"] }
+schemars = "0.8"
+
+# newer version requires rust edition 2021
+pnet = "0.28"
+
futures = "0.3"
futures-util = "0.3"
tokio = { version = "1.0", default-features = false, features = ["rt", "rt-multi-thread", "io-util", "net", "time", "macros", "sync", "signal", "fs"] }