Comments (17)
0.4.1
seems to work 👍
from inletsctl.
@adamjohnson01 @utsavanand2 please can you take a look into this?
from inletsctl.
@alexellis, @burtonr and @utsavanand2 I know what the issue is and will raise a PR to fix it. The issue is here
inletsctl/pkg/provision/gce.go
Line 184 in 3f1c896
I introduced this when I added the delete by IP functionality, the problem is that the project-id from the instance name string is not being used.
Apologies, I did not test the normal delete functionality when I added the delete by ip functionality.
from inletsctl.
I also found this with a DO exit node, downgrading to 0.3.9 release worked.
Looks like a regression
from inletsctl.
I can't reproduce this, it might have been fixed in 0.4.1, please can you guys re-test? https://github.com/inlets/inletsctl/releases/tag/0.4.1
from inletsctl.
Updated to 0.4.1. The error in the original description is gone, but now there is a different error:
gcp
is the.json
file that contains the credentials
$ inletsctl delete --provider gce --id "determined-curran1|us-central1-a|burtonr"
Using provider: gce
give a value for --access-token-file or --access-token
$ inletsctl delete --provider gce --id "determined-curran1|us-central1-a|burtonr" -f gcp
Using provider: gce
Deleting host: determined-curran1|us-central1-a|burtonr from gce
could not delete the GCE instance: googleapi: got HTTP response code 404 with body: Not Found
from inletsctl.
I've personally tested Packet and DO recently and would suggest using those. You can also set up your own VMs the old fashioned way.
Let's see if @utsavanand2 can help with this issue, who wrote the code for GCE
from inletsctl.
@burtonr I'll take a look at this. I'm having issues with GCE, particularly with the firewall rules with Stackdriver logs stating that I do not have enough permissions. I would be really grateful if I can get some suggestions from you, since I guess you have a GCP account 😄
from inletsctl.
Hey @utsavanand2 Thanks for helping out. Yes, I use GCP for a lot of my personal projects.
For inletsctl, the service account, or credentials that you pass it, the account must have at least:
compute.firewalls.create
- There is no specific "compute.firewalls" permissions that I could find though, so I set it to Admin
serviceaccount user
I have an inlets service account that's set up as "compute admin" and "iam.serviceAccountUser". That worked for setting it all up, but having trouble getting the delete
command to work. Compute Admin has enough permission to do everything. I'll go back and make that more specific once I get it all up and running properly
from inletsctl.
@burtonr If you see here, I am using the compute.Admin
role, which has network admin rights too and the serviceaccount user
role. But inlets-op seems to have trouble with creating the firewall rules for the inlets control port. Though this is a different topic but can be related, considering the merged PR was working completely fine for a couple of weeks, and suddenly broke. I'm afraid if this is another example of that issue.
I have read the godocs for the google cloud sdk and apparently it is created automatically with gRPC. I don't know if this a result of any inconsistent request formats that might have been updated in the upstream SDK but not in the vendor, but I'm not sure.
Thanks a lot for your input though.
I'll check and see if I can fix it by tomorrow
from inletsctl.
I see that the import for inlets is "google.golang.org/api/compute/v1"
Looking at the source repo, I see this section in the first paragraph of the readme:
If you're working with Google Cloud Platform APIs such as Datastore or Pub/Sub, consider using the Cloud Client Libraries for Go instead. These are the new and idiomatic Go libraries targeted specifically at Google Cloud Platform Services.
That said, it seems the imports should be updated to: "cloud.google.com/go"
from the newer(?) repo here: google-cloud-go
from inletsctl.
@burtonr I saw that repo initially, but the new repo only had compute/metadata sub module. I may be wrong here though
from inletsctl.
Ah yes, I see that now. At a quick glance, it looks more complete, and official. Sadly, you are correct.
I also found this closed issue asking the same question: googleapis/google-cloud-go#1605
Basically saying: No, there is no official library for interacting with GCP Compute Engine...
In other words, it's quite possible the server side has changed, but the client library is behind 🤷♂
from inletsctl.
@alexellis , this can be closed as a dup of #39
from inletsctl.
/close
from inletsctl.
Why don't we set up Derek access for contributors to this repo? Can you help Adam?
from inletsctl.
@alexellis, sure. I can help.
from inletsctl.
Related Issues (20)
- AWS EC2 Provisioner does not support temporary credentials with session token. HOT 6
- creating exit server with letsencrypt fails to create & enable systemd service HOT 1
- AWS EC2: Update Image to Ubuntu 20.04 HOT 2
- Align plan handling inletsctl with inlets-operator HOT 2
- Add OVH as new cloud provider for inletsctl
- Update inletsctl to use the newest version of inlets PRO by default HOT 2
- Following `inletsctl create` docs for Azure fails with authorization errors. HOT 5
- Add the Azure subscription-id to the sample delete command given by `inletsctl create` HOT 1
- Setting the --tcp flag to false, inletsctl still creates an exit-node in tcp mode HOT 1
- Wrong inlets-pro binary downloaded when using Apple Silicon machines
- Cannot install inletsctl from inletsctl.inlets.dev HOT 2
- Convert CI to GitHub Actions HOT 3
- Error with downloading SHASUM HOT 2
- Uploading too many assets HOT 1
- curl/sudo sh - Install fails on Ubuntu 20.10 HOT 1
- inletsctl create not handling --tcp properly HOT 1
- [Feature] Provision exit-servers with HTTPS using new Let's Encrypt feature HOT 1
- inlets-pro: command not found HOT 2
- error="websocket: bad handshake" HOT 2
- Update Ubuntu images to 18.04 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from inletsctl.