Skip to content

Commit 0d15dd0

Browse files
committed
remove indexwaiter
1 parent 32755d1 commit 0d15dd0

File tree

8 files changed

+18
-199
lines changed

8 files changed

+18
-199
lines changed

.github/workflows/cdk_package_code.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,8 @@ jobs:
6363
run: |
6464
poetry export --without-hashes --format=requirements.txt --with slackBotFunction > requirements_slackBotFunction
6565
poetry export --without-hashes --format=requirements.txt --with syncKnowledgeBaseFunction > requirements_syncKnowledgeBaseFunction
66-
poetry export --without-hashes --format=requirements.txt --with indexWaiter > requirements_indexWaiter
6766
pip3 install -r requirements_slackBotFunction -t packages/slackBotFunction
6867
pip3 install -r requirements_syncKnowledgeBaseFunction -t packages/syncKnowledgeBaseFunction
69-
pip3 install -r requirements_indexWaiter -t packages/indexWaiter
7068
7169
- name: 'Tar files'
7270
run: |

.vscode/eps-assist-me.code-workspace

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,14 @@
1515
{
1616
"name": "packages/syncKnowledgeBaseFunction",
1717
"path": "../packages/syncKnowledgeBaseFunction"
18-
},
19-
{
20-
"name": "packages/indexWaiter",
21-
"path": "../packages/indexWaiter"
2218
}
2319
],
2420
"settings": {
2521
"jest.disabledWorkspaceFolders": [
2622
"eps-assist-me",
2723
"packages/cdk",
2824
"packages/slackBotFunction",
29-
"packages/syncKnowledgeBaseFunction",
30-
"packages/indexWaiter"
25+
"packages/syncKnowledgeBaseFunction"
3126
],
3227
"files.exclude": {
3328
"packages/": true

packages/cdk/nagSuppressions.ts

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -104,18 +104,6 @@ export const nagSuppressions = (stack: Stack) => {
104104
]
105105
)
106106

107-
// Suppress IAM wildcard permissions for waiter on event role policy
108-
safeAddNagSuppression(
109-
stack,
110-
"/EpsAssistMeStack/VectorIndex/IndexWaiterProvider/framework-onEvent/ServiceRole/DefaultPolicy/Resource",
111-
[
112-
{
113-
id: "AwsSolutions-IAM5",
114-
reason: "Lambda needs access to all OpenSearch collections and indexes to create and manage indexes."
115-
}
116-
]
117-
)
118-
119107
// Suppress wildcard permissions for SlackBot policy
120108
safeAddNagSuppression(
121109
stack,
@@ -166,17 +154,6 @@ export const nagSuppressions = (stack: Stack) => {
166154
]
167155
)
168156

169-
safeAddNagSuppression(
170-
stack,
171-
"/EpsAssistMeStack/VectorIndex/IndexWaiterProvider/framework-onEvent/ServiceRole/Resource",
172-
[
173-
{
174-
id: "AwsSolutions-IAM4",
175-
reason: "Waiter function on event using managed policies is fine"
176-
}
177-
]
178-
)
179-
180157
// Suppress AWS managed policy usage in BucketNotificationsHandler (wildcard for any hash)
181158
const bucketNotificationHandlers = stack.node.findAll().filter(node =>
182159
node.node.id.startsWith("BucketNotificationsHandler")
Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,14 @@
11
import {Construct} from "constructs"
22
import {CfnCollection, CfnIndex} from "aws-cdk-lib/aws-opensearchserverless"
3-
import {CustomResource} from "aws-cdk-lib"
4-
import {ManagedPolicy, PolicyStatement} from "aws-cdk-lib/aws-iam"
5-
import {Provider} from "aws-cdk-lib/custom-resources"
6-
import {LambdaFunction} from "../constructs/LambdaFunction"
73

84
export interface VectorIndexProps {
95
readonly indexName: string
106
readonly collection: CfnCollection
117
readonly endpoint: string
12-
readonly account: string
13-
readonly region: string
14-
readonly stackName: string
15-
readonly logRetentionInDays: number
16-
readonly logLevel: string
178
}
189

1910
export class VectorIndex extends Construct {
2011
public readonly cfnIndex: CfnIndex
21-
public readonly indexReady: CustomResource
2212

2313
constructor(scope: Construct, id: string, props: VectorIndexProps) {
2414
super(scope, id)
@@ -71,58 +61,6 @@ export class VectorIndex extends Construct {
7161
}
7262
})
7363

74-
//const collectionArn = `arn:aws:aoss:${props.region}:${props.account}:collection/${props.collection.name}`
75-
// eslint-disable-next-line max-len
76-
// const indexArn = `arn:aws:aoss:${props.region}:${props.account}:index/${props.collection.name}/${props.indexName}`
77-
78-
//const collectionArn = "aoss:collection/*"
79-
const indexArn = `arn:aws:aoss:${props.region}:${props.account}:collection/${props.collection.attrId}`
80-
const getCollectionPolicy = new PolicyStatement({
81-
actions: [
82-
"aoss:BatchGetCollection"
83-
],
84-
resources: ["*"]
85-
})
86-
const getIndexPolicy = new PolicyStatement({
87-
actions: [
88-
"aoss:GetIndex"
89-
],
90-
resources: [indexArn]
91-
})
92-
const waiterFnManagedPolicy = new ManagedPolicy(this, "waiterFnManagedPolicy", {
93-
description: "Policy for Bedrock Knowledge Base to access S3 and OpenSearch",
94-
statements: [
95-
getCollectionPolicy,
96-
getIndexPolicy
97-
]
98-
})
99-
100-
const waiterFn = new LambdaFunction(this, "waiterLambda", {
101-
stackName: props.stackName,
102-
functionName: `${props.stackName}-VectorIndexWaiter`,
103-
packageBasePath: "packages/indexWaiter",
104-
handler: "index_waiter.handler",
105-
logRetentionInDays: props.logRetentionInDays,
106-
logLevel: props.logLevel,
107-
additionalPolicies: [waiterFnManagedPolicy]
108-
})
109-
110-
const provider = new Provider(this, "IndexWaiterProvider", {
111-
onEventHandler: waiterFn.function
112-
})
113-
114-
const indexReady = new CustomResource(this, "IndexReady", {
115-
serviceToken: provider.serviceToken,
116-
properties: {
117-
Endpoint: props.endpoint,
118-
IndexName: props.indexName
119-
}
120-
})
121-
// Ensure collection exists before creating index
122-
cfnIndex.node.addDependency(props.collection)
123-
indexReady.node.addDependency(cfnIndex)
124-
12564
this.cfnIndex = cfnIndex
126-
this.indexReady = indexReady
12765
}
12866
}

packages/cdk/stacks/EpsAssistMeStack.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -137,17 +137,11 @@ export class EpsAssistMeStack extends Stack {
137137
const vectorIndex = new VectorIndex(this, "VectorIndex", {
138138
indexName: VECTOR_INDEX_NAME,
139139
collection: openSearchResources.collection.collection,
140-
endpoint,
141-
region: this.region,
142-
account: this.account,
143-
stackName: props.stackName,
144-
logRetentionInDays: logRetentionInDays,
145-
logLevel: logLevel
140+
endpoint
146141
})
147142

148143
// Ensure knowledge base waits for vector index
149144
vectorKB.knowledgeBase.node.addDependency(vectorIndex.cfnIndex)
150-
vectorKB.knowledgeBase.node.addDependency(vectorIndex.indexReady)
151145

152146
// Add S3 notification to trigger sync Lambda function
153147
new S3LambdaNotification(this, "S3LambdaNotification", {

packages/indexWaiter/index_waiter.py

Lines changed: 0 additions & 77 deletions
This file was deleted.

poetry.lock

Lines changed: 16 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)