unoverse 0.1.127 → 0.1.128
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -600,13 +600,27 @@ resource "aws_cognito_user_pool_domain" "domain" {
|
|
|
600
600
|
# NOTE: the secret lands in Terraform state — acceptable at POC, noted in the doc.
|
|
601
601
|
# Model ACCESS is enabled in the console per model/region, outside Terraform.
|
|
602
602
|
|
|
603
|
+
# OPTIONAL, because it is the only thing here that needs IAM write and nothing reads it.
|
|
604
|
+
#
|
|
605
|
+
# The platform never uses these keys. They exist as OUTPUTS, for a developer to paste into
|
|
606
|
+
# the Credentials UI, exactly as they would an OpenAI key. So a universe that does not use
|
|
607
|
+
# the Bedrock nodes was minting a permanent access key for nobody, and paying for it in the
|
|
608
|
+
# one place that matters: `iam:CreateUser` is excluded from AWS's PowerUserAccess policy, so
|
|
609
|
+
# in any managed account this single resource turns a working deploy into a request to
|
|
610
|
+
# somebody's cloud team.
|
|
611
|
+
#
|
|
612
|
+
# DEFAULT TRUE, deliberately. Flipping it to false would DESTROY the user and key in every
|
|
613
|
+
# universe that already has one, and silently break Bedrock for anyone who had pasted those
|
|
614
|
+
# keys into a credential. Set it false where IAM write is not delegated.
|
|
603
615
|
resource "aws_iam_user" "bedrock" {
|
|
604
|
-
|
|
616
|
+
count = var.bedrock_credentials ? 1 : 0
|
|
617
|
+
name = "${var.name}-bedrock-invoke"
|
|
605
618
|
}
|
|
606
619
|
|
|
607
620
|
resource "aws_iam_user_policy" "bedrock" {
|
|
608
|
-
|
|
609
|
-
|
|
621
|
+
count = var.bedrock_credentials ? 1 : 0
|
|
622
|
+
name = "bedrock-invoke-only"
|
|
623
|
+
user = aws_iam_user.bedrock[0].name
|
|
610
624
|
policy = jsonencode({
|
|
611
625
|
Version = "2012-10-17"
|
|
612
626
|
Statement = [{
|
|
@@ -637,7 +651,8 @@ resource "aws_iam_user_policy" "bedrock" {
|
|
|
637
651
|
}
|
|
638
652
|
|
|
639
653
|
resource "aws_iam_access_key" "bedrock" {
|
|
640
|
-
|
|
654
|
+
count = var.bedrock_credentials ? 1 : 0
|
|
655
|
+
user = aws_iam_user.bedrock[0].name
|
|
641
656
|
}
|
|
642
657
|
|
|
643
658
|
# ── Native ingress (2026-07-29): ONE ALB, host-routed — the thing DO's LB can't
|
|
@@ -71,12 +71,12 @@ output "cognito_hosted_ui" {
|
|
|
71
71
|
|
|
72
72
|
output "bedrock_access_key_id" {
|
|
73
73
|
description = "Store as a platform awsCredential (accessKeyId) for the Bedrock/Nova nodes"
|
|
74
|
-
value = aws_iam_access_key.bedrock.id
|
|
74
|
+
value = one(aws_iam_access_key.bedrock[*].id)
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
output "bedrock_secret_access_key" {
|
|
78
78
|
description = "Store as a platform awsCredential (secretAccessKey)"
|
|
79
|
-
value = aws_iam_access_key.bedrock.secret
|
|
79
|
+
value = one(aws_iam_access_key.bedrock[*].secret)
|
|
80
80
|
sensitive = true
|
|
81
81
|
}
|
|
82
82
|
|
|
@@ -117,3 +117,16 @@ variable "operator_public_key" {
|
|
|
117
117
|
type = string
|
|
118
118
|
default = ""
|
|
119
119
|
}
|
|
120
|
+
|
|
121
|
+
# Whether to create the Bedrock IAM user and access key (main.tf, "Bedrock").
|
|
122
|
+
#
|
|
123
|
+
# TRUE preserves what every existing universe already has. FALSE skips the only resource
|
|
124
|
+
# here that needs IAM write, which is what makes a deploy possible in an account where
|
|
125
|
+
# `iam:CreateUser` is not delegated. Nothing in the platform reads the keys: they are
|
|
126
|
+
# outputs, for pasting into a credential, so switching this off costs a manual step and
|
|
127
|
+
# nothing else.
|
|
128
|
+
variable "bedrock_credentials" {
|
|
129
|
+
type = bool
|
|
130
|
+
default = true
|
|
131
|
+
description = "Create an IAM user and access key for the Bedrock nodes. Set false where IAM write is not delegated."
|
|
132
|
+
}
|
package/package.json
CHANGED