Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
docs: add docs of the features and cross-compilation
  • Loading branch information
tembleking committed Mar 27, 2025
commit c3e56d82244a843e156c64f01b6d3bb6b9f0db5c
40 changes: 39 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,18 @@ For Visual Studio Code users, we highly recommend the [Sysdig VSCode Extension](

Repository: [https://github.com/sysdiglabs/sysdig-lsp](https://github.com/sysdiglabs/sysdig-lsp)

## Features

| Feature | **[VSCode Extension](https://github.com/sysdiglabs/vscode-extension)** | **Sysdig LSP** |
|---------------------------------|------------------------------------------------------------------------|----------------------------------------------------------|
| Scan base image in Dockerfile | Supported | [Supported](./docs/features/scan_base_image.md) (0.1.0+) |
| Build and Scan Dockerfile | Supported | In roadmap |
| Layered image analysis | Supported | In roadmap |
| Docker-compose image analysis | Supported | In roadmap |
| K8s Manifest image analysis | Supported | In roadmap |
| Infrastructure-as-code analysis | Supported | In roadmap |
| Vulnerability explanation | Supported | In roadmap |

## Build

Sysdig LSP is developed in Rust and can be built using Cargo or Nix (a flake is provided). Follow these steps for your preferred method:
Expand Down Expand Up @@ -42,6 +54,28 @@ Sysdig LSP is developed in Rust and can be built using Cargo or Nix (a flake is
nix build .#sysdig-lsp
```

#### Cross-compiling with Nix

Cross-compilation is made easy with Nix, we have prepared some targets that you can execute to build the binaries as static files.
Not all cross-compilations are supported though:

| | **Target Linux** | **Target MacOS** | **Target Windows** |
|--------------------|------------------|------------------|--------------------|
| **Host Linux** | ✅ | ❌ | ✅ |
| **Host MacOS** | ✅ | ✅ | ✅ |
| **Host Windows** | ❌ | ❌ | ❌ |

The following binaries are built:

- Linux x86_64: `nix build .#sysdig-lsp-linux-amd64`
- Linux aarch64: `nix build .#sysdig-lsp-linux-arm64`
- Darwin x86_64: `nix build .#sysdig-lsp-darwin-amd64`
- Darwin aarch64: `nix build .#sysdig-lsp-darwin-arm64`

Windows is not yet supported because the Sysdig CLI Scanner is not releasing a .exe for now, but you can still build it with `nix build .#sysdig-lsp-windows-amd64`

The result of the compilation will be saved in `./result/bin`.

## Configuration Options

Sysdig LSP supports two configuration options for connecting to Sysdig’s services:
Expand Down Expand Up @@ -95,7 +129,11 @@ Navigate to **Settings > Configure Kate > LSP Client > User Server Settings** an

### JetBrains IDEs

> **Warning:** The configuration for JetBrains IDEs is not definitive. In the future, we plan to develop a dedicated plugin that will automatically manage the LSP and expand its functionalities. In the meantime, you can use the [LSP4IJ](https://plugins.jetbrains.com/plugin/23257-lsp4ij) plugin for initial day-one support.

> [!WARNING]
> The configuration for JetBrains IDEs is not definitive.
> In the future, we plan to develop a dedicated plugin that will automatically manage the LSP and expand its functionalities.
> In the meantime, you can use the [LSP4IJ](https://plugins.jetbrains.com/plugin/23257-lsp4ij) plugin for initial day-one support.

1. Install the [LSP4IJ](https://plugins.jetbrains.com/plugin/23257-lsp4ij) plugin.
2. Open the LSP Client config (usually near the Terminal), click **New Language Server** and configure:
Expand Down
3 changes: 3 additions & 0 deletions docs/features/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Sysdig LSP Features

- [Scan Base Image](./scan_base_image.md)
Binary file added docs/features/scan_base_image.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/features/scan_base_image.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Scan Base Image

![](./scan_base_image.gif)