Skip to content

Commit f98ff84

Browse files
committed
Remove Civo and Equinix Metal
* Civo doesn't provide public IPs or cloud-init * Equinix Metal is far too expensive for a single inlets tunnel Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
1 parent 269e928 commit f98ff84

File tree

3 files changed

+10
-44
lines changed

3 files changed

+10
-44
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ The `inletsctl create` command will provision a cloud host with the provider and
6060

6161
The [provision](https://github.com/inlets/inletsctl/tree/master/pkg/provision) package contains defaults for OS images to use and for cloud host plans and sizing. You'll find all available options on `inletsctl create --help`
6262

63-
The cost for cloud hosts varies depending on a number of factors such as the region, bandwidth used, and so forth. A rough estimation is that it could cost around 5 USD / month to host a VM on for DigitalOcean, Civo, or Scaleway. The VM is required to provide your public IP. Some hosting providers supply credits and a free-tier such as GCE and AWS.
63+
The cost for cloud hosts varies depending on a number of factors such as the region, bandwidth used, and so forth. A rough estimation is that it could cost around 5 USD / month to host a VM on for DigitalOcean, or Scaleway. The VM is required to provide your public IP. Some hosting providers supply credits and a free-tier such as GCE and AWS.
6464

6565
See the pricing grid on the [inlets-operator](https://github.com/inlets/inlets-operator#provider-pricing) for a detailed breakdown.
6666

@@ -104,7 +104,7 @@ Why is inletsctl a separate binary? This tool is shipped separately, so that the
104104

105105
### Provisioners
106106

107-
inletsctl can provision exit-servers to the following providers: DigitalOcean, Scaleway, Civo.com, Google Cloud, Equinix Metal, AWS EC2, Azure, Linode, Hetzner and Vultr.
107+
inletsctl can provision exit-servers to the following providers: DigitalOcean, Scaleway, Google Cloud, AWS EC2, Azure, Linode, Hetzner, and Vultr.
108108

109109
An open-source Go package named [provision](https://github.com/inlets/cloud-provision) can be extended for each new provider. This code can be used outside of inletsctl by other projects wishing to create hosts and to run some scripts upon start-up via userdata.
110110

cmd/create.go

Lines changed: 6 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func init() {
2626

2727
inletsCmd.AddCommand(createCmd)
2828

29-
createCmd.Flags().StringP("provider", "p", "digitalocean", "The cloud provider - digitalocean, gce, ec2, azure, equinix-metal, scaleway, linode, civo, hetzner, ovh or vultr")
29+
createCmd.Flags().StringP("provider", "p", "digitalocean", "The cloud provider - digitalocean, gce, ec2, azure, scaleway, linode, hetzner, ovh or vultr")
3030
createCmd.Flags().StringP("region", "r", "lon1", "The region for your cloud provider")
3131
createCmd.Flags().StringP("plan", "s", "", "The plan or size for your cloud instance")
3232
createCmd.Flags().StringP("zone", "z", "us-central1-a", "The zone for the exit-server (gce)")
@@ -43,7 +43,7 @@ func init() {
4343
createCmd.Flags().String("session-token-file", "", "Read this file for the session token for ec2 (when using with temporary credentials)")
4444

4545
createCmd.Flags().String("organisation-id", "", "Organisation ID (scaleway)")
46-
createCmd.Flags().String("project-id", "", "Project ID (equinix-metal, gce, ovh)")
46+
createCmd.Flags().String("project-id", "", "Project ID (gce, ovh)")
4747
createCmd.Flags().String("subscription-id", "", "Subscription ID (Azure)")
4848

4949
createCmd.Flags().String("endpoint", "ovh-eu", "API endpoint (ovh), default: ovh-eu")
@@ -82,7 +82,7 @@ project docs.`,
8282
inletsctl create \
8383
ssh-tunnel \
8484
--tcp \
85-
--provider [digitalocean|equinix-metal|ec2|scaleway|civo|gce|azure|linode|hetzner] \
85+
--provider [digitalocean|ec2|scaleway|gce|azure|linode|hetzner] \
8686
--access-token-file $HOME/access-token \
8787
--region lon1
8888
@@ -98,9 +98,6 @@ project docs.`,
9898
SilenceErrors: true,
9999
}
100100

101-
// EquinixMetalProvider is a constant string for Equinix Metal
102-
const EquinixMetalProvider = "equinix-metal"
103-
104101
func runCreate(cmd *cobra.Command, _ []string) error {
105102

106103
// Get name from the Args, if not provided, generate a random name
@@ -133,11 +130,6 @@ func runCreate(cmd *cobra.Command, _ []string) error {
133130
return err
134131
}
135132

136-
// Migrate to new name
137-
if provider == "packet" {
138-
provider = EquinixMetalProvider
139-
}
140-
141133
serverMode := "L4 TCP"
142134
if !tcp {
143135
serverMode = "L7 HTTPS"
@@ -189,8 +181,6 @@ func runCreate(cmd *cobra.Command, _ []string) error {
189181
region = "lon1"
190182
} else if provider == "scaleway" {
191183
region = "fr-par-1"
192-
} else if provider == EquinixMetalProvider {
193-
region = "ams1"
194184
} else if provider == "ec2" {
195185
region = "eu-west-1"
196186
} else if provider == "hetzner" {
@@ -262,7 +252,7 @@ func runCreate(cmd *cobra.Command, _ []string) error {
262252
}
263253
}
264254

265-
} else if provider == "gce" || provider == EquinixMetalProvider {
255+
} else if provider == "gce" {
266256
projectID, _ = cmd.Flags().GetString("project-id")
267257
if len(projectID) == 0 {
268258
return fmt.Errorf("--project-id flag must be set")
@@ -436,10 +426,6 @@ func getProvisioner(provider, accessToken, secretKey, organisationID, region, su
436426
switch provider {
437427
case "digitalocean":
438428
return provision.NewDigitalOceanProvisioner(accessToken)
439-
case EquinixMetalProvider:
440-
return provision.NewEquinixMetalProvisioner(accessToken)
441-
case "civo":
442-
return provision.NewCivoProvisioner(accessToken)
443429
case "scaleway":
444430
return provision.NewScalewayProvisioner(accessToken, secretKey, organisationID, region)
445431
case "gce":
@@ -480,23 +466,12 @@ func createHost(provider, name, region, zone, projectID, userData, inletsProCont
480466
} else if provider == "ovh" {
481467
return &provision.BasicHost{
482468
Name: name,
483-
OS: "Ubuntu 20.04",
469+
OS: "Ubuntu 22.04",
484470
Plan: "s1-2",
485471
Region: region,
486472
UserData: userData,
487473
Additional: map[string]string{},
488474
}, nil
489-
} else if provider == EquinixMetalProvider {
490-
return &provision.BasicHost{
491-
Name: name,
492-
OS: "ubuntu_20_04",
493-
Plan: "c3.small.x86",
494-
Region: region,
495-
UserData: userData,
496-
Additional: map[string]string{
497-
"project_id": projectID,
498-
},
499-
}, nil
500475
} else if provider == "scaleway" {
501476
return &provision.BasicHost{
502477
Name: name,
@@ -506,16 +481,7 @@ func createHost(provider, name, region, zone, projectID, userData, inletsProCont
506481
UserData: userData,
507482
Additional: map[string]string{},
508483
}, nil
509-
} else if provider == "civo" {
510-
const ubuntu2004ID = "d927ad2f-5073-4ed6-b2eb-b8e61aef29a8"
511-
return &provision.BasicHost{
512-
Name: name,
513-
OS: ubuntu2004ID,
514-
Plan: "g3.xsmall",
515-
Region: region,
516-
UserData: userData,
517-
Additional: map[string]string{},
518-
}, nil
484+
519485
} else if provider == "gce" {
520486
return &provision.BasicHost{
521487
Name: name,

cmd/delete.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414

1515
func init() {
1616
inletsCmd.AddCommand(deleteCmd)
17-
deleteCmd.Flags().StringP("provider", "p", "digitalocean", "The cloud provider - digitalocean, gce, ec2, azure, equinix-metal, scaleway, linode, civo, hetzner or vultr")
17+
deleteCmd.Flags().StringP("provider", "p", "digitalocean", "The cloud provider - digitalocean, gce, ec2, azure, scaleway, linode, hetzner or vultr")
1818
deleteCmd.Flags().StringP("region", "r", "lon1", "The region for your cloud provider")
1919
deleteCmd.Flags().StringP("zone", "z", "us-central1-a", "The zone for the exit node (gce)")
2020

@@ -30,7 +30,7 @@ func init() {
3030
deleteCmd.Flags().String("session-token-file", "", "Read this file for the session token for ec2 (when using with temporary credentials)")
3131

3232
deleteCmd.Flags().String("organisation-id", "", "Organisation ID (scaleway)")
33-
deleteCmd.Flags().String("project-id", "", "Project ID (equinix-metal, gce)")
33+
deleteCmd.Flags().String("project-id", "", "Project ID (gce)")
3434
deleteCmd.Flags().String("subscription-id", "", "Subscription ID (azure)")
3535

3636
deleteCmd.Flags().String("endpoint", "ovh-eu", "API endpoint (ovh), default: ovh-eu")

0 commit comments

Comments
 (0)