Skip to content

Conversation

@AlexNPavel
Copy link
Contributor

@AlexNPavel AlexNPavel commented Jan 17, 2026

Add new request and revoke text commands that allow members of the
Hybrid Platforms organization to obtain temporary access to GCP projects
for testing complex or long-lived clusters beyond what the existing
automated commands support.

Commands:

  • request <resource> "<justification>" - Request 7-day access with business justification
  • revoke <resource> - Remove access early before expiration

Key features:

  • Authorization via Cyborg API to verify Hybrid Platforms organization membership
  • Service account-based access with key file distribution via Slack
  • Automated IAM binding creation with 7-day default expiration
  • Background monitoring and cleanup of expired access grants
  • Initial support for "gcp-access" resource with extensible design

Implementation includes:

  • New GCP access manager with IAM policy management (pkg/manager/gcp_access.go)
  • Service account creation, key generation, and cleanup operations
  • Request/revoke command parsers and action handlers
  • BigQuery audit logging for access grants
  • Comprehensive test coverage (627 lines of manager tests, 941 lines of Slack action tests)
  • Documentation in docs/claude/OCPCRT-436/ for implementation details and testing procedures

This PR also includes modernization recommendations from the gopls modernizer.

@openshift-ci-robot
Copy link

openshift-ci-robot commented Jan 17, 2026

@AlexNPavel: This pull request references OCPCRT-436 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Add new request and revoke text commands that allow members of the Hybrid Platforms organization to obtain temporary access to GCP projects for testing complex or long-lived clusters beyond what the existing automated commands support.

Commands:

  • request <resource> "<justification>" - Request 7-day access with business justification
  • revoke <resource> - Remove access early before expiration

Key features:

  • Authorization via Cyborg API to verify Hybrid Platforms organization membership
  • Automated IAM binding creation with 7-day default expiration
  • Background monitoring and cleanup of expired access grants
  • Initial support for "gcp-access" resource with extensible design for additional GCP projects or resource types

Implementation includes:

  • New GCP access manager with IAM policy management (pkg/manager/gcp_access.go)
  • Request/revoke command parsers and action handlers
  • Comprehensive test coverage (627 lines of manager tests, 941 lines of Slack action tests)
  • Documentation in docs/claude/OCPCRT-436/ for implementation details and testing procedures

This PR also has a modernization recommendations from the gopls modernizer implemented.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jan 17, 2026
@AlexNPavel
Copy link
Contributor Author

/hold

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jan 17, 2026
@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 17, 2026
@AlexNPavel
Copy link
Contributor Author

The lint test requires openshift/release#73653 to update golangci-lint to v2.

@AlexNPavel
Copy link
Contributor Author

/retest

@openshift-ci-robot
Copy link

openshift-ci-robot commented Jan 22, 2026

@AlexNPavel: This pull request references OCPCRT-436 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Add new request and revoke text commands that allow members of the
Hybrid Platforms organization to obtain temporary access to GCP projects
for testing complex or long-lived clusters beyond what the existing
automated commands support.

Commands:

  • request <resource> "<justification>" - Request 7-day access with business justification
  • revoke <resource> - Remove access early before expiration

Key features:

  • Authorization via Cyborg API to verify Hybrid Platforms organization membership
  • Service account-based access with key file distribution via Slack
  • Automated IAM binding creation with 7-day default expiration
  • Background monitoring and cleanup of expired access grants
  • Initial support for "gcp-access" resource with extensible design

Implementation includes:

  • New GCP access manager with IAM policy management (pkg/manager/gcp_access.go)
  • Service account creation, key generation, and cleanup operations
  • Request/revoke command parsers and action handlers
  • BigQuery audit logging for access grants
  • Comprehensive test coverage (627 lines of manager tests, 941 lines of Slack action tests)
  • Documentation in docs/claude/OCPCRT-436/ for implementation details and testing procedures

This PR also includes modernization recommendations from the gopls modernizer.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

Add new `request` and `revoke` text commands that allow members of the
Hybrid Platforms organization to obtain temporary access to GCP projects
for testing complex or long-lived clusters beyond what the existing
automated commands support.

Commands:
- `request <resource> "<justification>"` - Request 7-day access with business justification
- `revoke <resource>` - Remove access early before expiration

Key features:
- Authorization via Cyborg API to verify Hybrid Platforms organization membership
- Service account-based access with key file distribution via Slack
- Automated IAM binding creation with 7-day default expiration
- Background monitoring and cleanup of expired access grants
- Initial support for "gcp-access" resource with extensible design

Implementation includes:
- New GCP access manager with IAM policy management (pkg/manager/gcp_access.go)
- Service account creation, key generation, and cleanup operations
- Request/revoke command parsers and action handlers
- BigQuery audit logging for access grants
- Comprehensive test coverage (627 lines of manager tests, 941 lines of Slack action tests)
- Documentation in docs/claude/OCPCRT-436/ for implementation details and testing procedures

This PR also includes modernization recommendations from the `gopls` modernizer.
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 22, 2026

@AlexNPavel: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/govulncheck 009e7cc link false /test govulncheck
ci/prow/security 009e7cc link false /test security

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Copy link
Contributor

@bradmwilliams bradmwilliams left a comment

Choose a reason for hiding this comment

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

Definitely think we should consider refactoring the parser.SlackClient piece at some point, but it's not critical to this effort.

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jan 27, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 27, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: AlexNPavel, bradmwilliams

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [AlexNPavel,bradmwilliams]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants