Skip to content

Commit

Permalink
Add plan override flag for Equinix Metal
Browse files Browse the repository at this point in the history
Enables use of a cheaper plan for Equinix Metal users when
available in their account.

Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
  • Loading branch information
alexellis committed Jul 17, 2021
1 parent 35de486 commit 7ce7ac3
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 3 deletions.
1 change: 1 addition & 0 deletions config.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ type InfraConfig struct {
AnnotatedOnly bool
ProConfig InletsProConfig
MaxClientMemory string
Plan string
}

type InletsProConfig struct {
Expand Down
12 changes: 9 additions & 3 deletions controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ func (c *Controller) syncHandler(key string) error {
log.Printf("Provisioning started with provider: %s host: %s", c.infraConfig.Provider, tunnel.Name)

start := time.Now()
host := getHostConfig(c, tunnel)
host := getHostConfig(c, tunnel, c.infraConfig.Plan)
res, err := provisioner.Provision(host)
if err != nil {
return err
Expand Down Expand Up @@ -516,7 +516,7 @@ func createClientDeployment(tunnel *inletsv1alpha1.Tunnel, c *Controller) error
return nil
}

func getHostConfig(c *Controller, tunnel *inletsv1alpha1.Tunnel) provision.BasicHost {
func getHostConfig(c *Controller, tunnel *inletsv1alpha1.Tunnel, planOverride string) provision.BasicHost {

userData := provision.MakeExitServerUserdata(
tunnel.Spec.AuthToken,
Expand All @@ -528,10 +528,16 @@ func getHostConfig(c *Controller, tunnel *inletsv1alpha1.Tunnel) provision.Basic

switch c.infraConfig.Provider {
case "equinix-metal":

plan := "c3.small.x86"
if len(planOverride) > 0 {
plan = planOverride
}

host = provision.BasicHost{
Name: tunnel.Name,
OS: "ubuntu_20_04",
Plan: "c3.small.x86",
Plan: plan,
Region: c.infraConfig.Region,
UserData: userData,
Additional: map[string]string{
Expand Down
2 changes: 2 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ func main() {
flag.StringVar(&infra.ProConfig.ClientImage, "pro-client-image", "", "Supply a Docker image for the inlets-pro client")
flag.StringVar(&infra.MaxClientMemory, "max-client-memory", "128Mi", "Maximum memory limit for the tunnel clients")

flag.StringVar(&infra.Plan, "plan", "", "Plan code for cloud host")

flag.BoolVar(&infra.AnnotatedOnly, "annotated-only", false, "Only create a tunnel for annotated services. Annotate with dev.inlets.manage=true.")

flag.Parse()
Expand Down

0 comments on commit 7ce7ac3

Please sign in to comment.