Skip to content

Instantly share code, notes, and snippets.

@darinpope
Last active April 18, 2024 02:47
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save darinpope/e91e5837a7e7f3a68aa55a6c7f722074 to your computer and use it in GitHub Desktop.
Save darinpope/e91e5837a7e7f3a68aa55a6c7f722074 to your computer and use it in GitHub Desktop.

Gist for https://www.youtube.com/watch?v=38di3_iVDIA

Commands

  • kopia repository create s3 --bucket=<<bucketId>>
  • kopia repository validate-provider
  • kopia repository status
  • kopia snapshot create /var/lib/jenkins
  • kopia snapshot list
  • kopia diff <a> <b>
  • kopia policy show /var/lib/jenkins
  • kopia policy set --add-ignore .cache/ --add-ignore .groovy/ --add-ignore .java/ /var/lib/jenkins
  • kopia policy list

AWS Policy

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::<<bucketId>>"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::<<bucketId>>/*"
        }
    ]
}

jenkins-kopia.sh

#!/bin/bash
/bin/kopia repository connect s3 --bucket=<<bucketId>>
/bin/kopia snapshot create --all

crontab

AWS_ACCESS_KEY_ID=<<access key>>
AWS_SECRET_ACCESS_KEY=<<secret>>
KOPIA_PASSWORD=<<repository password>>
KOPIA_CHECK_FOR_UPDATES=false

*/15 * * * * /root/jenkins-kopia.sh 2>&1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment