Skip to content

feat: Add A2AServer custom resource and controller#4

Merged
edenreich merged 12 commits intomainfrom
feature/add-a2a-server
Jun 27, 2025
Merged

feat: Add A2AServer custom resource and controller#4
edenreich merged 12 commits intomainfrom
feature/add-a2a-server

Conversation

@edenreich
Copy link
Copy Markdown
Collaborator

@edenreich edenreich commented Jun 23, 2025

Summary

This pull request aims to simplify the deployments of A2A-Servers. You build you A2A using the ADK then you can simply reference the image and adjust configurations from the spec.

Changelog

  • Implemented A2AServer custom resource definition (CRD) with full specifications.
  • Created A2AServer controller to manage the lifecycle of A2AServer resources.
  • Added RBAC roles (admin, editor, viewer) for A2AServer to manage permissions.
  • Updated main application entry point to include A2AServer controller setup.
  • Added sample A2AServer resource for testing and demonstration purposes.
  • Updated kustomization files to include new CRD and RBAC roles.

- Implemented A2AServer custom resource definition (CRD) with full specifications.
- Created A2AServer controller to manage the lifecycle of A2AServer resources.
- Added RBAC roles (admin, editor, viewer) for A2AServer to manage permissions.
- Updated main application entry point to include A2AServer controller setup.
- Added sample A2AServer resource for testing and demonstration purposes.
- Updated kustomization files to include new CRD and RBAC roles.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
… and GitHub Copilot integration

Signed-off-by: Eden Reich <eden.reich@gmail.com>
Signed-off-by: Eden Reich <eden.reich@gmail.com>
This name is shorter and we are only going to be deploying A2A Servers so Server in the terminology is redundant.

- Renamed A2AServer to A2A across the codebase, including types, methods, and CRDs.
- Updated deepcopy functions to reflect the new naming convention.
- Created new CRD for A2A with appropriate schema and specifications.
- Adjusted RBAC roles to manage permissions for A2A resources.
- Implemented A2A controller with basic reconciliation logic.
- Added sample configuration for A2A in the samples directory.
- Updated kustomization files to include new A2A resources.
- Removed deprecated A2AServer references and files.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
…st related configurations

Signed-off-by: Eden Reich <eden.reich@gmail.com>
…source

I put it in the status since it's a readonly field and just indicates what version is currently configured on the agent.

I probably should also make the skills readonly, since it belongs to the application logic, i.e the development part. Making this configurable doesn't make sense.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
@edenreich
Copy link
Copy Markdown
Collaborator Author

Screenshot 2025-06-27 at 01 51 56

…ate CRD and controller logic

Add the skills to the table only if -o wide specified as a comma separated list. The list could get sometimes too long, not sure if that's a good idea, but will keep like this for now, perhaps will change it in the future and we will need to use kubectl describe a2a to see the card.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
Signed-off-by: Eden Reich <eden.reich@gmail.com>
…iguration

Since it's not in use I don't need it as a nil pointer for now. Will add some tests later.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
…upport to A2A deployment

This helps in case the deployment was not created on time and the pod was not up, the reconcile should be attempted after 5 seconds again until the agent card is fetched.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
Signed-off-by: Eden Reich <eden.reich@gmail.com>
@edenreich
Copy link
Copy Markdown
Collaborator Author

Screenshot 2025-06-27 at 03 22 10

…nd capabilities

Signed-off-by: Eden Reich <eden.reich@gmail.com>
@edenreich
Copy link
Copy Markdown
Collaborator Author

Screenshot 2025-06-27 at 17 05 25

@edenreich
Copy link
Copy Markdown
Collaborator Author

Ok this is not a final CRD, but I think it's good enough for initial draft. WIll merge it.

@edenreich edenreich merged commit 27d0161 into main Jun 27, 2025
6 checks passed
@edenreich edenreich deleted the feature/add-a2a-server branch June 27, 2025 15:21
ig-semantic-release-bot bot added a commit that referenced this pull request Jun 27, 2025
## [0.8.0](v0.7.0...v0.8.0) (2025-06-27)

### ✨ Features

* Add A2AServer custom resource and controller ([#4](#4)) ([27d0161](27d0161))
@ig-semantic-release-bot
Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 0.8.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant