@ -0,0 +1,50 @@ | |||
name: Deploy basket-api | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["basket-api"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
CHART: basket-api | |||
NAMESPACE: eshop | |||
CHART_ROOT: deploy/k8s/helm | |||
jobs: | |||
deploy-to-k8s: | |||
#if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
if: false | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v2 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy Chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.CHART_ROOT }} |
@ -0,0 +1,50 @@ | |||
name: Deploy catalog-api | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["catalog-api"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
CHART: catalog-api | |||
NAMESPACE: eshop | |||
CHART_ROOT: deploy/k8s/helm | |||
jobs: | |||
deploy-to-k8s: | |||
#if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
if: false | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v2 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.CHART_ROOT }} |
@ -0,0 +1,50 @@ | |||
name: Deploy identity-api | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["identity-api"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
CHART: identity-api | |||
NAMESPACE: eshop | |||
CHART_ROOT: deploy/k8s/helm | |||
jobs: | |||
deploy-to-k8s: | |||
#if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
if: false | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v2 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy Chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.CHART_ROOT }} |
@ -0,0 +1,50 @@ | |||
name: Deploy mobileshoppingagg | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["mobileshoppingagg"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
CHART: mobileshoppingagg | |||
NAMESPACE: eshop | |||
CHART_ROOT: deploy/k8s/helm | |||
jobs: | |||
deploy-to-k8s: | |||
#if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
if: false | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v2 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy Chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.CHART_ROOT }} |
@ -0,0 +1,50 @@ | |||
name: Deploy ordering-api | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["ordering-api"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
CHART: ordering-api | |||
NAMESPACE: eshop | |||
CHART_ROOT: deploy/k8s/helm | |||
jobs: | |||
deploy-to-k8s: | |||
#if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
if: false | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v2 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy Chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.CHART_ROOT }} |
@ -0,0 +1,50 @@ | |||
name: Deploy ordering-backgroundtasks | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["ordering-backgroundtasks"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
CHART: ordering-backgroundtasks | |||
NAMESPACE: eshop | |||
CHART_ROOT: deploy/k8s/helm | |||
jobs: | |||
deploy-to-k8s: | |||
#if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
if: false | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v2 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy Chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.CHART_ROOT }} |
@ -0,0 +1,50 @@ | |||
name: Deploy ordering-signalrhub | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["ordering-signalrhub"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
CHART: ordering-signalrhub | |||
NAMESPACE: eshop | |||
CHART_ROOT: deploy/k8s/helm | |||
jobs: | |||
deploy-to-k8s: | |||
#if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
if: false | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v2 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy Chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.CHART_ROOT }} |
@ -0,0 +1,50 @@ | |||
name: Deploy payment-api | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["payment-api"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
CHART: payment-api | |||
NAMESPACE: eshop | |||
CHART_ROOT: deploy/k8s/helm | |||
jobs: | |||
deploy-to-k8s: | |||
#if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
if: false | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v2 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy Chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.CHART_ROOT }} |
@ -0,0 +1,50 @@ | |||
name: Deploy webhooks-api | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["webhooks-api"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
CHART: webhooks-api | |||
NAMESPACE: eshop | |||
CHART_ROOT: deploy/k8s/helm | |||
jobs: | |||
deploy-to-k8s: | |||
#if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
if: false | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v2 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy Chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.CHART_ROOT }} |
@ -0,0 +1,50 @@ | |||
name: Deploy webmvc | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["webmvc"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
CHART: webmvc | |||
NAMESPACE: eshop | |||
CHART_ROOT: deploy/k8s/helm | |||
jobs: | |||
deploy-to-k8s: | |||
#if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
if: false | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v2 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy Chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.CHART_ROOT }} |
@ -0,0 +1,50 @@ | |||
name: Deploy webshoppingagg | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["webshoppingagg"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
CHART: webshoppingagg | |||
NAMESPACE: eshop | |||
CHART_ROOT: deploy/k8s/helm | |||
jobs: | |||
deploy-to-k8s: | |||
#if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
if: false | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v2 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy Chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.CHART_ROOT }} |
@ -0,0 +1,50 @@ | |||
name: Deploy webspa | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["webspa"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
CHART: webspa | |||
NAMESPACE: eshop | |||
CHART_ROOT: deploy/k8s/helm | |||
jobs: | |||
deploy-to-k8s: | |||
#if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
if: false | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v2 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy Chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.CHART_ROOT }} |
@ -0,0 +1,50 @@ | |||
name: Deploy webstatus | |||
on: | |||
workflow_dispatch: | |||
repository_dispatch: | |||
types: | |||
- deploy | |||
workflow_run: | |||
workflows: ["webstatus"] | |||
branches: [dev] | |||
types: [completed] | |||
env: | |||
CHART: webstatus | |||
NAMESPACE: eshop | |||
CHART_ROOT: deploy/k8s/helm | |||
jobs: | |||
deploy-to-k8s: | |||
#if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }} | |||
if: false | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v2 | |||
- uses: azure/login@v1 | |||
with: | |||
creds: ${{ secrets.AZURE_CREDENTIALS }} | |||
- uses: azure/aks-set-context@v1 | |||
name: Set AKS context | |||
with: | |||
creds: '${{ secrets.AZURE_CREDENTIALS }}' | |||
cluster-name: ${{ secrets.CLUSTER_NAME }} | |||
resource-group: ${{ secrets.RESOURCE_GROUP }} | |||
- name: Set branch name as env variable | |||
run: | | |||
currentbranch=$(echo ${GITHUB_REF##*/}) | |||
echo "running on $currentbranch" | |||
echo "BRANCH=$currentbranch" >> $GITHUB_ENV | |||
shell: bash | |||
- name: Deploy Chart | |||
run: | | |||
./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected | |||
env: | |||
TAG: ${{ env.BRANCH }} | |||
working-directory: ${{ env.CHART_ROOT }} |
@ -0,0 +1,199 @@ | |||
#!/usr/bin/env bash | |||
# http://redsymbol.net/articles/unofficial-bash-strict-mode | |||
set -euo pipefail | |||
usage() | |||
{ | |||
cat <<END | |||
deploy.sh: deploys the $app_name application to a Kubernetes cluster using Helm. | |||
Parameters: | |||
--aks-name <AKS cluster name> | |||
The name of the AKS cluster. Required when the registry (using the -r parameter) is set to "aks". | |||
--aks-rg <AKS resource group> | |||
The resource group for the AKS cluster. Required when the registry (using the -r parameter) is set to "aks". | |||
-c | --chart <name of chart> | |||
The name of the chart to upgrade (or install) | |||
-d | --dns <dns or ip address> | --dns aks | |||
Specifies the external DNS/ IP address of the Kubernetes cluster. | |||
If 'aks' is set as value, the DNS value is retrieved from the AKS. --aks-name and --aks-rg are needed. | |||
When --use-local-k8s is specified the external DNS is automatically set to localhost. | |||
-h | --help | |||
Displays this help text and exits the script. | |||
-n | --app-name <the name of the app> | |||
Specifies the name of the application (default: eshop). | |||
--namespace <namespace name> | |||
Specifies the namespace name to deploy the app. If it doesn't exists it will be created (default: eshop). | |||
-p | --docker-password <docker password> | |||
The Docker password used to logon to the custom registry, supplied using the -r parameter. | |||
-r | --registry <container registry> | |||
Specifies the container registry to use (required), e.g. myregistry.azurecr.io. | |||
--skip-clean | |||
Do not clean the Kubernetes helm chart. Default is to clean the chart. | |||
-t | --tag <docker image tag> | |||
The tag used for the newly created docker images. Default: latest. | |||
-u | --docker-username <docker username> | |||
The Docker username used to logon to the custom registry, supplied using the -r parameter. | |||
--use-local-k8s | |||
Deploy to a locally installed Kubernetes (default: false). | |||
It is assumed that the Kubernetes cluster has been granted access to the container registry. | |||
If using AKS and ACR see link for more info: | |||
https://docs.microsoft.com/en-us/azure/container-registry/container-registry-auth-aks | |||
WARNING! THE SCRIPT WILL COMPLETELY DESTROY ALL DEPLOYMENTS AND SERVICES VISIBLE | |||
FROM THE CURRENT CONFIGURATION CONTEXT AND NAMESPACE. | |||
It is recommended that you check your selected namespace, 'eshop' by default, is already in use. | |||
Every deployment and service done in the namespace will be deleted. | |||
For more information see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/ | |||
END | |||
} | |||
acr_connected='' | |||
app_name='eshop' | |||
aks_name='' | |||
aks_rg='' | |||
chart='' | |||
clean='yes' | |||
container_registry='' | |||
docker_password='' | |||
docker_username='' | |||
dns='' | |||
image_tag='latest' | |||
skip_infrastructure='' | |||
use_local_k8s='' | |||
namespace='eshop' | |||
while [[ $# -gt 0 ]]; do | |||
case "$1" in | |||
--acr-connected ) | |||
acr_connected='yes'; shift ;; | |||
--aks-name ) | |||
aks_name="$2"; shift 2;; | |||
--aks-rg ) | |||
aks_rg="$2"; shift 2;; | |||
-c | --chart ) | |||
chart="$2"; shift 2;; | |||
-d | --dns ) | |||
dns="$2"; shift 2;; | |||
-h | --help ) | |||
usage; exit 1 ;; | |||
-n | --app-name ) | |||
app_name="$2"; shift 2;; | |||
-p | --docker-password ) | |||
docker_password="$2"; shift 2;; | |||
-r | --registry ) | |||
container_registry="$2"; shift 2;; | |||
--skip-clean ) | |||
clean=''; shift ;; | |||
--image-build ) | |||
build_images='yes'; shift ;; | |||
--image-push ) | |||
push_images='yes'; shift ;; | |||
--skip-infrastructure ) | |||
skip_infrastructure='yes'; shift ;; | |||
-t | --tag ) | |||
image_tag="$2"; shift 2;; | |||
-u | --docker-username ) | |||
docker_username="$2"; shift 2;; | |||
--use-local-k8s ) | |||
use_local_k8s='yes'; shift ;; | |||
--namespace ) | |||
namespace="$2"; shift 2;; | |||
*) | |||
echo "Unknown option $1" | |||
usage; exit 2 ;; | |||
esac | |||
done | |||
export TAG=$image_tag | |||
use_custom_registry='' | |||
if [[ -n $container_registry ]] && [[ -z $acr_connected ]]; then | |||
echo "################ Log into custom registry $container_registry ##################" | |||
use_custom_registry='yes' | |||
if [[ -z $docker_username ]] || [[ -z $docker_password ]]; then | |||
echo "Error: Must use -u (--docker-username) AND -p (--docker-password) if specifying custom registry" | |||
exit 1 | |||
fi | |||
docker login -u $docker_username -p $docker_password $container_registry | |||
fi | |||
ingress_values_file="ingress_values.yaml" | |||
if [[ $use_local_k8s ]]; then | |||
ingress_values_file="ingress_values_dockerk8s.yaml" | |||
dns="localhost" | |||
fi | |||
if [[ $dns == "aks" ]]; then | |||
echo "#################### Begin AKS discovery based on the --dns aks setting. ####################" | |||
if [[ -z $aks_name ]] || [[ -z $aks_rg ]]; then | |||
echo "Error: When using -dns aks, MUST set -aksName and -aksRg too." | |||
echo '' | |||
usage | |||
exit 1 | |||
fi | |||
echo "Getting AKS cluster $aks_name AKS (in resource group $aks_rg)" | |||
# JMESPath queries are case sensitive and httpapplicationrouting can be lowercase sometimes | |||
jmespath_dnsqueries=(\ | |||
addonProfiles.httpApplicationRouting.config.HTTPApplicationRoutingZoneName \ | |||
addonProfiles.httpapplicationrouting.config.HTTPApplicationRoutingZoneName \ | |||
) | |||
for q in "${jmespath_dnsqueries[@]}" | |||
do | |||
dns="$(az aks show -n $aks_name -g $aks_rg --query $q -o tsv)" | |||
if [[ -n $dns ]]; then break; fi | |||
done | |||
if [[ -z $dns ]]; then | |||
echo "Error: when getting DNS of AKS $aks_name (in resource group $aks_rg). Please ensure AKS has httpRouting enabled AND Azure CLI is logged in and is of version 2.0.37 or higher." | |||
exit 1 | |||
fi | |||
echo "DNS base found is $dns. Will use $aks_name.$dns for the app!" | |||
dns="$aks_name.$dns" | |||
fi | |||
# Initialization & check commands | |||
if [[ -z $dns ]]; then | |||
echo "No DNS specified. Ingress resources will be bound to public IP." | |||
fi | |||
previous_install='' | |||
if [[ -z $(helm ls -q --namespace $namespace | grep "$app_name-$chart") ]]; then | |||
echo "No previous release found" | |||
else | |||
previous_install='yes' | |||
fi | |||
if [[ $clean ]] && [[ $previous_install ]]; then | |||
echo "Cleaning previous helm releases..." | |||
helm uninstall "$app_name-$chart" --namespace $namespace | |||
echo "Previous release deleted" | |||
waitsecs=5; while [ $waitsecs -gt 0 ]; do echo -ne "$waitsecs\033[0K\r"; sleep 1; : $((waitsecs--)); done | |||
previous_install='' | |||
fi | |||
echo "#################### Begin $app_name $chart installation using Helm ####################" | |||
if [[ $use_custom_registry ]] || [[ $acr_connected ]]; then | |||
if [[ -z $acr_connected ]]; then | |||
if [[ -z $previous_install ]]; then | |||
helm upgrade --install "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --set inf.registry.server=$container_registry --set inf.registry.login=$docker_username --set inf.registry.pwd=$docker_password --set inf.registry.secretName=eshop-docker-scret --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart | |||
else | |||
helm upgrade --install "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart | |||
fi | |||
elif [[ $chart != "eshop-common" ]]; then | |||
# ACR is already connected, so we don't need username/password | |||
if [[ -z $previous_install ]]; then | |||
helm install "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --set inf.registry.server=$container_registry --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart | |||
else | |||
# don't set the image repo since it's already set | |||
helm upgrade "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart | |||
fi | |||
fi | |||
elif [[ $chart != "eshop-common" ]]; then # eshop-common is ignored when no secret must be deployed | |||
helm upgrade --install "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart | |||
fi | |||
echo "FINISHED: Helm chart installed." |
@ -1,8 +1,3 @@ | |||
CatalogBrand | |||
Azure | |||
.NET | |||
Visual Studio | |||
SQL Server | |||
Other | |||
CatalogBrandTestOne | |||
CatalogBrandTestTwo |
@ -1,7 +1,4 @@ | |||
CatalogType | |||
Mug | |||
T-Shirt | |||
Sheet | |||
USB Memory Stick | |||
CatalogTypeTestOne | |||
CatalogTypeTestTwo | |||
Pin |
@ -0,0 +1,10 @@ | |||
# Catalog set up | |||
The catalog images have been updated to the new SPA looks. | |||
If you want to use the classical images: | |||
1. Drop the `Microsoft.eShopOnContainers.Services.CatalogDb` database from the `sqldata` container. | |||
2. Rename `CatalogItems-MVC.zip` as `CatalogItems.zip` | |||
3. Rebuild the `catalog-api` service with `docker-compose build catalog-api` | |||
4. Restart the application as usual |
@ -1,61 +1,27 @@ | |||
@model Microsoft.eShopOnContainers.Services.Identity.API.Models.AccountViewModels.LoginViewModel | |||
@{ | |||
ViewData["Title"] = "Log in"; | |||
var requestQuery = ViewContext.HttpContext.Request.Query; | |||
requestQuery.TryGetValue("ReturnUrl", out var returnUrl); | |||
string partialView; | |||
if (returnUrl[0].Contains("client_id=js")) | |||
{ | |||
Layout = "_Layout-SPA"; | |||
partialView = "_LoginPartial-SPA.cshtml"; | |||
} | |||
else | |||
{ | |||
partialView = "_LoginPartial-MVC.cshtml"; | |||
} | |||
} | |||
<div class="brand-header-block"> | |||
<ul class="container"> | |||
<li><a asp-area="" asp-controller="Account" asp-action="Register" asp-route-returnurl="@ViewData["ReturnUrl"]">REGISTER</a></li> | |||
<li class="active" style="margin-right: 65px;">LOGIN</li> | |||
</ul> | |||
</div> | |||
<div class="container account-login-container"> | |||
<div class="row"> | |||
<div class="col-md-12"> | |||
<section> | |||
<form asp-controller="Account" asp-action="Login" asp-route-returnurl="@ViewData["ReturnUrl"]" method="post" class="form-horizontal"> | |||
<input type="hidden" asp-for="ReturnUrl" /> | |||
<h4>ARE YOU REGISTERED?</h4> | |||
<div asp-validation-summary="All" class="text-danger"></div> | |||
<div class="form-group"> | |||
<label asp-for="Email" class="control-label form-label"></label> | |||
<input asp-for="Email" class="form-control form-input form-input-center" /> | |||
<span asp-validation-for="Email" class="text-danger"></span> | |||
</div> | |||
<div class="form-group"> | |||
<label asp-for="Password" class="control-label form-label"></label> | |||
<input asp-for="Password" class="form-control form-input form-input-center" /> | |||
<span asp-validation-for="Password" class="text-danger"></span> | |||
</div> | |||
<div class="form-group"> | |||
<div class="checkbox"> | |||
<label asp-for="RememberMe"> | |||
<input asp-for="RememberMe" /> | |||
@Html.DisplayNameFor(m => m.RememberMe) | |||
</label> | |||
</div> | |||
</div> | |||
<div class="form-group"> | |||
<button type="submit" class="btn btn-default btn-brand btn-brand-big"> LOG IN </button> | |||
</div> | |||
<p> | |||
<a asp-action="Register" asp-route-returnurl="@ViewData["ReturnUrl"]" class="text">Register as a new user?</a> | |||
</p> | |||
<p> | |||
Note that for demo purposes you don't need to register and can login with these credentials: | |||
</p> | |||
<p> | |||
User: <b>demouser@microsoft.com</b> | |||
</p> | |||
<p> | |||
Password: <b>Pass@word1</b> | |||
</p> | |||
</form> | |||
</section> | |||
</div> | |||
</div> | |||
</div> | |||
<partial name=@partialView model=@Model /> | |||
@section Scripts { | |||
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); } | |||
@ -1,106 +1,28 @@ | |||
@model Microsoft.eShopOnContainers.Services.Identity.API.Models.AccountViewModels.RegisterViewModel | |||
@{ | |||
ViewData["Title"] = "Register"; | |||
var requestQuery = ViewContext.HttpContext.Request.Query; | |||
requestQuery.TryGetValue("ReturnUrl", out var returnUrl); | |||
string partialView; | |||
if (returnUrl[0].Contains("client_id=js")) | |||
{ | |||
Layout = "_Layout-SPA"; | |||
partialView = "_RegisterPartial-SPA.cshtml"; | |||
} | |||
else | |||
{ | |||
partialView = "_RegisterPartial-MVC.cshtml"; | |||
} | |||
} | |||
<div class="brand-header-block"> | |||
<ul class="container"> | |||
<li class="active">REGISTER</li> | |||
<li style="margin-right: 65px;"><a asp-area="" asp-controller="Account" asp-action="Login" asp-route-returnurl="@ViewData["ReturnUrl"]">LOGIN</a></li> | |||
</ul> | |||
</div> | |||
<div class="container register-container"> | |||
<form asp-controller="Account" asp-action="Register" asp-route-returnurl="@ViewData["ReturnUrl"]" method="post" class="form-horizontal"> | |||
<h4 class="order-create-section-title">CREATE NEW ACCOUNT</h4> | |||
<div asp-validation-summary="All" class="text-danger"></div> | |||
<div class="row"> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.Name" class="control-label form-label">NAME</label> | |||
<input asp-for="User.Name" class="form-control form-input" /> | |||
<span asp-validation-for="User.Name" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.LastName" class="control-label form-label">LAST NAME</label> | |||
<input asp-for="User.LastName" class="form-control form-input" /> | |||
<span asp-validation-for="User.LastName" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.Street" class="control-label form-label">ADDRESS</label> | |||
<input asp-for="User.Street" class="form-control form-input" /> | |||
<span asp-validation-for="User.Street" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.City" class="control-label form-label"></label> | |||
<input asp-for="User.City" class="form-control form-input" /> | |||
<span asp-validation-for="User.City" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.State" class="control-label form-label"></label> | |||
<input asp-for="User.State" class="form-control form-input" /> | |||
<span asp-validation-for="User.State" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.Country" class="control-label form-label"></label> | |||
<input asp-for="User.Country" class="form-control form-input" /> | |||
<span asp-validation-for="User.Country" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.ZipCode" class="control-label form-label">POSTCODE</label> | |||
<input asp-for="User.ZipCode" class="form-control form-input" /> | |||
<span asp-validation-for="User.ZipCode" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.PhoneNumber" class="control-label form-label">PHONE NUMBER</label> | |||
<input asp-for="User.PhoneNumber" class="form-control form-input" /> | |||
<span asp-validation-for="User.PhoneNumber" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.CardNumber" class="control-label form-label">Card Number</label> | |||
<input asp-for="User.CardNumber" class="form-control form-input" /> | |||
<span asp-validation-for="User.CardNumber" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.CardHolderName" class="control-label form-label">Cardholder Name</label> | |||
<input asp-for="User.CardHolderName" class="form-control form-input" /> | |||
<span asp-validation-for="User.CardHolderName" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-3"> | |||
<label asp-for="User.Expiration" class="control-label form-label">Expiration Date</label> | |||
<input asp-for="User.Expiration" placeholder="MM/YY" class="form-control form-input form-input-small" /> | |||
<span asp-validation-for="User.Expiration" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-3"> | |||
<label asp-for="User.SecurityNumber" class="control-label form-label">Security Code</label> | |||
<input asp-for="User.SecurityNumber" class="form-control form-input form-input-small" /> | |||
<span asp-validation-for="User.SecurityNumber" class="text-danger" /> | |||
</div> | |||
</div> | |||
<br /><br /> | |||
<div class="row"> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="Email" class="control-label form-label"></label> | |||
<input asp-for="Email" class="form-control form-input" /> | |||
<span asp-validation-for="Email" class="text-danger"></span> | |||
</div> | |||
<div class="form-group col-sm-offset-6"></div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="Password" class="control-label form-label"></label> | |||
<input asp-for="Password" class="form-control form-input" /> | |||
<span asp-validation-for="Password" class="text-danger"></span> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="ConfirmPassword" class="control-label form-label"></label> | |||
<input asp-for="ConfirmPassword" class="form-control form-input" /> | |||
<span asp-validation-for="ConfirmPassword" class="text-danger"></span> | |||
</div> | |||
</div> | |||
<br /><br /> | |||
<div class="form-group"> | |||
<button type="submit" class="btn btn-default btn-brand"> Register </button> | |||
</div> | |||
<br /><br /> | |||
</form> | |||
</div> | |||
<partial name=@partialView model=@Model /> | |||
@section Scripts { | |||
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); } | |||
} | |||
@ -0,0 +1,54 @@ | |||
@model Microsoft.eShopOnContainers.Services.Identity.API.Models.AccountViewModels.LoginViewModel | |||
<div class="brand-header-block"> | |||
<ul class="container"> | |||
<li><a asp-area="" asp-controller="Account" asp-action="Register" asp-route-returnurl="@ViewData["ReturnUrl"]">REGISTER</a></li> | |||
<li class="active" style="margin-right: 65px;">LOGIN</li> | |||
</ul> | |||
</div> | |||
<div class="container account-login-container"> | |||
<div class="row"> | |||
<div class="col-md-12"> | |||
<section> | |||
<form asp-controller="Account" asp-action="Login" asp-route-returnurl="@ViewData["ReturnUrl"]" method="post" class="form-horizontal"> | |||
<input type="hidden" asp-for="ReturnUrl" /> | |||
<h4>ARE YOU REGISTERED?</h4> | |||
<div asp-validation-summary="All" class="text-danger"></div> | |||
<div class="form-group"> | |||
<label asp-for="Email" class="control-label form-label"></label> | |||
<input asp-for="Email" class="form-control form-input form-input-center" /> | |||
<span asp-validation-for="Email" class="text-danger"></span> | |||
</div> | |||
<div class="form-group"> | |||
<label asp-for="Password" class="control-label form-label"></label> | |||
<input asp-for="Password" class="form-control form-input form-input-center" /> | |||
<span asp-validation-for="Password" class="text-danger"></span> | |||
</div> | |||
<div class="form-group"> | |||
<div class="checkbox"> | |||
<label asp-for="RememberMe"> | |||
<input asp-for="RememberMe" /> | |||
@Html.DisplayNameFor(m => m.RememberMe) | |||
</label> | |||
</div> | |||
</div> | |||
<div class="form-group"> | |||
<button type="submit" class="btn btn-default btn-brand btn-brand-big"> LOG IN </button> | |||
</div> | |||
<p> | |||
<a asp-action="Register" asp-route-returnurl="@ViewData["ReturnUrl"]" class="text">Register as a new user?</a> | |||
</p> | |||
<p> | |||
Note that for demo purposes you don't need to register and can login with these credentials: | |||
</p> | |||
<p> | |||
User: <b>demouser@microsoft.com</b> | |||
</p> | |||
<p> | |||
Password: <b>Pass@word1</b> | |||
</p> | |||
</form> | |||
</section> | |||
</div> | |||
</div> | |||
</div> |
@ -0,0 +1,47 @@ | |||
@model Microsoft.eShopOnContainers.Services.Identity.API.Models.AccountViewModels.LoginViewModel | |||
<div class="container"> | |||
<div class="row"> | |||
<div class="col-md-12"> | |||
<section> | |||
<form asp-controller="Account" asp-action="Login" asp-route-returnurl="@ViewData["ReturnUrl"]" method="post" class="form-login"> | |||
<input type="hidden" asp-for="ReturnUrl" /> | |||
<h4 class="text-left mb-4">ARE YOU REGISTERED?</h4> | |||
<div asp-validation-summary="All" class="text-danger"></div> | |||
<div class="form-group"> | |||
<label asp-for="Email" class="control-label form-label"></label> | |||
<input asp-for="Email" class="form-control form-input w-100" /> | |||
<span asp-validation-for="Email" class="text-danger"></span> | |||
</div> | |||
<div class="form-group"> | |||
<label asp-for="Password" class="control-label form-label"></label> | |||
<input asp-for="Password" class="form-control form-input w-100" /> | |||
<span asp-validation-for="Password" class="text-danger"></span> | |||
</div> | |||
<div class="d-flex align-items-center justify-content-between"> | |||
<div class="checkbox"> | |||
<label asp-for="RememberMe"> | |||
<input asp-for="RememberMe" class="mr-1" /> | |||
@Html.DisplayNameFor(m => m.RememberMe) | |||
</label> | |||
</div> | |||
<button type="submit" class="btn btn-primary">LOG IN</button> | |||
</div> | |||
<div class="form-login-register-link text-center mt-3"> | |||
<a class="text-link" asp-action="Register" asp-route-returnurl="@ViewData["ReturnUrl"]">Register as a new user?</a> | |||
</div> | |||
</form> | |||
<div class="form-login-details"> | |||
<div> | |||
Note that for demo purposes you don't need to register and can login with these credentials: | |||
</div> | |||
<div> | |||
User: <strong>demouser@microsoft.com</strong> Password: <strong>Pass@word1</strong> | |||
</div> | |||
</div> | |||
</section> | |||
</div> | |||
</div> | |||
</div> |
@ -0,0 +1,100 @@ | |||
@model Microsoft.eShopOnContainers.Services.Identity.API.Models.AccountViewModels.RegisterViewModel | |||
<div class="brand-header-block"> | |||
<ul class="container"> | |||
<li class="active">REGISTER</li> | |||
<li style="margin-right: 65px;"><a asp-area="" asp-controller="Account" asp-action="Login" asp-route-returnurl="@ViewData["ReturnUrl"]">LOGIN</a></li> | |||
</ul> | |||
</div> | |||
<div class="container register-container"> | |||
<form asp-controller="Account" asp-action="Register" asp-route-returnurl="@ViewData["ReturnUrl"]" method="post" class="form-horizontal"> | |||
<h4 class="order-create-section-title">CREATE NEW ACCOUNT</h4> | |||
<div asp-validation-summary="All" class="text-danger"></div> | |||
<div class="row"> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.Name" class="control-label form-label">NAME</label> | |||
<input asp-for="User.Name" class="form-control form-input" /> | |||
<span asp-validation-for="User.Name" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.LastName" class="control-label form-label">LAST NAME</label> | |||
<input asp-for="User.LastName" class="form-control form-input" /> | |||
<span asp-validation-for="User.LastName" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.Street" class="control-label form-label">ADDRESS</label> | |||
<input asp-for="User.Street" class="form-control form-input" /> | |||
<span asp-validation-for="User.Street" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.City" class="control-label form-label"></label> | |||
<input asp-for="User.City" class="form-control form-input" /> | |||
<span asp-validation-for="User.City" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.State" class="control-label form-label"></label> | |||
<input asp-for="User.State" class="form-control form-input" /> | |||
<span asp-validation-for="User.State" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.Country" class="control-label form-label"></label> | |||
<input asp-for="User.Country" class="form-control form-input" /> | |||
<span asp-validation-for="User.Country" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.ZipCode" class="control-label form-label">POSTCODE</label> | |||
<input asp-for="User.ZipCode" class="form-control form-input" /> | |||
<span asp-validation-for="User.ZipCode" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.PhoneNumber" class="control-label form-label">PHONE NUMBER</label> | |||
<input asp-for="User.PhoneNumber" class="form-control form-input" /> | |||
<span asp-validation-for="User.PhoneNumber" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.CardNumber" class="control-label form-label">Card Number</label> | |||
<input asp-for="User.CardNumber" class="form-control form-input" /> | |||
<span asp-validation-for="User.CardNumber" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.CardHolderName" class="control-label form-label">Cardholder Name</label> | |||
<input asp-for="User.CardHolderName" class="form-control form-input" /> | |||
<span asp-validation-for="User.CardHolderName" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-3"> | |||
<label asp-for="User.Expiration" class="control-label form-label">Expiration Date</label> | |||
<input asp-for="User.Expiration" placeholder="MM/YY" class="form-control form-input form-input-small" /> | |||
<span asp-validation-for="User.Expiration" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-3"> | |||
<label asp-for="User.SecurityNumber" class="control-label form-label">Security Code</label> | |||
<input asp-for="User.SecurityNumber" class="form-control form-input form-input-small" /> | |||
<span asp-validation-for="User.SecurityNumber" class="text-danger" /> | |||
</div> | |||
</div> | |||
<br /><br /> | |||
<div class="row"> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="Email" class="control-label form-label"></label> | |||
<input asp-for="Email" class="form-control form-input" /> | |||
<span asp-validation-for="Email" class="text-danger"></span> | |||
</div> | |||
<div class="form-group col-sm-offset-6"></div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="Password" class="control-label form-label"></label> | |||
<input asp-for="Password" class="form-control form-input" /> | |||
<span asp-validation-for="Password" class="text-danger"></span> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="ConfirmPassword" class="control-label form-label"></label> | |||
<input asp-for="ConfirmPassword" class="form-control form-input" /> | |||
<span asp-validation-for="ConfirmPassword" class="text-danger"></span> | |||
</div> | |||
</div> | |||
<br /><br /> | |||
<div class="form-group"> | |||
<button type="submit" class="btn btn-default btn-brand"> Register </button> | |||
</div> | |||
<br /><br /> | |||
</form> | |||
</div> |
@ -0,0 +1,100 @@ | |||
@model Microsoft.eShopOnContainers.Services.Identity.API.Models.AccountViewModels.RegisterViewModel | |||
<div class="container"> | |||
<h1 class="mb-4 mt-5">[ New Account ]</h1> | |||
<form asp-controller="Account" asp-action="Register" asp-route-returnurl="@ViewData["ReturnUrl"]" method="post" class="form-register"> | |||
<h4 class="order-create-section-title">Information</h4> | |||
<div asp-validation-summary="All" class="text-danger"></div> | |||
<div class="row"> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.Name" class="control-label form-label">Name</label> | |||
<input asp-for="User.Name" class="form-control form-input" /> | |||
<span asp-validation-for="User.Name" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.LastName" class="control-label form-label">Last Name</label> | |||
<input asp-for="User.LastName" class="form-control form-input" /> | |||
<span asp-validation-for="User.LastName" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.Street" class="control-label form-label">Address</label> | |||
<input asp-for="User.Street" class="form-control form-input" /> | |||
<span asp-validation-for="User.Street" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.City" class="control-label form-label"></label> | |||
<input asp-for="User.City" class="form-control form-input" /> | |||
<span asp-validation-for="User.City" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.State" class="control-label form-label"></label> | |||
<input asp-for="User.State" class="form-control form-input" /> | |||
<span asp-validation-for="User.State" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.Country" class="control-label form-label"></label> | |||
<input asp-for="User.Country" class="form-control form-input" /> | |||
<span asp-validation-for="User.Country" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.ZipCode" class="control-label form-label">Postcode</label> | |||
<input asp-for="User.ZipCode" class="form-control form-input" /> | |||
<span asp-validation-for="User.ZipCode" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.PhoneNumber" class="control-label form-label">Phone Number</label> | |||
<input asp-for="User.PhoneNumber" class="form-control form-input" /> | |||
<span asp-validation-for="User.PhoneNumber" class="text-danger" /> | |||
</div> | |||
</div> | |||
<div class="mt-4"> | |||
<h4 class="order-create-section-title">Credit Card</h4> | |||
</div> | |||
<div class="row"> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.CardNumber" class="control-label form-label">Card Number</label> | |||
<input asp-for="User.CardNumber" class="form-control form-input" /> | |||
<span asp-validation-for="User.CardNumber" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="User.CardHolderName" class="control-label form-label">Cardholder Name</label> | |||
<input asp-for="User.CardHolderName" class="form-control form-input" /> | |||
<span asp-validation-for="User.CardHolderName" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-3"> | |||
<label asp-for="User.Expiration" class="control-label form-label">Expiration Date</label> | |||
<input asp-for="User.Expiration" placeholder="MM/YY" class="form-control form-input form-input-small" /> | |||
<span asp-validation-for="User.Expiration" class="text-danger" /> | |||
</div> | |||
<div class="form-group col-sm-3"> | |||
<label asp-for="User.SecurityNumber" class="control-label form-label">Security Code</label> | |||
<input asp-for="User.SecurityNumber" class="form-control form-input form-input-small" /> | |||
<span asp-validation-for="User.SecurityNumber" class="text-danger" /> | |||
</div> | |||
</div> | |||
<br /><br /> | |||
<div class="row"> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="Email" class="control-label form-label"></label> | |||
<input asp-for="Email" class="form-control form-input" /> | |||
<span asp-validation-for="Email" class="text-danger"></span> | |||
</div> | |||
<div class="form-group col-sm-offset-6"></div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="Password" class="control-label form-label"></label> | |||
<input asp-for="Password" class="form-control form-input" /> | |||
<span asp-validation-for="Password" class="text-danger"></span> | |||
</div> | |||
<div class="form-group col-sm-6"> | |||
<label asp-for="ConfirmPassword" class="control-label form-label"></label> | |||
<input asp-for="ConfirmPassword" class="form-control form-input" /> | |||
<span asp-validation-for="ConfirmPassword" class="text-danger"></span> | |||
</div> | |||
</div> | |||
<br /><br /> | |||
<div class="d-flex mt-3 justify-content-end"> | |||
<button type="submit" class="btn btn-primary">Register</button> | |||
</div> | |||
<br /><br /> | |||
</form> | |||
</div> |
@ -0,0 +1,54 @@ | |||
<!DOCTYPE html> | |||
<html> | |||
<head> | |||
<meta charset="utf-8" /> | |||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |||
<meta http-equiv="Content-Security-Policy" content="script-src 'unsafe-inline'; script-src-elem 'unsafe-inline'"> | |||
<title>eShopOnContainers - Identity</title> | |||
<link rel="icon" type="image/x-icon" href="~/favicon.ico" /> | |||
<link rel="shortcut icon" type="image/x-icon" href="~/favicon.ico" /> | |||
<environment names="Development"> | |||
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" /> | |||
<link rel="stylesheet" href="~/css/site-spa.css" /> | |||
</environment> | |||
<environment names="Staging,Production"> | |||
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css" | |||
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css" | |||
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" /> | |||
<link rel="stylesheet" href="~/css/site-spa.min.css" asp-append-version="true" /> | |||
</environment> | |||
</head> | |||
<body> | |||
<div class="es-header"> | |||
<div class="container"> | |||
<article class="d-flex align-content-center justify-content-between"> | |||
<section> | |||
<a asp-controller="home" asp-action="ReturnToOriginalApplication" asp-route-returnUrl="@ViewData["ReturnUrl"]"> | |||
<img class="es-header-brand" src="~/images/logo_color.svg"> | |||
</a> | |||
</section> | |||
</article> | |||
</div> | |||
</div> | |||
<div class="content"> | |||
@RenderBody() | |||
</div> | |||
<footer class="footer"> | |||
<div class="container"> | |||
<article class="d-flex w-100 h-100 justify-content-between align-items-center"> | |||
<section> | |||
<img class="footer-brand" src="~/images/logo.svg"> | |||
</section> | |||
<section> © e-Shoponcontainers. All rights reserved </section> | |||
</article> | |||
</div> | |||
</footer> | |||
<script src="~/lib/jquery/jquery.js"></script> | |||
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script> | |||
@RenderSection("scripts", required: false) | |||
</body> | |||
</html> |