Skip to content
This repository has been archived by the owner on Jan 19, 2024. It is now read-only.

aws backup|restore support and backup cronjob #118

Merged
merged 20 commits into from
Oct 16, 2020
Merged

aws backup|restore support and backup cronjob #118

merged 20 commits into from
Oct 16, 2020

Conversation

srfaytkn
Copy link
Contributor

  • aws backup support
  • cronjob

@srfaytkn
Copy link
Contributor Author

  • restore aws support

@srfaytkn
Copy link
Contributor Author

hello @moxious , can you set the backup chart to be downloaded directly from the helm hub?

@srfaytkn srfaytkn changed the title aws backup support and backup cronjob aws backup|restore support and backup cronjob Oct 11, 2020
Copy link
Contributor

@moxious moxious left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for doing this PR. Really substantive work and I'd like to work with you to get this in. Submitting a review here -- in terms of the way you've approached the task I'm all good with it. I like the CLOUD_PROVIDER and secret name approach to fan out to multiple different clouds, and I also like the job scheduling.

tools/backup/README-BACKUP.md Outdated Show resolved Hide resolved
labels:
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
app.kubernetes.io/name: "graph-backup"
app.kubernetes.io/component: backup
spec:
backoffLimit: 3
template:
schedule: {{.Values.jobSchedule | quote }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like the jobSchedule approach, but please put it in an if block, and allow the user to not specify it for one-off backups. I.e. automating this on a regular basis is a good idea, but between intervals, users may wish to take a one-off hot backup before performing a maintenance operation like a rolling upgrade.

Copy link
Contributor Author

@srfaytkn srfaytkn Oct 13, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this case, a hot backup can be created using kubectl create job --from=cronjob/<name of cronjob> <name of job>. I can still if this situation is requested

tools/backup/templates/backup.yaml Outdated Show resolved Hide resolved
checkPropertyOwners: "false"
jobSchedule: "0 */12 * * *"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't feel strongly about this but for a lot of production customers, once every 24 hours would be a better default

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This value is default. User can be change while creating chart.

tools/restore/README-RESTORE.md Outdated Show resolved Hide resolved
tools/restore/restore.sh Outdated Show resolved Hide resolved
tools/restore/restore.sh Outdated Show resolved Hide resolved
tools/restore/restore.sh Outdated Show resolved Hide resolved
@moxious
Copy link
Contributor

moxious commented Oct 12, 2020

hello @moxious , can you set the backup chart to be downloaded directly from the helm hub?

I don't personally know how to do this, but I haven't yet invested a lot of deep time to figure out how. We have an issue in the repo with all of the things that have been tried here, with background if you're interested. #16

I was thinking on that issue that I needed someone who was more familiar with helm repositories to help out with a few facts. I think fundamentally doing that (publishing the charts correctly in an automated way) is 100% the right thing to do and I'll do it, supposing I know how.

@srfaytkn srfaytkn requested a review from moxious October 13, 2020 09:35
Copy link
Contributor

@moxious moxious left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last set of minor changes; if these can be addressed it's mergeable. I tested it locally with GCP and will test again with AWS later today.

Process I plan for this PR is to merge it onto master later, but then I have to make & push the regular backup/restore containers before I can issue a release. Otherwise, just on master this won't work without users adjusting the image & imageTag for the backup & restore containers. Easy enough to fix, but not something we can do on the PR.

Once this is merged & the containers are pushed into the right places and I have a green build on master, I'll probably do a release.

doc/docs/modules/ROOT/pages/backup.adoc Show resolved Hide resolved
doc/docs/modules/ROOT/pages/backup.adoc Show resolved Hide resolved
doc/docs/modules/ROOT/pages/backup.adoc Show resolved Hide resolved
doc/docs/modules/ROOT/pages/backup.adoc Show resolved Hide resolved
values.yaml Show resolved Hide resolved
doc/docs/modules/ROOT/pages/backup.adoc Show resolved Hide resolved
#restore deployment-scenarios
@srfaytkn srfaytkn requested a review from moxious October 15, 2020 18:22
@moxious moxious added the enhancement New feature or request label Oct 16, 2020
@moxious moxious merged commit c126657 into neo4j-contrib:master Oct 16, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants