mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	Merge pull request #482 from kradalby/flake-build-env
Add Nix reproducible build system
This commit is contained in:
		
						commit
						e80954b6c8
					
				
							
								
								
									
										17
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							| @ -22,30 +22,21 @@ jobs: | ||||
|         uses: tj-actions/changed-files@v14.1 | ||||
|         with: | ||||
|           files: | | ||||
|             *.nix | ||||
|             go.* | ||||
|             **/*.go | ||||
|             integration_test/ | ||||
|             config-example.yaml | ||||
| 
 | ||||
|       - name: Setup Go | ||||
|       - uses: cachix/install-nix-action@v16 | ||||
|         if: steps.changed-files.outputs.any_changed == 'true' | ||||
|         uses: actions/setup-go@v2 | ||||
|         with: | ||||
|           go-version: "1.18.0" | ||||
| 
 | ||||
|       - name: Install dependencies | ||||
|         if: steps.changed-files.outputs.any_changed == 'true' | ||||
|         run: | | ||||
|           go version | ||||
|           sudo apt update | ||||
|           sudo apt install -y make | ||||
| 
 | ||||
|       - name: Run build | ||||
|         if: steps.changed-files.outputs.any_changed == 'true' | ||||
|         run: make build | ||||
|         run: nix build | ||||
| 
 | ||||
|       - uses: actions/upload-artifact@v2 | ||||
|         if: steps.changed-files.outputs.any_changed == 'true' | ||||
|         with: | ||||
|           name: headscale-linux | ||||
|           path: headscale | ||||
|           path: result/bin/headscale | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							| @ -16,6 +16,7 @@ jobs: | ||||
|         uses: tj-actions/changed-files@v14.1 | ||||
|         with: | ||||
|           files: | | ||||
|             *.nix | ||||
|             go.* | ||||
|             **/*.go | ||||
|             integration_test/ | ||||
| @ -45,6 +46,7 @@ jobs: | ||||
|         uses: tj-actions/changed-files@v14.1 | ||||
|         with: | ||||
|           files: | | ||||
|             *.nix | ||||
|             **/*.md | ||||
|             **/*.yml | ||||
|             **/*.yaml | ||||
|  | ||||
							
								
								
									
										8
									
								
								.github/workflows/test-integration.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/test-integration.yml
									
									
									
									
										vendored
									
									
								
							| @ -16,17 +16,15 @@ jobs: | ||||
|         uses: tj-actions/changed-files@v14.1 | ||||
|         with: | ||||
|           files: | | ||||
|             *.nix | ||||
|             go.* | ||||
|             **/*.go | ||||
|             integration_test/ | ||||
|             config-example.yaml | ||||
| 
 | ||||
|       - name: Setup Go | ||||
|       - uses: cachix/install-nix-action@v16 | ||||
|         if: steps.changed-files.outputs.any_changed == 'true' | ||||
|         uses: actions/setup-go@v2 | ||||
|         with: | ||||
|           go-version: "1.18.0" | ||||
| 
 | ||||
