Skip to content
Merged
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,18 @@ cloud-provider specific code out of the Kubernetes codebase.

## Compatibility matrix

| | Kubernetes 1.16 | Kubernetes 1.17 | Kubernetes 1.18 |
|----------|------------------------|------------------------|------------------------|
| <=v 0.7 | ✗ | ✗ | ✗ |
| \>=v 0.8 | ✓ | ✓ | ✓ |
| | Kubernetes 1.16 | Kubernetes 1.17 | Kubernetes 1.18 | Kubernetes 1.19 | Kubernetes 1.20 |
|-----------|------------------------|------------------------|------------------------|------------------------|------------------------|
| \>=v 0.9 | ✓ | ✓ | ✓ | † | † |
| \>=v 0.10 | ✓ | ✓ | ✓ | † | † |
| \>=v 0.11 | ✓ | ✓ | ✓ | † | † |
| \>=v 0.12 | † | † | ✓ | ✓ | ✓ |

Key:

* `✓` oci-cloud-controller-manager is fully compatible.
* `✗` oci-cloud-controller-manager is not compatible.
* `†` Not tested with given version.

## Implementation
Currently `oci-cloud-controller-manager` implements:
Expand Down
10 changes: 10 additions & 0 deletions cmd/oci-csi-controller-driver/csioptions/csioptions.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ type CSIOptions struct {
Resync time.Duration
Timeout time.Duration
FeatureGates map[string]bool
FinalizerThreads uint
MetricsAddress string
MetricsPath string
ExtraCreateMetadata bool
ReconcileSync time.Duration
}

//NewCSIOptions initializes the flag
Expand All @@ -61,6 +66,11 @@ func NewCSIOptions() *CSIOptions {
StrictTopology: *flag.Bool("csi-strict-topology", false, "Passes only selected node topology to CreateVolume Request, unlike default behavior of passing aggregated cluster topologies that match with topology keys of the selected node."),
Resync: *flag.Duration("csi-resync", 10*time.Minute, "Resync interval of the controller."),
Timeout: *flag.Duration("csi-timeout", 15*time.Second, "Timeout for waiting for attaching or detaching the volume."),
FinalizerThreads: *flag.Uint("cloning-protection-threads", 1, "Number of simultaniously running threads, handling cloning finalizer removal"),
MetricsAddress: *flag.String("metrics-address", "", "The TCP network address where the prometheus metrics endpoint will listen (example: `:8080`). The default is empty string, which means metrics endpoint is disabled."),
MetricsPath: *flag.String("metrics-path", "/metrics", "The HTTP path where prometheus metrics will be exposed. Default is `/metrics`."),
ExtraCreateMetadata: *flag.Bool("extra-create-metadata", false, "If set, add pv/pvc metadata to plugin create requests as parameters."),
ReconcileSync: *flag.Duration("reconcile-sync", 1*time.Minute, "Resync interval of the VolumeAttachment reconciler."),
}
return &csioptions
}
13 changes: 9 additions & 4 deletions docs/load-balancer-annotations.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
This file defines a list of [Service][4] `type: LoadBalancer` annotations which are
supported by the `oci-cloud-controller-manager`.

All annotations are prefixed with `service.beta.kubernetes.io/`. For example:
All annotations are prefixed with `service.beta.kubernetes.io/` or `oci.oraclecloud.com/`. For example:

