Skip to content

Commit a25975a

Browse files
committed
Cloudkitty deployment
1 parent 1c10700 commit a25975a

File tree

68 files changed

+10423
-15
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+10423
-15
lines changed

PROJECT

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
# Code generated by tool. DO NOT EDIT.
2-
# This file is used to track the info used to scaffold your project
3-
# and allow the plugins properly work.
4-
# More info: https://book.kubebuilder.io/reference/project-config.html
51
domain: openstack.org
62
layout:
73
- go.kubebuilder.io/v3
@@ -69,4 +65,31 @@ resources:
6965
defaulting: true
7066
validation: true
7167
webhookVersion: v1
68+
- api:
69+
crdVersion: v1
70+
namespaced: true
71+
controller: true
72+
domain: openstack.org
73+
group: telemetry
74+
kind: CloudKittyApi
75+
path: github.com/openstack-k8s-operators/telemetry-operator/api/v1beta1
76+
version: v1beta1
77+
- api:
78+
crdVersion: v1
79+
namespaced: true
80+
controller: true
81+
domain: openstack.org
82+
group: telemetry
83+
kind: CloudKittyProc
84+
path: github.com/openstack-k8s-operators/telemetry-operator/api/v1beta1
85+
version: v1beta1
86+
- api:
87+
crdVersion: v1
88+
namespaced: true
89+
controller: true
90+
domain: openstack.org
91+
group: telemetry
92+
kind: CloudKitty
93+
path: github.com/openstack-k8s-operators/telemetry-operator/api/v1beta1
94+
version: v1beta1
7295
version: "3"

api/bases/telemetry.openstack.org_autoscalings.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,11 @@ spec:
294294
description: CeilometerService - Selector to get the ceilometer
295295
service password from the Secret
296296
type: string
297+
cloudKittyService:
298+
default: CloudKittyPassword
299+
description: CloudKittyService - Selector to get the CloudKitty
300+
service password from the Secret
301+
type: string
297302
type: object
298303
preserveJobs:
299304
default: false

api/bases/telemetry.openstack.org_ceilometers.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,11 @@ spec:
210210
description: CeilometerService - Selector to get the ceilometer
211211
service password from the Secret
212212
type: string
213+
cloudKittyService:
214+
default: CloudKittyPassword
215+
description: CloudKittyService - Selector to get the CloudKitty
216+
service password from the Secret
217+
type: string
213218
type: object
214219
proxyImage:
215220
type: string

api/bases/telemetry.openstack.org_cloudkitties.yaml

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

api/bases/telemetry.openstack.org_cloudkittyapis.yaml

