Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[POC] Catalog Views and integration with Service Manager #442

Closed
6 of 9 tasks
PK85 opened this issue Sep 20, 2023 · 32 comments
Closed
6 of 9 tasks

[POC] Catalog Views and integration with Service Manager #442

PK85 opened this issue Sep 20, 2023 · 32 comments
Assignees
Labels
2024-Q4 Planned for Q4 2024 Epic kind/feature Categorizes issue or PR as related to a new feature.

Comments

@PK85
Copy link
Contributor

PK85 commented Sep 20, 2023

Description

Provide new UI for BTP Operator in the Busola where users can see Service Catalog. For now it could be separate application, if installed in the Kyma cluster should already work. In the future probably it will be a part of the btp-manager module.

Reason

We want to make BTP Operator user's lives easier and more convenient where they can see all of the available services in the Busola and then just provision some of them.

AC

Links

@PK85 PK85 added the kind/feature Categorizes issue or PR as related to a new feature. label Sep 20, 2023
@PK85
Copy link
Contributor Author

PK85 commented Oct 3, 2023

Reference sharing:

apiVersion: services.cloud.sap.com/v1
kind: ServiceInstance
metadata:
  name: kyma-demo-instance-123
  namespace: develope
spec:
  serviceOfferingName: xsuaa
  servicePlanName: reference-instance
  parameters:
    referenced_instance_id: <shared service id>
---
apiVersion: services.cloud.sap.com/v1
kind: ServiceBinding
metadata:
  name: kyma-demo-binding-123
  namespace: develope
spec:
  serviceInstanceName: kyma-demo-instance-123

@PK85 PK85 added the Epic label Nov 6, 2023
@kyma-bot
Copy link
Contributor

kyma-bot commented Jan 5, 2024

This issue or PR has been automatically marked as stale due to the lack of recent activity.
Thank you for your contributions.

This bot triages issues and PRs according to the following rules:

  • After 60d of inactivity, lifecycle/stale is applied
  • After 7d of inactivity since lifecycle/stale was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Close this issue or PR with /close

If you think that I work incorrectly, kindly raise an issue with the problem.

/lifecycle stale

@kyma-bot kyma-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 5, 2024
@kyma-bot
Copy link
Contributor

This issue or PR has been automatically closed due to the lack of activity.
Thank you for your contributions.

This bot triages issues and PRs according to the following rules:

  • After 60d of inactivity, lifecycle/stale is applied
  • After 7d of inactivity since lifecycle/stale was applied, the issue is closed

You can:

  • Reopen this issue or PR with /reopen
  • Mark this issue or PR as fresh with /remove-lifecycle stale

If you think that I work incorrectly, kindly raise an issue with the problem.

/close

@kyma-bot
Copy link
Contributor

@kyma-bot: Closing this issue.

In response to this:

This issue or PR has been automatically closed due to the lack of activity.
Thank you for your contributions.

This bot triages issues and PRs according to the following rules:

  • After 60d of inactivity, lifecycle/stale is applied
  • After 7d of inactivity since lifecycle/stale was applied, the issue is closed

You can:

  • Reopen this issue or PR with /reopen
  • Mark this issue or PR as fresh with /remove-lifecycle stale

If you think that I work incorrectly, kindly raise an issue with the problem.

/close

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/test-infra repository.

@PK85 PK85 reopened this Feb 27, 2024
@PK85 PK85 changed the title Catalog Views and integration with Service Manager [POC] Catalog Views and integration with Service Manager Feb 27, 2024
@PK85 PK85 added 2024-Q2 Planned for Q2 2024 Epic and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. Epic labels Feb 27, 2024
@ukff ukff self-assigned this Mar 18, 2024
@ukff
Copy link
Contributor

ukff commented Mar 18, 2024

Issue with UI development for embedding pages: kyma-project/busola#2762

@szwedm szwedm self-assigned this Mar 19, 2024
@szwedm
Copy link
Contributor

szwedm commented Apr 4, 2024

Meeting notes and current arrangements (3.04.24)

