Skip to content

Commit 3c25893

Browse files
operator pulsar-resources-operator (0.8.1)
1 parent 52bc0d9 commit 3c25893

21 files changed

+9220
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
FROM scratch
2+
3+
# Core bundle labels.
4+
LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1
5+
LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
6+
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
7+
LABEL operators.operatorframework.io.bundle.package.v1=pulsar-resources-operator
8+
LABEL operators.operatorframework.io.bundle.channels.v1=alpha,beta,stable
9+
LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha
10+
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.31.0
11+
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
12+
LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3
13+
14+
# Labels for testing.
15+
LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1
16+
LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/
17+
18+
# Copy files to locations specified by labels.
19+
COPY bundle/manifests /manifests/
20+
COPY bundle/metadata /metadata/
21+
COPY bundle/tests/scorecard /tests/scorecard/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
creationTimestamp: null
5+
labels:
6+
control-plane: controller-manager
7+
name: pulsar-resources-operator-controller-manager-metrics-service
8+
spec:
9+
ports:
10+
- name: https
11+
port: 8443
12+
protocol: TCP
13+
targetPort: https
14+
selector:
15+
control-plane: controller-manager
16+
status:
17+
loadBalancer: {}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
apiVersion: v1
2+
data:
3+
controller_manager_config.yaml: |
4+
# Copyright 2024 StreamNative
5+
#
6+
# Licensed under the Apache License, Version 2.0 (the "License");
7+
# you may not use this file except in compliance with the License.
8+
# You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
18+
apiVersion: controller-runtime.sigs.k8s.io/v1alpha1
19+
kind: ControllerManagerConfig
20+
health:
21+
healthProbeBindAddress: :8081
22+
metrics:
23+
bindAddress: 127.0.0.1:8080
24+
webhook:
25+
port: 9443
26+
leaderElection:
27+
leaderElect: true
28+
resourceName: ed4866ca.streamnative.io
29+
kind: ConfigMap
30+
metadata:
31+
name: pulsar-resources-operator-manager-config
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: ClusterRole
3+
metadata:
4+
creationTimestamp: null
5+
name: pulsar-resources-operator-metrics-reader
6+
rules:
7+
- nonResourceURLs:
8+
- /metrics
9+
verbs:
10+
- get

operators/pulsar-resources-operator/0.8.1/manifests/pulsar-resources-operator.clusterserviceversion.yaml

Lines changed: 802 additions & 0 deletions
Large diffs are not rendered by default.

operators/pulsar-resources-operator/0.8.1/manifests/resource.streamnative.io_computeflinkdeployments.yaml

