astronomer / ask-astro

An end-to-end LLM reference implementation providing a Q&A interface for Airflow and Astronomer
https://ask.astronomer.io/
Apache License 2.0
192 stars 47 forks source link

Use a single Slack App for internal, customer and Airflow OSS Slack workspace #33

Closed sunank200 closed 9 months ago

sunank200 commented 11 months ago

Currently, we have 2 Slack apps. One that's installed in Airflow OSS Slack. And the other that is installed in Astronomer workspace that is getting used for our internal and customer channels use. Both the apps point to different backends. The one that is the currently installed Slack app in Airflow OSS points is the newer one which we would like to be used as a common backend in all places.

Evaluate how we can unify the app experience to use a single service backend for a consistent experience.

sunank200 commented 11 months ago

@mpgreg, @jlaneve @pgagnon might have more info regarding this ticket @Lee-W . You might want to connect with them.

Lee-W commented 11 months ago

@mpgreg @jlaneve @pgagnon could you please what's the current model we're using? is there anything more than changing the URLs? Thanks!

pgagnon commented 11 months ago

Changing the URL to the proper endpoint should be sufficient.

Lee-W commented 11 months ago

Got it. @sunank200 Do we have the URL already? If we do have it, I guess we can close this one then?

Lee-W commented 11 months ago

After discussing @sunank200 earlier, we already have the new URL and configuration ready. So, our next step is to replace the setup for the bot used in the internal astronomer channel. @jlaneve @pgagnon do you know who have access to the astronomer internal slack bot? Thanks!

Lee-W commented 11 months ago

Filed an IT ticket yesterday and sent another follow up today

Lee-W commented 11 months ago

IT ticket number #SR-6848

Lee-W commented 11 months ago

Just sent a follow up mail to IT again earlier

Lee-W commented 11 months ago

@mpgreg @jlaneve @pgagnon just checked with IT. It seems that they don't have permission either. Do you know who might have permission to the AskAstro bot? Thanks!

Lee-W commented 11 months ago

As discussed in slack, we'll hold this one until more detail provided

phanikumv commented 10 months ago

@pgagnon discussed with @jlaneve and marketing team , we are awaiting feedback on this

pgagnon commented 10 months ago

@pgagnon discussed with @jlaneve and marketing team , we are awaiting feedback on this

We're looking into providing Ask Astro to non-premium customers who will not retain Slack Connect with Astronomer after the first 30 days of their contract have elapsed (onboarding period). It's highly likely that the options we would offer these customers differ from those available to a public-facing audience (OSS Slack, non-customers, etc). We may need to keep separate codebases / separate app instances in Slack for these different purposes.

sunank200 commented 10 months ago

@pgagnon - Steven has requested to change the backend of internal bot to the same backend we use for ask.astronomer.com as discussed here We needed your help with the credentials for the same.

pankajkoti commented 9 months ago

@pgagnon would you have an update/thoughts here, please?

phanikumv commented 9 months ago
pankajkoti commented 9 months ago

Thanks to @pgagnon . I was added as a collaborator for the app https://api.slack.com/apps/A05DXCBLKRA yesterday.

Will work together with @sunank200 for the next steps.

pankajkoti commented 9 months ago

@sunank200 and I had connected earlier today. We discovered that just updating the URL would not be sufficient. The backend app also needs to verify that it's a genuine known app sending a request to process the response. Since the api backend deployment at the moment just accepts a single oauth_settings creds meaning it can accept only one bot, I am evaluating what could be the possible approaches here for us to use a single backend for 2 bots from different workspaces.

Will write a note here once I have more information to see if it's possible to use a single backend deployment for multiple bots. In that case the scope of the ticket would evolve to also making code changes to accept 2 bots.

Otherwise, we could have another backend deployment catering to this 2nd bot. Meaning 1 instance each of the API service for each of the bots.

pankajkoti commented 9 months ago

Created PR to add support for handling internal app's requests: https://github.com/astronomer/ask-astro/pull/236

This is needed before updating the URL for the app

pankajkoti commented 9 months ago

The above PR adds implementation for supporting 2 bots with a single backend. However @pgagnon has also proposed to me over a Slack DM that perhaps we could install the same bot in multiple workspaces instead of having multiple bots and not having the need of supporting them with a single backend. Philippe has scheduled a meeting with me on Thursday evening 7.30 PM IST to discuss and co-ordinate on the same. I will be able to share more insights here then after our call.

pankajkoti commented 9 months ago

Philippe and I connected over a call a while ago. He has suggested to install the Astronomer workspace's Ask Astro Slack app https://api.slack.com/apps/A05DXCBLKRA (you may not be able to view this app, but I can, I was added as a collaborator by Philippe) to the Airflow OSS Slack workspace instead of the currently installed one. This app is already publicly distributed so it would allow us to install into multiple Slack workspaces.

The steps to carry out this activity would be as below:

  1. Switch backend for Astronomer’s workspace Ask Astro Slack app to the production backend service. This would involve updating URLs in the app across multiple known sections within the Slack app config.
  2. Update secrets in the Ask Astro service's env vars for Slack Client ID, Client Secret and Signing Secret. I have access to those credentials as Philippe has already added me as a collaborator to the app
  3. Uninstall the current Slack app from Airflow OSS Slack workspace
  4. Install the Astronomer's workspace Ask Astro Slack app to the Airflow OSS Slack workspace using the URL https:///slack/install. This can only be done by an Admin in the workspace. So we would need help from an authorised admin for the Airflow OSS Slack workspace

cc: @sunank200 @phanikumv @kaxil

sunank200 commented 9 months ago

Philippe and I connected over a call a while ago. He has suggested to install the Astronomer workspace's Ask Astro Slack app https://api.slack.com/apps/A05DXCBLKRA (you may not be able to view this app, but I can, I was added as a collaborator by Philippe) to the Airflow OSS Slack workspace instead of the currently installed one. This app is already publicly distributed so it would allow us to install into multiple Slack workspaces.

The steps to carry out this activity would be as below:

  1. Switch backend for Astronomer’s workspace Ask Astro Slack app to the production backend service. This would involve updating URLs in the app across multiple known sections within the Slack app config.
  2. Update secrets in the Ask Astro service's env vars for Slack Client ID, Client Secret and Signing Secret. I have access to those credentials as Philippe has already added me as a collaborator to the app
  3. Uninstall the current Slack app from Airflow OSS Slack workspace
  4. Install the Astronomer's workspace Ask Astro Slack app to the Airflow OSS Slack workspace using the URL https:///slack/install. This can only be done by an Admin in the workspace. So we would need help from an authorised admin for the Airflow OSS Slack workspace

cc: @sunank200 @phanikumv @kaxil

@pankajkoti This approach sounds good to me till the point the bot is called Ask Astro as previously on OSS as well.

pankajkoti commented 9 months ago

yes @sunank200 the app's name is Ask Astro indeed and it has the newer logo too

Screenshot 2023-12-28 at 11 17 04 PM
phanikumv commented 9 months ago

@pankajkoti to follow up with @kaxil on the app deployment

pankajkoti commented 9 months ago

Reached out to Kaxil for help on Slack thread. Kaxil has some time today, so hopefully we will carry out this activity today

pankajkoti commented 9 months ago

The activity for having a single Ask Astro Slack App is now complete and was carried out with Kaxil's help as per the flow in https://github.com/astronomer/ask-astro/issues/33#issuecomment-1871236188 . Thanks to @vatsrahul1001 & @pankajastro for joining the activity.

pankajkoti commented 9 months ago

I will close the ticket now as the activity is complete as per the plan. Going forward we will be using a single Slack app which is https://api.slack.com/apps/A05DXCBLKRA.