diff --git a/Dockerfile.agent b/Dockerfile.agent index b4cee75..4e438e9 100644 --- a/Dockerfile.agent +++ b/Dockerfile.agent @@ -33,6 +33,9 @@ RUN pip3 install --break-system-packages ruff COPY --from=builder /app/target/release/compliance-agent /usr/local/bin/compliance-agent +# Ensure SSH key directory exists +RUN mkdir -p /data/compliance-scanner/ssh + EXPOSE 3001 3002 ENTRYPOINT ["compliance-agent"] diff --git a/compliance-dashboard/src/pages/repositories.rs b/compliance-dashboard/src/pages/repositories.rs index 535a8b2..6294869 100644 --- a/compliance-dashboard/src/pages/repositories.rs +++ b/compliance-dashboard/src/pages/repositories.rs @@ -28,7 +28,6 @@ pub fn RepositoriesPage() -> Element { let mut auth_token = use_signal(String::new); let mut auth_username = use_signal(String::new); let mut show_auth = use_signal(|| false); - let mut show_ssh_key = use_signal(|| false); let mut ssh_public_key = use_signal(String::new); let mut adding = use_signal(|| false); let mut toasts = use_context::(); @@ -96,10 +95,11 @@ pub fn RepositoriesPage() -> Element { class: "btn btn-ghost", style: "font-size: 12px; padding: 4px 8px;", onclick: move |_| { + let opening = !show_auth(); show_auth.toggle(); - if !show_ssh_key() { - // Fetch SSH key on first open - show_ssh_key.set(true); + if opening { + // Fetch SSH key every time the section opens + ssh_public_key.set(String::new()); spawn(async move { match crate::infrastructure::repositories::fetch_ssh_public_key().await { Ok(key) => ssh_public_key.set(key),