|       - name: Run Integration tests | ||||
|         if: steps.changed-files.outputs.any_changed == 'true' | ||||
|         run: make test_integration | ||||
|         run: nix develop --command -- make test_integration | ||||
|  | ||||
							
								
								
									
										19
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							| @ -16,28 +16,15 @@ jobs: | ||||
|         uses: tj-actions/changed-files@v14.1 | ||||
|         with: | ||||
|           files: | | ||||
|             *.nix | ||||
|             go.* | ||||
|             **/*.go | ||||
|             integration_test/ | ||||
|             config-example.yaml | ||||
| 
 | ||||
|       - name: Setup Go | ||||
|       - uses: cachix/install-nix-action@v16 | ||||
|         if: steps.changed-files.outputs.any_changed == 'true' | ||||
|         uses: actions/setup-go@v2 | ||||
|         with: | ||||
|           go-version: "1.18.0" | ||||
| 
 | ||||
|       - name: Install dependencies | ||||
|         if: steps.changed-files.outputs.any_changed == 'true' | ||||
|         run: | | ||||
|           go version | ||||
|           sudo apt update | ||||
|           sudo apt install -y make | ||||
| 
 | ||||
|       - name: Run tests | ||||
|         if: steps.changed-files.outputs.any_changed == 'true' | ||||
|         run: make test | ||||
| 
 | ||||
|       - name: Run build | ||||
|         if: steps.changed-files.outputs.any_changed == 'true' | ||||
|         run: make | ||||
|         run: nix develop --check | ||||
|  | ||||
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -28,6 +28,6 @@ derp.yaml | ||||
| 
 | ||||
| test_output/  | ||||
| 
 | ||||
| # Nix and direnv | ||||
| .direnv/ | ||||
| # Nix build output | ||||
| result | ||||
| .direnv/ | ||||
|  | ||||
							
								
								
									
										16
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								README.md
									
									
									
									
									
								
							| @ -91,6 +91,10 @@ Please have a look at the documentation under [`docs/`](docs/). | ||||
| To contribute to headscale you would need the lastest version of [Go](https://golang.org) | ||||
| and [Buf](https://buf.build)(Protobuf generator). | ||||
| 
 | ||||
| We recommend using [Nix](https://nixos.org/) to setup a development environment. This can | ||||
| be done with `nix develop`, which will install the tools and give you a shell. | ||||
| This guarantees that you will have the same dev env as `headscale` maintainers. | ||||
| 
 | ||||
| PRs and suggestions are welcome. | ||||
| 
 | ||||
| ### Code style | ||||
| @ -115,10 +119,12 @@ Check out the `.golangci.yaml` and `Makefile` to see the specific configuration. | ||||
| 
 | ||||
| - Go | ||||
| - Buf | ||||
| - Protobuf tools: | ||||
| - Protobuf tools | ||||
| 
 | ||||
| Install and activate: | ||||
| 
 | ||||
| ```shell | ||||
| make install-protobuf-plugins | ||||
| nix develop | ||||
| ``` | ||||
| 
 | ||||
| ### Testing and building | ||||
| @ -140,6 +146,12 @@ make test | ||||
| 
 | ||||
| To build the program: | ||||
| 
 | ||||
| ```shell | ||||
| nix build | ||||
| ``` | ||||
| 
 | ||||
| or | ||||
| 
 | ||||
| ```shell | ||||
| make build | ||||
| ``` | ||||
|  | ||||
							
								
								
									
										42
									
								
								flake.lock
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								flake.lock
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | ||||
| { | ||||
|   "nodes": { | ||||
|     "flake-utils": { | ||||
|       "locked": { | ||||
|         "lastModified": 1644229661, | ||||
|         "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs": { | ||||
|       "locked": { | ||||
|         "lastModified": 1647536224, | ||||
|         "narHash": "sha256-SUIiz4DhMXgM7i+hvFWmLnhywr1WeRGIz+EIbwQQguM=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "dd8cebebbf0f9352501f251ac37b851d947f92dc", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "id": "nixpkgs", | ||||
|         "ref": "master", | ||||
|         "type": "indirect" | ||||
|       } | ||||
|     }, | ||||
|     "root": { | ||||
|       "inputs": { | ||||
|         "flake-utils": "flake-utils", | ||||
|         "nixpkgs": "nixpkgs" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "root": "root", | ||||
|   "version": 7 | ||||
| } | ||||
							
								
								
									
										148
									
								
								flake.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										148
									
								
								flake.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,148 @@ | ||||
| { | ||||
|   description = "headscale - Open Source Tailscale Control server"; | ||||
| 
 | ||||
|   inputs = { | ||||
|     # TODO: Use unstable when Go 1.18 has made it in | ||||
|     # https://nixpk.gs/pr-tracker.html?pr=164292 | ||||
|     # nixpkgs.url = "nixpkgs/nixpkgs-unstable"; | ||||
|     nixpkgs.url = "nixpkgs/master"; | ||||
|     flake-utils.url = "github:numtide/flake-utils"; | ||||
|   }; | ||||
| 
 | ||||
|   outputs = { self, nixpkgs, flake-utils, ... }: | ||||
|     let | ||||
|       headscaleVersion = if (self ? shortRev) then self.shortRev else "dev"; | ||||
|     in | ||||
|     { | ||||
|       overlay = final: prev: | ||||
|         let | ||||
|           pkgs = nixpkgs.legacyPackages.${prev.system}; | ||||
|         in | ||||
|         rec { | ||||
|           golines = | ||||
|             pkgs.buildGoModule rec { | ||||
|               pname = "golines"; | ||||
|               version = "0.9.0"; | ||||
| 
 | ||||
|               src = pkgs.fetchFromGitHub { | ||||
|                 owner = "segmentio"; | ||||
|                 repo = "golines"; | ||||
|                 rev = "v${version}"; | ||||
|                 sha256 = "sha256-BUXEg+4r9L/gqe4DhTlhN55P3jWt7ZyWFQycO6QePrw="; | ||||
|               }; | ||||
| 
 | ||||
|               vendorSha256 = "sha256-sEzWUeVk5GB0H41wrp12P8sBWRjg0FHUX6ABDEEBqK8="; | ||||
| 
 | ||||
|               nativeBuildInputs = [ pkgs.installShellFiles ]; | ||||
|             }; | ||||
| 
 | ||||
|           protoc-gen-grpc-gateway = | ||||
|             pkgs.buildGoModule rec { | ||||
|               pname = "grpc-gateway"; | ||||
|               version = "2.8.0"; | ||||
| 
 | ||||
|               src = pkgs.fetchFromGitHub { | ||||
|                 owner = "grpc-ecosystem"; | ||||
|                 repo = "grpc-gateway"; | ||||
|                 rev = "v${version}"; | ||||
|                 sha256 = "sha256-8eBBBYJ+tBjB2fgPMX/ZlbN3eeS75e8TAZYOKXs6hcg="; | ||||
|               }; | ||||
| 
 | ||||
|               vendorSha256 = "sha256-AW2Gn/mlZyLMwF+NpK59eiOmQrYWW/9HPjbunYc9Ij4="; | ||||
| 
 | ||||
|               nativeBuildInputs = [ pkgs.installShellFiles ]; | ||||
| 
 | ||||
|               subPackages = [ "protoc-gen-grpc-gateway" "protoc-gen-openapiv2" ]; | ||||
|             }; | ||||
| 
 | ||||
|           headscale = | ||||
|             pkgs.buildGo118Module rec { | ||||
|               pname = "headscale"; | ||||
|               version = headscaleVersion; | ||||
|               src = pkgs.lib.cleanSource self; | ||||
| 
 | ||||
|               # When updating go.mod or go.sum, a new sha will need to be calculated, | ||||
|               # update this if you have a mismatch after doing a change to thos files. | ||||
|               vendorSha256 = "sha256-J2d4qSBwpw1GET0pu2ol3+7HsyQ95iC1vCJUT5ed7IM="; | ||||
| 
 | ||||
|               ldflags = [ "-s" "-w" "-X github.com/juanfont/headscale/cmd/headscale/cli.Version=v${version}" ]; | ||||
|             }; | ||||
|         }; | ||||
|     } // flake-utils.lib.eachDefaultSystem | ||||
|       (system: | ||||
|         let | ||||
|           pkgs = import nixpkgs { | ||||
|             overlays = [ self.overlay ]; | ||||
|             inherit system; | ||||
|           }; | ||||
|           buildDeps = with pkgs; [ git go_1_18 gnumake ]; | ||||
|           devDeps = with pkgs; | ||||
|             buildDeps ++ [ | ||||
|               golangci-lint | ||||
|               golines | ||||
|               nodePackages.prettier | ||||
| 
 | ||||
|               # Protobuf dependencies | ||||
|               protobuf | ||||
|               protoc-gen-go | ||||
|               protoc-gen-go-grpc | ||||
|               protoc-gen-grpc-gateway | ||||
|               buf | ||||
|               clang-tools # clang-format | ||||
|             ]; | ||||
| 
 | ||||
| 
 | ||||
|           # Add entry to build a docker image with headscale | ||||
|           # caveat: only works on Linux | ||||
|           # | ||||
|           # Usage: | ||||
|           # nix build .#headscale-docker | ||||
|           # docker load < result | ||||
|           headscale-docker = pkgs.dockerTools.buildLayeredImage { | ||||
|             name = "headscale"; | ||||
|             tag = headscaleVersion; | ||||
|             contents = [ pkgs.headscale ]; | ||||
|             config.Entrypoint = [ (pkgs.headscale + "/bin/headscale") ]; | ||||
|           }; | ||||
|         in | ||||
|         rec { | ||||
|           # `nix develop` | ||||
|           devShell = pkgs.mkShell { buildInputs = devDeps; }; | ||||
| 
 | ||||
|           # `nix build` | ||||
|           packages = with pkgs; { | ||||
|             inherit headscale; | ||||
|             inherit headscale-docker; | ||||
|           }; | ||||
| 
 | ||||
|           defaultPackage = pkgs.headscale; | ||||
| 
 | ||||
|           # `nix run` | ||||
|           apps.headscale = flake-utils.lib.mkApp { | ||||
|             drv = packages.headscale; | ||||
|           }; | ||||
|           defaultApp = apps.headscale; | ||||
| 
 | ||||
|           checks = { | ||||
|             format = pkgs.runCommand "check-format" | ||||
|               { | ||||
|                 buildInputs = with pkgs; [ | ||||
|                   gnumake | ||||
|                   nixpkgs-fmt | ||||
|                   golangci-lint | ||||
|                   nodePackages.prettier | ||||
|                   golines | ||||
|                   clang-tools | ||||
|                 ]; | ||||
|               } '' | ||||
|               ${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt ${./.} | ||||
|               ${pkgs.golangci-lint}/bin/golangci-lint run --fix --timeout 10m | ||||
|               ${pkgs.nodePackages.prettier}/bin/prettier --write '**/**.{ts,js,md,yaml,yml,sass,css,scss,html}' | ||||
|               ${pkgs.golines}/bin/golines --max-len=88 --base-formatter=gofumpt -w ${./.} | ||||
|               ${pkgs.clang-tools}/bin/clang-format -style="{BasedOnStyle: Google, IndentWidth: 4, AlignConsecutiveDeclarations: true, AlignConsecutiveAssignments: true, ColumnLimit: 0}" -i ${./.} | ||||
|             ''; | ||||
|           }; | ||||
| 
 | ||||
