Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kubeslice/cmd-nsc-init
https://github.com/kubeslice/cmd-nsc-init
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/kubeslice/cmd-nsc-init
- Owner: kubeslice
- License: apache-2.0
- Created: 2022-12-22T12:58:25.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-17T05:13:20.000Z (3 months ago)
- Last Synced: 2024-09-17T08:01:42.910Z (3 months ago)
- Language: Go
- Size: 703 KB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# Build
## Build cmd binary locally
You can build the locally by executing
```bash
go build ./...
```## Build Docker container
You can build the docker container by running:
```bash
docker build .
```# Testing
## Testing Docker container
Testing is run via a Docker container. To run testing run:
```bash
docker run --privileged --rm $(docker build -q --target test .)
```# Debugging
## Debugging the tests
If you wish to debug the test code itself, that can be acheived by running:```bash
docker run --privileged --rm -p 40000:40000 $(docker build -q --target debug .)
```This will result in the tests running under dlv. Connecting your debugger to localhost:40000 will allow you to debug.
```bash
-p 40000:40000
```
forwards port 40000 in the container to localhost:40000 where you can attach with your debugger.```bash
--target debug
```Runs the debug target, which is just like the test target, but starts tests with dlv listening on port 40000 inside the container.
## Debugging the cmd
When you run 'cmd' you will see an early line of output that tells you:
```Setting env variable DLV_LISTEN_FORWARDER to a valid dlv '--listen' value will cause the dlv debugger to execute this binary and listen as directed.```
If you follow those instructions when running the Docker container:
```bash
docker run --privileged -e DLV_LISTEN_FORWARDER=:50000 -p 50000:50000 --rm $(docker build -q --target test .)
``````-e DLV_LISTEN_FORWARDER=:50000``` tells docker to set the environment variable DLV_LISTEN_FORWARDER to :50000 telling
dlv to listen on port 50000.```-p 50000:50000``` tells docker to forward port 50000 in the container to port 50000 in the host. From there, you can
just connect dlv using your favorite IDE and debug cmd.## Debugging the tests and the cmd
```bash
docker run --privileged -e DLV_LISTEN_FORWARDER=:50000 -p 40000:40000 -p 50000:50000 --rm $(docker build -q --target debug .)
```Please note, the tests **start** the cmd, so until you connect to port 40000 with your debugger and walk the tests
through to the point of running cmd, you will not be able to attach a debugger on port 50000 to the cmd.