Skip to content

Implement ApplicationCredentials#671

Open
gndrmnn wants to merge 11 commits intok-orc:mainfrom
gndrmnn:implement_appcred
Open

Implement ApplicationCredentials#671
gndrmnn wants to merge 11 commits intok-orc:mainfrom
gndrmnn:implement_appcred

Conversation

@gndrmnn
Copy link
Copy Markdown
Contributor

@gndrmnn gndrmnn commented Feb 4, 2026

Adds ApplicationCredential support

Due to the nature of the OpenStack API, we have to work around addressing application credentials not only by their unique ID, but also a UserRef.

Closes #670

@github-actions github-actions bot added the semver:major Breaking change label Feb 4, 2026
@github-actions github-actions bot removed the semver:major Breaking change label Feb 5, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 5, 2026

Failed to assess the semver bump. See logs for details.

@github-actions
Copy link
Copy Markdown

Failed to assess the semver bump. See logs for details.

@github-actions
Copy link
Copy Markdown

Failed to assess the semver bump. See logs for details.

@github-actions
Copy link
Copy Markdown

Failed to assess the semver bump. See logs for details.

@github-actions
Copy link
Copy Markdown

Failed to assess the semver bump. See logs for details.

@github-actions github-actions bot added the semver:major Breaking change label Feb 24, 2026
@gndrmnn gndrmnn force-pushed the implement_appcred branch 7 times, most recently from b05fcb5 to ba588f7 Compare February 26, 2026 09:58
Copy link
Copy Markdown
Collaborator

@mandre mandre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great start! There's a bit more work to do around dependency management and handling of the secret, but hopefully nothing blocking.

It's annoying that the openstack API doesn't allow retrieving an app cred directly via its UUID, forcing us to pass it a user ID as well. I don't think there's a magic solution for it, and we'll have to document the tradeoff we've made, and explain how managing app creds for other user might increase the load on OpenStack API.

Again, really good work.

var filters []osclients.ResourceFilter[osResourceT]

// Add client-side filters
if resourceSpec.Description != nil {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the keystone API allows filtering app creds via description but this is missing from gophercloud.

Would you like to contribute this to gophercloud?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I could address this at some point. But I would like to get this PR merged in the foreseeable future. Would you mind, if we open a new issue for this instead?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clearly not something I expect you to fix in gophercloud before this PR lands :)
It was just an observation for something I noticed during review.

@gndrmnn gndrmnn force-pushed the implement_appcred branch 2 times, most recently from ac1c351 to b991cc7 Compare March 5, 2026 11:52
@gndrmnn gndrmnn force-pushed the implement_appcred branch 4 times, most recently from 02a1ad7 to 94388d7 Compare March 18, 2026 13:36
@gndrmnn gndrmnn force-pushed the implement_appcred branch 3 times, most recently from ed5af8b to 0d71847 Compare March 31, 2026 10:44
@mandre
Copy link
Copy Markdown
Collaborator

mandre commented Mar 31, 2026

@gndrmnn let me know when your PR is ready for review again.

@gndrmnn
Copy link
Copy Markdown
Contributor Author

gndrmnn commented Mar 31, 2026

@gndrmnn let me know when your PR is ready for review again.

sure. I will use the GitHub review request feature. i need a little more time though

@gndrmnn gndrmnn force-pushed the implement_appcred branch 8 times, most recently from afe19f9 to 0620b8a Compare April 7, 2026 12:17
gndrmnn added 8 commits April 7, 2026 15:56
$ go run ./cmd/scaffold-controller -interactive=false \
    -kind=ApplicationCredential \
    -gophercloud-client=NewIdentityV3 \
    -gophercloud-module=github.com/gophercloud/gophercloud/v2/openstack/identity/v3/applicationcredentials \
    -gophercloud-type=ApplicationCredential \
    -openstack-json-object=application_credentials \
    -required-create-dependency=User \
    -import-dependency=User

On-behalf-of: SAP nils.gondermann@sap.com
Register with the resource generator

On-behalf-of: SAP nils.gondermann@sap.com
Add the OpenStack client to scope

On-behalf-of: SAP nils.gondermann@sap.com
Register the controller

On-behalf-of: SAP nils.gondermann@sap.com
On-behalf-of: SAP nils.gondermann@sap.com
On-behalf-of: SAP nils.gondermann@sap.com
On-behalf-of: SAP nils.gondermann@sap.com
@gndrmnn gndrmnn force-pushed the implement_appcred branch 4 times, most recently from 1b79950 to 937398a Compare April 8, 2026 12:48
gndrmnn added 3 commits April 8, 2026 15:13
…es to be exactly "1"

On-behalf-of: SAP nils.gondermann@sap.com
On-behalf-of: SAP nils.gondermann@sap.com
On-behalf-of: SAP nils.gondermann@sap.com
@gndrmnn gndrmnn force-pushed the implement_appcred branch from 937398a to f90b61c Compare April 8, 2026 13:13
@gndrmnn gndrmnn requested a review from mandre April 8, 2026 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

semver:major Breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Keystone Application Credentials Controller

2 participants