pub struct Secrets;Expand description
§Shuttle Secrets
Plugin for getting secrets in your Shuttle service.
§Usage
Add a Secrets.toml file to the root of your crate with the secrets you’d like to store.
Make sure to add Secrets*.toml to .gitignore to omit your secrets from version control.
Next, add #[shuttle_runtime::Secrets] secrets: SecretStore as a parameter to your shuttle_service::main function.
SecretStore::get can now be called to retrieve your API keys and other secrets at runtime.
§Example
ⓘ
#[shuttle_runtime::main]
async fn main(
#[shuttle_runtime::Secrets] secrets: SecretStore
) -> ShuttleAxum {
// get secret defined in `Secrets.toml` file.
let secret = secrets.get("MY_API_KEY").unwrap();
let router = Router::new()
.route("/", || async move { format!("My secret is: {}", secret) });
Ok(router.into())
}Trait Implementations§
Source§impl ResourceInputBuilder for Secrets
impl ResourceInputBuilder for Secrets
Source§type Input = ProvisionResourceRequest
type Input = ProvisionResourceRequest
The input for requesting this resource. Read more
Source§fn build<'life0, 'async_trait>(
self,
_factory: &'life0 ResourceFactory,
) -> Pin<Box<dyn Future<Output = Result<Self::Input, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn build<'life0, 'async_trait>(
self,
_factory: &'life0 ResourceFactory,
) -> Pin<Box<dyn Future<Output = Result<Self::Input, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Construct this resource config. The
ResourceFactory provides access to secrets and metadata.Auto Trait Implementations§
impl Freeze for Secrets
impl RefUnwindSafe for Secrets
impl Send for Secrets
impl Sync for Secrets
impl Unpin for Secrets
impl UnwindSafe for Secrets
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more