Skip to content

Commit

Permalink
Added v1.2.0 CSV
Browse files Browse the repository at this point in the history
  • Loading branch information
bradfordcp committed Jun 4, 2020
1 parent 66825fe commit b23e9b1
Show file tree
Hide file tree
Showing 12 changed files with 6,929 additions and 20 deletions.
5 changes: 5 additions & 0 deletions PACKAGING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ You should to use the [Package Builder](https://operatorhub.io/packages) to assi
1. Namespace
2. Secret
3. ValidatingWebhookConfiguration
4. Service

## Create CSV (no previous version)

Expand Down Expand Up @@ -64,3 +65,7 @@ operator-sdk generate csv --operator-name cass-operator --csv-version 1.1.0 --ma
https://github.com/openshift/console/blob/master/frontend/packages/operator-lifecycle-manager/src/components/descriptors/reference/reference.md

## Validating Operator SDK Manifests

```bash
operator-sdk scorecard
```
106 changes: 106 additions & 0 deletions docs/developer/csv-description.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
## Apache Cassandra

The Apache Cassandra database is the right choice when you need scalability and
high availability without compromising performance. Linear scalability and
proven fault-tolerance on commodity hardware or cloud infrastructure make it the
perfect platform for mission-critical data. Cassandra's support for replicating
across multiple datacenters is best-in-class, providing lower latency for your
users and the peace of mind of knowing that you can survive regional outages.

## DataStax Enterprise

The most advanced distribution of Apache Cassandra™ on the market, with the
enterprise functionality needed for serious production systems and backed up and
supported by the best distributed-experts in the world. It's one platform for
all types of applications anywhere, any cloud, any model: key-value, graph,
tabular, JSON.

DataStax Enterprise is a fully integrated and optimized database, with graph,
analytics, and search included, all with a unified security model. Simply put,
it's the only database capable of meeting today's demanding requirements

## Operator Details

`cass-operator` is designed as a modular operator for Apache Cassandra and
derived distributions. Apache Cassandra is a distributed database consisting of
multiple nodes working in concert to store data and process queries along a
number of fault domains. `cass-operator` has the deployment of a Cassandra
cluster around the logical domain of a datacenter with the `CassandraDatacenter`
custom resource. Upon submission of one of these resources it handles
provisioning the underlying stateful sets (analogous to C\* logical racks),
services, and configuration. Additionally through monitoring pod state via
Kubernetes callbacks it handles day to day operations such as restarting failed
processes, scaling clusters up, and deploying configuration changes in a
rolling, non-disruptive, fashion. This operator is designed to be `Namespace`
scoped. A single Kubernetes cluster may be running multiple instances of this
operator, in separate namespaces, to support a number of C\* clusters and
environments. Configuration is simple with the usage of YAML based overrides in
the Custom Resource paired with an `init` container. In C\* clusters ordering and
timing of certain operations are important to keep the system evenly
distributed. `cass-operator` takes advantage of a sidecar process within the
main container to handle the orchestration of starting our main C* process.

## Pre-requisites

### WebHook Secret

This secret is intentionally left blank and will be filled in as the operator is
brought is started and certificates are generated.

```yaml
apiVersion: v1
data:
tls.crt: ""
tls.key: ""
kind: Secret
metadata:
name: cass-operator-webhook-config
```
### WebHook Configuration
Note the namespace _must_ be updated in the configuration below.
```yaml
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
metadata:
name: "cassandradatacenter-webhook-registration"
webhooks:
- name: "cassandradatacenter-webhook.cassandra.datastax.com"
rules:
- apiGroups: ["cassandra.datastax.com"]
apiVersions: ["v1beta1"]
operations: ["CREATE", "UPDATE", "DELETE"]
resources: ["cassandradatacenters"]
scope: "*"
clientConfig:
service:
name: "cassandradatacenter-webhook-service"
namespace: "cass-operator"
path: /validate-cassandra-datastax-com-v1beta1-cassandradatacenter
admissionReviewVersions: ["v1beta1"]
failurePolicy: "Ignore"
matchPolicy: "Equivalent"
sideEffects: None
timeoutSeconds: 10
```
### WebHook Service
Note the namespace _must_ be updated in the configuration below.
```yaml
apiVersion: v1
kind: Service
metadata:
name: cassandradatacenter-webhook-service
labels:
name: cass-operator-webhook
spec:
ports:
- port: 443
targetPort: 8443
selector:
name: cass-operator
```
34 changes: 22 additions & 12 deletions operator/.osdk-scorecard.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,32 @@ scorecard:
cr-manifest:
- "example-cassdc-yaml/dse-6.8.0/example-cassdc-scorecard.yaml"

# v1.0.0
- olm:
cr-manifest:
- "example-cassdc-yaml/cassandra-3.11.6/example-cassdc-scorecard.yaml"
csv-path: "deploy/olm-catalog/cass-operator/1.0.0/cass-operator.v1.0.0.clusterserviceversion.yaml"
- olm:
cr-manifest:
- "example-cassdc-yaml/dse-6.8.0/example-cassdc-scorecard.yaml"
csv-path: "deploy/olm-catalog/cass-operator/1.0.0/cass-operator.v1.0.0.clusterserviceversion.yaml"
# # v1.0.0
# - olm:
# cr-manifest:
# - "example-cassdc-yaml/cassandra-3.11.6/example-cassdc-scorecard.yaml"
# csv-path: "deploy/olm-catalog/cass-operator/1.0.0/cass-operator.v1.0.0.clusterserviceversion.yaml"
# - olm:
# cr-manifest:
# - "example-cassdc-yaml/dse-6.8.0/example-cassdc-scorecard.yaml"
# csv-path: "deploy/olm-catalog/cass-operator/1.0.0/cass-operator.v1.0.0.clusterserviceversion.yaml"

# v1.1.0
# # v1.1.0
# - olm:
# cr-manifest:
# - "example-cassdc-yaml/cassandra-3.11.6/example-cassdc-scorecard.yaml"
# csv-path: "deploy/olm-catalog/cass-operator/1.1.0/cass-operator.v1.1.0.clusterserviceversion.yaml"
# - olm:
# cr-manifest:
# - "example-cassdc-yaml/dse-6.8.0/example-cassdc-scorecard.yaml"
# csv-path: "deploy/olm-catalog/cass-operator/1.1.0/cass-operator.v1.1.0.clusterserviceversion.yaml"

# v1.2.0
- olm:
cr-manifest:
- "example-cassdc-yaml/cassandra-3.11.6/example-cassdc-scorecard.yaml"
csv-path: "deploy/olm-catalog/cass-operator/1.1.0/cass-operator.v1.1.0.clusterserviceversion.yaml"
csv-path: "deploy/olm-catalog/cass-operator/1.2.0/cass-operator.v1.2.0.clusterserviceversion.yaml"
- olm:
cr-manifest:
- "example-cassdc-yaml/dse-6.8.0/example-cassdc-scorecard.yaml"
csv-path: "deploy/olm-catalog/cass-operator/1.1.0/cass-operator.v1.1.0.clusterserviceversion.yaml"
csv-path: "deploy/olm-catalog/cass-operator/1.2.0/cass-operator.v1.2.0.clusterserviceversion.yaml"
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ metadata:
capabilities: Auto Pilot
repository: 'https://github.com/datastax/cass-operator'
createdAt: "2020-03-31"
certified: "false"
certified: "true"
name: cass-operator.v1.0.0
namespace: placeholder
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@ spec:
status: {}
validation:
openAPIV3Schema:
description: CassandraDatacenter is the Schema for the cassandradatacenters
API
description: CassandraDatacenter is the Schema for the cassandradatacenters API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ metadata:
support: 'DataStax'
capabilities: Auto Pilot
repository: 'https://github.com/datastax/cass-operator'
createdAt: "2020-05-28"
certified: "false"
createdAt: "2020-04-22"
certified: "true"
name: cass-operator.v1.1.0
namespace: placeholder
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@ spec:
status: {}
validation:
openAPIV3Schema:
description: CassandraDatacenter is the Schema for the cassandradatacenters
API
description: CassandraDatacenter is the Schema for the cassandradatacenters API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
Expand Down
Loading

0 comments on commit b23e9b1

Please sign in to comment.