Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
1f13709
chore: get rid of k8s.io/kubernetes dep
Jul 21, 2020
5f20906
Update Error in Snapshot Status
xing-yang Apr 1, 2020
0c5b535
Merge pull request #284 from xing-yang/error_status
k8s-ci-robot Jul 22, 2020
04848c7
chore: remove unused parameter from util funcs; add unit test
Jul 22, 2020
73697eb
Call dynamic VS content creation unconditionally
saikat-royc Jul 22, 2020
d2906ab
Merge pull request #335 from saikat-royc/iss-333
k8s-ci-robot Jul 24, 2020
3c32e28
Merge pull request #334 from makkes/remove-kubernetes-dep
k8s-ci-robot Jul 24, 2020
547e88e
Adjusted dependencies to be v19.0-rc2
huffmanca Jul 23, 2020
bda8f8c
Update vendored dependencies
huffmanca Jul 23, 2020
d392f5c
Adjusted the date printing to address unit test failure
huffmanca Jul 24, 2020
a9d1a60
Merge pull request #338 from huffmanca/correct-timestamp
k8s-ci-robot Jul 24, 2020
de3d591
Merge pull request #337 from huffmanca/upgrade-to-v19
k8s-ci-robot Jul 27, 2020
ffaeac1
Move to klogv2
huffmanca Jul 27, 2020
d24d2b9
Merge pull request #340 from huffmanca/move-to-klogv2
k8s-ci-robot Jul 28, 2020
ae21521
Added go modules for Apis and Client
Jun 25, 2020
17e79ac
Use separate client for leader election
RaunakShah Jul 29, 2020
39fb3e4
Merge pull request #344 from RaunakShah/leclient
k8s-ci-robot Jul 30, 2020
d8ff17b
Update README
Jul 31, 2020
6b11230
Update controller images to canary
Jul 27, 2020
843bddc
Add steps on promoting release images
msau42 Aug 5, 2020
1ee19f1
Add check for update-crd script file
Aug 7, 2020
d8a2530
Merge pull request #95 from msau42/add-release-process
k8s-ci-robot Aug 7, 2020
2a99092
Emit event even if status update fails so user can see it
xing-yang Aug 9, 2020
4e0d027
Merge pull request #347 from xing-yang/move_event_up
k8s-ci-robot Aug 11, 2020
82d108a
switch to Go 1.15
pohly Aug 12, 2020
db597ef
release-tools: update
pohly Aug 12, 2020
1fbb636
Merge pull request #97 from pohly/go-1.15
k8s-ci-robot Aug 12, 2020
ff922f3
Merge pull request #352 from pohly/prow-update-master
k8s-ci-robot Aug 12, 2020
4807a7b
move hack to client
Aug 12, 2020
3b4a2f1
prow.sh: fix installing Go for Kubernetes 1.19.0
pohly Aug 14, 2020
0979c09
prow.sh: fix E2E suite for Kubernetes >= 1.18
pohly Aug 14, 2020
60e1cd3
Merge pull request #98 from pohly/kubernetes-1-19-fixes
k8s-ci-robot Aug 14, 2020
ad5dde2
release-tools: update
pohly Aug 14, 2020
15773c3
Merge pull request #358 from pohly/prow-update-master
k8s-ci-robot Aug 14, 2020
8ae798a
Move Hack to Client directory and update README
Aug 14, 2020
c436f5c
Merge pull request #339 from Kartik494/updatecontrollerimage
k8s-ci-robot Aug 18, 2020
a69711c
Merge pull request #307 from Kartik494/updategomod
k8s-ci-robot Aug 20, 2020
ac6cf6d
update readme for new crd directory
Madhu-1 Aug 20, 2020
d8afef5
Merge pull request #365 from Madhu-1/update-doc
k8s-ci-robot Aug 20, 2020
6c67682
Bump kube dependencies to v1.19.0
humblec Aug 27, 2020
db336e8
Merge pull request #372 from humblec/kube-1.19
k8s-ci-robot Aug 27, 2020
0ca9b6d
Update the CSI spec support matrix
humblec Aug 25, 2020
42b6b37
Add phase 1 of validation tightening.
Aug 4, 2020
6838d02
Merge pull request #369 from humblec/new
k8s-ci-robot Aug 28, 2020
06989d7
Update documentation.
Aug 28, 2020
8e8ab7b
Documentation style match new line after bullet point.
Aug 28, 2020
4f3b02a
Merge pull request #353 from AndiLi99/AndiLi99/webhook
k8s-ci-robot Aug 29, 2020
5c7866b
Bump go version 1.15
humblec Aug 29, 2020
c2ba707
Fix the race between PVC finalizer and snapshot finalizer removal
xing-yang Aug 17, 2020
34af0c5
Merge pull request #370 from humblec/go-spec
k8s-ci-robot Aug 30, 2020
1ba5602
Add comments
xing-yang Aug 30, 2020
42650bc
Merge pull request #360 from xing-yang/remove_finalizer
k8s-ci-robot Sep 2, 2020
a2ac03c
Update to v3
xing-yang Sep 8, 2020
60202d2
Merge pull request #373 from xing-yang/v3
k8s-ci-robot Sep 14, 2020
c1e1a1b
Update volume snapshot CRDs to v1 version
prateekpandey14 Aug 21, 2020
e562c2d
Merge pull request #367 from prateekpandey14/use-v1-crd
k8s-ci-robot Sep 16, 2020
ad4779d
Update client library dependency to k8s v1.19
xing-yang Sep 16, 2020
9ae8e54
Merge pull request #376 from xing-yang/update_client_1.19
k8s-ci-robot Sep 16, 2020
154db54
Add changelog for release 3.0.0
xing-yang Jul 11, 2020
28abcf9
Merge pull request #332 from xing-yang/changelog_2.2.0
k8s-ci-robot Sep 17, 2020
c3bf425
Merge tag 'v3.0.0' into rebase-v3.0.0
jsafrane Sep 18, 2020
ebba7a0
UPSTREAM: <carry>: bump go version
jsafrane Sep 18, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
389 changes: 389 additions & 0 deletions CHANGELOG/CHANGELOG-3.0.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions Dockerfile.openshift.rhel7
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM registry.svc.ci.openshift.org/ocp/builder:golang-1.13 AS builder
FROM registry.svc.ci.openshift.org/ocp/builder:golang-1.15 AS builder
WORKDIR /go/src/github.com/kubernetes-csi/external-snapshotter
COPY . .
RUN make build

