Skip to content

Commit

Permalink
Zygote descriptor
Browse files Browse the repository at this point in the history
  • Loading branch information
evgnomon committed Sep 27, 2024
1 parent 376ade5 commit 31c68d5
Showing 1 changed file with 185 additions and 0 deletions.
185 changes: 185 additions & 0 deletions zygote.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
### file: evgnomon/zygote/.zygote/eu-center-1_nodepool.toml:main
[nodepool.static.eu-center-1]
allow.ssh.root = [
"[email protected] AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIGSgxJ6IAd+q2pkcrD9iIocpwNACuwiRPSnPCzOv7mUVAAAABHNzaDo= [email protected]",
]

[nodepool.static.eu-center-1.host."m1de.clusterlean.com"]
labels = ["app", "stream", "main", "file"]
host_key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGXqY02bdYqg1BcIf2x08zs60rS6XhlBSQ4qE47o5gb"

[nodepool.static.eu-center-1.host."127.0.0.1:22"]
labels = ["app", "stream", "main", "file"]
host_key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGXqY02bdYqg1BcIf2x08zs60rS6XhlBSQ4qE47o5gb"

### file: evgnomon/zygote/.zygote/main_kvm_nodepool.toml:main
[nodepool.kvm.main]
in = ["nodepool.eu-center-1"]
# in = ["zygote.run/clusterlean/nodepool.eu-center-1"]
# image = "ghcr.io/evgnomon/debian"
# label = "main" # By default is the name of the nodepool
allow.ssh.root = [
"[email protected] AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIGSgxJ6IAd+q2pkcrD9iIocpwNACuwiRPSnPCzOv7mUVAAAABHNzaDo= [email protected]",
] # White list ssh keys to be able to perform kvm.admin operations

[[nodepool.kvm.main.tcp.port]]
source = 80
target = 80

### file: evgnomon/zygote/.zygote/app_nodeset.toml:main
[nodeset.app]
nodepool = "nodepool.kvm.main"

### file: evgnomon/zygote/.zygote/nodeset.store.toml:main
[nodeset.store]
in = "nodepool.kvm.main"

### file: evgnomon/zygote/.zygote/stream.toml:main
[nodeset.stream]
in = "nodepool.kvm.main"
default = 3
shard = 3
# label = "stream"

### file: evgnomon/zygote/.zygote/mailer.toml:main
[function.mailer]
in = "nodeset.app"
image = "github.com/evgnomon/mailer"
# min_instances = 0
# max_instances = 10

### file: evgnomon/zygote/.zygote/cord.toml:main
[function.cord]
in = "nodeset.app"
image = "ghcr.io/evgnomon/cord"

### file: evgnomon/zygote/.zygote/gateway.toml:main
[nodeset.gateway]
in = "nodepool.main"
user = "zygote" # Github username/orgname
# instances = 2
# shards = 1
# label = "gateway"

[function.gateway]
in = "nodeset.app"
image = "ghcr.io/evgnomon/boulevard"
min_instances = 1
max_instances = 1

[[function.gateway.tcp.port]]
source = 80
target = 80

### file: clusterlean/zygote.run/.zygote/main.toml:main
[store.table.main]
in = "nodeset.store"
allow.io = ["*"] # Any user can access this database
# table_limit = 10 # Each user can have 10 tables

### file: evgnomon/stream/.zygote/main.toml:main
[function.stream]
image = "ghcr.io/evgnomon/stream"
# prefix = "stream" # which can be mounted on stream.zygote.run

[store.stream.main]
in = "evgnomon/zygote/nodeset/stream"
allow.io = ["function.salute"]
# stream_limit = 10 # Each user can have 10 stream

[stream.main]
in = "nodeset.stream"
duration = "1h"

### file: evgnomon/salute/.zygote/login.toml:main
[function.salute.configs.github]
[function.salute.configs.userpass]

[function.login]
# branches = ["*"]
image = "ghcr.io/evgnomon/salute"
# prefix = "login"
# max_instances = 1

[table.user]
# branches = ["*"]
in = "evgnomon/zygote/store/table/main"
id.type = "INT"
id.auto_increment = true
id.primary_key = true
password = "string"
# password.type = "VARCHAR(255)"
# password.nullable = false
email = "string"
# email.type = "VARCHAR(100)"
# email.nullable = false
# mobile = "*string"
inactive = "bool" # Default is false
# weight = "float32"
# age = "float64"
# another = "int8"
# another = "int16"
# another = "int32"
# another = "int64"
# another = "[]byte"
# another = "timestamp"
# another = "struct"
# email.type = "VARCHAR(100)"
# email.nullable = true
requires = ["timestamps"]
# created_at.type = "TIMESTAMP"
# created_at.default = "CURRENT_TIMESTAMP"
# updated_at.type = "TIMESTAMP"

# updated_at.default = "CURRENT_TIMESTAMP"
# updated_at.on_update = "CURRENT_TIMESTAMP"

[table.user.index]
unique = true
columns = ["email"]

### file: evgnomon/example-js-project/.zygote/main.toml:main
branches = ["main"]

[function.main]
in = "app"
image = "ghcr.io/evgnomon/example-js-project@main"
prefix = "example-js-project"
# max_instances = 1

[[function.main.mounts]]
source = "/var/run/docker.sock"
target = "/var/run/docker.sock"

[table.post]
in = "main"
requires = ["id", "timestamps"]
body = "json"
author = ["f:user"] # A foreign key to the user table
publisher = ["g:channel"] # A global foreign key
replies = ["g:channel"] # A global foreign key
# allow.io = ["main"]

[table.project]
in = "main"
requires = ["id", "timestamps"]
name = "string"
creator = ["f:user"] # A foreign keys
# allow.io = ["main"]

[table.channel]
in = "main"
includes = ["id", "timestamps"]
name = "string"
project = ["f:project"] # A foreign key
public = "bool"
# allow.io = ["main"]

[[table.channel.index]]
unique = true
columns = ["name", "project"]

# Listen to posts
[stream.posts]
in = "main"
allow.io = ["main"]

0 comments on commit 31c68d5

Please sign in to comment.