Skip to content

Commit

Permalink
Merge pull request #24 from osodevops/cfk-2.3.0
Browse files Browse the repository at this point in the history
Cfk 2.3.0
  • Loading branch information
sionsmith authored May 3, 2022
2 parents 7e393bc + 2ff6010 commit a4af245
Show file tree
Hide file tree
Showing 590 changed files with 213,665 additions and 3,110 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,7 @@ pki-ca-root.json
cert_key_list
nohup.out

aws.credentials

*.pem
*.csr
42 changes: 42 additions & 0 deletions GETTING_STARTED.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
### Getting Started

#### Deploying the Operator

[//]: # (TODO: describe how this is a declarative adaptation of CFK's helm instructions. Also discuss the update script that we have and how version numbers of the components are also important)
Before you can deploy any of the deployment examples found in `./stable` and `./incubator`, we must first deploy the CFK Operator, and it's dependent CRDs. To deploy, from the root of this repository, run:
```shell
kubectl apply --kustomize ./base/cfk-base/latest/crds && sleep 5 && kubectl apply --kustomize ./base/cfk-base/latest/templates
```
We have taken the approach to deploy the Operator at a cluster-wide level, to allow use to experiment with multi-tenant configurations


### Deploying the example
Unless otherwise started in the README.md of each example, it should be assumed that we will deploy the example by running
```shell
export EXAMPLE=base-rbac
kubectl apply -kustomize ./stable/$EXAMPLE
```




4. Using a tool like [K9s](https://github.com/derailed/k9s) check the status of the pods:
```shell
➜ replicator git:(replicator) ✗ kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
sandbox confluent-operator-d4bb8cbd6-qg4dq 1/1 Running 0 14m
sandbox console-producer-0 1/1 Running 1 14m
sandbox kafka-0 1/1 Running 1 13m
sandbox kafka-1 1/1 Running 0 13m
sandbox kafka-2 1/1 Running 0 13m
sandbox zookeeper-0 1/1 Running 0 13m
sandbox zookeeper-1 1/1 Running 0 13m
sandbox zookeeper-2 1/1 Running 0 13m
tools ldap 1/1 Running 1 14m
```


### Tearing Down

[//]: # (TODO: Describe recomendation to teardown and redeploy other examples)
minikube delete && minikube start --memory 24576 --cpus 12
18 changes: 0 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,24 +51,6 @@ You will need a Kubernetes cluster version 1.16 or newer and kubectl version 1.1



## Examples

Before you can deploy any of the deployment examples found in `./examples`, we must first deploy the Confluent-specific CRDs. To deploy, from the root of this repository, run:
```shell
$ kubectl apply --kustomize ./kustomize/crds
```

### CFK Deployments
* [Vault PKI integration with dynamic SSL](https://github.com/osodevops/confluent-kubernetes-playground/tree/main/examples/basic-pki-vault)
* [Basic CFK install with auto generated certificates](https://github.com/osodevops/confluent-kubernetes-playground/tree/main/examples/basic)
* [Kafka Connect GCP Spanner in CFK](https://github.com/osodevops/confluent-kubernetes-playground/tree/main/examples/custom-connect-gcp-connectors)
* [Kafka Connect SQL Server in CFK](https://github.com/osodevops/confluent-kubernetes-playground/tree/main/examples/custom-connect-sql)
* [Monitoring Kakfa CFK with JMX Prometheus and Grafana](https://github.com/osodevops/confluent-kubernetes-playground/tree/main/examples/elk-logging)
* [RBAC enabled CFK cluster wth OpenLDAP](https://github.com/osodevops/confluent-kubernetes-playground/tree/main/examples/rbac)
* [Cloud to Cloud replication using Confluent replicator in CFK](https://github.com/osodevops/confluent-kubernetes-playground/tree/main/examples/replicator)
* [User provided mTLS for Kafka in CFK](https://github.com/osodevops/confluent-kubernetes-playground/tree/main/examples/userprovided-mtls)
* [Vault enabled secrets store for Kafka](https://github.com/osodevops/confluent-kubernetes-playground/tree/main/examples/vault-key-value)




Expand Down
10 changes: 4 additions & 6 deletions README.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,11 @@ usage: |-
* [Minikube](https://minikube.sigs.k8s.io/docs/start/)
# Example usage
examples: |-
Before you can deploy any of the deployment examples found in `./examples`, we must first deploy the Confluent-specific CRDs. To deploy, from the root of this repository, run:
```shell
$ kubectl apply --kustomize ./kustomize/crds
```
Examples: |-
### CFK Deployments
All Examples will require the steps mentioned in [GETTING_STARTED.md](https://github.com/osodevops/confluent-kubernetes-playground/tree/main/GETTING_STARTED.md) run prior to deploying the example
### Stable CFK Deployments
* [Vault PKI integration with dynamic SSL](https://github.com/osodevops/confluent-kubernetes-playground/tree/main/examples/basic-pki-vault)
* [Basic CFK install with auto generated certificates](https://github.com/osodevops/confluent-kubernetes-playground/tree/main/examples/basic)
* [Kafka Connect GCP Spanner in CFK](https://github.com/osodevops/confluent-kubernetes-playground/tree/main/examples/custom-connect-gcp-connectors)
Expand Down
13 changes: 13 additions & 0 deletions base/cfk-base/2.0.0/crds/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- platform.confluent.io_confluentrolebindings.yaml
- platform.confluent.io_connects.yaml
- platform.confluent.io_controlcenters.yaml
- platform.confluent.io_kafkarestclasses.yaml
- platform.confluent.io_kafkas.yaml
- platform.confluent.io_kafkatopics.yaml
- platform.confluent.io_ksqldbs.yaml
- platform.confluent.io_migrationjobs.yaml
- platform.confluent.io_schemaregistries.yaml
- platform.confluent.io_zookeepers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,252 @@
---
# Source: confluent-for-kubernetes/crds/platform.confluent.io_confluentrolebindings.yaml

---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: confluentrolebindings.platform.confluent.io
spec:
additionalPrinterColumns:
- JSONPath: .status.state
name: Status
type: string
- JSONPath: .status.kafkaClusterId
name: KafkaClusterId
type: string
- JSONPath: .status.principal
name: Principal
type: string
- JSONPath: .status.role
name: Role
type: string
- JSONPath: .status.kafkaRestClass
name: KafkaRestClass
type: string
- JSONPath: .metadata.creationTimestamp
name: Age
type: date
- JSONPath: .status.clusterRegistryName
name: ClusterRegistryName
priority: 1
type: string
group: platform.confluent.io
names:
categories:
- all
- confluent-platform
- confluent
kind: ConfluentRolebinding
listKind: ConfluentRolebindingList
plural: confluentrolebindings
shortNames:
- cfrb
- confluentrolebinding
singular: confluentrolebinding
preserveUnknownFields: false
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
description: ConfluentRolebinding is the Schema for the confluentrolebinding
API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: ConfluentRolebindingSpec defines the desired state of rolebinding
for cp component when rbac is enabled
properties:
clustersScopeByIds:
description: ClusterScope defines the scope of clustersId
properties:
connectClusterId:
minLength: 1
type: string
kafkaClusterId:
minLength: 1
type: string
ksqlClusterId:
minLength: 1
type: string
schemaRegistryClusterId:
minLength: 1
type: string
type: object
clustersScopeByRegistryName:
description: ClusterRegistryName defines the unique cluster name customer
registered in cluster registry
minLength: 1
type: string
kafkaRestClassRef:
description: KafkaRestClassRef defines the reference for KafkaRestClass
which defines Kafka Rest API
properties:
name:
description: Name defines the name of KafkaRestClass
minLength: 1
type: string
namespace:
description: Namespace defines the namespace of the KafkaRestClass
type: string
required:
- name
type: object
principal:
description: Principal defines the confluent rolebinding principal name
and the binding details.
properties:
name:
description: Name defines the name of the principal(user/group)
minLength: 1
type: string
type:
enum:
- user
- group
type: string
required:
- name
- type
type: object
resourcePatterns:
description: ResourcePatterns define the qualified resources associated
with this rolebinding
items:
description: ResourcePattern define the qualified resource info associated
with this rolebinding
properties:
name:
description: Name defines the name of resource associated with
this rolebinding
minLength: 1
type: string
patternType:
description: PatternType defines whether the pattern of resource
is PREFIXED or LITERAL, default is LITERAL if not set
enum:
- PREFIXED
- LITERAL
type: string
resourceType:
description: ResourceType defines the type of resource
minLength: 1
type: string
required:
- name
- resourceType
type: object
type: array
role:
description: Role defines the name of the Role
minLength: 1
type: string
required:
- principal
- role
type: object
status:
description: ConfluentRolebindingStatus defines the observed state of ConfluentRolebinding
properties:
clusterRegistryName:
type: string
conditions:
items:
description: Conditions represents the latest available observations
of a statefulset's current state.
properties:
lastProbeTime:
description: LastProbeTime defines a last time the condition is
evaluated.
format: date-time
type: string
lastTransitionTime:
description: LastTransitionTime defines a last time the condition
transitioned from one status to another.
format: date-time
type: string
message:
description: ' Message defines a human readable message indicating
details about the transition.'
type: string
reason:
description: ' Reason defines reason for the condition''s last
transition.'
type: string
status:
description: Status defines a status of the condition, one of
True, False, Unknown
type: string
type:
description: Type defines type of condition
type: string
type: object
type: array
kafkaClusterId:
type: string
kafkaRestClass:
type: string
mdsEndpoint:
type: string
principal:
type: string
resourcePatterns:
items:
description: ResourcePattern define the qualified resource info associated
with this rolebinding
properties:
name:
description: Name defines the name of resource associated with
this rolebinding
minLength: 1
type: string
patternType:
description: PatternType defines whether the pattern of resource
is PREFIXED or LITERAL, default is LITERAL if not set
enum:
- PREFIXED
- LITERAL
type: string
resourceType:
description: ResourceType defines the type of resource
minLength: 1
type: string
required:
- name
- resourceType
type: object
type: array
role:
type: string
state:
type: string
type: object
required:
- spec
type: object
version: v1beta1
versions:
- name: v1beta1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

Loading

0 comments on commit a4af245

Please sign in to comment.