constellation/mount/test/manual/main.go
Leonard Cohnen 2d8fcd9bf4 monorepo
Co-authored-by: Malte Poll <mp@edgeless.systems>
Co-authored-by: katexochen <katexochen@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: Thomas Tendyck <tt@edgeless.systems>
Co-authored-by: Benedict Schlueter <bs@edgeless.systems>
Co-authored-by: leongross <leon.gross@rub.de>
Co-authored-by: Moritz Eckert <m1gh7ym0@gmail.com>
2022-03-22 16:09:39 +01:00

44 lines
990 B
Go

package main
import (
"context"
"flag"
"fmt"
"log"
"github.com/edgelesssys/constellation/mount/pkg/cryptmapper"
"github.com/edgelesssys/constellation/mount/pkg/kms"
"k8s.io/klog"
)
var (
close = flag.Bool("c", false, "close the crypt device")
integrity = flag.Bool("integrity", false, "format the device with dm-integrity")
source = flag.String("source", "", "source volume")
volumeID = flag.String("target", "new_crypt_device", "mapped target")
)
func main() {
klog.InitFlags(nil)
defer klog.Flush()
flag.Parse()
mapper := cryptmapper.New(kms.NewStaticKMS(), "", &cryptmapper.CryptDevice{})
if *close {
err := mapper.CloseCryptDevice(*volumeID)
if err != nil {
log.Fatal(err)
}
} else {
if *source == "" {
log.Fatal("missing require flag \"-source\"")
}
out, err := mapper.OpenCryptDevice(context.Background(), *source, *volumeID, *integrity)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Crypt device activate as: %q\n", out)
}
}