```yaml
kind: Service
Expand All @@ -14,6 +14,7 @@ metadata:
service.beta.kubernetes.io/oci-load-balancer-shape: "400Mbps"
service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid..."
service.beta.kubernetes.io/oci-load-balancer-subnet2: "ocid..."
oci.oraclecloud.com/oci-network-security-groups: "ocid1..."
spec:
...
```
Expand All @@ -33,10 +34,12 @@ spec:
| `oci-load-balancer-health-check-interval` | The interval between [health checks][6] requests, in milliseconds. | `10000` |
| `oci-load-balancer-connection-idle-timeout` | The maximum idle time, in seconds, allowed between two successive receive or two successive send operations between the client and backend servers. | `300` for TCP listeners, `60` for HTTP listeners |
| `oci-load-balancer-security-list-management-mode` | Specifies the [security list mode](##security-list-management-modes) (`"All"`, `"Frontend"`,`"None"`) to configure how security lists are managed by the CCM. | `"All"`
| `oci-load-balancer-backend-protocol` | Specify protocol on which the listener accepts connection requests. To get a list of valid protocols, use the [`ListProtocols`][5] operation. | `"TCP"`

Note: Only one annotation `oci-load-balancer-subnet1` should be passed if it is a regional subnet.
| `oci-load-balancer-backend-protocol` | Specifies protocol on which the listener accepts connection requests. To get a list of valid protocols, use the [`ListProtocols`][5] operation. | `"TCP"`
| `oci-network-security-groups` | Specifies Network Security Groups' OCIDs to be associated with the loadbalancer. Please refer [here][8] for NSG details. | `N/A`

Note:
- Only one annotation `oci-load-balancer-subnet1` should be passed if it is a regional subnet.
- `oci-network-security-groups` uses `oci.oraclecloud.com/` as prefix.
## TLS-related

| Name | Description | Default |
Expand All @@ -61,3 +64,5 @@ Note:
[4]: https://kubernetes.io/docs/concepts/services-networking/service/
[5]: https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerProtocol/ListProtocols
[6]: https://docs.cloud.oracle.com/en-us/iaas/api/#/en/loadbalancer/20170115/HealthChecker/
[7]: https://docs.oracle.com/en-us/iaas/api/#/en/loadbalancer/20170115/LoadBalancerPolicy/ListPolicies
[8]: https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm
105 changes: 0 additions & 105 deletions docs/tutorial-ssl-backendset.md

This file was deleted.

116 changes: 48 additions & 68 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,84 +4,64 @@ go 1.12

replace (
github.com/docker/docker => github.com/docker/engine v0.0.0-20181106193140-f5749085e9cb
k8s.io/api => k8s.io/api v0.0.0-20190620084959-7cf5895f2711
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.0.0-20190620085554-14e95df34f1f
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719
k8s.io/apiserver => k8s.io/apiserver v0.0.0-20190620085212-47dc9a115b18
k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20190620085706-2090e6d8f84c
k8s.io/client-go => k8s.io/client-go v0.0.0-20190620085101-78d2af792bab
k8s.io/cloud-provider => k8s.io/cloud-provider v0.0.0-20190620090043-8301c0bda1f0
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.0.0-20190620090013-c9a0fc045dc1
k8s.io/code-generator => k8s.io/code-generator v0.0.0-20190612205613-18da4a14b22b
k8s.io/component-base => k8s.io/component-base v0.0.0-20190620085130-185d68e6e6ea
k8s.io/cri-api => k8s.io/cri-api v0.0.0-20190531030430-6117653b35f1
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.0.0-20190620090116-299a7b270edc
github.com/prometheus/client_golang => github.com/prometheus/client_golang v0.9.4
google.golang.org/grpc => google.golang.org/grpc v1.26.0
k8s.io/api => k8s.io/api v0.16.4
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.16.4
k8s.io/apimachinery => k8s.io/apimachinery v0.16.4
k8s.io/apiserver => k8s.io/apiserver v0.16.4
k8s.io/cli-runtime => k8s.io/cli-runtime v0.16.4
k8s.io/client-go => k8s.io/client-go v0.16.4
k8s.io/cloud-provider => k8s.io/cloud-provider v0.16.4
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.16.4
k8s.io/code-generator => k8s.io/code-generator v0.16.4
k8s.io/component-base => k8s.io/component-base v0.17.0
k8s.io/cri-api => k8s.io/cri-api v0.16.4
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.17.0
k8s.io/klog => github.com/mrunalpagnis/klog v0.0.0-00000000000000-ec66c0a95a3fe542357d0366ad25f152cce66b8b
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.0.0-20190620085325-f29e2b4a4f84
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.0.0-20190620085942-b7f18460b210
k8s.io/kube-proxy => k8s.io/kube-proxy v0.0.0-20190620085809-589f994ddf7f
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.0.0-20190620085912-4acac5405ec6
k8s.io/kubelet => k8s.io/kubelet v0.0.0-20190620085838-f1cb295a73c9
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.0.0-20190620090156-2138f2c9de18
k8s.io/metrics => k8s.io/metrics v0.0.0-20190620085625-3b22d835f165
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.0.0-20190620085408-1aef9010884e
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.16.4
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.16.4
k8s.io/kube-proxy => k8s.io/kube-proxy v0.16.4
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.16.4
k8s.io/kubectl => k8s.io/kubectl v0.16.4
k8s.io/kubelet => k8s.io/kubelet v0.16.4
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.16.4
k8s.io/metrics => k8s.io/metrics v0.16.4
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.16.4
)

require (
github.com/NYTimes/gziphandler v1.0.1 // indirect
github.com/VividCortex/gohistogram v1.0.0 // indirect
github.com/container-storage-interface/spec v1.1.0
github.com/docker/distribution v0.0.0-20180720172123-0dae0957e5fe // indirect
github.com/fatih/camelcase v1.0.0 // indirect
github.com/ghodss/yaml v1.0.0 // indirect
github.com/go-kit/kit v0.9.0 // indirect
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef // indirect
github.com/golang/mock v1.2.0 // indirect
github.com/golang/protobuf v1.3.1
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c // indirect
github.com/google/go-cmp v0.3.1 // indirect
github.com/google/go-querystring v1.0.0 // indirect
github.com/googleapis/gnostic v0.2.0 // indirect
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
github.com/hashicorp/golang-lru v0.5.1 // indirect
github.com/imdario/mergo v0.3.7 // indirect
github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect
github.com/kubernetes-csi/csi-lib-utils v0.6.1
github.com/kubernetes-csi/csi-test v2.0.0+incompatible // indirect
github.com/kubernetes-csi/external-attacher v2.0.0+incompatible // indirect
github.com/kubernetes-csi/external-provisioner v1.4.0 // indirect
github.com/kubernetes-csi/external-snapshotter v1.0.1 // indirect
github.com/miekg/dns v1.1.17 // indirect
github.com/container-storage-interface/spec v1.2.0
github.com/golang/protobuf v1.4.2
github.com/kubernetes-csi/csi-lib-utils v0.7.1
github.com/munnerz/goautoneg v0.0.0-20190414153302-2ae31c8b6b30 // indirect
github.com/onsi/ginkgo v1.8.0
github.com/onsi/gomega v1.5.0
github.com/opencontainers/go-digest v1.0.0-rc1 // indirect
github.com/onsi/ginkgo v1.14.0
github.com/onsi/gomega v1.10.1
github.com/oracle/oci-go-sdk/v31 v31.0.0
github.com/pkg/errors v0.8.0
github.com/prometheus/client_golang v0.9.2
github.com/spf13/cobra v0.0.5 // indirect
github.com/spf13/pflag v1.0.3
github.com/spf13/viper v1.3.2
go.uber.org/atomic v1.3.2 // indirect
go.uber.org/zap v1.9.1
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 // indirect
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
github.com/pkg/errors v0.9.1
github.com/prometheus/client_golang v1.4.1
github.com/spf13/cobra v1.0.0 // indirect
github.com/spf13/pflag v1.0.5
github.com/spf13/viper v1.6.3
go.uber.org/multierr v1.6.0 // indirect
go.uber.org/zap v1.16.0
golang.org/x/net v0.0.0-20200707034311-ab3426394381
google.golang.org/appengine v1.6.2 // indirect
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7 // indirect
google.golang.org/grpc v1.19.1
google.golang.org/grpc v1.29.0
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.0.0-20170531160350-a96e63847dc3
gopkg.in/natefinch/lumberjack.v2 v2.0.0
gopkg.in/square/go-jose.v2 v2.3.1 // indirect
gopkg.in/yaml.v2 v2.2.2
k8s.io/api v0.0.0
k8s.io/apimachinery v0.0.0
gopkg.in/yaml.v2 v2.3.0
k8s.io/api v0.17.15
k8s.io/apimachinery v0.17.15
k8s.io/client-go v11.0.0+incompatible
k8s.io/cloud-provider v0.0.0
k8s.io/component-base v0.0.0
k8s.io/cloud-provider v0.17.0
k8s.io/component-base v0.17.0
k8s.io/csi-translation-lib v0.17.0 // indirect
k8s.io/klog v1.0.0
k8s.io/kubernetes v1.15.0
k8s.io/utils v0.0.0-20190907131718-3d4f5b7dea0b
sigs.k8s.io/sig-storage-lib-external-provisioner v4.0.1+incompatible
k8s.io/kubectl v1.16.4 // indirect
k8s.io/kubernetes v1.16.0
k8s.io/utils v0.0.0-20200124190032-861946025e34
sigs.k8s.io/sig-storage-lib-external-provisioner v4.1.0+incompatible
)
Loading