Arrangements:

  • support operations as in Service Manager
  • create REST API similar to Service Manager API (OSBAPI)
  • allow to connect Service Instances and Service Bindings from Service Manager to the cluster (custom resources in the cluster should reflect instances and bindings in SM)

Limitations:

  • Service Manager context is limited to the scope of SAP BTP service operator client provided during Kyma environment provisioning

Future ideas:

  • allow update of the cluster ID
  • service management as a BTP user (subaccount context)

@ukff
Copy link
Contributor

ukff commented Apr 5, 2024

early proposal of UI:
Image

@ukff
Copy link
Contributor

ukff commented Apr 9, 2024

Image

@szwedm
Copy link
Contributor

szwedm commented Apr 10, 2024

SAP BTP service operator recognises the following secrets for service instances:

  • default secret named sap-btp-service-operator in the centrally managed namespace (kyma-system)
  • secret for a different subaccount mapped to a namespace in the cluster with namespace's name as a prefix in the secret's name <namespace-name>-sap-btp-service-operator in the centrally managed namespace (kyma-system)
  • secrets named sap-btp-service-operator in other namespaces mapped to different subaccounts
  • arbitrarily named secret in the centrally managed namespace (kyma-system) connected to a different subaccount pointed in the ServiceInstance btpAccessCredentialsSecret field in the spec

@szwedm
Copy link
Contributor

szwedm commented Apr 11, 2024

PR introducing SecretProvider which fetches secrets with credentials for Service Manager:
#655

@szwedm
Copy link
Contributor

szwedm commented Apr 19, 2024

UI PR: #649

@szwedm
Copy link
Contributor

szwedm commented May 10, 2024

Adding Service Manager client: #674

@szwedm
Copy link
Contributor

szwedm commented May 16, 2024

Unit test for SM client service offerings: #703

@ukff
Copy link
Contributor

ukff commented May 21, 2024

Image

@szwedm
Copy link
Contributor

szwedm commented Aug 20, 2024

I have discovered a troublesome behaviour: If a service binding with the same name binding (just an example name that does not matter in the example) for both binding and secret exists then creating another service binding with the following request fails but binding is created despite the API error:

{
name: "binding-new-name"
secret_name: "binding"
secret_namespace: "default"
service_instance_id: "872fe846-569e-4e54-98de-04983e8ea194"
}

PR with the fix: #826

@PK85
Copy link
Contributor Author

PK85 commented Sep 2, 2024

Testing results:

  • When adding new service binding, both name and secret name should have random suffix added. Right now only Secret name has it, see:
    Image @MarekMichali
  • I added SB and secret, then kubectl delete secret, then back to UI. I was able to recreate secret. Then I changes SI to another one, and I was only able to change Secret Name. Binding name field was disabled for all instances. Even wrong Secret Name is suggested, see:
    Image @MarekMichali
    Hint: when I go to marketplace and back, it works again.
  • When recreating secret for given Service Binding, suggest Secret Name with the same name as binding (do not add new suffix for Secret Name) @MarekMichali
  • Still no way to close error windows, see:
    Image @ralikio Closing Message Strip #857

@PK85
Copy link
Contributor Author

PK85 commented Sep 4, 2024

How to demo:

  1. show 3 credentials in the Kyma cluster, two from SA_1 and one from SA_2 (show new UI, Busola and BTP Cockpit)
  • 1.1) we use SM instance with 'service-operator-access' plan designed for SAP BTP Service Operator
  1. add new entitlement to one of the SA and show new UI that marketplace is extended with new offering (classes and plans)
  2. show how to create SI
  • 3.1) we pass empty required "namespace" parameter when using SM 'service-operator-access' . Looks that namespace cannot be changed later on.
  1. show how to create SB and secret in the given namespace
  2. explain how thet looks like in the BTP Cockpit Service instances view (how to find which SM instance was used)
  3. show how to restore a secret for given SB
  4. Show SI created by SAP BTP Service Operator in our new UI and BTP Cockpit
  5. Say what next:

Note: right now we do not pass CLUSTER_ID. Then in the BTP Cockpit instance we see SM instance name-serviceID

@PK85 PK85 closed this as completed Sep 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2024-Q4 Planned for Q4 2024 Epic kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

No branches or pull requests

7 participants