github.com/pachyderm/pachyderm@v1.13.4/doc/docs/1.9.x/contributing/windows.md (about)

     1  # Developing Pachyderm in Windows with VSCode
     2  
     3  ## Install
     4  
     5  * [go v1.13.x+](https://golang.org/dl/)
     6  * [VSCode](https://code.visualstudio.com/download)
     7  * [git](https://git-scm.com/download/win)
     8  * [docker toolbox](https://github.com/docker/toolbox/releases)
     9  * [VirtualBox](https://www.virtualbox.org/wiki/Downloads)
    10  * [minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/#install-minikube-using-an-installer-executable)
    11  * [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) - this is a raw exe, copy somewhere in PATH, like the minikube dir
    12  
    13  ## Configure
    14  
    15  Add any VSCode extensions you may need for development, like `go` and `docker`.
    16  
    17  Configure your terminal (opened via `` ctrl+` ``) to use `git bash` instead of `cmd`.  Add the following to your `settings.json` (depending on where your `git bash` actually exists):
    18  ```
    19    "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
    20  ```
    21  
    22  ## Getting started
    23  
    24  * Clone the `pachyderm` repo into a local folder
    25    * In your terminal, run `git clone https://github.com/pachyderm/pachyderm`
    26  * Launch the Docker Quickstart Terminal
    27    * This should show up in your start menu if you search 'docker'
    28    * You may need to do this any time your computer restarts
    29  * Start minikube 
    30    * `minikube start --memory=8192mb`
    31    * The memory value can be tweaked, but I found the default (1 GB) to be too low for pachyderm compilation
    32  * Pull relevant docker variables into your shell
    33    * `eval $(minikube docker-env --shell bash)`
    34    * This is only necessary if you want to run docker commands in a shell
    35  * Build pachyderm `pachd` and `worker` images
    36    * Run the task `docker-build`
    37    * This can be done through the "Terminal > Run Task..." option, or by hitting `ctrl-p` and typing `task docker-build`
    38  * Build and install pachctl and launch a pachyderm cluster
    39    * Run the task `launch-dev`
    40    * If the service does not come up promptly (the script never says all the pods are ready), you should check the 'Debugging' section below.
    41  
    42  ## Debugging
    43  
    44  Determining the source of an error when launching a local pachyderm cluster can be difficult.  Some useful commands to get you started:
    45  
    46  * `kubectl get all` - lists resources in the 'default' namespace (where we deploy locally)
    47  * `kubectl logs -p <pod>` - gets the logs from the previous attempt at running a pod (usually this is where you will find errors)
    48  * `minikube logs` - gets the logs from minikube itself, this may be useful if a pod ran into a `CreateContainerError`
    49  * `docker container ls` - lists recently used or in-use docker containers, can be used to get logs more directly
    50  * `docker logs <container>` - gets the logs from a specific docker container
    51  
    52  ### Past problems
    53  
    54  For posterity's sake, here are some of the problems I've encountered when trying to get this working in Windows:
    55  
    56  * Docker gets confused by command-line windows-style paths, it thinks the ':' is indicating a 'mode' and fails to parse.  In addition, Windows (or maybe bash) seems to automatically convert unix to windows-style paths, so you should export MSYS_NO_PATHCONV=1 to prevent this.
    57  * Kubernetes resource specs (specifically `hostPath`) do not work if you use a windows-style path.  Instead, you must use a unix-style path where the drive letter is the first directory, e.g. '/C/path/to/file'.
    58  * Etcd failed to mmap a file because it was in a directory shared with the host system.  Still not sure how I fixed this because it seems to be working now?
    59  
    60  ### Nuclear option
    61  
    62  If your setup is completely fucked, it may be worthwhile to blow away your minikube and start over, this is pretty simple with:
    63  
    64  ```
    65  minikube delete
    66  minikube start --memory=8192mb
    67  ```