-
Notifications
You must be signed in to change notification settings - Fork 83
Implement Kopia #1723
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
perfectra1n
wants to merge
157
commits into
backube:main
Choose a base branch
from
perfectra1n:implement-kopia
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Implement Kopia #1723
Changes from all commits
Commits
Show all changes
157 commits
Select commit
Hold shift + click to select a range
00c4694
Update syncthing packages to v1.29.7
renovate-bot ef8d29c
Update k8s.io/utils digest to 4c0f3b2
renovate-bot abcc1e4
update changelog for v0.13.0-rc.3
tesshuflower d9c3ab7
Update codecov/codecov-action action to v5.4.3
renovate-bot cee7cf8
Bump requests from 2.32.0 to 2.32.4 in /test-e2e
dependabot[bot] 8ec1f43
helm chart version to v0.13.0 in prep for release
tesshuflower 86ef9d9
Update pre-commit hook renovatebot/pre-commit-hooks to v40.57.1
renovate-bot ae8ca3d
Bump golang.org/x/net from 0.26.0 to 0.38.0 in /custom-scorecard-tests
dependabot[bot] 4812b28
use go 1.23 for cust scorecard tests
tesshuflower e90def2
stop ffwding main to release-0.13
tesshuflower 4ebf83f
Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0
dependabot[bot] 20e5feb
Update module github.com/go-logr/logr to v1.4.3
renovate-bot 19cf6ae
Update actions/download-artifact action to v4.3.0
renovate-bot 54d28ca
Update pre-commit hook renovatebot/pre-commit-hooks to v41
renovate-bot 9075357
Bump urllib3 from 2.4.0 to 2.5.0 in /test-e2e
dependabot[bot] 35fccf6
Update dependency kubernetes-sigs/kustomize to v5.7.0
renovate-bot 753c2e6
Update pre-commit hook renovatebot/pre-commit-hooks to v41.23.4
renovate-bot be7a278
Update actions/setup-go action to v5.5.0
renovate-bot a86045c
Update dependency pipenv to v2025
renovate-bot 4073c76
Update dependency golangci/golangci-lint to v2.2.1
renovate-bot fa8ec77
allow utils as pkg name for linter
tesshuflower b3b3692
Update syncthing packages to v1.30.0
renovate-bot 7476cef
versioning for next release v0.14, changelog etc
tesshuflower 67af2a0
update ffwd from main->release0.14
tesshuflower d4ae885
Update pre-commit hook renovatebot/pre-commit-hooks to v41.23.5
renovate-bot 8bc15f4
Update pre-commit hook renovatebot/pre-commit-hooks to v41.40.0
renovate-bot d85e2da
Bump golang.org/x/oauth2 in /custom-scorecard-tests
dependabot[bot] fc797ad
feat(kopia): implement Kopia API types and mover types
perfectra1n 8572022
feat(kopia): implement tests for Kopia
perfectra1n e94fb78
feat(kopia): start Kopia documentation
perfectra1n 3c45fc2
feat(kopia): implement additional fields for kopia api types
perfectra1n 415de15
feat(kopia): update the kopia mover entry.sh for execute_action
perfectra1n 599a739
feat(kopia): format kopia files for linting, reduce complexity to pas…
perfectra1n a6308dd
feat(kopia): update description for kopia api objects
perfectra1n 70f1d7b
feat(kopia): add documentation examples for kopia usage
perfectra1n 386fd8d
feat(kopia): catch capital "FATAL" in log filter
perfectra1n 1b882e2
feat(kopia): add kopia e2e tests, and actually have them pass
perfectra1n 7202a08
feat(kopia): bump golang version and set correct kopia version for do…
perfectra1n 547e28c
feat(kopia): hopefully finish the kopia usage docs
perfectra1n 5d6a09d
feat(kopia): add kopia override support to the helm chart and run-in-…
perfectra1n 85e4746
feat(kopia): add missing environment variables needed for kopia cmd
perfectra1n b88b7d4
feat(kopia): update entry script to get repository prefix, and add so…
perfectra1n b228a38
feat(kopia): remove annoying log line about disabling tls
perfectra1n e690350
feat(kopia): add documentation around optional overrides for convenience
perfectra1n 3fded99
feat(kopia): allow for username/hostname overrides in kopia repositories
perfectra1n 3c44481
feat(kopia): create tests for optional overrides, and for multitenancy
perfectra1n 47abe2c
feat(kopia): add Promtheus metrics for kopia objects
perfectra1n 275e457
feat(kopia): add example PrometheusRule for Kopia
perfectra1n 569e1ec
feat(kopia): update documentation for kopia metrics
perfectra1n 0456c46
feat(kopia): also allow for overriding hostnames
perfectra1n 84d8c77
feat(docs): implement temporary documentation action
perfectra1n f978f02
feat(docs): override the warning flag for releasing docs
perfectra1n cd20b4e
feat(kopia): add environment variables for missing kopia backends
perfectra1n 90e8314
feat(helm): implement packaging the helm chart with the docs job
perfectra1n 5722291
feat(readme): update readme to clarify that it's a fork and where to …
perfectra1n dbd42d7
feat(kopia): add documentation for all providers
perfectra1n a06910c
feat(kopia): mount credentials for gcs and sftp correctly
perfectra1n e73304b
feat(readme): update readme to specify mover image too
perfectra1n be0ee6d
feat(kopia): tests now pass after fixing imports
perfectra1n d470fb1
feat(kopia): support manual config options
perfectra1n b884618
feat(helm): increment chart version
perfectra1n 2cf0c0e
feat(ci): disable additional unused jobs
perfectra1n 3270f6f
feat(kopia): resolve bug due to kopia prometheus metrics
perfectra1n 343b04a
feat(kopia): allow the user to not have to define KOPIA_S3_BUCKET and…
perfectra1n c5fc992
feat(kopia): support even more environment variables
perfectra1n 80033a8
feat(kopia): add some more tests for kopia
perfectra1n 5fd81f6
feat(kopia): don't print access keys to logs for debug anymore
perfectra1n be8e00d
feat(kopia): check if variables are set or not set
perfectra1n 3988d5a
feat(kopia): use replicationsource name as username
perfectra1n c9e5810
feat(kopia): support not specifying a cache PVC, and implement fallba…
perfectra1n f589f74
feat(kopia): update metrics and tests for new emptydir cache type
perfectra1n 6c0346a
feat(docs): add grafana dashboard example
perfectra1n 15de1fd
feat(readme): update README for fork
perfectra1n 19b4c82
feat(kopia): update example kopia alert metrics
perfectra1n 65baf78
Update dependency golangci/golangci-lint to v2.3.1
renovate-bot ab935e3
fix(kopia): add missing `jq` binary to dockerfile
perfectra1n 07f0a83
feat(kopia): support repositoryConfig object type
perfectra1n 9e6702c
feat(kopia): implement repositoryConfig for Kopia mover
perfectra1n ebfa71e
feat(kopia): add repositoryConfig CRD to bundle manifests
perfectra1n e2c2968
fix(controller): add Finalizers to stop sync loops
perfectra1n 2f5e7d1
feat(kopia): use ReplicationSource name for username, and namespace f…
perfectra1n 2989184
feat(kopia): support previous field for ReplicationDestination
perfectra1n 3b23221
feat(kopia): split up huge index docs page into multiple
perfectra1n af7c874
feat(kopia): support sourceIdentity CRD for easy restoration
perfectra1n 1231acd
feat(readme): update readme examples as well
perfectra1n 75dbe55
feat(readme): add another example
perfectra1n 84eaa06
feat(readme): also update readme for container
perfectra1n dd9b189
feat(kopia): also support sourceIdentity tests
perfectra1n 74b1671
fix(kopia): resolve duplicated function in entry mover
perfectra1n 1b7da27
fix(kopia): resolve broken jq parsing for snapshots
perfectra1n 87eb3d7
feat(helm): add sourceIdentity for Kopia
perfectra1n 338d0c6
feat(readme): update helm chart version
perfectra1n 0c0dd1c
feat(kopia): support sourcePVC and the discovery of it for Replicatio…
perfectra1n 098ca14
feat(kopia): add sourcePVC docs to sourceIdentity docs
perfectra1n 4ff3887
fix(kopia): add to `kopia snapshot restore` command to avoid unneeded…
perfectra1n 87afa75
feat(kopia): use the replicationdestination namespace if one isn't de…
perfectra1n f84be74
feat(kopia): update the entry script for listing snapshots
perfectra1n 7a666bb
feat(helm): increment the helm version again
perfectra1n f56d9a2
feat(kopia): add working autodiscovery tests
perfectra1n 09ef3a7
fix(kopia): trailing slash fun
perfectra1n 3c1f259
fix(kopia): try to squash the weird `//data.kopia-entry` error
perfectra1n 1af075a
fix(kopia): since it keeps trying to write in the parent directory, l…
perfectra1n e75d5bb
fix(kopia): update the data path that it looks for in snapshots
perfectra1n 70bdc29
feat(readme): update readme for working example
perfectra1n c2430f4
feat(kopia): support sourcePathOverride in ReplicationDestination
perfectra1n 6aececd
feat(helm): bump helm chart version for updated CRDs too
perfectra1n a6af21f
fix(kopia): fix the mount path depending on if it's a source or desti…
perfectra1n b5a340b
feat(kopia): also "smartly" discover the `kopia.repository` from `sou…
perfectra1n 4a88d5c
feat(helm): increment the helm chart
perfectra1n 930cc0e
feat(docs): update docs for sourceIdentity
perfectra1n 3143a5e
feat(readme): update readme example
perfectra1n 2b2d1b1
feat(kopia): also support `filesystemDestination` for ReplicationSource
perfectra1n 62b2a74
feat(ci): recreate old Helm Chart versions because I'm dumb
perfectra1n 18110e0
feat(kopia): use `repositoryPVC` instead of `filesystemDestination`
perfectra1n 7097ad3
feat(helm): increment chart version
perfectra1n aba6f38
feat(kopia): throw errors if requirements aren't met for ReplicationD…
perfectra1n 1bcdd00
feat(helm): also increment helm chart version
perfectra1n 975f3ea
feat(docs): clarify identity requirements for ReplicationDestinations
perfectra1n b2f76c7
feat(kopia): provide better metrics for passing/failing ReplicationSo…
perfectra1n 1a9832f
feat(readme): add discord to readme
perfectra1n 2dc2611
feat(kopia): just have the `namespace` be the `hostname` in kopia bac…
perfectra1n 39c9b28
feat(kopia): hostnames should just be the namespace
perfectra1n e5abfb4
feat(kopia): set up `enableFileDeletion` and docs for not having to s…
perfectra1n 6c13c19
feat(kopia): have the username just be the `ReplicationSource` name
perfectra1n 8a3cd1e
feat(helm): increment chart version
perfectra1n c0d448c
fix(kopia): resolve issue with nil pointer dereference
perfectra1n 33a8791
do not check for kopia updates from github
onedr0p 7ab9424
if snapshots don't exist don't error during restore
onedr0p 8352c3a
feat(ci): add container building step
perfectra1n 23f5d45
feat(ci): use a matrix instead for the container
perfectra1n 4936084
feat(ci): use a matrix instead for the container
perfectra1n 91fbc72
fix(kopia): remove finalizers, and per onedr0p: "delaying my testing …
perfectra1n 3d7e1bd
feat(kopia): increment helm version
perfectra1n d141fb0
maybe this is the right way to check if no snapshots exist
onedr0p bc09e9f
feat(kopia): further support global kopia repository configs
perfectra1n 6f0c533
feat(kopia): update docs for modifying kopia repository configs
perfectra1n 0d74426
feat(kopia): support the specification of compression in kopia reposi…
perfectra1n 7485fbe
feat(helm): increment helm chart version
perfectra1n 2a8914e
feat(docker): try to use bfd instead of gold in arm64
perfectra1n 5fb1c81
fix(kopia): fix incorrect compression statement
perfectra1n 95c55e5
feat(kopia): no longer validate compression input
perfectra1n 6d41296
feat(kopia): update comments on volsync crds for kopia
perfectra1n 8fc10d3
feat(kopia): support the use of additional arguments for kopia
perfectra1n b45410c
feat(kopia): add docs for additional args
perfectra1n ef5095a
feat(helm): increment version for additional args
perfectra1n c79b7f2
feat(kopia): allow all args
perfectra1n 1405e66
fix(kopia): reverse the kopia snapshot selection so it shows the "mos…
perfectra1n b869768
fix(kopia): also implement useful unit test to make sure kopia snapsh…
perfectra1n 7a1fefc
feat(kopia): resolve conflicts
perfectra1n e2e59ff
feat(kopia): continue to modify files that aren't needed for upstream
perfectra1n 9d063d4
feat(kopia): continue to modify files that aren't needed for upstream
perfectra1n 58490ff
feat(kopia): continue to modify files that aren't needed for upstream
perfectra1n 35aded1
feat(kopia): continue to modify files that aren't needed for upstream
perfectra1n 86c4be2
fix(kopia): add log level and retention controls to prevent cache PVC…
perfectra1n 5d7eefc
feat(kopia): also change the default logging to be info, and create d…
perfectra1n 2daa3d7
feat(docs): update defaults in docs for kopia changes
perfectra1n 90fb931
fix(kopia): instead of setting env var, provide custom ca to s3 command
perfectra1n File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to warn you, we are not yet ready to move to golang 1.24 - there's actually an issue with building on arm64 right now with golang 1.24. I would also like to move to golang 1.24 separately from the mover PR. So this would either have to wait, or you can start with a build that works with 1.23.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
related golang issue: golang/go#75074
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The latest Kopia releases only build with Golang 1.24, so unless we get the release binary instead of building from source, I'm not quite sure...
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did fix that in my Dockerfile though, so I'm able to build on ARM64 via this change, but I'm not sure if that aligns.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, thanks for that - I may try using that myself as the golang issue seems to still be unresolved for the moment. At least that would unblock us for moving to 1.24.