Skip to content

Commit 7d95eae

Browse files
Merge pull request #829 from Deydra71/appcred-support
Add Application Credential support
2 parents 080359b + 7bf8322 commit 7d95eae

46 files changed

Lines changed: 931 additions & 16 deletions

Some content is hidden

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

api/bases/telemetry.openstack.org_autoscalings.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,14 @@ spec:
7070
default: 60
7171
description: APITimeout for Route and Apache
7272
type: integer
73+
auth:
74+
description: Auth - authentication settings for keystone integration
75+
properties:
76+
applicationCredentialSecret:
77+
description: ApplicationCredentialSecret - secret name for
78+
application credential
79+
type: string
80+
type: object
7381
customConfigsSecretName:
7482
description: |-
7583
A name of a secret containing custom configuration files. Files

api/bases/telemetry.openstack.org_ceilometers.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,14 @@ spec:
116116
default: 60
117117
description: APITimeout for Apache
118118
type: integer
119+
auth:
120+
description: Auth - authentication settings for keystone integration
121+
properties:
122+
applicationCredentialSecret:
123+
description: ApplicationCredentialSecret - secret name for application
124+
credential
125+
type: string
126+
type: object
119127
centralImage:
120128
type: string
121129
computeImage:

api/bases/telemetry.openstack.org_cloudkitties.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,14 @@ spec:
5252
default: 60
5353
description: APITimeout for HAProxy, Apache, and rpc_response_timeout
5454
type: integer
55+
auth:
56+
description: Auth - authentication settings for keystone integration
57+
properties:
58+
applicationCredentialSecret:
59+
description: ApplicationCredentialSecret - secret name for application
60+
credential
61+
type: string
62+
type: object
5563
cloudKittyAPI:
5664
description: CloudKittyAPI - Spec definition for the API service of
5765
this CloudKitty deployment

api/bases/telemetry.openstack.org_cloudkittyapis.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@ spec:
4848
spec:
4949
description: CloudKittyAPISpec defines the desired state of CloudKittyAPI
5050
properties:
51+
auth:
52+
description: Auth - authentication settings for keystone integration
53+
properties:
54+
applicationCredentialSecret:
55+
description: ApplicationCredentialSecret - secret name for application
56+
credential
57+
type: string
58+
type: object
5159
containerImage:
5260
description: ContainerImage - CloudKitty Container Image URL (will
5361
be set to environmental default if empty)

api/bases/telemetry.openstack.org_cloudkittyprocs.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,14 @@ spec:
5353
description: CloudKittyProcSpec defines the desired state of CloudKitty
5454
Processor
5555
properties:
56+
auth:
57+
description: Auth - authentication settings for keystone integration
58+
properties:
59+
applicationCredentialSecret:
60+
description: ApplicationCredentialSecret - secret name for application
61+
credential
62+
type: string
63+
type: object
5664
containerImage:
5765
description: ContainerImage - CloudKitty Container Image URL (will
5866
be set to environmental default if empty)

api/bases/telemetry.openstack.org_telemetries.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,14 @@ spec:
7373
default: 60
7474
description: APITimeout for Route and Apache
7575
type: integer
76+
auth:
77+
description: Auth - authentication settings for keystone integration
78+
properties:
79+
applicationCredentialSecret:
80+
description: ApplicationCredentialSecret - secret name
81+
for application credential
82+
type: string
83+
type: object
7684
customConfigsSecretName:
7785
description: |-
7886
A name of a secret containing custom configuration files. Files
@@ -439,6 +447,14 @@ spec:
439447
default: 60
440448
description: APITimeout for Apache
441449
type: integer
450+
auth:
451+
description: Auth - authentication settings for keystone integration
452+
properties:
453+
applicationCredentialSecret:
454+
description: ApplicationCredentialSecret - secret name for
455+
application credential
456+
type: string
457+
type: object
442458
centralImage:
443459
type: string
444460
computeImage:
@@ -614,6 +630,14 @@ spec:
614630
default: 60
615631
description: APITimeout for HAProxy, Apache, and rpc_response_timeout
616632
type: integer
633+
auth:
634+
description: Auth - authentication settings for keystone integration
635+
properties:
636+
applicationCredentialSecret:
637+
description: ApplicationCredentialSecret - secret name for
638+
application credential
639+
type: string
640+
type: object
617641
cloudKittyAPI:
618642
description: CloudKittyAPI - Spec definition for the API service
619643
of this CloudKitty deployment

api/go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ require (
3838
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
3939
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
4040
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
41+
github.com/onsi/gomega v1.39.0 // indirect
4142
github.com/pkg/errors v0.9.1 // indirect
4243
github.com/prometheus/client_golang v1.22.0 // indirect
4344
github.com/prometheus/client_model v0.6.2 // indirect

api/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq
7676
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
7777
github.com/onsi/ginkgo/v2 v2.27.3 h1:ICsZJ8JoYafeXFFlFAG75a7CxMsJHwgKwtO+82SE9L8=
7878
github.com/onsi/ginkgo/v2 v2.27.3/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo=
79-
github.com/onsi/gomega v1.38.3 h1:eTX+W6dobAYfFeGC2PV6RwXRu/MyT+cQguijutvkpSM=
80-
github.com/onsi/gomega v1.38.3/go.mod h1:ZCU1pkQcXDO5Sl9/VVEGlDyp+zm0m1cmeG5TOzLgdh4=
79+
github.com/onsi/gomega v1.39.0 h1:y2ROC3hKFmQZJNFeGAMeHZKkjBL65mIZcvrLQBF9k6Q=
80+
github.com/onsi/gomega v1.39.0/go.mod h1:ZCU1pkQcXDO5Sl9/VVEGlDyp+zm0m1cmeG5TOzLgdh4=
8181
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260108154501-11e5091cddf1 h1:zAbZVtpldi1TU/CO9aU2ZByzcsi+N3aIv6snpSjBVLY=
8282
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260108154501-11e5091cddf1/go.mod h1:ZXwFlspJCdZEUjMbmaf61t5AMB4u2vMyAMMoe/vJroE=
8383
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20251230215914-6ba873b49a35 h1:pF3mJ3nwq6r4qwom+rEWZNquZpcQW/iftHlJ1KPIDsk=

api/v1beta1/autoscaling_types.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,11 @@ type AodhCore struct {
142142
// from this secret will get copied into /etc/aodh/ and they'll
143143
// overwrite any default files already present there.
144144
CustomConfigsSecretName string `json:"customConfigsSecretName,omitempty"`
145+
146+
// +kubebuilder:validation:Optional
147+
// +operator-sdk:csv:customresourcedefinitions:type=spec
148+
// Auth - authentication settings for keystone integration
149+
Auth AuthSpec `json:"auth,omitempty"`
145150
}
146151

147152
// AutoscalingSpec defines the desired state of Autoscaling

api/v1beta1/autoscaling_webhook.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ func (spec *AodhCore) Default() {
7676
if spec.MemcachedInstance == "" {
7777
spec.MemcachedInstance = "memcached"
7878
}
79+
// NOTE: ApplicationCredentialSecret is NOT defaulted here.
80+
// AppCred is opt-in: only used when explicitly configured by the user.
7981
}
8082

8183
// SetDefaultRouteAnnotations sets HAProxy timeout values of the route

0 commit comments

Comments
 (0)