Skip to content

Latest commit

 

History

History
107 lines (77 loc) · 2.3 KB

building.md

File metadata and controls

107 lines (77 loc) · 2.3 KB

Building Kubescape

Build on Windows

  1. Install MSYS2 & build libgit (needed only for the first time)

    build.bat all
    

Note
You can install MSYS2 separately by running build.bat install and build libgit2 separately by running build.bat build

  1. Build kubescape

    make build
    

    OR

    go build -tags=static .
    

Build on Linux/MacOS

  1. Install libgit2 dependency (needed only for the first time)

    make libgit2
    

Note
cmake is required to build libgit2. You can install it by running sudo apt-get install cmake (Linux) or brew install cmake (macOS).

  1. Build kubescape

    make build
    

    OR

    go build -tags=static .
    
  2. Test

    make test
    

Build Kubescape in a pre-configured playground

We have created a Killercoda scenario that you can use to experiment building Kubescape from source.

When you start the scenario, a script will clone the Kubescape repository and execute a Linux build steps. The entire process executes multiple commands in order: it takes around 5-6 minutes to complete.

How to use the build playground:

  • Apply changes you wish to make to the Kubescape source code.
  • Perform a Linux build
  • Now, you can use Kubescape like normal, but instead of using kubescape, use ./kubescape.

VS Code configuration samples

You can use the sample files below to setup your VS Code environment for building and debugging purposes.

.vscode/settings.json:

// .vscode/settings.json
{
    "go.testTags": "static",
    "go.buildTags": "static",
    "go.toolsEnvVars": {
        "CGO_ENABLED": "1"
    }
}

.vscode/launch.json:

// .vscode/launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch Package",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${workspaceFolder}/main.go",
            "args": [
                "scan",
                "--logger",
                "debug"
            ],
            "buildFlags": "-tags=static"
        }
    ]
}