Lines changed: 499 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 321 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,321 @@
1+
---
2+
apiVersion: apiextensions.k8s.io/v1
3+
kind: CustomResourceDefinition
4+
metadata:
5+
annotations:
6+
controller-gen.kubebuilder.io/version: v0.14.0
7+
name: cloudkittyprocs.telemetry.openstack.org
8+
spec:
9+
group: telemetry.openstack.org
10+
names:
11+
kind: CloudKittyProc
12+
listKind: CloudKittyProcList
13+
plural: cloudkittyprocs
14+
singular: cloudkittyproc
15+
scope: Namespaced
16+
versions:
17+
- additionalPrinterColumns:
18+
- description: NetworkAttachments
19+
jsonPath: .status.networkAttachments
20+
name: NetworkAttachments
21+
type: string
22+
- description: Status
23+
jsonPath: .status.conditions[0].status
24+
name: Status
25+
type: string
26+
- description: Message
27+
jsonPath: .status.conditions[0].message
28+
name: Message
29+
type: string
30+
name: v1beta1
31+
schema:
32+
openAPIV3Schema:
33+
description: CloudKittyProc is the Schema for the cloudkittprocs API
34+
properties:
35+
apiVersion:
36+
description: |-
37+
APIVersion defines the versioned schema of this representation of an object.
38+
Servers should convert recognized schemas to the latest internal value, and
39+
may reject unrecognized values.
40+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
41+
type: string
42+
kind:
43+
description: |-
44+
Kind is a string value representing the REST resource this object represents.
45+
Servers may infer this from the endpoint the client submits requests to.
46+
Cannot be updated.
47+
In CamelCase.
48+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
49+
type: string
50+
metadata:
51+
type: object
52+
spec:
53+
description: CloudKittyProcSpec defines the desired state of CloudKitty
54+
Processor
55+
properties:
56+
containerImage:
57+
description: ContainerImage - CloudKitty Container Image URL (will
58+
be set to environmental default if empty)
59+
type: string
60+
customServiceConfig:
61+
description: |-
62+
CustomServiceConfig - customize the service config using this parameter to change service defaults,
63+
or overwrite rendered information using raw OpenStack config format. The content gets added to
64+
to /etc/<service>/<service>.conf.d directory as a custom config file.
65+
type: string
66+
customServiceConfigSecrets:
67+
description: |-
68+
CustomServiceConfigSecrets - customize the service config using this parameter to specify Secrets
69+
that contain sensitive service config data. The content of each Secret gets added to the
70+
/etc/<service>/<service>.conf.d directory as a custom config file.
71+
items:
72+
type: string
73+
type: array
74+
databaseAccount:
75+
default: cloudkitty
76+
description: DatabaseAccount - optional MariaDBAccount used for cloudkitty
77+
DB, defaults to cloudkitty
78+
type: string
79+
databaseHostname:
80+
description: DatabaseHostname - CloudKitty Database Hostname
81+
type: string
82+
networkAttachments:
83+
description: NetworkAttachments is a list of NetworkAttachment resource
84+
names to expose the services to the given network
85+
items:
86+
type: string
87+
type: array
88+
nodeSelector:
89+
additionalProperties:
90+
type: string
91+
description: |-
92+
NodeSelector to target subset of worker nodes running this service. Setting here overrides
93+
any global NodeSelector settings within the CloudKitty CR.
94+
type: object
95+
passwordSelector:
96+
default:
97+
cloudKittyService: CloudKittyPassword
98+
description: PasswordsSelectors - Selectors to identify the ServiceUser
99+
password from the Secret
100+
properties:
101+
aodhService:
102+
default: AodhPassword
103+
description: AodhService - Selector to get the aodh service password
104+
from the Secret
105+
type: string
106+
ceilometerService:
107+
default: CeilometerPassword
108+
description: CeilometerService - Selector to get the ceilometer
109+
service password from the Secret
110+
type: string
111+
cloudKittyService:
112+
default: CloudKittyPassword
113+
description: CloudKittyService - Selector to get the CloudKitty
114+
service password from the Secret
115+
type: string
116+
type: object
117+
replicas:
118+
default: 1
119+
description: Replicas - CloudKitty API Replicas
120+
format: int32
121+
minimum: 0
122+
type: integer
123+
resources:
124+
description: |-
125+
Resources - Compute Resources required by this service (Limits/Requests).
126+
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
127+
properties:
128+
claims:
129+
description: |-
130+
Claims lists the names of resources, defined in spec.resourceClaims,
131+
that are used by this container.
132+
133+
134+
This is an alpha field and requires enabling the
135+
DynamicResourceAllocation feature gate.
136+
137+
138+
This field is immutable. It can only be set for containers.
139+
items:
140+
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
141+
properties:
142+
name:
143+
description: |-
144+
Name must match the name of one entry in pod.spec.resourceClaims of
145+
the Pod where this field is used. It makes that resource available
146+
inside a container.
147+
type: string
148+
required:
149+
- name
150+
type: object
151+
type: array
152+
x-kubernetes-list-map-keys:
153+
- name
154+
x-kubernetes-list-type: map
155+
limits:
156+
additionalProperties:
157+
anyOf:
158+
- type: integer
159+
- type: string
160+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
161+
x-kubernetes-int-or-string: true
162+
description: |-
163+
Limits describes the maximum amount of compute resources allowed.
164+
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
165+
type: object
166+
requests:
167+
additionalProperties:
168+
anyOf:
169+
- type: integer
170+
- type: string
171+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
172+
x-kubernetes-int-or-string: true
173+
description: |-
174+
Requests describes the minimum amount of compute resources required.
175+
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
176+
otherwise to an implementation-defined value. Requests cannot exceed Limits.
177+
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
178+
type: object
179+
type: object
180+
secret:
181+
description: Secret containing OpenStack password information
182+
type: string
183+
serviceAccount:
184+
description: ServiceAccount - service account name used internally
185+
to provide CloudKitty services the default SA name
186+
type: string
187+
serviceUser:
188+
default: cloudkitty
189+
description: ServiceUser - optional username used for this service
190+
to register in cloudkitty
191+
type: string
192+
tls:
193+
description: TLS - Parameters related to the TLS
194+
properties:
195+
caBundleSecretName:
196+
description: CaBundleSecretName - holding the CA certs in a pre-created
197+
bundle file
198+
type: string
199+
type: object
200+
topologyRef:
201+
description: |-
202+
TopologyRef to apply the Topology defined by the associated CR referenced
203+
by name
204+
properties:
205+
name:
206+
description: Name - The Topology CR name that the Service references
207+
type: string
208+
namespace:
209+
description: |-
210+
Namespace - The Namespace to fetch the Topology CR referenced
211+
NOTE: Namespace currently points by default to the same namespace where
212+
the Service is deployed. Customizing the namespace is not supported and
213+
webhooks prevent editing this field to a value different from the
214+
current project
215+
type: string
216+
type: object
217+
transportURLSecret:
218+
description: Secret containing RabbitMq transport URL
219+
type: string
220+
required:
221+
- containerImage
222+
- databaseHostname
223+
- secret
224+
- serviceAccount
225+
- transportURLSecret
226+
type: object
227+
status:
228+
description: CloudKittyProcStatus defines the observed state of CloudKitty
229+
Processor
230+
properties:
231+
conditions:
232+
description: Conditions
233+
items:
234+
description: Condition defines an observation of a API resource
235+
operational state.
236+
properties:
237+
lastTransitionTime:
238+
description: |-
239+
Last time the condition transitioned from one status to another.
240+
This should be when the underlying condition changed. If that is not known, then using the time when
241+
the API field changed is acceptable.
242+
format: date-time
243+
type: string
244+
message:
245+
description: A human readable message indicating details about
246+
the transition.
247+
type: string
248+
reason:
249+
description: The reason for the condition's last transition
250+
in CamelCase.
251+
type: string
252+
severity:
253+
description: |-
254+
Severity provides a classification of Reason code, so the current situation is immediately
255+
understandable and could act accordingly.
256+
It is meant for situations where Status=False and it should be indicated if it is just
257+
informational, warning (next reconciliation might fix it) or an error (e.g. DB create issue
258+
and no actions to automatically resolve the issue can/should be done).
259+
For conditions where Status=Unknown or Status=True the Severity should be SeverityNone.
260+
type: string
261+
status:
262+
description: Status of the condition, one of True, False, Unknown.
263+
type: string
264+
type:
265+
description: Type of condition in CamelCase.
266+
type: string
267+
required:
268+
- lastTransitionTime
269+
- status
270+
- type
271+
type: object
272+
type: array
273+
hash:
274+
additionalProperties:
275+
type: string
276+
description: Map of hashes to track e.g. job status
277+
type: object
278+
lastAppliedTopology:
279+
description: LastAppliedTopology - the last applied Topology
280+
properties:
281+
name:
282+
description: Name - The Topology CR name that the Service references
283+
type: string
284+
namespace:
285+
description: |-
286+
Namespace - The Namespace to fetch the Topology CR referenced
287+
NOTE: Namespace currently points by default to the same namespace where
288+
the Service is deployed. Customizing the namespace is not supported and
289+
webhooks prevent editing this field to a value different from the
290+
current project
291+
type: string
292+
type: object
293+
networkAttachments:
294+
additionalProperties:
295+
items:
296+
type: string
297+
type: array
298+
description: NetworkAttachments status of the deployment pods
299+
type: object
300+
observedGeneration:
301+
description: |-
302+
ObservedGeneration - the most recent generation observed for this service.
303+
If the observed generation is different than the spec generation, then the
304+
controller has not started processing the latest changes, and the status
305+
and its conditions are likely stale.
306+
format: int64
307+
type: integer
308+
readyCount:
309+
default: 0
310+
description: ReadyCount of CloudKitty Processor instances
311+
format: int32
312+
minimum: 0
313+
type: integer
314+
required:
315+
- readyCount
316+
type: object
317+
type: object
318+
served: true
319+
storage: true
320+
subresources:
321+
status: {}

0 commit comments

Comments
 (0)