Kristoffer Dalby
018e42acad
Merge branch 'main' into initial-api-cli-work
2021-10-30 15:31:34 +01:00
Kristoffer Dalby
482a31b66b
Setup swagger and swagger UI properly
2021-10-30 14:29:53 +00:00
Kristoffer Dalby
2b340e8fa4
Rename protofile
2021-10-30 14:29:41 +00:00
Kristoffer Dalby
434fac52b7
Fix lint error
2021-10-30 14:29:03 +00:00
Kristoffer Dalby
6aacada852
Switch from gRPC localhost to socket
...
This commit changes the way CLI and grpc-gateway communicates with the
gRPC backend to socket, instead of localhost. Unauthenticated access now
goes on the socket, while the network interface will require API key (in
the future).
2021-10-30 14:08:16 +00:00
Ward Vandewege
7301d7eb67
Merge pull request #200 from cure/cli-improvements
...
Cli improvements -- nodes subcommand
2021-10-29 17:36:54 -04:00
Ward Vandewege
b2d2d5653e
Merge branch 'main' into cli-improvements
2021-10-29 17:20:05 -04:00
Kristoffer Dalby
72fd2a2780
Fix lint error
2021-10-29 17:36:11 +00:00
Kristoffer Dalby
9ef031f0f8
Port create, delete and list of namespace to grpc
2021-10-29 17:16:54 +00:00
Kristoffer Dalby
81b8610dff
Add helper function to setup grpc client for cli
2021-10-29 17:15:52 +00:00
Kristoffer Dalby
eefd82a574
Move config loading out of the headscale app setup
2021-10-29 17:09:06 +00:00
Kristoffer Dalby
002b5c1dad
Add grpc token auth struct
2021-10-29 17:08:21 +00:00
Kristoffer Dalby
68dab0fe7b
Move localhost check to utils
2021-10-29 17:04:58 +00:00
Kristoffer Dalby
6d10be8fff
Change order of print/nil check in integration test
2021-10-29 16:49:44 +00:00
Kristoffer Dalby
a23d82e33a
Setup API and prepare for API keys
...
This commit sets up the API and gRPC endpoints and adds authentication
to them. Currently there is no actual authentication implemented but it
has been prepared for API keys.
In addition, there is a allow put in place for gRPC traffic over
localhost. This has two purposes:
1. grpc-gateway, which is the base of the API, connects to the gRPC
service over localhost.
2. We do not want to break current "on server" behaviour which allows
users to use the cli on the server without any fuzz
2021-10-29 16:45:06 +00:00
Kristoffer Dalby
c7fa9b6e4a
Setup create, delete and list namespace over grpc
2021-10-29 16:44:32 +00:00
Kristoffer Dalby
07bbeafa3b
Fix lint errors, add initial namespace rpc
2021-10-29 16:43:10 +00:00
Kristoffer Dalby
06700c1dc4
Setup proto linting
2021-10-29 16:42:56 +00:00
Kristoffer Dalby
2c071a8a2d
Merge pull request #204 from kradalby/api-playground
2021-10-28 20:17:20 +01:00
Ward Vandewege
f9187bdfc4
Switch to named arguments for all nodes
subcommands. Update docs
...
accordingly. Fix integration test failure.
2021-10-28 09:31:15 -04:00
Ward Vandewege
25c67cf2aa
Update integration_test.go
...
Co-authored-by: Kristoffer Dalby <kradalby@kradalby.no>
2021-10-28 08:40:30 -04:00
Ward Vandewege
b00a2729e3
Update cmd/headscale/cli/nodes.go
...
Co-authored-by: Kristoffer Dalby <kradalby@kradalby.no>
2021-10-28 08:39:42 -04:00
Ward Vandewege
6c01b86e4c
Update cmd/headscale/cli/nodes.go
...
Co-authored-by: Kristoffer Dalby <kradalby@kradalby.no>
2021-10-28 08:39:27 -04:00
Ward Vandewege
d086cf4691
Move the namespace argument back to a flag for the share and unshare
...
commands.
2021-10-27 17:51:42 -04:00
Kristoffer Dalby
5054ed41ac
Make ci lint fix if it can
2021-10-27 07:10:32 +00:00
Kristoffer Dalby
e91174e83f
Add gen explicitly to skip list
2021-10-27 07:08:24 +00:00
Kristoffer Dalby
c9bd25d05c
Remove golint from github actions
2021-10-27 07:07:44 +00:00
Kristoffer Dalby
f779372154
Add golangcilint config
2021-10-27 07:07:19 +00:00
Kristoffer Dalby
acd9ebbdf8
Let lint ignore grpcv1.go as it is placeholder
2021-10-27 07:06:39 +00:00
Kristoffer Dalby
6369cea10e
Remove golint, its deprecated
...
This commit removed `golint`, its deprecated:
https://github.com/golang/lint
and golangci-lint has overlapping features.
2021-10-27 06:58:16 +00:00
Kristoffer Dalby
2d92719095
Dont try to generate code on every make build
2021-10-27 06:48:30 +00:00
Kristoffer Dalby
d4265779ef
Check in generated code
...
This does not have to be reviewed, here is some reasoning:
Go (and go mod) is designed for having code available and we need to
check in the generated code to make sure it is "go gettable". If we dont
we give ourselves a headache trying to setup all the ci, tests etc to
install and generate the code before it runs.
Because the code isnt there, the plugins needed to generate the code
fail to install...
I didnt find any good documentation for this, but there is this github
comment:
https://github.com/golang/go/issues/34514#issuecomment-535406759
2021-10-27 06:44:04 +00:00
Kristoffer Dalby
8f2ef6a57d
Prepare for checking in generated code
2021-10-27 06:40:39 +00:00
Kristoffer Dalby
6e764942a2
Add grpc step to dockerfile
2021-10-26 21:35:18 +00:00
Kristoffer Dalby
11d987549f
Ignore generated files for docker
2021-10-26 21:34:51 +00:00
Kristoffer Dalby
b8c89cd63c
Add readme and makefile entry about code generation
2021-10-26 20:53:10 +00:00
Kristoffer Dalby
2f045b20fb
Refactor tls and wire up grpc, grpc gateway/api
...
This commit moves the TLS configuration into a seperate function.
It also wires up the gRPC interface and prepares handing the API
endpoints to the grpc gateway.
2021-10-26 20:42:56 +00:00
Kristoffer Dalby
caa4d33cbd
Add an initial grpcv1 service (implementing the proto generated service)
2021-10-26 20:42:20 +00:00
Kristoffer Dalby
a9da7c8fd9
Update go.mod
2021-10-26 20:41:35 +00:00
Kristoffer Dalby
b096a2e7e5
Create an initial gRPC service
...
This commit adds protobuf files and tooling surrounding generating APIs
and datatypes.
2021-10-26 20:37:37 +00:00
Ward Vandewege
f9ece0087d
Make the cli help a little more explicit for the nodes subcommand.
2021-10-26 08:50:25 -04:00
Kristoffer Dalby
c76d3b53d9
Merge branch 'main' into cli-improvements
2021-10-25 22:11:02 +01:00
Kristoffer Dalby
e8277595f5
Merge pull request #202 from juanfont/kradalby-patch-1
...
Add note about main containing unreleased changes
v0.11.0
2021-10-25 20:14:36 +01:00
Kristoffer Dalby
4d3b638a3d
Add note about main containing unreleased changes
...
#201
2021-10-25 19:38:11 +01:00
Ward Vandewege
1d9954d8e9
Fix integration test.
2021-10-24 20:11:47 -04:00
Ward Vandewege
dd7557850e
cli changes for the nodes
subcommand:
...
* when listing nodes, a namespace is now optional, when it is not
provided, all nodes are shown
* when deleting, and sharing a node, remove the `namespace` flag, it was
superfluous and unused
* when unsharing a node, specify the namespace as an argument not a
flag, making the UX the same as for sharing.
Also refactor the share/unshare code to reuse the shared bits.
2021-10-24 17:50:28 -04:00
Ward Vandewege
c8e1afb14b
When attempting to unshare a node from the primary namespace, return
...
errorMachineNotShared, not errorSameNamespace. Add test for same.
2021-10-24 17:50:21 -04:00
Kristoffer Dalby
6d162eeff9
Merge pull request #197 from kradalby/config-simplification
2021-10-24 22:27:18 +01:00
Kristoffer Dalby
746d4037da
Fix config and tests
2021-10-24 21:30:51 +01:00
Kristoffer Dalby
1237e02f7c
Merge branch 'config-simplification' of github.com:kradalby/headscale into config-simplification
2021-10-24 21:21:08 +01:00