FROM registry.svc.ci.openshift.org/ocp/4.0:base
FROM registry.svc.ci.openshift.org/ocp/4.6:base
COPY --from=builder /go/src/github.com/kubernetes-csi/external-snapshotter/bin/csi-snapshotter /usr/bin/
ENTRYPOINT ["/usr/bin/csi-snapshotter"]
4 changes: 2 additions & 2 deletions Dockerfile.snapshot-controller.openshift
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM registry.svc.ci.openshift.org/openshift/release:golang-1.13 AS builder
FROM registry.svc.ci.openshift.org/openshift/release:golang-1.135AS builder
WORKDIR /go/src/github.com/kubernetes-csi/external-snapshotter
COPY . .
RUN make build

FROM registry.svc.ci.openshift.org/openshift/origin-v4.0:base
FROM registry.svc.ci.openshift.org/openshift/origin-v4.6:base
COPY --from=builder /go/src/github.com/kubernetes-csi/external-snapshotter/bin/snapshot-controller /usr/bin/
ENTRYPOINT ["/usr/bin/snapshot-controller"]
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.

.PHONY: all snapshot-controller csi-snapshotter clean test
.PHONY: all snapshot-controller csi-snapshotter snapshot-validation-webhook clean test

CMDS=snapshot-controller csi-snapshotter
CMDS=snapshot-controller csi-snapshotter snapshot-validation-webhook
all: build
include release-tools/build.make
35 changes: 30 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ The CSI snapshotter is part of Kubernetes implementation of [Container Storage I

The volume snapshot feature supports CSI v1.0 and higher. It was introduced as an Alpha feature in Kubernetes v1.12 and has been promoted to an Beta feature in Kubernetes 1.17.

> :warning: **WARNING**: There is a new validating webhook server which provides tightened validation on snapshot objects. This SHOULD be installed by all users of this feature. More details [below](#validating-webhook).


## Overview

Expand All @@ -28,9 +30,9 @@ This information reflects the head of this branch.

| Compatible with CSI Version | Container Image | [Min K8s Version](https://kubernetes-csi.github.io/docs/kubernetes-compatibility.html#minimum-version) | Snapshot CRD version |
| ------------------------------------------------------------------------------------------ | ----------------------------| --------------- | -------------------- |
| [CSI Spec v1.0.0](https://github.com/container-storage-interface/spec/releases/tag/v1.0.0) | quay.io/k8scsi/csi-snapshotter | 1.17 | v1beta1 |
| [CSI Spec v1.0.0](https://github.com/container-storage-interface/spec/releases/tag/v1.0.0) | quay.io/k8scsi/snapshot-controller | 1.17 | v1beta1 |

| [CSI Spec v1.2.0](https://github.com/container-storage-interface/spec/releases/tag/v1.2.0) | k8s.gcr.io/sig-storage/csi-snapshotter | 1.17 | v1beta1 |
| [CSI Spec v1.2.0](https://github.com/container-storage-interface/spec/releases/tag/v1.2.0) | k8s.gcr.io/sig-storage/snapshot-controller | 1.17 | v1beta1 |
| [CSI Spec v1.2.0](https://github.com/container-storage-interface/spec/releases/tag/v1.2.0) | k8s.gcr.io/sig-storage/snapshot-validation-webhook | 1.17 | v1beta1 |

## Feature Status

Expand Down Expand Up @@ -62,9 +64,11 @@ Therefore, it is strongly recommended that Kubernetes distributors bundle and de

If your Kubernetes distribution does not bundle the snapshot controller, you may manually install these components by executing the following steps. Note that the snapshot controller YAML files in the git repository deploy into the default namespace for system testing purposes. For general use, update the snapshot controller YAMLs with an appropriate namespace prior to installing. For example, on a Vanilla Kubernetes cluster update the namespace from 'default' to 'kube-system' prior to issuing the kubectl create command.

There is a new validating webhook server which provides tightened validation on snapshot objects. The cluster admin or Kubernetes distribution admin should install the webhook alongside the snapshot controllers and CRDs. More details [below](#validating-webhook).

Install Snapshot Beta CRDs:
* kubectl create -f config/crd
* https://github.com/kubernetes-csi/external-snapshotter/tree/master/config/crd
* kubectl create -f client/config/crd
* https://github.com/kubernetes-csi/external-snapshotter/tree/master/client/config/crd
* Do this once per cluster

Install Common Snapshot Controller:
Expand All @@ -79,6 +83,22 @@ Install CSI Driver:
* kubectl create -f deploy/kubernetes/csi-snapshotter
* https://github.com/kubernetes-csi/external-snapshotter/tree/master/deploy/kubernetes/csi-snapshotter

### Validating Webhook

The snapshot validating webhook is an HTTP callback which responds to [admission requests](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/). It is part of a larger [plan](https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/177-volume-snapshot/tighten-validation-webhook-crd.md) to tighten validation for volume snapshot objects. This webhook introduces the [ratcheting validation](https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/177-volume-snapshot/tighten-validation-webhook-crd.md#backwards-compatibility) mechanism targeting the tighter validation. The cluster admin or Kubernetes distribution admin should install the webhook alongside the snapshot controllers and CRDs.

> :warning: **WARNING**: Cluster admins choosing not to install the webhook server and participate in the phased release process can cause future problems when upgrading from `v1beta1` to `v1` volumesnapshot API, if there are currently persisted objects which fail the new stricter validation. Potential impacts include being unable to delete invalid snapshot objects.

Read more about how to install the example webhook [here](deploy/kubernetes/webhook-example/README.md).

#### Validating Webhook Command Line Options

* `--tls-cert-file`: File containing the x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). Required.

* `--tls-private-key-file`: File containing the x509 private key matching --tls-cert-file. Required.

* `--port`: Secure port that the webhook listens on (default 443)

### Snapshot controller command line options

#### Important optional arguments that are highly recommended to be used
Expand Down Expand Up @@ -149,6 +169,11 @@ go test -timeout 30s github.com/kubernetes-csi/external-snapshotter/pkg/common-
go test -timeout 30s github.com/kubernetes-csi/external-snapshotter/pkg/sidecar-controller
```

## CRDs and Client Library

Volume snapshot APIs and client library are now in a separate sub-module: `github.com/kubernetes-csi/external-snapshotter/client/v3`.

Use the command `go get -u github.com/kubernetes-csi/external-snapshotter/client/v3@v3.0.0` to get the client library.

## Dependency Management

Expand Down
97 changes: 97 additions & 0 deletions client/clientset/versioned/clientset.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

82 changes: 82 additions & 0 deletions client/clientset/versioned/fake/clientset_generated.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

56 changes: 56 additions & 0 deletions client/clientset/versioned/fake/register.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

56 changes: 56 additions & 0 deletions client/clientset/versioned/scheme/register.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading