mirror of
https://github.com/kittywitch/nixfiles.git
synced 2026-02-09 12:29:19 -08:00
feat: SSH CA
This commit is contained in:
parent
a28e1ce6e2
commit
ccf6a6f704
23 changed files with 678 additions and 431 deletions
80
main.go
80
main.go
|
|
@ -1,68 +1,38 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi-tailscale/sdk/go/tailscale"
|
||||
"gopkg.in/yaml.v3"
|
||||
"os"
|
||||
"kittywitch/iac"
|
||||
"github.com/pulumi/pulumi-command/sdk/go/command/local"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"gopkg.in/yaml.v3"
|
||||
"kittywitch/iac"
|
||||
"os"
|
||||
)
|
||||
|
||||
func main() {
|
||||
katConfig := iac.KatConfig{}
|
||||
store := iac.KatConfig{}
|
||||
|
||||
configFile, err := os.ReadFile("config.yaml")
|
||||
configFile, err := os.ReadFile("config.yaml")
|
||||
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if err := yaml.Unmarshal(configFile, &katConfig); err != nil {
|
||||
return
|
||||
}
|
||||
if err := yaml.Unmarshal(configFile, &store); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
pulumi.Run(func(ctx *pulumi.Context) error {
|
||||
tailnet, err := tailscale.GetDevices(ctx, &tailscale.GetDevicesArgs{}, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
pulumi.Run(func(ctx *pulumi.Context) error {
|
||||
for _, zone := range store.Zones {
|
||||
err = zone.Handle(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// zones, dnssec, records
|
||||
zones, _, records, err := iac.HandleDNS(ctx, katConfig)
|
||||
err = iac.InskipPage(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
records, err = iac.HandleTSRecords(ctx, tailnet, zones, records)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
ca_key, ca_cert, err := iac.GenerateTLSCA(ctx)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
keys, _, certs, err := iac.HandleTSHostCerts(ctx, tailnet, ca_key, ca_cert)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// files for those certs
|
||||
|
||||
files := make(map[string]*local.Command)
|
||||
|
||||
files, err = iac.PKITLSFiles(ctx, files, keys, certs)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return err
|
||||
})
|
||||
return err
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue