Compare commits
No commits in common. "13a5f4d3f9db1c00342886112b62951fcd0264b3" and "a1f7c438881e666b5be10ae35789b524aff52a8b" have entirely different histories.
13a5f4d3f9
...
a1f7c43888
8 changed files with 0 additions and 104 deletions
|
|
@ -1,50 +0,0 @@
|
||||||
package nocloud
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"embed"
|
|
||||||
"text/template"
|
|
||||||
|
|
||||||
"git.g3e.fr/syonad/two/pkg/db/kv"
|
|
||||||
"github.com/dgraph-io/badger/v4"
|
|
||||||
)
|
|
||||||
|
|
||||||
//go:embed templates/*.tmpl
|
|
||||||
var templateFS embed.FS
|
|
||||||
|
|
||||||
func renderConfig(path string, cfg Config) (string, error) {
|
|
||||||
tpl, err := template.ParseFS(templateFS, path)
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
var buf bytes.Buffer
|
|
||||||
if err := tpl.Execute(&buf, cfg); err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
return buf.String(), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var DB *badger.DB
|
|
||||||
|
|
||||||
func LoadNcCloudInDB(config Config, db *badger.DB) {
|
|
||||||
meta_data, _ := renderConfig("templates/meta-data.tmpl", config)
|
|
||||||
user_data, _ := renderConfig("templates/user-data.tmpl", config)
|
|
||||||
network_config, _ := renderConfig("templates/network-config.tmpl", config)
|
|
||||||
vendor_data, _ := renderConfig("templates/vendor-data.tmpl", config)
|
|
||||||
|
|
||||||
DB = db
|
|
||||||
|
|
||||||
kv.AddInDB(DB, "metadata/"+config.Name+"/meta-data", meta_data)
|
|
||||||
kv.AddInDB(DB, "metadata/"+config.Name+"/user-data", user_data)
|
|
||||||
kv.AddInDB(DB, "metadata/"+config.Name+"/network-config", network_config)
|
|
||||||
kv.AddInDB(DB, "metadata/"+config.Name+"/vendor-data", vendor_data)
|
|
||||||
kv.AddInDB(DB, "metadata/"+config.Name+"/vpc", config.VpcName)
|
|
||||||
kv.AddInDB(DB, "metadata/"+config.Name+"/bind_ip", config.BindIP)
|
|
||||||
kv.AddInDB(DB, "metadata/"+config.Name+"/bind_port", config.BindPort)
|
|
||||||
}
|
|
||||||
|
|
||||||
func UnLoadNoCloudInDB(vm_name string, db *badger.DB) {
|
|
||||||
kv.DeleteInDB(DB, "metadata/"+vm_name)
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
package nocloud
|
|
||||||
|
|
||||||
type Config struct {
|
|
||||||
VpcName string
|
|
||||||
BindIP string
|
|
||||||
BindPort string
|
|
||||||
Name string
|
|
||||||
Password string
|
|
||||||
SSHKEY string
|
|
||||||
}
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
instance-id: {{ .Name }}
|
|
||||||
local-hostname: {{ .Name }}
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
version: 2
|
|
||||||
ethernets:
|
|
||||||
eth0:
|
|
||||||
dhcp4: true
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
passwd -d root
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
#cloud-config
|
|
||||||
users:
|
|
||||||
- name: syonad
|
|
||||||
lock_passwd: false
|
|
||||||
gecos: alpine Cloud User
|
|
||||||
groups: [adm, wheel]
|
|
||||||
doas:
|
|
||||||
- permit nopass syonad
|
|
||||||
sudo: ["ALL=(ALL) NOPASSWD:ALL"]
|
|
||||||
shell: /bin/ash
|
|
||||||
passwd: "{{ .Password }}"
|
|
||||||
ssh_authorized_keys:
|
|
||||||
- "{{ .SSHKEY }}"
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
package kv
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/dgraph-io/badger/v4"
|
|
||||||
)
|
|
||||||
|
|
||||||
func AddInDB(db *badger.DB, key string, value string) error {
|
|
||||||
return db.Update(func(txn *badger.Txn) error {
|
|
||||||
return txn.Set([]byte(key), []byte(value))
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
package kv
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/dgraph-io/badger/v4"
|
|
||||||
)
|
|
||||||
|
|
||||||
func DeleteInDB(db *badger.DB, key string) error {
|
|
||||||
return db.Update(func(txn *badger.Txn) error {
|
|
||||||
return txn.Delete([]byte(key))
|
|
||||||
})
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue