diff --git a/.env.sample b/.env.sample index 58bf02a..a13b3e7 100644 --- a/.env.sample +++ b/.env.sample @@ -14,3 +14,6 @@ AMP_NATS_URL=nats://amp-nats.amp-system.svc:4222 # The workspace path. AMP_WORKSPACE=/workspace + +# The storage class name. The default is `local-path` on k3s. +AMP_STORAGE_CLASS_NAME=local-path diff --git a/Cargo.lock b/Cargo.lock index f2f46ec..9368840 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -62,7 +62,7 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" [[package]] name = "amp-apiserver" -version = "0.8.16" +version = "0.8.18" dependencies = [ "amp-common", "amp-resources", @@ -89,7 +89,7 @@ dependencies = [ [[package]] name = "amp-builder" -version = "0.8.16" +version = "0.8.18" dependencies = [ "amp-common", "amp-resources", @@ -131,7 +131,7 @@ dependencies = [ [[package]] name = "amp-controllers" -version = "0.8.16" +version = "0.8.18" dependencies = [ "amp-common", "amp-resources", @@ -152,7 +152,7 @@ dependencies = [ [[package]] name = "amp-crdgen" -version = "0.8.16" +version = "0.8.18" dependencies = [ "amp-common", "clap", @@ -164,7 +164,7 @@ dependencies = [ [[package]] name = "amp-resolver" -version = "0.8.16" +version = "0.8.18" dependencies = [ "amp-common", "amp-resources", @@ -177,7 +177,7 @@ dependencies = [ [[package]] name = "amp-resources" -version = "0.8.16" +version = "0.8.18" dependencies = [ "amp-common", "anyhow", @@ -197,7 +197,7 @@ dependencies = [ [[package]] name = "amp-syncer" -version = "0.8.16" +version = "0.8.18" dependencies = [ "amp-common", "async-nats", @@ -213,7 +213,7 @@ dependencies = [ [[package]] name = "amp-workflow" -version = "0.8.16" +version = "0.8.18" dependencies = [ "amp-builder", "amp-common", diff --git a/Cargo.toml b/Cargo.toml index 21bcc72..e016915 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace.package] -version = "0.8.17" +version = "0.8.18" edition = "2021" license = "Apache-2.0" repository = "https://github.com/amphitheatre-app/amphitheatre" diff --git a/controllers/src/config.rs b/controllers/src/config.rs index e5a3ee7..f6ba9d2 100644 --- a/controllers/src/config.rs +++ b/controllers/src/config.rs @@ -41,4 +41,8 @@ pub struct Config { /// The NATS URL. #[clap(long, env = "AMP_NATS_URL")] pub nats_url: String, + + /// The storage class name. + #[clap(long, env = "AMP_STORAGE_CLASS_NAME")] + pub storage_class_name: String, } diff --git a/resources/src/volume.rs b/resources/src/volume.rs index 27c21cc..8269ce2 100644 --- a/resources/src/volume.rs +++ b/resources/src/volume.rs @@ -13,6 +13,7 @@ // limitations under the License. use std::collections::BTreeMap; +use std::env; use amp_common::resource::Actor; use k8s_openapi::api::core::v1::{PersistentVolumeClaim, PersistentVolumeClaimSpec, ResourceRequirements}; @@ -62,13 +63,13 @@ fn new(actor: &Actor) -> Result { ..Default::default() }, spec: Some(PersistentVolumeClaimSpec { - access_modes: Some(vec!["ReadWriteOnce".into()]), + access_modes: Some(vec!["ReadWriteMany".into()]), resources: Some(ResourceRequirements { requests: Some(BTreeMap::from([("storage".into(), Quantity("1Gi".into()))])), ..Default::default() }), // @TODO: Make storage class name configurable - // storage_class_name: Some("local-path".into()), + storage_class_name: env::var("AMP_STORAGE_CLASS_NAME").ok(), volume_mode: Some("Filesystem".into()), ..Default::default() }),