diff --git a/README.md b/README.md index e336eb5e..07d7e106 100644 --- a/README.md +++ b/README.md @@ -159,15 +159,15 @@ just TODO * priority - play htb: linux/win - - >>> implement lab copy + mount vpn docker/kube + - implement lab for docker (with kind) and kube - cloud size comparison - verify kube/cloud distroless support - verify kube/cloud no shell support - - add task/flow + - add task/flow with vpn - RELEASE - - brew - - client timeouts * general + - brew release + - review client timeouts - update readme * remove comments * update setup @@ -194,8 +194,6 @@ TODO * e.g. `box connect ` with `ValidArgsFunction` * e.g. `box ` with `ValidArgsFunction` * see fix autocomplete - - improve command validation e.g. docker `Args: cli.ExactArgs(1)` - - filter/list box (list and delete) and template (list and validate) columns by provider + sorting - config add set command - add confirmation before * reset config @@ -204,12 +202,10 @@ TODO - add `--remote` mutually exclusive flag - update directories to exclude in `resolvePath` e.g. charts * box - - review command: `copy` vs `upload/download` - review tty resize - - mount `/dev/tun` for vpn - implement copy ??? - kube: add distroless support - - kube: verify if close is needed or `return nil` + - kube: verify if `close()` is needed or `return nil` - kube: `execBox` deployment always check/scale replica to 1 before exec (test with replica=0) - kube: update resources sizes + comparison - docker: COPY shared volume `XDG_DATA_HOME` @@ -220,7 +216,7 @@ TODO - cloud: ssh key auth only + remove InsecureIgnoreHostKey - cloud: remove body from empty request `omitempty to remove "body":{}` - list boxes in table with padding see `tabwriter` https://gosamples.dev/string-padding - - list boxes add filters + - filter/list box (list and delete) and template (list and validate) columns by provider + sorting - flaky issue zerolog `could not write event: write /home/ubuntu/.local/state/hck/hckctl-ubuntu.log: file already closed` * lab - in `create` add override e.g. `--input alias=parrot --input password=changeme --input vpn=htb-eu` diff --git a/internal/command/lab/lab.go b/internal/command/lab/lab.go index 61fc2e47..1dd89f3b 100644 --- a/internal/command/lab/lab.go +++ b/internal/command/lab/lab.go @@ -105,10 +105,11 @@ func startLab(sourceLoader template.SourceLoader[model.LabV1], provider model.La } createOpts := &model.CreateOptions{ - LabTemplate: &labTemplate.Value.Data, - BoxTemplates: map[string]*boxModel.BoxV1{}, // TODO load box template - Parameters: map[string]string{}, // TODO add override --input alias=parrot --input password=changeme --input vpn=htb-eu - Labels: map[string]string{}, // TODO box+lab labels + LabTemplate: &labTemplate.Value.Data, + BoxTemplates: map[string]*boxModel.BoxV1{}, // TODO load box template + DumpTemplates: map[string]*model.DumpV1{}, + Parameters: map[string]string{}, // TODO add override --input alias=parrot --input password=changeme --input vpn=htb-eu + Labels: map[string]string{}, // TODO box+lab labels } if labInfo, err := labClient.Create(createOpts); err != nil {