Integration & CLI Configuration Guide
Nordic Data Sync exposes a strict AWS S3 Signature Version 4 endpoint over TLS 1.3 (`HTTP/2` and `QUIC H3`). Use your existing backup tooling with zero proprietary daemons.
1. Standard AWS S3 CLI & Object Lock Setup
Configure a named profile in ~/.aws/config pointing to your regional ingest endpoint, then create an Object-Lock-enabled bucket with a 30-day compliance retention rule:
[profile nordic]
region = eu-north-1
endpoint_url = https://nordicdatasync.com
s3 =
signature_version = s3v4
max_concurrent_requests = 16
multipart_threshold = 64MB
multipart_chunksize = 16MB
aws --profile nordic s3api create-bucket \
--bucket prod-ledger-immutable \
--object-lock-enabled-for-bucket
aws --profile nordic s3api put-object-lock-configuration \
--bucket prod-ledger-immutable \
--object-lock-configuration '{
"ObjectLockEnabled": "Enabled",
"Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 30 } }
}'
2. PostgreSQL Continuous PITR with pgBackRest
Stream compressed 16 MB WAL segments directly from PostgreSQL 14–17 primaries to Stockholm (`ARN-1`) with sub-second archive command latency:
[global] repo1-type=s3 repo1-s3-endpoint=nordicdatasync.com repo1-s3-bucket=pg-prod-cluster-01 repo1-s3-region=eu-north-1 repo1-s3-uri-style=path repo1-path=/pgbackrest repo1-retention-full=4 repo1-retention-diff=14 repo1-cipher-type=aes-256-cbc compress-type=zst compress-level=6 process-max=8 [main] pg1-path=/var/lib/postgresql/17/main
Verify continuous WAL archiving and take a non-blocking online full backup:
sudo -u postgres pgbackrest --stanza=main check sudo -u postgres pgbackrest --stanza=main --type=full backup
3. Deduplicated Encrypted Filesystem Snapshots (Restic)
Initialize a client-side encrypted Restic repository and schedule hourly systemd snapshots with automatic pruning:
export AWS_ACCESS_KEY_ID="NDS_AKIA_PROD_EXAMPLE" export AWS_SECRET_ACCESS_KEY="nds_secret_key_material" export RESTIC_REPOSITORY="s3:https://nordicdatasync.com/srv-snapshots-01" export RESTIC_PASSWORD_FILE="/etc/restic/repo.key" restic init restic backup /var/vmail /etc /srv/docker-volumes --exclude-caches -o s3.connections=16 restic forget --keep-hourly 24 --keep-daily 14 --keep-monthly 12 --prune
4. Kubernetes Cluster Disaster Recovery (Velero)
Protect persistent volumes and cluster manifests across namespaces using the standard AWS Velero plugin:
velero install \ --provider aws \ --plugins velero/velero-plugin-for-aws:v1.10.0 \ --bucket k8s-prod-etcd-backups \ --secret-file ./credentials-nordic \ --backup-location-config region=eu-north-1,s3ForcePathStyle="true",s3Url=https://nordicdatasync.com