backstage / community-plugins

Community plugins for Backstage
Apache License 2.0
121 stars 96 forks source link

[Plugin] Spinnaker #249

Open stefanalund opened 4 years ago

stefanalund commented 4 years ago

Summary

Visualise and manage deployments in Spinnaker.

Project website (if applicable)

https://www.spinnaker.io/reference/api/

Context

The existing Deck project can potentially be used: https://github.com/spinnaker/deck

jackskj commented 4 years ago

I can take a stab at this feature. PS: a lot of k8s related features (#632) can be implemented with spinnaker integration by leveraging cloud driver (https://www.spinnaker.io/setup/install/providers/kubernetes-v2/)

stefanalund commented 4 years ago

Great @jackskj -- assigned you!

bbalanza commented 4 years ago

@jackskj maybe the Kubernetes plugin backend could register the routes used in spinnaker backend. How are you planning on developing it?

jackskj commented 4 years ago

what do you refer to by "routes"

jackskj commented 4 years ago

With spinnaker, a user may or may not have access to a particular k8s account, regardless what access the user may have with backstage k8s plugin. This is because access control for spinnaker resources is managed separately.

I am not sure how you will name each k8s account in backstage plugin (perhaps by context name). But if you were to route from k8s plugin to spinnaker plugin, the k8s account name should match. (in spinnaker, k8s account names are set by the admin)

bbalanza commented 4 years ago

Do you think it would be better just to handle all authentication via contexts in the kubeconfig file? I still haven't decided how to set up k8s accounts in the plugin :thinking:. I am using this as an example https://github.com/hjacobs/kube-web-view

jackskj commented 4 years ago

yes, kubeconfig is fine. However, not every user should have access to every k8s account(context). Spinnaker admins usually configure which user groups have read/write/execute permissions for a particular k8s account

dnilasor commented 3 years ago

Hey, is this still active? AirBnb and others on the Spinnaker UX SIGs have been working in some frontend projects for Spinnaker that sound related. Would love to have you/Spotify in on a groupthink about what we can build for OSS as a baseline. Also are you familiar with the Spinnaker plugin framework?

irenefva commented 3 years ago

Hello, is the plugin in progress or is there an intention to create it?

benjdlambert commented 3 years ago

Hey! Sorry for the radio silence from our side. It's not something that the core team will be working on, and we don't utilize enough of spinnaker internally at spotify to open source our internal code. Is there someone that would like to work on this ticket?

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

OrkoHunter commented 3 years ago

Re-opening since plugin suggestion issues are now exempt from stalebot.

angeliski commented 3 years ago

Hey @dnilasor could you share some references about that? I want to work in this plugin, but I am looking to deck and is all about angular

iiro commented 2 years ago

Hi, any updates on this...? Just one detail regarding some updates here, Spinnaker also supports other deployments than K8S, right... So, the implementation I guess should be something non-Kube specific...

freben commented 2 years ago

This is still up for grabs for interested parties!

pjungermann commented 2 years ago

just found mertsaygi/backstage-plugin-spinnaker by @mertsaygi (also not sure if there was awareness about this issue while creating it)

angeliski commented 2 years ago

Hey thanks for the tip @pjungermann, I will take a look in the plugin to get some inspiration. I tried in the past but got some issues to make the authentication Spinnaker works for me so I dropped, maybe now I can get this working :)

mertsaygi commented 2 years ago

Guys,

I've started to do that. After the compilation, I would announce it from here but I've some issues about authenticate with oauth to our Spinnaker instance. Maybe someone from here can help me and I can continue to next steps about it.

angeliski commented 2 years ago

Yes @mertsaygi , I just can't make the oauth works. I tried to find docs or something to help me (like read the code in the spin cli) but I can't find anything working

freben commented 2 years ago

@angeliski Let us know if there's something specific on the auth side of it. We do have a generic oauth implementation that you may be able to leverage making your own spinnakerAuthApiRef or whatnot, if you need to get authz tokens on the user's behalf.

angeliski commented 2 years ago

Hey @freben I will try using that, do you have any example?

Just to be fair, my first atempt wasn't using the frontend, but what I was trying is create an action to create a new pipeline when a app is created using Software Templates, so I am looking for a backend auth in this case.

Rugvip commented 2 years ago

@angeliski There are some pointers for setting it up here: https://backstage.io/docs/api/deprecations#generic-auth-api-refs. Otherwise it's all over here: https://github.com/backstage/backstage/issues/10303 (sorry 😅)

jgrumboe commented 1 year ago

Hi @mertsaygi, is there still progress? Would like to test your Spinnaker plugin here witj our instance.