From 6c983acfa0de5e9a5d67b95c17bb0210912d8b6a Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Tue, 30 Mar 2021 15:21:10 -0400 Subject: [PATCH 01/15] Update getting-started.md --- src/docs/getting-started.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/docs/getting-started.md b/src/docs/getting-started.md index e99bc59c3..41d502c0b 100644 --- a/src/docs/getting-started.md +++ b/src/docs/getting-started.md @@ -20,11 +20,11 @@ The develoment container is not necessary if you want to use the Mission LZ user ## Pre-Requisites -Operating system: Mac OS, Linux, or [Windows 10 with Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install-win10) (We developed this on Windows 10/WSL running Ubuntu 20.04). - -Docker: Docker Desktop or Docker CE (We use Docker Desktop on Windows 10, integrated with WSL.) - -The Azure CLI. +* **Operating system:** Mac OS, Linux, or [Windows 10 with Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install-win10) + *(We developed this on Windows 10/WSL running Ubuntu 20.04)* +* **Docker:** Docker Desktop or Docker CE + *(We use [Docker Desktop on Windows 10](https://docs.docker.com/docker-for-windows/install/), integrated with WSL)* +* Current version of the [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli). All other tools and resources are in the development container and in the user interface container. The simplest path is to deploy from one of these containers, but it is not required if you want to configure your own deployment environment. See the development container [README](../../.devcontainer/README.md) document in the `.devcontainer` folder for details, and the user interface [Dockerfile](../Dockerfile) for details on user interface pre-requisites. From b2b091f895af69131bba434e2a5eb496e6b22e67 Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Tue, 30 Mar 2021 15:33:26 -0400 Subject: [PATCH 02/15] Update getting-started.md --- src/docs/getting-started.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/docs/getting-started.md b/src/docs/getting-started.md index 41d502c0b..ae26408c4 100644 --- a/src/docs/getting-started.md +++ b/src/docs/getting-started.md @@ -26,8 +26,9 @@ The develoment container is not necessary if you want to use the Mission LZ user *(We use [Docker Desktop on Windows 10](https://docs.docker.com/docker-for-windows/install/), integrated with WSL)* * Current version of the [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli). -All other tools and resources are in the development container and in the user interface container. The simplest path is to deploy from one of these containers, but it is not required if you want to configure your own deployment environment. See the development container [README](../../.devcontainer/README.md) document in the `.devcontainer` folder for details, and the user interface [Dockerfile](../Dockerfile) for details on user interface pre-requisites. +All other tools and resources are in the development container and in the user interface container. The simplest path is to deploy from one of these containers, but it is not required if you want to configure your own deployment environment. ## Step-by-step -See the detailed step-by-step guides for [Command Line Deployments](command-line-deployment.md) and [User Interface Deployments](ui-deployment.md). +* See the detailed step-by-step guides for [Command Line Deployments](command-line-deployment.md) and [User Interface Deployments](ui-deployment.md). +* (*Optional*) See the [README](../../.devcontainer/README.md) document in the `.devcontainer` folder for details and pre-requisites for the development container. From d6a1303cb8bb478140cd2a13f271594651a0cb0e Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Tue, 30 Mar 2021 15:50:07 -0400 Subject: [PATCH 03/15] Update getting-started.md --- src/docs/getting-started.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/docs/getting-started.md b/src/docs/getting-started.md index ae26408c4..dd610c0ae 100644 --- a/src/docs/getting-started.md +++ b/src/docs/getting-started.md @@ -21,9 +21,9 @@ The develoment container is not necessary if you want to use the Mission LZ user ## Pre-Requisites * **Operating system:** Mac OS, Linux, or [Windows 10 with Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install-win10) - *(We developed this on Windows 10/WSL running Ubuntu 20.04)* -* **Docker:** Docker Desktop or Docker CE - *(We use [Docker Desktop on Windows 10](https://docs.docker.com/docker-for-windows/install/), integrated with WSL)* + >*We developed this on Windows 10/WSL running Ubuntu 20.04* +* **Docker:** Docker Desktop or Docker CE + >*We use [Docker Desktop on Windows 10](https://docs.docker.com/docker-for-windows/install/), integrated with WSL* * Current version of the [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli). All other tools and resources are in the development container and in the user interface container. The simplest path is to deploy from one of these containers, but it is not required if you want to configure your own deployment environment. From d37e275e0c0623e112bbcadd868fb26ea95b8ef6 Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Tue, 30 Mar 2021 16:54:26 -0400 Subject: [PATCH 04/15] Update README.md --- .devcontainer/README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.devcontainer/README.md b/.devcontainer/README.md index 4bc8b2251..f331dc49f 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -12,25 +12,28 @@ All configuration related to the development container is in the `.devcontainer` ### Setup - Install Docker Desktop or Docker CE on a host machine. The host machine can be Windows, Linux, or Mac, and can run on-premises or in the cloud. -- Recommended: If you are using Windows for the host machine, clone and open this repository on Windows Subsystem for Linux (WSL). WSL is not required, but disk IO performance in the container is better and the overall experience is more consistent when running a development container from WSL. +- Clone the Mission LZ from GitHub to a local workspace on the host machine + - **Recommended:** If you are using Windows for the host machine, clone and open this repository on Windows Subsystem for Linux (WSL). WSL is not required, but disk IO performance in the container is better and the overall experience is more consistent when running a development container from WSL. + > **NOTE:** After [installing WSL for Windows](https://docs.microsoft.com/en-us/windows/wsl/install-win10), you can run your Linux distribution path right inside the Windows command prompt (or in PowerShell), by entering `wsl.exe` or `bash.exe`. These commands will switch to a display of the Linux command line, using the path for your current directory. This path will appear to be in a mounted folder, `/mnt/c`, because we're now viewing your Windows C:\ drive folder from the Linux subsystem. You can access all of your local computer's file system from within the Linux shell by using this `/mnt/c` mounted file path. - > NOTE: the Windows Git Credential Manager can be configured to work from WSL. See the [documentation here](https://docs.microsoft.com/en-us/windows/wsl/tutorials/wsl-git#git-credential-manager-setup). Below is the command to run for setting the Windows credential manager in WSL: + > **NOTE:** the Windows Git Credential Manager can be configured to work from WSL. See the [documentation here](https://docs.microsoft.com/en-us/windows/wsl/tutorials/wsl-git#git-credential-manager-setup). Below is the command to run for setting the Windows credential manager in WSL: ```BASH git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe" ``` -- Install the recommended VS Code extensions found at `../vscode/extensions.json`, including the "Remote Development" extension from Microsoft. +- Install the recommended VS Code extensions found in `.vscode/extensions.json` (from the root of the project folder), including the "Remote Development" extension from Microsoft. ### Step-by-Step 1. Open VS Code to the root folder of the git repository (not a sub folder or a parent folder). You should see a folder named `.devcontainer` at the root of the VS Code Explorer pane. - > NOTE: If you are using WSL or BASH on Linux or Mac, you can navigate to the root folder of the git repository and enter the command below to launch VS Code and open it to the right directory. Be sure to include the trailing ".". + > **NOTE:** If you are using WSL or BASH on Linux or Mac, you can navigate to the root folder of the git repository and enter the command below to launch VS Code and open it to the right directory. Be sure to include the trailing ".". ```BASH code . ``` + > **NOTE:** When opening VS Code from this root folder, VS Code may prompt the user to install any extensions found in the file `.vscode/extensions.json` that are not already installed 1. In the VS Code command palette (Ctrl+Shift+P), run this command From 0f7b9cf77ed480327e6238490c84fb0f7edabade Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Tue, 30 Mar 2021 17:19:23 -0400 Subject: [PATCH 05/15] Update README.md --- .devcontainer/README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.devcontainer/README.md b/.devcontainer/README.md index f331dc49f..7a1fbb089 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -13,16 +13,16 @@ All configuration related to the development container is in the `.devcontainer` - Install Docker Desktop or Docker CE on a host machine. The host machine can be Windows, Linux, or Mac, and can run on-premises or in the cloud. - Clone the Mission LZ from GitHub to a local workspace on the host machine - - **Recommended:** If you are using Windows for the host machine, clone and open this repository on Windows Subsystem for Linux (WSL). WSL is not required, but disk IO performance in the container is better and the overall experience is more consistent when running a development container from WSL. - > **NOTE:** After [installing WSL for Windows](https://docs.microsoft.com/en-us/windows/wsl/install-win10), you can run your Linux distribution path right inside the Windows command prompt (or in PowerShell), by entering `wsl.exe` or `bash.exe`. These commands will switch to a display of the Linux command line, using the path for your current directory. This path will appear to be in a mounted folder, `/mnt/c`, because we're now viewing your Windows C:\ drive folder from the Linux subsystem. You can access all of your local computer's file system from within the Linux shell by using this `/mnt/c` mounted file path. + > **NOTE:** When using Windows with WSL as the host machine, we recommend the following additional steps: + > - Clone and open this repository on Windows Subsystem for Linux (WSL). WSL is not required, but disk IO performance in the container is better and the overall experience is more consistent when running a development container from WSL. + > - After [installing WSL for Windows](https://docs.microsoft.com/en-us/windows/wsl/install-win10), you can run your Linux distribution path right inside the Windows command prompt (or in PowerShell), by entering `wsl.exe` or `bash.exe`. These commands will switch to a display of the Linux command line, using the path for your current directory. This path will appear to be in a mounted folder, `/mnt/c`, because we're now viewing your Windows C:\ drive folder from the Linux subsystem. You can access all of your local computer's file system from within the Linux shell by using this `/mnt/c` mounted file path. + > - The Windows Git Credential Manager can be configured to work from WSL to help with complex authentication patterns like two-factor authentication. See the [documentation here](https://docs.microsoft.com/en-us/windows/wsl/tutorials/wsl-git#git-credential-manager-setup). Below is the command to run for setting the Windows Credential Manager in WSL: - > **NOTE:** the Windows Git Credential Manager can be configured to work from WSL. See the [documentation here](https://docs.microsoft.com/en-us/windows/wsl/tutorials/wsl-git#git-credential-manager-setup). Below is the command to run for setting the Windows credential manager in WSL: + ```BASH + git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe" + ``` - ```BASH - git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe" - ``` - -- Install the recommended VS Code extensions found in `.vscode/extensions.json` (from the root of the project folder), including the "Remote Development" extension from Microsoft. +- Install the recommended VS Code extensions found in `.vscode/extensions.json` (found in the root of the project folder), including the "Remote Development" extension from Microsoft. ### Step-by-Step From b51c3f79016c02673849848ad0c5b246bbfe7bc5 Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Tue, 30 Mar 2021 18:40:39 -0400 Subject: [PATCH 06/15] Update README.md --- .devcontainer/README.md | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/.devcontainer/README.md b/.devcontainer/README.md index 7a1fbb089..7dc245ae7 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -12,28 +12,35 @@ All configuration related to the development container is in the `.devcontainer` ### Setup - Install Docker Desktop or Docker CE on a host machine. The host machine can be Windows, Linux, or Mac, and can run on-premises or in the cloud. -- Clone the Mission LZ from GitHub to a local workspace on the host machine - > **NOTE:** When using Windows with WSL as the host machine, we recommend the following additional steps: - > - Clone and open this repository on Windows Subsystem for Linux (WSL). WSL is not required, but disk IO performance in the container is better and the overall experience is more consistent when running a development container from WSL. - > - After [installing WSL for Windows](https://docs.microsoft.com/en-us/windows/wsl/install-win10), you can run your Linux distribution path right inside the Windows command prompt (or in PowerShell), by entering `wsl.exe` or `bash.exe`. These commands will switch to a display of the Linux command line, using the path for your current directory. This path will appear to be in a mounted folder, `/mnt/c`, because we're now viewing your Windows C:\ drive folder from the Linux subsystem. You can access all of your local computer's file system from within the Linux shell by using this `/mnt/c` mounted file path. - > - The Windows Git Credential Manager can be configured to work from WSL to help with complex authentication patterns like two-factor authentication. See the [documentation here](https://docs.microsoft.com/en-us/windows/wsl/tutorials/wsl-git#git-credential-manager-setup). Below is the command to run for setting the Windows Credential Manager in WSL: +- Clone the Mission LZ from GitHub to a local workspace on the host machine. + - **Recommended:** If you are using Windows for the host machine, clone and open this repository on Windows Subsystem for Linux (WSL). WSL is not required, but disk IO performance in the container is better and the overall experience is more consistent when running a development container from WSL. + > **NOTE:** When using Windows with WSL as the host machine, we recommend the following additional steps: + > - After [installing WSL for Windows](https://docs.microsoft.com/en-us/windows/wsl/install-win10), you can run your Linux distribution path right inside the Windows command prompt (or in PowerShell), by entering `wsl.exe` or `bash.exe`. These commands will switch to a display of the Linux command line, using the path for your current directory. This path will appear to be in a mounted folder, `/mnt/c`, because we're now viewing your Windows C:\ drive folder from the Linux subsystem. You can access all of your local computer's file system from within the Linux shell by using this `/mnt/c` mounted file path. + > - For best performance, we recommend cloning the workspace to the Linux file system. For example, from the Linux shell (as noted above), you could run: + ```BASH + cd $HOME + git clone https://github.com/Azure/missionlz.git + ``` + > - The Windows Git Credential Manager can be configured to work from WSL to help with complex authentication patterns like two-factor authentication. See the [documentation here](https://docs.microsoft.com/en-us/windows/wsl/tutorials/wsl-git#git-credential-manager-setup). Below is the command to run for setting the Windows Credential Manager in WSL: ```BASH git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe" ``` -- Install the recommended VS Code extensions found in `.vscode/extensions.json` (found in the root of the project folder), including the "Remote Development" extension from Microsoft. - -### Step-by-Step - -1. Open VS Code to the root folder of the git repository (not a sub folder or a parent folder). You should see a folder named `.devcontainer` at the root of the VS Code Explorer pane. - - > **NOTE:** If you are using WSL or BASH on Linux or Mac, you can navigate to the root folder of the git repository and enter the command below to launch VS Code and open it to the right directory. Be sure to include the trailing ".". +- Open a command line (e.g. `wsl.exe` or `bash.exe`), change to the root folder of the local workspace for the cloned repository, and start VS Code from this root folder (not a sub folder or a parent folder). + > **NOTE:** If you are using WSL or BASH on Linux or Mac, you can navigate to the root folder of the project (for example, in the path `$HOME/missionlz` assuming you cloned the project to $HOME) and enter the command below to launch VS Code in correct directory. Be sure to include the trailing "." in the second command. ```BASH + cd $HOME/missionlz code . ``` - > **NOTE:** When opening VS Code from this root folder, VS Code may prompt the user to install any extensions found in the file `.vscode/extensions.json` that are not already installed + +- Install the recommended VS Code extensions found in `.vscode/extensions.json` (relative to the root of the project folder), including the "Remote Development" extension from Microsoft. + > **NOTE:** When VS Code starts, it reads the file `.vscode/extensions.json` relative from the current working directory. On startup, VS Code may prompt the user to install any extensions referenced here that are not already installed. + +### Step-by-Step + +1. Open VS Code from the root folder of the local workspace (not a sub folder or a parent folder). You should see a folder named `.devcontainer` at the root of the VS Code Explorer pane. 1. In the VS Code command palette (Ctrl+Shift+P), run this command @@ -41,11 +48,11 @@ All configuration related to the development container is in the `.devcontainer` Remote-Containers: Reopen in Container ``` - The container will build on your machine. The first build may take some time; the `Reopen in Container` command will be much faster after the initial container build, and VS Code will prompt you if the container needs to be rebuilt when the `Dockerfile` or container configuration settings have changed. + The container will build on your machine. The first build may take several minutes; the `Reopen in Container` command will be much faster after the initial container build, and VS Code will prompt you if the container needs to be rebuilt when the `Dockerfile` or container configuration settings have changed. -1. (Optional) if you'd like to interact with the devcontainer's terminal from another terminal other than VS Code's built in terminal, you can docker's `exec` command. +1. (*Optional*) If you'd like to interact with the devcontainer's terminal from another terminal other than VS Code's built in terminal, you can use the `docker exec` command. - > NOTE: VS Code attaches to the container as the user named "vscode", so you have to do the same thing when attaching to a BASH session in the container by specifying the user as an argument to the `docker exec` command. If you do not specify the user then you will be connected as root, which will cause permissions issues in git (if you are launching VS Code from WSL). + > **NOTE:** VS Code attaches to the container as the user named "vscode", so you have to do the same thing when attaching to a BASH session in the container by specifying the user as an argument to the `docker exec` command. If you do not specify the user then you will be connected as root, which will cause permissions issues in git (if you are launching VS Code from WSL). ```BASH docker exec --interactive --tty --user vscode missionlz-dev /bin/bash From eb1f098d2c67d577f2853c0c2123605cf848bb55 Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Tue, 30 Mar 2021 22:06:00 -0400 Subject: [PATCH 07/15] Update ui-deployment.md Adding additional sign-in steps for Az Gov Adding variables to simplify the Azure installation --- src/docs/ui-deployment.md | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/docs/ui-deployment.md b/src/docs/ui-deployment.md index aec764ce9..a5b37d919 100644 --- a/src/docs/ui-deployment.md +++ b/src/docs/ui-deployment.md @@ -24,12 +24,31 @@ To get started, you'll need to be running from a bash/zsh environment. If you ar This process will build the user interface container image on your workstation using Docker, upload the container image to your Azure subscription, and install an instance of the container in Azure Container Instances (ACI). You'll need to have Docker installed locally, as well as the Azure Bash CLI. -From the "src" directory - +Log in using the Azure CLI +```BASH +az login +``` +> **Note:** For deployments to Azure Government, you will first need to set the cloud before logging in, such as: ```BASH -chmod u+x ./scripts/setup_ezdeploy.sh -./script/setup_ezdeploy.sh -d build -s -t -l -e -m -p port -0 -1 -2 -3 " + az cloud set --name AzureUSGovernment + az login +``` + +From the "src" directory, set the access permissions to the `setup_ezdeploy.sh` deployment script and run it (the example below assumes the local workspace root directory is at `$HOME/missionlz`) +```bash + cd $HOME/missionlz/src + + export TENANT_ID="" + export SUBSCRIPTION_ID="" + export TF_ENV="" + export MLZ_ENV="" + export LOCATION="" + + chmod u+x ./scripts/setup_ezdeploy.sh + + ./scripts/setup_ezdeploy.sh -d build -s $SUBSCRIPTION_ID -t $TENANT_ID -l $LOCATION -e $TF_ENV -m $MLZ_ENV -p 80 -0 $SUBSCRIPTION_ID -1 $SUBSCRIPTION_ID -2 $SUBSCRIPTION_ID -3 $SUBSCRIPTION_I ``` +> In the command above, the **** need to be replaced with actual values from your environment The final results will include a URI that you can use to access the front end running in a remote azure container instance. From b91e63a1d2bcc92971cc32bf54c72e9f33a29b20 Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Tue, 30 Mar 2021 22:12:55 -0400 Subject: [PATCH 08/15] Update ui-deployment.md --- src/docs/ui-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docs/ui-deployment.md b/src/docs/ui-deployment.md index a5b37d919..2c4b9c1ea 100644 --- a/src/docs/ui-deployment.md +++ b/src/docs/ui-deployment.md @@ -36,7 +36,7 @@ az login From the "src" directory, set the access permissions to the `setup_ezdeploy.sh` deployment script and run it (the example below assumes the local workspace root directory is at `$HOME/missionlz`) ```bash - cd $HOME/missionlz/src + cd $HOME/missionlz/src # -- your local workspace path may be different export TENANT_ID="" export SUBSCRIPTION_ID="" From 505839a1d2db135d0cb5338173f7f7845d7dcb1e Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Wed, 31 Mar 2021 08:53:49 -0400 Subject: [PATCH 09/15] Update getting-started.md --- src/docs/getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docs/getting-started.md b/src/docs/getting-started.md index dd610c0ae..f74a44e23 100644 --- a/src/docs/getting-started.md +++ b/src/docs/getting-started.md @@ -31,4 +31,4 @@ All other tools and resources are in the development container and in the user i ## Step-by-step * See the detailed step-by-step guides for [Command Line Deployments](command-line-deployment.md) and [User Interface Deployments](ui-deployment.md). -* (*Optional*) See the [README](../../.devcontainer/README.md) document in the `.devcontainer` folder for details and pre-requisites for the development container. +* (*Optional*) For details and pre-requisites for the development container, see the [README](../../.devcontainer/README.md) document in the `.devcontainer` folder. From 8efe410943d434b6ef8978d2e4f4bf5f9885fb73 Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Wed, 31 Mar 2021 17:35:24 -0400 Subject: [PATCH 10/15] Update src/docs/ui-deployment.md Co-authored-by: Glenn Musa <4622125+glennmusa@users.noreply.github.com> --- src/docs/ui-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docs/ui-deployment.md b/src/docs/ui-deployment.md index 2c4b9c1ea..c1fc63851 100644 --- a/src/docs/ui-deployment.md +++ b/src/docs/ui-deployment.md @@ -46,7 +46,7 @@ From the "src" directory, set the access permissions to the `setup_ezdeploy.sh` chmod u+x ./scripts/setup_ezdeploy.sh - ./scripts/setup_ezdeploy.sh -d build -s $SUBSCRIPTION_ID -t $TENANT_ID -l $LOCATION -e $TF_ENV -m $MLZ_ENV -p 80 -0 $SUBSCRIPTION_ID -1 $SUBSCRIPTION_ID -2 $SUBSCRIPTION_ID -3 $SUBSCRIPTION_I + ./scripts/setup_ezdeploy.sh -d build -s $SUBSCRIPTION_ID -t $TENANT_ID -l $LOCATION -e $TF_ENV -m $MLZ_ENV -p 80 -0 $SUBSCRIPTION_ID -1 $SUBSCRIPTION_ID -2 $SUBSCRIPTION_ID -3 $SUBSCRIPTION_ID ``` > In the command above, the **** need to be replaced with actual values from your environment From 4911659254534297484237a5171d654a06a8b50c Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Wed, 31 Mar 2021 18:00:36 -0400 Subject: [PATCH 11/15] Update README.md --- .devcontainer/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.devcontainer/README.md b/.devcontainer/README.md index 7dc245ae7..0a4714af6 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -48,7 +48,9 @@ All configuration related to the development container is in the `.devcontainer` Remote-Containers: Reopen in Container ``` - The container will build on your machine. The first build may take several minutes; the `Reopen in Container` command will be much faster after the initial container build, and VS Code will prompt you if the container needs to be rebuilt when the `Dockerfile` or container configuration settings have changed. + > **NOTE:** The container will build on your machine. The first build may take several minutes; the `Reopen in Container` command will be much faster after the initial container build, and VS Code will prompt you if the container needs to be rebuilt when the `Dockerfile` or container configuration settings have changed. + + When logged into the devcontainer's terminal, the working directory changes to `vscode@missionlz-dev:/workspaces/missionlz$` 1. (*Optional*) If you'd like to interact with the devcontainer's terminal from another terminal other than VS Code's built in terminal, you can use the `docker exec` command. @@ -63,5 +65,3 @@ All configuration related to the development container is in the `.devcontainer` ```BASH docker exec -it -u vscode missionlz-dev /bin/bash ``` - - When you are logged into the devcontainer's terminal, you will find the working directory From e650db3c541243974074adcea7598c95a3905bb0 Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Wed, 31 Mar 2021 19:47:29 -0400 Subject: [PATCH 12/15] Used the linter --- .devcontainer/README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.devcontainer/README.md b/.devcontainer/README.md index 0a4714af6..b0bf9958c 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -12,22 +12,25 @@ All configuration related to the development container is in the `.devcontainer` ### Setup - Install Docker Desktop or Docker CE on a host machine. The host machine can be Windows, Linux, or Mac, and can run on-premises or in the cloud. -- Clone the Mission LZ from GitHub to a local workspace on the host machine. +- Clone the Mission LZ from GitHub to a local workspace on the host machine. - **Recommended:** If you are using Windows for the host machine, clone and open this repository on Windows Subsystem for Linux (WSL). WSL is not required, but disk IO performance in the container is better and the overall experience is more consistent when running a development container from WSL. > **NOTE:** When using Windows with WSL as the host machine, we recommend the following additional steps: + > > - After [installing WSL for Windows](https://docs.microsoft.com/en-us/windows/wsl/install-win10), you can run your Linux distribution path right inside the Windows command prompt (or in PowerShell), by entering `wsl.exe` or `bash.exe`. These commands will switch to a display of the Linux command line, using the path for your current directory. This path will appear to be in a mounted folder, `/mnt/c`, because we're now viewing your Windows C:\ drive folder from the Linux subsystem. You can access all of your local computer's file system from within the Linux shell by using this `/mnt/c` mounted file path. > - For best performance, we recommend cloning the workspace to the Linux file system. For example, from the Linux shell (as noted above), you could run: + > ```BASH cd $HOME git clone https://github.com/Azure/missionlz.git - ``` + ``` + > > - The Windows Git Credential Manager can be configured to work from WSL to help with complex authentication patterns like two-factor authentication. See the [documentation here](https://docs.microsoft.com/en-us/windows/wsl/tutorials/wsl-git#git-credential-manager-setup). Below is the command to run for setting the Windows Credential Manager in WSL: ```BASH git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe" ``` -- Open a command line (e.g. `wsl.exe` or `bash.exe`), change to the root folder of the local workspace for the cloned repository, and start VS Code from this root folder (not a sub folder or a parent folder). +- Open a command line (e.g. `wsl.exe` or `bash.exe`), change to the root folder of the local workspace for the cloned repository, and start VS Code from this root folder (not a sub folder or a parent folder). > **NOTE:** If you are using WSL or BASH on Linux or Mac, you can navigate to the root folder of the project (for example, in the path `$HOME/missionlz` assuming you cloned the project to $HOME) and enter the command below to launch VS Code in correct directory. Be sure to include the trailing "." in the second command. ```BASH From 50c3fee5b5dac596aa2f0e01868be6341f17c59a Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Wed, 31 Mar 2021 19:55:26 -0400 Subject: [PATCH 13/15] adding Windows Terminal to the mix of shells --- .devcontainer/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/README.md b/.devcontainer/README.md index b0bf9958c..cb55b239f 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -16,7 +16,7 @@ All configuration related to the development container is in the `.devcontainer` - **Recommended:** If you are using Windows for the host machine, clone and open this repository on Windows Subsystem for Linux (WSL). WSL is not required, but disk IO performance in the container is better and the overall experience is more consistent when running a development container from WSL. > **NOTE:** When using Windows with WSL as the host machine, we recommend the following additional steps: > - > - After [installing WSL for Windows](https://docs.microsoft.com/en-us/windows/wsl/install-win10), you can run your Linux distribution path right inside the Windows command prompt (or in PowerShell), by entering `wsl.exe` or `bash.exe`. These commands will switch to a display of the Linux command line, using the path for your current directory. This path will appear to be in a mounted folder, `/mnt/c`, because we're now viewing your Windows C:\ drive folder from the Linux subsystem. You can access all of your local computer's file system from within the Linux shell by using this `/mnt/c` mounted file path. + > - After [installing WSL for Windows](https://docs.microsoft.com/en-us/windows/wsl/install-win10), you can run your Linux distribution path right inside PowerShell, from Windows Terminal, or in the Windows command prompt by entering `wsl.exe` or `bash.exe`. These commands will switch to a display of the Linux command line, using the path for your current directory. This path will appear to be in a mounted folder, `/mnt/c`, because we're now viewing your Windows C:\ drive folder from the Linux subsystem. You can access all of your local computer's file system from within the Linux shell by using this `/mnt/c` mounted file path. > - For best performance, we recommend cloning the workspace to the Linux file system. For example, from the Linux shell (as noted above), you could run: > ```BASH From 55d776e648a96fc4e5458677eb0da05fc2467394 Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Thu, 1 Apr 2021 08:34:58 -0400 Subject: [PATCH 14/15] Update ui-deployment.md --- src/docs/ui-deployment.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/docs/ui-deployment.md b/src/docs/ui-deployment.md index c1fc63851..1dfbda301 100644 --- a/src/docs/ui-deployment.md +++ b/src/docs/ui-deployment.md @@ -25,16 +25,20 @@ To get started, you'll need to be running from a bash/zsh environment. If you ar This process will build the user interface container image on your workstation using Docker, upload the container image to your Azure subscription, and install an instance of the container in Azure Container Instances (ACI). You'll need to have Docker installed locally, as well as the Azure Bash CLI. Log in using the Azure CLI + ```BASH az login ``` + > **Note:** For deployments to Azure Government, you will first need to set the cloud before logging in, such as: + ```BASH az cloud set --name AzureUSGovernment az login ``` -From the "src" directory, set the access permissions to the `setup_ezdeploy.sh` deployment script and run it (the example below assumes the local workspace root directory is at `$HOME/missionlz`) +From the "src" directory, set the access permissions to the `setup_ezdeploy.sh` deployment script and run it (the example below assumes the local workspace root directory is at `$HOME/missionlz`) + ```bash cd $HOME/missionlz/src # -- your local workspace path may be different @@ -48,7 +52,8 @@ From the "src" directory, set the access permissions to the `setup_ezdeploy.sh` ./scripts/setup_ezdeploy.sh -d build -s $SUBSCRIPTION_ID -t $TENANT_ID -l $LOCATION -e $TF_ENV -m $MLZ_ENV -p 80 -0 $SUBSCRIPTION_ID -1 $SUBSCRIPTION_ID -2 $SUBSCRIPTION_ID -3 $SUBSCRIPTION_ID ``` -> In the command above, the **** need to be replaced with actual values from your environment + +> In the command above, the *<values-in-brackets>* need to be replaced with actual values from your environment The final results will include a URI that you can use to access the front end running in a remote azure container instance. From 0e705d5547d6673f3ee24da5f9143c817f81e784 Mon Sep 17 00:00:00 2001 From: Brian Pendergrass Date: Thu, 1 Apr 2021 08:44:35 -0400 Subject: [PATCH 15/15] Fixed linter issues --- src/docs/getting-started.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/docs/getting-started.md b/src/docs/getting-started.md index f74a44e23..daea485e8 100644 --- a/src/docs/getting-started.md +++ b/src/docs/getting-started.md @@ -20,13 +20,13 @@ The develoment container is not necessary if you want to use the Mission LZ user ## Pre-Requisites -* **Operating system:** Mac OS, Linux, or [Windows 10 with Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install-win10) +* **Operating system:** Mac OS, Linux, or [Windows 10 with Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install-win10) >*We developed this on Windows 10/WSL running Ubuntu 20.04* * **Docker:** Docker Desktop or Docker CE >*We use [Docker Desktop on Windows 10](https://docs.docker.com/docker-for-windows/install/), integrated with WSL* * Current version of the [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli). -All other tools and resources are in the development container and in the user interface container. The simplest path is to deploy from one of these containers, but it is not required if you want to configure your own deployment environment. +All other tools and resources are in the development container and in the user interface container. The simplest path is to deploy from one of these containers, but it is not required if you want to configure your own deployment environment. ## Step-by-step