Skip to content
Snippets Groups Projects
Select Git revision
  • be16524403dd66e920cf69653affe6d77320ff57
  • master default protected
  • lintian-fixes
  • renovate/github.com-miekg-dns-1.x
  • renovate/golang.org-x-crypto-digest
5 results

dns_challenge.go

Blame
  • Forked from ai3 / tools / acmeserver
    Source project has a limited visibility.
    • ale's avatar
      69d65dfa
      Refactor of the code · 69d65dfa
      ale authored
      Add dns-01 support, make the code more readable, add a testing
      mode that will generate self-signed certificates (for test
      environments that are not reachable from outside).
      69d65dfa
      History
      Refactor of the code
      ale authored
      Add dns-01 support, make the code more readable, add a testing
      mode that will generate self-signed certificates (for test
      environments that are not reachable from outside).
    main.go 1.00 KiB
    package main
    
    import (
    	"flag"
    	"io/ioutil"
    	"log"
    	"os"
    	"os/exec"
    	"strings"
    
    	floatschema "git.autistici.org/ai3/tools/float-dashboard/schema/float"
    	"git.autistici.org/ai3/tools/float-dashboard/schema/graph"
    	"gopkg.in/yaml.v3"
    )
    
    var service = flag.String("service", "", "filter this service only")
    
    func main() {
    	log.SetFlags(0)
    	flag.Parse()
    
    	data, err := ioutil.ReadFile(flag.Arg(0))
    	if err != nil {
    		log.Fatal(err)
    	}
    
    	var svcmap map[string]*floatschema.Service
    	if err := yaml.Unmarshal(data, &svcmap); err != nil {
    		log.Fatal(err)
    	}
    
    	var dot string
    
    	g := graph.ServiceGraph(svcmap)
    	if *service != "" {
    		g = g.Filter(graph.FilterEdgeByService(*service))
    		dot = g.Render(
    			graph.StyleNodeByService(*service),
    			graph.StyleEdgeByService(*service),
    		)
    	} else {
    		dot = g.Render(nil, nil)
    	}
    
    	// Run graphviz to render to SVG.
    	cmd := exec.Command("dot", "-Tsvg")
    	cmd.Stdin = strings.NewReader(dot)
    	cmd.Stderr = os.Stderr
    	cmd.Stdout = os.Stdout
    	if err := cmd.Run(); err != nil {
    		log.Fatal(err)
    	}
    }