-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
slack-replier-0.0.6.tgz-meta/README.md slack-replier-0.0.6.tgz-meta/main.yaml slack-replier-0.0.6.tgz-meta/values.schema.json
- Loading branch information
1 parent
2c661ea
commit 8599aef
Showing
5 changed files
with
210 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
[![CircleCI](https://dl.circleci.com/status-badge/img/gh/giantswarm/slack-replier/tree/main.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/giantswarm/slack-replier/tree/main) | ||
|
||
# slack-replier chart | ||
|
||
**What is this app?** | ||
|
||
An AI bot that auto replies to all questions asked in #ask-me-anything channel. This project kicked-off during Giant Swarm AI Hackathon of 2023. | ||
|
||
**Why did we add it?** | ||
|
||
- Avoid people distraction for usual doubts. | ||
- Not reply twice to same question. | ||
- Have better internal docs. | ||
|
||
**Who can use it?** | ||
- All Giant Swarm Staff. | ||
|
||
**How it works?** | ||
|
||
The bot app works as follows: | ||
1. Starts an HTTP server waiting for POST request on route `/slack/events`. | ||
2. Slack sends an event for new messages posted on #ask-me-anything. | ||
3. The bot receives the incoming POST request and fetches the message content. | ||
4. The bot then create a thread for the message and posts another message directed towards @Ask InKeep bot. | ||
5. @Ask Inkeep bot then replies to the message question using trained knowledge from the Intranet handbook. | ||
|
||
## Installing | ||
|
||
### Create and configure the Slack app | ||
|
||
Go the the [App page in Slack API](https://api.slack.com/apps/) and create a new app. | ||
|
||
1) Give `channels:history`, `channels:read` and `chat:write` scopes to the app in the permissions page | ||
2) Install the App in the workspace | ||
3) Configure the `Event subscription` URL with the ingress domain of your running app | ||
4) Copy the bot token and the verification token in the values provided to the Helm install command. | ||
5) Deploy the app in the cluster |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
annotations: | ||
application.giantswarm.io/metadata: https://giantswarm.github.io/giantswarm-playground-catalog/slack-replier-0.0.6.tgz-meta/main.yaml | ||
application.giantswarm.io/readme: https://giantswarm.github.io/giantswarm-playground-catalog/slack-replier-0.0.6.tgz-meta/README.md | ||
application.giantswarm.io/team: horizon | ||
application.giantswarm.io/values-schema: https://giantswarm.github.io/giantswarm-playground-catalog/slack-replier-0.0.6.tgz-meta/values.schema.json | ||
chartApiVersion: v2 | ||
chartFile: slack-replier-0.0.6.tgz | ||
dateCreated: '2024-01-16T08:26:37.862527' | ||
digest: d3a577215062436217fa172d03f4ea41d5d97e83b1c1372595458fcd1d83b53a | ||
home: https://github.com/giantswarm/slack-replier | ||
icon: https://s.giantswarm.io/app-icons/slack-replier/1/light.svg |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,143 @@ | ||
{ | ||
"$schema": "http://json-schema.org/schema#", | ||
"type": "object", | ||
"properties": { | ||
"image": { | ||
"type": "object", | ||
"properties": { | ||
"name": { | ||
"type": "string" | ||
}, | ||
"pullPolicy": { | ||
"type": "string" | ||
}, | ||
"registry": { | ||
"type": "string" | ||
}, | ||
"tag": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"name": { | ||
"type": "string" | ||
}, | ||
"namespace": { | ||
"type": "string" | ||
}, | ||
"podSecurityContext": { | ||
"type": "object", | ||
"properties": { | ||
"fsGroup": { | ||
"type": "integer" | ||
}, | ||
"runAsGroup": { | ||
"type": "integer" | ||
}, | ||
"runAsNonRoot": { | ||
"type": "boolean" | ||
}, | ||
"runAsUser": { | ||
"type": "integer" | ||
} | ||
} | ||
}, | ||
"resources": { | ||
"type": "object", | ||
"properties": { | ||
"limits": { | ||
"type": "object", | ||
"properties": { | ||
"cpu": { | ||
"type": "string" | ||
}, | ||
"memory": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"requests": { | ||
"type": "object", | ||
"properties": { | ||
"cpu": { | ||
"type": "string" | ||
}, | ||
"memory": { | ||
"type": "string" | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"securityContext": { | ||
"type": "object", | ||
"properties": { | ||
"allowPrivilegeEscalation": { | ||
"type": "boolean" | ||
}, | ||
"capabilities": { | ||
"type": "object", | ||
"properties": { | ||
"drop": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
} | ||
} | ||
}, | ||
"privileged": { | ||
"type": "boolean" | ||
}, | ||
"seccompProfile": { | ||
"type": "object", | ||
"properties": { | ||
"type": { | ||
"type": "string" | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"serviceType": { | ||
"type": "string" | ||
}, | ||
"slack": { | ||
"type": "object", | ||
"properties": { | ||
"channels": { | ||
"type": "array", | ||
"items": { | ||
"input": { | ||
"type": "string" | ||
}, | ||
"output": { | ||
"type": "string" | ||
}, | ||
"usersToSkip": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
}, | ||
"usersToAllow": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
}, | ||
"usersToReply": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"token": { | ||
"type": "string" | ||
}, | ||
"verificationToken": { | ||
"type": "string" | ||
} | ||
} | ||
} | ||
} | ||
} |