| 
 | ||||
|         }); | ||||
| } | ||||
							
								
								
									
										84
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										84
									
								
								go.mod
									
									
									
									
									
								
							| @ -4,7 +4,6 @@ go 1.18 | ||||
| 
 | ||||
| require ( | ||||
| 	github.com/AlecAivazis/survey/v2 v2.3.2 | ||||
| 	github.com/bufbuild/buf v1.4.0 | ||||
| 	github.com/ccding/go-stun/stun v0.0.0-20200514191101-4dc67bcdb029 | ||||
| 	github.com/coreos/go-oidc/v3 v3.1.0 | ||||
| 	github.com/efekarakus/termcolor v1.0.1 | ||||
| @ -14,7 +13,6 @@ require ( | ||||
| 	github.com/gofrs/uuid v4.2.0+incompatible | ||||
| 	github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 | ||||
| 	github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.3 | ||||
| 	github.com/infobloxopen/protoc-gen-gorm v1.1.0 | ||||
| 	github.com/klauspost/compress v1.15.1 | ||||
| 	github.com/ory/dockertest/v3 v3.8.1 | ||||
| 	github.com/patrickmn/go-cache v2.1.0+incompatible | ||||
| @ -33,7 +31,6 @@ require ( | ||||
| 	golang.org/x/sync v0.0.0-20210220032951-036812b2e83c | ||||
| 	google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4 | ||||
| 	google.golang.org/grpc v1.45.0 | ||||
| 	google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0 | ||||
| 	google.golang.org/protobuf v1.28.0 | ||||
| 	gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c | ||||
| 	gopkg.in/yaml.v2 v2.4.0 | ||||
| @ -45,120 +42,99 @@ require ( | ||||
| ) | ||||
| 
 | ||||
| require ( | ||||
| 	github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect | ||||
| 	github.com/Microsoft/go-winio v0.5.2 // indirect | ||||
| 	github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect | ||||
| 	github.com/Microsoft/go-winio v0.5.1 // indirect | ||||
| 	github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect | ||||
| 	github.com/akutz/memconn v0.1.0 // indirect | ||||
| 	github.com/atomicgo/cursor v0.0.1 // indirect | ||||
| 	github.com/beorn7/perks v1.0.1 // indirect | ||||
| 	github.com/cenkalti/backoff/v4 v4.1.2 // indirect | ||||
| 	github.com/cespare/xxhash/v2 v2.1.2 // indirect | ||||
| 	github.com/containerd/continuity v0.2.2 // indirect | ||||
| 	github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect | ||||
| 	github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6 // indirect | ||||
| 	github.com/davecgh/go-spew v1.1.1 // indirect | ||||
| 	github.com/denisenkom/go-mssqldb v0.12.0 // indirect | ||||
| 	github.com/docker/cli v20.10.12+incompatible // indirect | ||||
| 	github.com/docker/docker v20.10.12+incompatible // indirect | ||||
| 	github.com/docker/cli v20.10.11+incompatible // indirect | ||||
| 	github.com/docker/docker v20.10.7+incompatible // indirect | ||||
| 	github.com/docker/go-connections v0.4.0 // indirect | ||||
| 	github.com/docker/go-units v0.4.0 // indirect | ||||
| 	github.com/fsnotify/fsnotify v1.5.1 // indirect | ||||
| 	github.com/gin-contrib/sse v0.1.0 // indirect | ||||
| 	github.com/glebarez/go-sqlite v1.14.8 // indirect | ||||
| 	github.com/go-playground/locales v0.14.0 // indirect | ||||
| 	github.com/go-playground/universal-translator v0.18.0 // indirect | ||||
| 	github.com/go-playground/validator/v10 v10.10.0 // indirect | ||||
| 	github.com/go-sql-driver/mysql v1.6.0 // indirect | ||||
| 	github.com/gofrs/flock v0.8.1 // indirect | ||||
| 	github.com/glebarez/go-sqlite v1.14.7 // indirect | ||||
| 	github.com/go-playground/locales v0.13.0 // indirect | ||||
| 	github.com/go-playground/universal-translator v0.17.0 // indirect | ||||
| 	github.com/go-playground/validator/v10 v10.4.1 // indirect | ||||
| 	github.com/gogo/protobuf v1.3.2 // indirect | ||||
| 	github.com/golang/glog v1.0.0 // indirect | ||||
| 	github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect | ||||
| 	github.com/golang/protobuf v1.5.2 // indirect | ||||
| 	github.com/google/go-github v17.0.0+incompatible // indirect | ||||
| 	github.com/google/go-querystring v1.1.0 // indirect | ||||
| 	github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect | ||||
| 	github.com/google/uuid v1.3.0 // indirect | ||||
| 	github.com/gookit/color v1.5.0 // indirect | ||||
| 	github.com/gookit/color v1.4.2 // indirect | ||||
| 	github.com/hashicorp/go-version v1.4.0 // indirect | ||||
| 	github.com/hashicorp/hcl v1.0.0 // indirect | ||||
| 	github.com/imdario/mergo v0.3.12 // indirect | ||||
| 	github.com/inconshreveable/mousetrap v1.0.0 // indirect | ||||
| 	github.com/jackc/chunkreader/v2 v2.0.1 // indirect | ||||
| 	github.com/jackc/pgconn v1.11.0 // indirect | ||||
| 	github.com/jackc/pgconn v1.10.1 // indirect | ||||
| 	github.com/jackc/pgio v1.0.0 // indirect | ||||
| 	github.com/jackc/pgpassfile v1.0.0 // indirect | ||||
| 	github.com/jackc/pgproto3/v2 v2.2.0 // indirect | ||||
| 	github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect | ||||
| 	github.com/jackc/pgtype v1.10.0 // indirect | ||||
| 	github.com/jackc/pgx/v4 v4.15.0 // indirect | ||||
| 	github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a // indirect | ||||
| 	github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f // indirect | ||||
| 	github.com/jhump/protoreflect v1.12.1-0.20220417024638-438db461d753 // indirect | ||||
| 	github.com/jinzhu/gorm v1.9.16 // indirect | ||||
| 	github.com/jackc/pgtype v1.9.1 // indirect | ||||
| 	github.com/jackc/pgx/v4 v4.14.1 // indirect | ||||
| 	github.com/jinzhu/inflection v1.0.0 // indirect | ||||
| 	github.com/jinzhu/now v1.1.4 // indirect | ||||
| 	github.com/json-iterator/go v1.1.12 // indirect | ||||
| 	github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect | ||||
| 	github.com/klauspost/pgzip v1.2.5 // indirect | ||||
| 	github.com/kr/pretty v0.3.0 // indirect | ||||
| 	github.com/kr/text v0.2.0 // indirect | ||||
| 	github.com/leodido/go-urn v1.2.1 // indirect | ||||
| 	github.com/lib/pq v1.10.3 // indirect | ||||
| 	github.com/magiconair/properties v1.8.6 // indirect | ||||
| 	github.com/leodido/go-urn v1.2.0 // indirect | ||||
| 	github.com/magiconair/properties v1.8.5 // indirect | ||||
| 	github.com/mattn/go-colorable v0.1.12 // indirect | ||||
| 	github.com/mattn/go-isatty v0.0.14 // indirect | ||||
| 	github.com/mattn/go-runewidth v0.0.13 // indirect | ||||
| 	github.com/mattn/go-sqlite3 v1.14.11 // indirect | ||||
| 	github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect | ||||
| 	github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect | ||||
| 	github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect | ||||
| 	github.com/mitchellh/go-ps v1.0.0 // indirect | ||||
| 	github.com/mitchellh/mapstructure v1.4.3 // indirect | ||||
| 	github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect | ||||
| 	github.com/moby/term v0.0.0-20201216013528-df9cb8a40635 // indirect | ||||
| 	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect | ||||
| 	github.com/modern-go/reflect2 v1.0.2 // indirect | ||||
| 	github.com/opencontainers/go-digest v1.0.0 // indirect | ||||
| 	github.com/opencontainers/go-digest v1.0.0-rc1 // indirect | ||||
| 	github.com/opencontainers/image-spec v1.0.2 // indirect | ||||
| 	github.com/opencontainers/runc v1.1.0 // indirect | ||||
| 	github.com/opencontainers/runc v1.0.2 // indirect | ||||
| 	github.com/pelletier/go-toml v1.9.4 // indirect | ||||
| 	github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect | ||||
| 	github.com/pkg/errors v0.9.1 // indirect | ||||
| 	github.com/pkg/profile v1.6.0 // indirect | ||||
| 	github.com/pmezard/go-difflib v1.0.0 // indirect | ||||
| 	github.com/prometheus/client_model v0.2.0 // indirect | ||||
| 	github.com/prometheus/common v0.32.1 // indirect | ||||
| 	github.com/prometheus/procfs v0.7.3 // indirect | ||||
| 	github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect | ||||
| 	github.com/rivo/uniseg v0.2.0 // indirect | ||||
| 	github.com/rogpeppe/go-internal v1.8.1 // indirect | ||||
| 	github.com/russross/blackfriday/v2 v2.1.0 // indirect | ||||
| 	github.com/rogpeppe/go-internal v1.8.1-0.20211023094830-115ce09fd6b4 // indirect | ||||
| 	github.com/sirupsen/logrus v1.8.1 // indirect | ||||
| 	github.com/spf13/afero v1.8.1 // indirect | ||||
| 	github.com/spf13/afero v1.6.0 // indirect | ||||
| 	github.com/spf13/cast v1.4.1 // indirect | ||||
| 	github.com/spf13/jwalterweatherman v1.1.0 // indirect | ||||
| 	github.com/spf13/pflag v1.0.5 // indirect | ||||
| 	github.com/subosito/gotenv v1.2.0 // indirect | ||||
| 	github.com/ugorji/go/codec v1.2.7 // indirect | ||||
| 	github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect | ||||
| 	github.com/ugorji/go/codec v1.1.7 // indirect | ||||
| 	github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect | ||||
| 	github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect | ||||
| 	github.com/xeipuuv/gojsonschema v1.2.0 // indirect | ||||
| 	github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect | ||||
| 	go.opencensus.io v0.23.0 // indirect | ||||
| 	go.uber.org/atomic v1.9.0 // indirect | ||||
| 	go.uber.org/multierr v1.8.0 // indirect | ||||
| 	go.uber.org/zap v1.21.0 // indirect | ||||
| 	go4.org/intern v0.0.0-20211027215823-ae77deb06f29 // indirect | ||||
| 	go4.org/mem v0.0.0-20210711025021-927187094b94 // indirect | ||||
| 	go4.org/unsafe/assume-no-moving-gc v0.0.0-20211027215541-db492cf91b37 // indirect | ||||
| 	golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect | ||||
| 	golang.org/x/sys v0.0.0-20220412211240-33da011f77ad // indirect | ||||
| 	golang.org/x/term v0.0.0-20220411215600-e5f449aeb171 // indirect | ||||
| 	golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd // indirect | ||||
| 	golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27 // indirect | ||||
| 	golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect | ||||
| 	golang.org/x/text v0.3.7 // indirect | ||||
| 	golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11 // indirect | ||||
| 	google.golang.org/appengine v1.6.7 // indirect | ||||
| 	gopkg.in/ini.v1 v1.66.4 // indirect | ||||
| 	gopkg.in/square/go-jose.v2 v2.6.0 // indirect | ||||
| 	modernc.org/libc v1.14.5 // indirect | ||||
| 	gopkg.in/ini.v1 v1.66.2 // indirect | ||||
| 	gopkg.in/square/go-jose.v2 v2.5.1 // indirect | ||||
| 	modernc.org/libc v1.14.3 // indirect | ||||
| 	modernc.org/mathutil v1.4.1 // indirect | ||||
| 	modernc.org/memory v1.0.5 // indirect | ||||
| 	modernc.org/sqlite v1.14.7 // indirect | ||||
| 	sigs.k8s.io/yaml v1.3.0 // indirect | ||||
| 	modernc.org/sqlite v1.14.5 // indirect | ||||
| ) | ||||
|  | ||||
							
								
								
									
										13
									
								
								tools.go
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								tools.go
									
									
									
									
									
								
							| @ -1,13 +0,0 @@ | ||||
| //go:build tools
 | ||||
| // +build tools
 | ||||
| 
 | ||||
| package tools | ||||
| 
 | ||||
| import ( | ||||
| 	_ "github.com/bufbuild/buf/cmd/buf" | ||||
| 	_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway" | ||||
| 	_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2" | ||||
| 	_ "github.com/infobloxopen/protoc-gen-gorm" | ||||
| 	_ "google.golang.org/grpc/cmd/protoc-gen-go-grpc" | ||||
| 	_ "google.golang.org/protobuf/cmd/protoc-gen-go" | ||||
| ) | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user