- Readme size lowered to 18KB - Documents created in doc/ directory - faq.md, firewall.md, development.md - Title svg as absolute path for Docker hub - Re-enabled Docker hub description workflow
44 lines
1.5 KiB
Markdown
44 lines
1.5 KiB
Markdown
# Development
|
|
|
|
## Setup
|
|
|
|
### Using VSCode and Docker
|
|
|
|
That should be easier and better than a local setup, although it might use more memory if you're not on Linux.
|
|
|
|
1. Install [Docker](https://docs.docker.com/install/)
|
|
- On Windows, share a drive with Docker Desktop and have the project on that partition
|
|
- On OSX, share your project directory with Docker Desktop
|
|
1. With [Visual Studio Code](https://code.visualstudio.com/download), install the [remote containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
|
|
1. In Visual Studio Code, press on `F1` and select `Remote-Containers: Open Folder in Container...`
|
|
1. Your dev environment is ready to go!... and it's running in a container :+1:
|
|
|
|
### Locally
|
|
|
|
Install [Go](https://golang.org/dl/), [Docker](https://www.docker.com/products/docker-desktop) and [Git](https://git-scm.com/downloads); then:
|
|
|
|
```sh
|
|
go mod download
|
|
```
|
|
|
|
And finally install [golangci-lint](https://github.com/golangci/golangci-lint#install)
|
|
|
|
## Commands available
|
|
|
|
```sh
|
|
# Build the entrypoint binary
|
|
go build cmd/main.go
|
|
# Test the entrypoint code
|
|
go test ./...
|
|
# Lint the code
|
|
golangci-lint run
|
|
# Build the Docker image
|
|
docker build -t qmcgaw/private-internet-access .
|
|
```
|
|
|
|
## Guidelines
|
|
|
|
The Go code is in the Go file [cmd/main.go](../cmd/main.go) and the [internal directory](../internal), you might want to start reading the main.go file.
|
|
|
|
See the [Contributing document](.github/CONTRIBUTING.md) for more information on how to contribute to this repository.
|