Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ repos:
- id: shellcheck

- repo: https://github.com/markdownlint/markdownlint
rev: "v0.15.0"
rev: "v0.18.1"
hooks:
- id: markdownlint
args: ["--style", ".ci-scripts/mdl-style.rb"]
Expand Down
25 changes: 15 additions & 10 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
and this project adheres to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

Expand All @@ -17,9 +18,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Rclone updated to v1.75.1
- Restic support `--keep-within-*` retention flags
- Add MoverTolerations to MoverConfig
- The Rsync-ssh mover now requires privileged mode to run. Previously for backwards
compatibility it forced privileged mode. Note: Rsync-TLS is still the recommended
mover for Rsync.
- The Rsync-ssh mover now requires privileged mode to run. Previously
for backwards compatibility it forced privileged mode. Note: Rsync-TLS is
still the recommended mover for Rsync.

### Fixed

Expand Down Expand Up @@ -156,7 +157,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Fixed

- Fix for rsync-tls to handle replication when there are many files in the pvc root
- Fix for rsync-tls to handle replication when there are many files in the pvc
root
- Fix for rsync-tls to handle files in the pvc root that start with `#`

### Changed
Expand Down Expand Up @@ -184,7 +186,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- Allow customization of resource requirements and limits on mover job containers
- Allow customization of resource requirements and limits on mover job
containers
- Include additional restic environment variables from the restic secret
(RESTIC_REST_USERNAME, RESTIC_REST_PASSWORD, AZURE_ENDPOINT_SUFFIX)
- Copy trigger pvc annotations. Allows copy-trigger annotations on the pvc to
Expand All @@ -195,8 +198,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed

- Exclude lost+found for restic backups
- Check if ipv6 is enabled before assigning 'STUNNEL_LISTEN_PORT' in mover-rsync-tls
server script
- Check if ipv6 is enabled before assigning 'STUNNEL_LISTEN_PORT' in
mover-rsync-tls server script

## [0.8.1]

Expand Down Expand Up @@ -262,7 +265,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Security

- kube-rbac-proxy upgraded to 0.14.0
- All movers, except rsync-ssh, now run with reduced privileges by default (see docs)
- All movers, except rsync-ssh, now run with reduced privileges by default
(see docs)

## [0.6.1]

Expand Down Expand Up @@ -360,7 +364,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Fix to RoleBinding created by VolSync for OCP namespace labeler.
- Fix to helm charts to remove hardcoded overwriting of pod security settings.
- Fix for node affinity (when using ReplicationSource in Direct mode) to use NodeSelector.
- Fix for node affinity (when using ReplicationSource in Direct mode) to use
NodeSelector.
- Fixed log timestamps to be more readable.
- CLI: Fixed bug where previously specified options couldn't be removed from
relationship file
Expand Down
34 changes: 21 additions & 13 deletions Procedures.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@
`./build-index ../volsync/volsync-X.Y.Z.tgz`
* Create a PR against that repo w/ the changes
* If updating the helm chart README.md, then make sure to update the
description in the [csv](config/manifests/bases/volsync.clusterserviceversion.yaml).
description in the
[csv](config/manifests/bases/volsync.clusterserviceversion.yaml).
Then run `make bundle` to make sure the csv in the bundle dir is updated.

### Release an updated CLI plugin to krew
Expand Down Expand Up @@ -121,7 +122,8 @@ example, say we have the following scenario:
To get this upgrade to work the easiest solution atm may be to add a skipRange
to the CSV.

The following annotation can be added to the [csv](bundle/manifests/volsync.clusterserviceversion.yaml)
The following annotation can be added to the
[csv](bundle/manifests/volsync.clusterserviceversion.yaml)

