Documentation ¶
Overview ¶
Example ¶
package main import ( "context" "log" "net/http" "github.com/peknur/nginx-unit-sdk/unit" "github.com/peknur/nginx-unit-sdk/unit/client" "github.com/peknur/nginx-unit-sdk/unit/config" "github.com/peknur/nginx-unit-sdk/unit/config/listener" "github.com/peknur/nginx-unit-sdk/unit/config/route" "github.com/peknur/nginx-unit-sdk/unit/config/settings" ) func main() { client, err := client.New("http://127.0.0.1:8080", http.DefaultClient) if err != nil { log.Fatal(err) } svc := unit.NewService(client) cfg := config.Config{ Settings: config.Settings{ HTTP: settings.HTTP{ HeaderReadTimeout: 10, BodyReadTimeout: 10, }, }, Listeners: config.Listeners{ "*:80": listener.Config{ Pass: "routes/main", }, }, Routes: config.Routes{ "main": []route.Config{ { Match: &route.Match{ Host: []string{"example.com"}, }, Action: &route.Action{ Return: http.StatusNotFound, }, }}, }, AccessLog: config.AccessLog{ Path: "/var/log/access.log", Format: "$remote_addr - - [$time_local] \"$request_line\" $status $body_bytes_sent \"$header_referer\" \"$header_user_agent\"", }, } if err := svc.CreateConfig(context.Background(), cfg); err != nil { log.Fatal(err) } }
Output:
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Certificates ¶ added in v0.3.0
type Certificates map[string]certificate.Config
type Service ¶
type Service interface { // Applications Applications(ctx context.Context) (config.Applications, error) CreateApplications(ctx context.Context, c config.Applications) error CreateApplication(ctx context.Context, name string, c application.Config) error DeleteApplication(ctx context.Context, name string) error // Config Config(ctx context.Context) (config.Config, error) CreateConfig(ctx context.Context, c config.Config) error DeleteConfig(ctx context.Context) error // Listeners Listeners(ctx context.Context) (config.Listeners, error) CreateListener(ctx context.Context, name string, c listener.Config) error CreateListeners(ctx context.Context, c config.Listeners) error DeleteListener(ctx context.Context, name string) error // Routes Routes(ctx context.Context) (config.Routes, error) CreateRoute(ctx context.Context, name string, c []route.Config) error CreateRoutes(ctx context.Context, c config.Routes) error AppendRoute(ctx context.Context, name string, c route.Config) error DeleteRoute(ctx context.Context, name string) error // Upstreams Upstreams(ctx context.Context) (config.Upstreams, error) CreateUpstream(ctx context.Context, name string, c upstream.Config) error CreateUpstreams(ctx context.Context, c config.Upstreams) error DeleteUpstream(ctx context.Context, name string) error // Certificates Certificates(ctx context.Context) (certificate.Certificates, error) CreateCertificate(ctx context.Context, name string, bundle []byte) error DeleteCertificate(ctx context.Context, name string) error // Settings Settings(ctx context.Context) (config.Settings, error) CreateSettings(ctx context.Context, c config.Settings) error DeleteSettings(ctx context.Context) error // Status Status(ctx context.Context) (status.Status, error) }
Service interface defines methods that can be used to interact with Unit instance.
func NewService ¶ added in v0.2.0
NewService creates new service instance.
func NewServiceFromURL ¶ added in v0.2.0
NewServiceFromURL creates new service instance using URL as client base URL.
Example ¶
package main import ( "context" "log" "github.com/peknur/nginx-unit-sdk/unit" ) func main() { svc, err := unit.NewServiceFromURL("http://127.0.0.1:8080") if err != nil { log.Fatal(err) } svc.Config(context.TODO()) }
Output:
type Unit ¶ added in v0.3.0
type Unit struct { Certificates certificate.Certificates `json:"certificates,omitempty"` Config config.Config `json:"config,omitempty"` }
Click to show internal directories.
Click to hide internal directories.