#1105966 RFP: plakar -- an intuitive, powerful, and scalable backup solution

#1105966#5
Date:
2025-05-18 09:14:48 UTC
From:
To:
* Package name    : plakar
  Version         : 1.0.1
  Upstream Contact: Gilles Chehade <gilles@poolp.org>
* URL             : https://plakar.io/
* License         : ISC
  Programming Lang: Go
  Description     : an intuitive, powerful, and scalable backup solution

Plakar is a new solution for backups, written in Go. First official release in
May 2025.

Plakar goes beyond file-level backups. It captures application data with its full context.

Data and context are stored using Kloset, an open-source, immutable data store
that enables the implementation of advanced data protection scenarios.

Plakar's main strengths:

- Effortless: Easy to use, clean default.
- Secure: Provide audited end-to-end encryption for data and metadata.
- Reliable: Backups are stored in Kloset, an open-source immutable data store.
- Vertically scalable: Backup and restore very large datasets with limited RAM usage.
- Horizontally scalable: Support high concurrency and multiple backups type in a single Kloset.
- Browsable: Browse, sort, search, and compare backups using the Plakar UI.
- Fast: backup, check, sync and restore are operations are optimized for large-scale data.
- Efficient: more restore points, less storage, thanks to Kloset's unmatched
  deduplication and compression.
- Open Source and actively maintained: open source forever and now maintained by Plakar Korp

Simplicity and efficiency are Plakar's main priorities.

#1105966#10
Date:
2025-07-18 04:35:03 UTC
From:
To:
I tried to see how easy it would be to package this, and it's not
trivial.

gophian fails to parse the package:

anarcat@angela:~/bin> gophian estimate github.com/PlakarKorp/plakar
gophian is experimental software!
Please report any problems to:
https://codeberg.org/Maytha8/gophian/issues
Error: No root repo could be determined for the path 'go.omarpolo.com/ttlmap'

*one* of the deps gets a better treatment:
gophian is experimental software!
Please report any problems to:
https://codeberg.org/Maytha8/gophian/issues
github.com/PlakarKorp/kloset
├── github.com/charmbracelet/log (golang-github-charmbracelet-log-dev)
├── github.com/dustin/go-humanize (golang-github-dustin-go-humanize-dev)
├── github.com/gabriel-vasile/mimetype (golang-github-gabriel-vasile-mimetype-dev)
├── github.com/gobwas/glob (golang-github-gobwas-glob-dev)
├── github.com/google/uuid (golang-github-google-uuid-dev)
├── github.com/pierrec/lz4 (golang-github-pierrec-lz4-dev)
├── github.com/pkg/sftp (golang-github-pkg-sftp-dev)
├── github.com/stretchr/testify (golang-github-stretchr-testify-dev)
├── github.com/tink-crypto/tink-go (golang-github-tink-crypto-tink-go-dev)
├── github.com/vmihailenco/msgpack (golang-gopkg-vmihailenco-msgpack.v2-dev)
├── golang.org/x/crypto (golang-golang-x-crypto-dev)
├── golang.org/x/sync (golang-golang-x-sync-dev)
├── github.com/PlakarKorp/go-cdc-chunkers
│   └── github.com/zeebo/blake3
├── github.com/cockroachdb/pebble
├── github.com/nickball/go-aes-key-wrap
└── github.com/zeebo/blake3
    ├── github.com/klauspost/cpuid (golang-github-klauspost-cpuid-dev)
    └── github.com/mmcloughlin/avo (golang-github-mmcloughlin-avo-dev)

... but still shows we're missing 4 packages there already. the go.mod
is *long*...

dh-make-golang says we're missing *a lot*:

2025/07/18 00:33:20 Bringing github.com/PlakarKorp/plakar to Debian requires packaging the following Go modules:
github.com/PlakarKorp/plakar
  github.com/PlakarKorp/go-cdc-chunkers
    codeberg.org/mhofmann/fastcdc
    github.com/askeladdk/fastcdc
    github.com/jotfs/fastcdc-go
    github.com/tigerwill90/fastcdc
    github.com/zeebo/blake3
      github.com/zeebo/pcg
  github.com/cockroachdb/pebble/v2
    github.com/cespare/xxhash/v2	(github.com/cespare/xxhash in Debian)
    github.com/cockroachdb/crlib
    github.com/cockroachdb/errors
      github.com/cockroachdb/logtags
      github.com/cockroachdb/redact
    github.com/cockroachdb/fifo
    github.com/cockroachdb/metamorphic
    github.com/cockroachdb/redact (2)
    github.com/cockroachdb/swiss
    github.com/cockroachdb/tokenbucket
    github.com/ghemawat/stream
    golang.org/x/perf
    github.com/aclements/go-moremath
    github.com/cockroachdb/logtags (2)
  github.com/go-viper/mapstructure/v2	(github.com/go-viper/mapstructure in Debian)
  github.com/johannesboyne/gofakes3
  github.com/nickball/go-aes-key-wrap
  github.com/pierrec/lz4/v4	(github.com/pierrec/lz4 in Debian)
  github.com/secsy/goftp
  github.com/tink-crypto/tink-go/v2	(github.com/tink-crypto/tink-go in Debian)
  github.com/wagslane/go-password-validator
  github.com/zeebo/blake3 (2)
    github.com/zeebo/pcg (2)
  go.omarpolo.com/ttlmap
  modernc.org/sqlite
    modernc.org/libc
    github.com/ncruces/go-strftime
  github.com/NickBall/go-aes-key-wrap
  github.com/cespare/xxhash/v2 (2)
  github.com/charmbracelet/colorprofile
  github.com/cockroachdb/crlib (2)
  github.com/cockroachdb/errors (2)
    github.com/cockroachdb/logtags (3)
    github.com/cockroachdb/redact (3)
  github.com/cockroachdb/fifo (2)
  github.com/cockroachdb/logtags (4)
  github.com/cockroachdb/redact (4)
  github.com/cockroachdb/swiss (2)
    github.com/aclements/go-perfevent
  github.com/cockroachdb/tokenbucket (2)
  github.com/erikgeiser/coninput
  github.com/mattn/go-localereader
  github.com/ncruces/go-strftime (2)
  go.shabbyrobe.org/gocovmerge
  modernc.org/libc (2)
    github.com/ncruces/go-strftime (3)
    modernc.org/cc/v4
    modernc.org/ccgo/v4
    modernc.org/gc/v2
    modernc.org/opt
    modernc.org/sortutil
    modernc.org/strutil
    modernc.org/token

so. not trivial.

the modernc.org stuff is particularly nasty, as it's a transpiler from
C, IIRC.

a.