```yaml
olm.skipRange: '>=0.4.0 <0.4.2'
Expand All @@ -131,8 +133,8 @@ This will allow upgrades (even between channels) to `0.4.2` from any version
starting from `0.4.0`. It will also upgrade directly to `0.4.2` without
installing any versions in-between.

In addition, 'replaces' can be specified in the spec to indicate a specific version
that the operator version replaces.
In addition, 'replaces' can be specified in the spec to indicate a specific
version that the operator version replaces.

As an example:

Expand All @@ -153,11 +155,14 @@ to insert the olm.skipRange and replaces (if required).

See references:

* [operator-framework: how to update operators](https://github.com/operator-framework/operator-lifecycle-manager/blob/master/doc/design/how-to-update-operators.md)
* [operator-framework: how to update
operators](https://github.com/operator-framework/operator-lifecycle-manager/blob/master/doc/design/how-to-update-operators.md)

* [olm architecture: creating an update graph](https://olm.operatorframework.io/docs/concepts/olm-architecture/operator-catalog/creating-an-update-graph/)
* [olm architecture: creating an update
graph](https://olm.operatorframework.io/docs/concepts/olm-architecture/operator-catalog/creating-an-update-graph/)

* [OLM doc discussing upgrades](https://docs.google.com/document/d/1X4xwBK4ECIXjaA_0DuVNuWieY9Qjbl42BMRAyIYc_HM/edit)
* [OLM doc discussing
upgrades](https://docs.google.com/document/d/1X4xwBK4ECIXjaA_0DuVNuWieY9Qjbl42BMRAyIYc_HM/edit)

* [issue](https://github.com/operator-framework/olm-docs/issues/243)

Expand All @@ -176,10 +181,11 @@ defaults set in the [version.mk](version.mk) file so if those values are
correct, no need to specify them

Note: REPLACES_VERSION should be empty for the first release in a new channel.
(For example when releasing a 0.6.0 version in a new channel, we need the skipRange
still to indicate older versions can upgrade to the new one - but REPLACES_VERSION
needs to be empty as the replaces version needs to exist in the channel or upgrades
will not work). When REPLACES_VERSION is blank, (see make bundle in the Makefile),
(For example when releasing a 0.6.0 version in a new channel, we need the
skipRange still to indicate older versions can upgrade to the new one - but
REPLACES_VERSION needs to be empty as the replaces version needs to exist in
the channel or upgrades will not work). When REPLACES_VERSION is blank, (see
make bundle in the Makefile),
the csv will be updated but the operator-sdk will automatically remove replaces
from the csv.spec when it's empty for us.

Expand Down Expand Up @@ -213,7 +219,8 @@ from the csv.spec when it's empty for us.
* Change the version number in [release.yml](.github/workflows/release.yml)
* Change the version number in [go.mod](go.mod)
* Run `go mod tidy -go=X.Y`
* Change the version number in [custom-scorecard-tests/go.mod](custom-scorecard-tests/go.mod)
* Change the version number in
[custom-scorecard-tests/go.mod](custom-scorecard-tests/go.mod)
* Run `go mod tidy -go=X.Y`
* Change the version number for the builder images in
* [Dockerfile](Dockerfile)
Expand Down Expand Up @@ -248,7 +255,8 @@ from the csv.spec when it's empty for us.
* Run `make bundle` to propagate changes to the operator bundle files
* [Rclone](https://github.com/rclone/rclone/releases)
* Change the version number in
[mover-rclone/Dockerfile](mover-rclone/Dockerfile) and update GIT hash to match
[mover-rclone/Dockerfile](mover-rclone/Dockerfile)
and update GIT hash to match
* Make an entry in [CHANGELOG.md](CHANGELOG.md)
* Make an entry in [Chart.yaml](helm/volsync/Chart.yaml)
* [Restic](https://github.com/restic/restic/releases)
Expand Down
14 changes: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,17 +39,19 @@ More detailed information on installation and usage can be found in the

* [VolSync documentation](https://volsync.readthedocs.io)
* [Changelog](CHANGELOG.md)
* [Contributing guidelines](https://github.com/backube/.github/blob/master/CONTRIBUTING.md)
* [Organization code of conduct](https://github.com/backube/.github/blob/master/CODE_OF_CONDUCT.md)
* [Contributing
guidelines](https://github.com/backube/.github/blob/master/CONTRIBUTING.md)
* [Organization code of
conduct](https://github.com/backube/.github/blob/master/CODE_OF_CONDUCT.md)

## Licensing

This project is licensed under the [GNU AGPL 3.0 License](LICENSE) with the following
exceptions:
This project is licensed under the [GNU AGPL 3.0 License](LICENSE)
with the following exceptions:

* The files within the `api/*` directories are additionally licensed under
Apache License 2.0. This is to permit VolSync's CustomResource types to be used
by a wider range of software.
Apache License 2.0. This is to permit VolSync's CustomResource types to be
used by a wider range of software.
* Documentation is made available under the [Creative Commons
Attribution-ShareAlike 4.0 International license (CC BY-SA
4.0)](https://creativecommons.org/licenses/by-sa/4.0/)
10 changes: 6 additions & 4 deletions custom-scorecard-tests/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
# VolSync Custom Scorecard Tests

These tests are designed to package the end-to-end tests in /test-e2e but be able
to run them via operator-sdk scorecard tests.
These tests are designed to package the end-to-end tests in /test-e2e but be
able to run them via operator-sdk scorecard tests.

More info about scorecard tests [here](https://sdk.operatorframework.io/docs/testing-operators/scorecard/custom-tests/)
More info about scorecard tests
[here](https://sdk.operatorframework.io/docs/testing-operators/scorecard/custom-tests/)

For more info (this is downstream specific) for CVP running custom scorecard
tests see [here](https://docs.engineering.redhat.com/display/CVP/Operator+Verification+Pipeline+Documentation#operator-custom-scorecard-tests)
tests see
[here](https://docs.engineering.redhat.com/display/CVP/Operator+Verification+Pipeline+Documentation#operator-custom-scorecard-tests)

The intention is these tests will also be run by downstream CVP E2E tests.
Downstream the scorecard config.yaml can be used to specify which e2e tests
Expand Down
3 changes: 2 additions & 1 deletion helm/volsync/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,8 @@ on the command line or via a custom `values.yaml` file.
- Override the name of the operator's ServiceAccount
- `service.ipFamilyPolicy`: (empty)
- Set the ip family policy to configure dual-stack see
[Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
[Configure
dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
- `service.ipFamilies`: none
- Sets the families that should be supported and the order
in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
Expand Down
Loading