Rename inference endpoint to neuron.neurontechnologies.ai, add wildcard DNS for customer orgs
This commit is contained in:
@@ -313,10 +313,14 @@ resource "google_compute_backend_service" "soma" {
|
||||
# ── SSL Certificate ───────────────────────────────────────────────────────────
|
||||
|
||||
resource "google_compute_managed_ssl_certificate" "soma" {
|
||||
name = "soma-cert-prod"
|
||||
name = "soma-cert-prod-v2"
|
||||
project = var.project_id
|
||||
|
||||
managed {
|
||||
domains = ["ai.neurontechnologies.ai"]
|
||||
domains = ["neuron.neurontechnologies.ai"]
|
||||
}
|
||||
|
||||
lifecycle {
|
||||
create_before_destroy = true
|
||||
}
|
||||
}
|
||||
|
||||
+16
-3
@@ -5,11 +5,24 @@
|
||||
# Cloudflare provider reads CLOUDFLARE_API_TOKEN from env.
|
||||
# Zone ID for neurontechnologies.ai is set in terraform.tfvars.
|
||||
|
||||
# ── ai.neurontechnologies.ai → Soma inference gateway ────────────────────────
|
||||
# ── neuron.neurontechnologies.ai → Soma inference gateway ────────────────────
|
||||
|
||||
resource "cloudflare_record" "soma_ai" {
|
||||
resource "cloudflare_record" "soma_neuron" {
|
||||
zone_id = var.cloudflare_zone_id_neurontechnologies
|
||||
name = "ai"
|
||||
name = "neuron"
|
||||
type = "A"
|
||||
content = google_compute_global_address.prod.address
|
||||
proxied = true
|
||||
ttl = 1
|
||||
}
|
||||
|
||||
# ── *.neurontechnologies.ai → Customer org subdomains ────────────────────────
|
||||
# Enterprise customers get {org}.neurontechnologies.ai routed to soma.
|
||||
# Soma reads the Host header to identify the tenant.
|
||||
|
||||
resource "cloudflare_record" "soma_wildcard" {
|
||||
zone_id = var.cloudflare_zone_id_neurontechnologies
|
||||
name = "*"
|
||||
type = "A"
|
||||
content = google_compute_global_address.prod.address
|
||||
proxied = true
|
||||
|
||||
@@ -206,7 +206,7 @@ resource "google_compute_url_map" "prod" {
|
||||
}
|
||||
|
||||
host_rule {
|
||||
hosts = ["ai.neurontechnologies.ai"]
|
||||
hosts = ["neuron.neurontechnologies.ai", "*.neurontechnologies.ai"]
|
||||
path_matcher = "soma"
|
||||
}
|
||||
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
cloudflare_zone_id_neurontechnologies = "e844374f203dca4944d77d40ca0710ae"
|
||||
cloudflare_api_key = "007bbefe03eac0e502c339423c50dd911776a"
|
||||
cloudflare_email = "andersonwilliam85@gmail.com"
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -16,3 +16,7 @@ spec:
|
||||
remoteRef:
|
||||
key: secret/data/neuron-technologies/dev
|
||||
property: gitea_webhook_secret
|
||||
- secretKey: MARKETPLACE_DB_PASSWORD
|
||||
remoteRef:
|
||||
key: secret/data/legion-db
|
||||
property: postgres_password
|
||||
|
||||
@@ -16,3 +16,7 @@ spec:
|
||||
remoteRef:
|
||||
key: secret/data/neuron-technologies/stage
|
||||
property: gitea_webhook_secret
|
||||
- secretKey: MARKETPLACE_DB_PASSWORD
|
||||
remoteRef:
|
||||
key: secret/data/legion-db
|
||||
property: postgres_password
|
||||
|
||||
@@ -51,6 +51,10 @@ spec:
|
||||
remoteRef:
|
||||
key: secret/data/r2
|
||||
property: neuron_bucket
|
||||
- secretKey: MARKETPLACE_DB_PASSWORD
|
||||
remoteRef:
|
||||
key: secret/data/legion-db
|
||||
property: postgres_password
|
||||
---
|
||||
apiVersion: external-secrets.io/v1beta1
|
||||
kind: ExternalSecret
|
||||
@@ -102,6 +106,10 @@ spec:
|
||||
remoteRef:
|
||||
key: secret/data/r2
|
||||
property: neuron_bucket
|
||||
- secretKey: MARKETPLACE_DB_PASSWORD
|
||||
remoteRef:
|
||||
key: secret/data/legion-db
|
||||
property: postgres_password
|
||||
---
|
||||
apiVersion: external-secrets.io/v1beta1
|
||||
kind: ExternalSecret
|
||||
@@ -153,3 +161,7 @@ spec:
|
||||
remoteRef:
|
||||
key: secret/data/r2
|
||||
property: neuron_bucket
|
||||
- secretKey: MARKETPLACE_DB_PASSWORD
|
||||
remoteRef:
|
||||
key: secret/data/legion-db
|
||||
property: postgres_password
|
||||
|
||||
@@ -26,19 +26,6 @@ spec:
|
||||
runAsNonRoot: true
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
initContainers:
|
||||
- name: wait-for-sqlite-clone
|
||||
image: busybox:1.36
|
||||
command: ["sh", "-c", "until [ -f /data/neuron.db ]; do echo 'waiting for SQLite clone...'; sleep 2; done; echo 'SQLite ready'"]
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: /data
|
||||
securityContext:
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1001
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop: ["ALL"]
|
||||
containers:
|
||||
- name: neuron-mcp
|
||||
# Image is updated by swarm CI on each loop iteration
|
||||
@@ -51,6 +38,7 @@ spec:
|
||||
allowPrivilegeEscalation: false
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
capabilities:
|
||||
drop: ["ALL"]
|
||||
env:
|
||||
|
||||
@@ -26,19 +26,6 @@ spec:
|
||||
runAsNonRoot: true
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
initContainers:
|
||||
- name: wait-for-sqlite-clone
|
||||
image: busybox:1.36
|
||||
command: ["sh", "-c", "until [ -f /data/neuron.db ]; do echo 'waiting for SQLite clone...'; sleep 2; done; echo 'SQLite ready'"]
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: /data
|
||||
securityContext:
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1001
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop: ["ALL"]
|
||||
containers:
|
||||
- name: neuron-mcp
|
||||
image: registry.neuralplatform.ai/neuron-technologies/neuron-mcp:v0.18.14
|
||||
@@ -50,6 +37,7 @@ spec:
|
||||
allowPrivilegeEscalation: false
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
capabilities:
|
||||
drop: ["ALL"]
|
||||
env:
|
||||
|
||||
@@ -26,19 +26,6 @@ spec:
|
||||
runAsNonRoot: true
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
initContainers:
|
||||
- name: wait-for-sqlite-clone
|
||||
image: busybox:1.36
|
||||
command: ["sh", "-c", "until [ -f /data/neuron.db ]; do echo 'waiting for SQLite clone...'; sleep 2; done; echo 'SQLite ready'"]
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: /data
|
||||
securityContext:
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1001
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop: ["ALL"]
|
||||
containers:
|
||||
- name: neuron-mcp
|
||||
image: registry.neuralplatform.ai/neuron-technologies/neuron-mcp:v0.18.14
|
||||
@@ -50,6 +37,7 @@ spec:
|
||||
allowPrivilegeEscalation: false
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
capabilities:
|
||||
drop: ["ALL"]
|
||||
env:
|
||||
|
||||
Reference in New Issue
Block a user