Lines changed: 4745 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
apiVersion: apiextensions.k8s.io/v1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
annotations:
5+
controller-gen.kubebuilder.io/version: v0.15.0
6+
creationTimestamp: null
7+
name: computeworkspaces.resource.streamnative.io
8+
spec:
9+
group: resource.streamnative.io
10+
names:
11+
categories:
12+
- streamnative
13+
- all
14+
kind: ComputeWorkspace
15+
listKind: ComputeWorkspaceList
16+
plural: computeworkspaces
17+
singular: computeworkspace
18+
scope: Namespaced
19+
versions:
20+
- additionalPrinterColumns:
21+
- jsonPath: .metadata.creationTimestamp
22+
name: AGE
23+
type: date
24+
- jsonPath: .status.conditions[?(@.type=="Ready")].status
25+
name: READY
26+
type: string
27+
name: v1alpha1
28+
schema:
29+
openAPIV3Schema:
30+
description: ComputeWorkspace is the Schema for the workspaces API
31+
properties:
32+
apiVersion:
33+
description: |-
34+
APIVersion defines the versioned schema of this representation of an object.
35+
Servers should convert recognized schemas to the latest internal value, and
36+
may reject unrecognized values.
37+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
38+
type: string
39+
kind:
40+
description: |-
41+
Kind is a string value representing the REST resource this object represents.
42+
Servers may infer this from the endpoint the client submits requests to.
43+
Cannot be updated.
44+
In CamelCase.
45+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
46+
type: string
47+
metadata:
48+
type: object
49+
spec:
50+
description: ComputeWorkspaceSpec defines the desired state of Workspace
51+
properties:
52+
apiServerRef:
53+
description: APIServerRef is the reference to the StreamNativeCloudConnection
54+
properties:
55+
name:
56+
description: |-
57+
Name of the referent.
58+
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
59+
TODO: Add other useful fields. apiVersion, kind, uid?
60+
type: string
61+
type: object
62+
x-kubernetes-map-type: atomic
63+
flinkBlobStorage:
64+
description: FlinkBlobStorage is the configuration for the Flink blob
65+
storage.
66+
properties:
67+
bucket:
68+
description: Bucket is required if you want to use cloud storage.
69+
type: string
70+
path:
71+
description: |-
72+
Path is the sub path in the bucket.
73+
Leave it empty if you want to use the whole bucket.
74+
type: string
75+
required:
76+
- bucket
77+
type: object
78+
poolRef:
79+
description: PoolRef is the reference to the pool that the workspace
80+
will be access to.
81+
properties:
82+
name:
83+
description: Name is the name of the pool
84+
type: string
85+
namespace:
86+
description: Namespace is the namespace of the pool
87+
type: string
88+
required:
89+
- name
90+
type: object
91+
pulsarClusterNames:
92+
description: PulsarClusterNames is the list of Pulsar clusters that
93+
the workspace will have access to.
94+
items:
95+
type: string
96+
type: array
97+
useExternalAccess:
98+
description: UseExternalAccess is the flag to indicate whether the
99+
workspace will use external access.
100+
type: boolean
101+
required:
102+
- apiServerRef
103+
type: object
104+
status:
105+
description: ComputeWorkspaceStatus defines the observed state of Workspace
106+
properties:
107+
conditions:
108+
description: Conditions represent the latest available observations
109+
of an object's state
110+
items:
111+
description: "Condition contains details for one aspect of the current
112+
state of this API Resource.\n---\nThis struct is intended for
113+
direct use as an array at the field path .status.conditions. For
114+
example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
115+
observations of a foo's current state.\n\t // Known .status.conditions.type
116+
are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
117+
+patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
118+
\ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
119+
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
120+
\ // other fields\n\t}"
121+
properties:
122+
lastTransitionTime:
123+
description: |-
124+
lastTransitionTime is the last time the condition transitioned from one status to another.
125+
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
126+
format: date-time
127+
type: string
128+
message:
129+
description: |-
130+
message is a human readable message indicating details about the transition.
131+
This may be an empty string.
132+
maxLength: 32768
133+
type: string
134+
observedGeneration:
135+
description: |-
136+
observedGeneration represents the .metadata.generation that the condition was set based upon.
137+
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
138+
with respect to the current state of the instance.
139+
format: int64
140+
minimum: 0
141+
type: integer
142+
reason:
143+
description: |-
144+
reason contains a programmatic identifier indicating the reason for the condition's last transition.
145+
Producers of specific condition types may define expected values and meanings for this field,
146+
and whether the values are considered a guaranteed API.
147+
The value should be a CamelCase string.
148+
This field may not be empty.
149+
maxLength: 1024
150+
minLength: 1
151+
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
152+
type: string
153+
status:
154+
description: status of the condition, one of True, False, Unknown.
155+
enum:
156+
- "True"
157+
- "False"
158+
- Unknown
159+
type: string
160+
type:
161+
description: |-
162+
type of condition in CamelCase or in foo.example.com/CamelCase.
163+
---
164+
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
165+
useful (see .node.status.conditions), the ability to deconflict is important.
166+
The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
167+
maxLength: 316
168+
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
169+
type: string
170+
required:
171+
- lastTransitionTime
172+
- message
173+
- reason
174+
- status
175+
- type
176+
type: object
177+
type: array
178+
observedGeneration:
179+
description: ObservedGeneration is the last observed generation.
180+
format: int64
181+
type: integer
182+
workspaceId:
183+
description: WorkspaceID is the ID of the workspace in the API server
184+
type: string
185+
type: object
186+
type: object
187+
served: true
188+
storage: true
189+
subresources:
190+
status: {}
191+
status:
192+
acceptedNames:
193+
kind: ""
194+
plural: ""
195+
conditions: null
196+
storedVersions: null

0 commit comments

Comments
 (0)