diff options
Diffstat (limited to 'aws-s3-backup')
| -rw-r--r-- | aws-s3-backup/defaults/main.yaml | 6 | ||||
| -rw-r--r-- | aws-s3-backup/files/aws-s3-backup.target | 3 | ||||
| -rw-r--r-- | aws-s3-backup/files/aws-s3-backup.timer | 10 | ||||
| -rw-r--r-- | aws-s3-backup/handlers/main.yaml | 9 | ||||
| -rw-r--r-- | aws-s3-backup/tasks/main.yaml | 38 | ||||
| -rw-r--r-- | aws-s3-backup/templates/aws-config.j2 | 5 | ||||
| -rw-r--r-- | aws-s3-backup/templates/aws-credentials.j2 | 5 |
7 files changed, 76 insertions, 0 deletions
diff --git a/aws-s3-backup/defaults/main.yaml b/aws-s3-backup/defaults/main.yaml new file mode 100644 index 0000000..d17817e --- /dev/null +++ b/aws-s3-backup/defaults/main.yaml @@ -0,0 +1,6 @@ +--- + +aws_s3_backup_region: "us-east-1" +aws_s3_backup_pip_packages: + - "awscli" + - "boto3" diff --git a/aws-s3-backup/files/aws-s3-backup.target b/aws-s3-backup/files/aws-s3-backup.target new file mode 100644 index 0000000..5338057 --- /dev/null +++ b/aws-s3-backup/files/aws-s3-backup.target @@ -0,0 +1,3 @@ +[Unit] +Description=AWS S3 backup target +StopWhenUnneeded=yes diff --git a/aws-s3-backup/files/aws-s3-backup.timer b/aws-s3-backup/files/aws-s3-backup.timer new file mode 100644 index 0000000..6d7b42e --- /dev/null +++ b/aws-s3-backup/files/aws-s3-backup.timer @@ -0,0 +1,10 @@ +[Unit] +Description=Daily AWS S3 backup + +[Timer] +OnCalendar=daily +Persistent=true +Unit=aws-s3-backup.target + +[Install] +WantedBy=timers.target diff --git a/aws-s3-backup/handlers/main.yaml b/aws-s3-backup/handlers/main.yaml new file mode 100644 index 0000000..ce1b90a --- /dev/null +++ b/aws-s3-backup/handlers/main.yaml @@ -0,0 +1,9 @@ +--- + +- name: reload timer + systemd: name="aws-s3-backup.timer" enabled="yes" daemon_reload="yes" + become: yes + +- name: reload target + systemd: name="aws-s3-backup.target" enabled="yes" daemon_reload="yes" + become: yes diff --git a/aws-s3-backup/tasks/main.yaml b/aws-s3-backup/tasks/main.yaml new file mode 100644 index 0000000..cc95210 --- /dev/null +++ b/aws-s3-backup/tasks/main.yaml @@ -0,0 +1,38 @@ +--- + +- name: apt install pip + become: yes + apt: name="python-pip" + +- name: pip install aws cli packages + become: yes + pip: name="{{aws_s3_backup_pip_packages}}" + +- name: create aws config dir for root + become: yes + file: path="/root/.aws/" state="directory" mode="0755" + +- name: configure aws credentials for root + become: yes + template: src="aws-{{item}}.j2" dest="/root/.aws/{{item}}" mode="0600" + with_items: + - "credentials" + - "config" + +- name: create systemd target + become: yes + copy: + src: "aws-s3-backup.target" + dest: "/lib/systemd/system/aws-s3-backup.target" + notify: reload target + +- name: create systemd timer + become: yes + copy: + src: "aws-s3-backup.timer" + dest: "/lib/systemd/system/aws-s3-backup.timer" + notify: reload timer + +- name: ensure timer is started + become: yes + systemd: name="aws-s3-backup.timer" enabled="yes" state="started" diff --git a/aws-s3-backup/templates/aws-config.j2 b/aws-s3-backup/templates/aws-config.j2 new file mode 100644 index 0000000..5e8d330 --- /dev/null +++ b/aws-s3-backup/templates/aws-config.j2 @@ -0,0 +1,5 @@ +# {{ansible_managed}} + +[default] +region={{aws_s3_backup_region}} +output=json diff --git a/aws-s3-backup/templates/aws-credentials.j2 b/aws-s3-backup/templates/aws-credentials.j2 new file mode 100644 index 0000000..a959415 --- /dev/null +++ b/aws-s3-backup/templates/aws-credentials.j2 @@ -0,0 +1,5 @@ +# {{ansible_managed}} + +[default] +aws_access_key_id={{aws_access_key}} +aws_secret_access_key={{aws_secret_key}} |
