unoverse 0.1.90 → 0.1.92
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.
- package/operator/infra/aws/outputs.tf +3 -0
- package/operator/infra/aws/terraform.tfvars.example +4 -0
- package/operator/infra/aws/variables.tf +11 -0
- package/operator/infra/digitalocean/main.tf +6 -0
- package/operator/infra/digitalocean/outputs.tf +3 -0
- package/operator/infra/digitalocean/terraform.tfvars.example +4 -0
- package/operator/infra/digitalocean/variables.tf +11 -0
- package/package.json +1 -1
|
@@ -126,6 +126,9 @@ output "env_production" {
|
|
|
126
126
|
OPENAI_API_KEY=${var.openai_api_key}
|
|
127
127
|
HYPERBROWSER_API_KEY=${var.hyperbrowser_api_key}
|
|
128
128
|
|
|
129
|
+
# Marketplace catalogue (MARKETPLACE.md §5). Empty = local items only.
|
|
130
|
+
UNOVERSE_MARKETPLACE_URL=${var.marketplace_url}
|
|
131
|
+
|
|
129
132
|
# Ingress. With a domain: DOMAIN drives every URL (compose derives
|
|
130
133
|
# https://api.<domain>). Without one (POC): DOMAIN stays empty and the
|
|
131
134
|
# explicit URLs below point at the ALB's DNS name over plain HTTP.
|
|
@@ -53,3 +53,7 @@ roles = [
|
|
|
53
53
|
# that locks every credential users save in the platform. If it's lost, no backup
|
|
54
54
|
# can bring them back. Never commit it; keep a safe copy with your database backups.
|
|
55
55
|
# To change any value: edit this file and re-render. Never hand-edit the output.
|
|
56
|
+
|
|
57
|
+
# Marketplace catalogue to install from (docs/architecture/MARKETPLACE.md).
|
|
58
|
+
# Leave unset for local items only.
|
|
59
|
+
# marketplace_url = "https://marketplace.example.com"
|
|
@@ -91,3 +91,14 @@ variable "hyperbrowser_api_key" {
|
|
|
91
91
|
default = ""
|
|
92
92
|
sensitive = true
|
|
93
93
|
}
|
|
94
|
+
|
|
95
|
+
# The catalogue this universe installs from (MARKETPLACE.md §5). NO DEFAULT, deliberately:
|
|
96
|
+
# a URL is never hardcoded and never a fallback, and absent config means no remote
|
|
97
|
+
# catalogue — the universe serves what it has on disk and in its rows, which is the correct
|
|
98
|
+
# state for development and for air-gapped estates. It reaches the marketplace at install
|
|
99
|
+
# time and at no other time.
|
|
100
|
+
variable "marketplace_url" {
|
|
101
|
+
description = "Base URL of the marketplace catalogue. Empty = local items only."
|
|
102
|
+
type = string
|
|
103
|
+
default = ""
|
|
104
|
+
}
|
|
@@ -381,9 +381,15 @@ resource "digitalocean_project" "universe" {
|
|
|
381
381
|
description = "unoverse universe: ${var.name}"
|
|
382
382
|
purpose = "Web Application"
|
|
383
383
|
environment = var.size == "small" ? "Development" : "Production"
|
|
384
|
+
# EVERY resource this stack creates, or the dashboard lies. The Canvas load balancer was
|
|
385
|
+
# added without being listed here, so it stayed in the account's default project while
|
|
386
|
+
# the rest of the universe sat in this one: two views each reporting "LOAD BALANCERS (1)"
|
|
387
|
+
# and no single place showing what this universe actually is. Anything added below must
|
|
388
|
+
# be added here in the same commit.
|
|
384
389
|
resources = compact([
|
|
385
390
|
digitalocean_droplet.app.urn,
|
|
386
391
|
digitalocean_loadbalancer.public.urn,
|
|
392
|
+
local.has_domain && var.canvas_public ? digitalocean_loadbalancer.canvas[0].urn : "",
|
|
387
393
|
digitalocean_database_cluster.redis.urn,
|
|
388
394
|
local.provision_pg ? digitalocean_database_cluster.pg[0].urn : "",
|
|
389
395
|
])
|
|
@@ -118,6 +118,9 @@ output "env_production" {
|
|
|
118
118
|
OPENAI_API_KEY=${var.openai_api_key}
|
|
119
119
|
HYPERBROWSER_API_KEY=${var.hyperbrowser_api_key}
|
|
120
120
|
|
|
121
|
+
# Marketplace catalogue (MARKETPLACE.md §5). Empty = local items only.
|
|
122
|
+
UNOVERSE_MARKETPLACE_URL=${var.marketplace_url}
|
|
123
|
+
|
|
121
124
|
# Ingress. With a domain: DOMAIN drives every URL (compose derives
|
|
122
125
|
# https://api.<domain>). Without one (POC): DOMAIN stays empty and the
|
|
123
126
|
# explicit URLs below point at the load balancer's IP over plain HTTP.
|
|
@@ -50,3 +50,7 @@ openai_api_key = "sk-..." # memory server + OpenAI nodes
|
|
|
50
50
|
# that locks every credential users save in the platform. If it's lost, no backup
|
|
51
51
|
# can bring them back. Never commit it; keep a safe copy with your database backups.
|
|
52
52
|
# To change any value: edit this file and re-render. Never hand-edit the output.
|
|
53
|
+
|
|
54
|
+
# Marketplace catalogue to install from (docs/architecture/MARKETPLACE.md).
|
|
55
|
+
# Leave unset for local items only.
|
|
56
|
+
# marketplace_url = "https://marketplace.example.com"
|
|
@@ -125,3 +125,14 @@ variable "hyperbrowser_api_key" {
|
|
|
125
125
|
default = ""
|
|
126
126
|
sensitive = true
|
|
127
127
|
}
|
|
128
|
+
|
|
129
|
+
# The catalogue this universe installs from (MARKETPLACE.md §5). NO DEFAULT, deliberately:
|
|
130
|
+
# a URL is never hardcoded and never a fallback, and absent config means no remote
|
|
131
|
+
# catalogue — the universe serves what it has on disk and in its rows, which is the correct
|
|
132
|
+
# state for development and for air-gapped estates. It reaches the marketplace at install
|
|
133
|
+
# time and at no other time.
|
|
134
|
+
variable "marketplace_url" {
|
|
135
|
+
description = "Base URL of the marketplace catalogue. Empty = local items only."
|
|
136
|
+
type = string
|
|
137
|
+
default = ""
|
|
138
|
+
}
|
package/package.json
CHANGED