Update helm charts, Readme bash scripts (#22)

- Refactor the helm charts to only have one shared chart, updating this chart to be resilient to handle all APIs
- Update the deploy readme to be accurate and more condensed
- Fix the APIs to actually use the mongo_conn and expose_port ENV variables
- Add .dockerignore file to speed up local docker builds where node_modules is present from the mongodb npm package
- Fix the web client to have the proper internal API addresses for the k8s cluster
This commit is contained in:
David Tesar 2018-12-06 14:32:29 -08:00 коммит произвёл GitHub
Родитель 8a4961acdc
Коммит 5fd475314c
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
152 изменённых файлов: 187 добавлений и 13668 удалений

1
.dockerignore Normal file
Просмотреть файл

@ -0,0 +1 @@
node_modules

6
.gitignore поставляемый
Просмотреть файл

@ -26,4 +26,8 @@ bin/
EventLogs/
obj/
*.sln
restore.dg
restore.dg
# Node.JS code
node_modules
package-lock.json

Просмотреть файл

@ -1,11 +1,11 @@
#Server and management port config
server.port=50001
server.port=${expose_port}
#management.port: 8081
spring.application.name=catalog-catalogservice
# Default MongoDB configuration parameters
#spring.data.mongodb.repositories.enabled=true
spring.data.mongodb.uri=mongodb://localhost:27017/ordering
spring.data.mongodb.uri=${mongo_conn}
#Control if spring banner should be displayed
spring.main.banner-mode=off

Просмотреть файл

@ -20,10 +20,10 @@ namespace DealerApi.Controllers
_log = log;
log.LogInformation("--------------------------------------------------");
log.LogInformation("---debug----Creating instance Dealer");
log.LogInformation(Environment.GetEnvironmentVariable("mongo_connection"));
log.LogInformation(Environment.GetEnvironmentVariable("mongo_conn"));
log.LogInformation(Environment.GetEnvironmentVariable("mongo_database"));
log.LogInformation("--------------------------------------------------");
objds = new MongoDealersRepository(Environment.GetEnvironmentVariable("mongo_connection"));
objds = new MongoDealersRepository(Environment.GetEnvironmentVariable("mongo_conn"));
}
/// <summary>

Просмотреть файл

@ -1,10 +1,10 @@
#Server and management port config
server.port:50003
server.port:${expose_port}
#management.port: 8081
spring.application.name=order-orderservice
# Default MongoDB configuration parameters
spring.data.mongodb.uri=mongodb://localhost:27017/ordering
spring.data.mongodb.uri=${mongo_conn}
#Control if spring banner should be displayed
spring.main.banner-mode=off
@ -12,7 +12,7 @@ spring.main.banner-mode=off
#exposing SBA to prometheus
management.security.enabled=false
#zinpin configurations
#zipkin configurations
zipkin.mrpservice.uri=http://zipkin-zipkin:9411/api/v1/spans
#Hystrix command properties

Просмотреть файл

@ -1,10 +1,9 @@
#Server and management port config
server.port=50002
server.port=${expose_port}
spring.application.name=quote-quoteservice
# Default MongoDB configuration parameters
spring.data.mongodb.uri=mongodb://localhost:27017/ordering
spring.data.mongodb.uri=${mongo_conn}
#Control if spring banner should be displayed
spring.main.banner-mode=off

Просмотреть файл

@ -19,4 +19,4 @@ zuul.routes.shipment-service.path=/api/shipments/**
zuul.routes.shipment-service.url=http://shipment-shipmentservice/api/shipments/
ribbon.eureka.enabled=false
server.port=9020
server.port=${expose_port}

Просмотреть файл

@ -1,11 +1,11 @@
#Server and management port config
server.port=50004
server.port=${expose_port}
#management.port: 8081
spring.application.name=shipment-shipmentservice
# Default MongoDB configuration parameters
#spring.data.mongodb.repositories.enabled=true
spring.data.mongodb.uri=mongodb://localhost:27017/ordering
spring.data.mongodb.uri=${mongo_conn}
#Control if spring banner should be displayed
spring.main.banner-mode=off

Просмотреть файл

@ -1,4 +1,4 @@
server.port=8080
server.port=${expose_port}
spring.application.name=mrp_client
@ -20,11 +20,11 @@ logging.file=${catalina.home}/logs/mrp_client.log
#logging.file=/logs/mrp_client.log
#Micro-Services Endpoint details
service.catalog.uri=http://api-partsunlimitedmrp:9020/api/catalog
service.quote.uri=http://api-partsunlimitedmrp:9020/api/quotes
service.order.uri=http://api-partsunlimitedmrp:9020/api/orders
service.dealer.uri=http://api-partsunlimitedmrp:9020/api/dealers
service.shipment.uri=http://api-partsunlimitedmrp:9020/api/shipments
service.catalog.uri=http://pumrp-catalog-svc/api/catalog
service.quote.uri=http://pumrp-quote-svc/api/quotes
service.order.uri=http://pumrp-order-svc/api/orders
service.dealer.uri=http://pumrp-dealer-svc/api/Dealer
service.shipment.uri=http://pumrp-shipment-svc/api/shipments
#Hystrix command properties

Просмотреть файл

@ -10,27 +10,54 @@ If you want to learn on how you can automate the deployment using DevOps practic
```bash
# Variables
export READY_RG=readywinter18
export READY_LOCATION=eastus
export READY_PATH=~/temp/ready
export READY_RG=pumrpmicro
export READY_LOCATION=eastus2
export READY_PATH=~/temp/pumrpmicro
# Folder
rm -rf $READY_PATH
mkdir $READY_PATH
cd $READY_PATH
mkdir -p $READY_PATH
# Clone the code locally
git clone git@github.com:Microsoft/PartsUnlimitedMRPmicro.git
cd PartsUnlimitedMRPmicro
# SSH Keys
ssh-keygen -f readywint18 -t rsa -N ''
ssh-keygen -f $READY_PATH/pumrpmicro -t rsa -N ''
# Resource Group on Azure
az group create -n $READY_RG -l $READY_LOCATION
```
### AKS - K8s Cluster
### ACR & AKS
```bash
# Create the AKS cluster using your AZURE_CLIENT_SECRET and AZURE_CLIENT_ID variables (You should set it before to run this script)
az aks create -g $READY_RG -n $READY_RG --ssh-key-value $READY_PATH/readywint18.pub --node-count 3 --client-secret $AZURE_CLIENT_SECRET --service-principal $AZURE_CLIENT_ID -l $READY_LOCATION
az acr create -n ${READY_RG}acr -g $READY_RG --sku Basic --admin-enabled -l $READY_LOCATION
az acr login -n ${READY_RG}acr -g $READY_RG
echo "Creating ServicePrincipal for AKS Cluster.."
export SP_JSON=`az ad sp create-for-rbac --role="Contributor"`
export SP_NAME=`echo $SP_JSON | jq -r '.name'`
export SP_PASS=`echo $SP_JSON | jq -r '.password'`
export SP_ID=`echo $SP_JSON | jq -r '.appId'`
echo "Service Principal Name: " $SP_NAME
echo "Service Principal Password: " $SP_PASS
echo "Service Principal Id: " $SP_ID
echo "Retrieving Registry ID..."
ACR_ID="$(az acr show -n ${READY_RG}acr -g $READY_RG --query "id" --output tsv)"
echo "Registry Id:"$ACR_ID
echo "Granting Service Princpal " $SP_NAME " access to ACR..."
(
set -x
az role assignment create --assignee $SP_ID --role Reader --scope $ACR_ID
)
az aks create -g $READY_RG -n $READY_RG --ssh-key-value $READY_PATH/pumrpmicro.pub --node-count 3 -k 1.11.5 --client-secret $SP_PASS --service-principal $SP_ID -l $READY_LOCATION
az aks get-credentials -g $READY_RG -n $READY_RG
@ -42,191 +69,168 @@ az aks get-credentials -g $READY_RG -n $READY_RG
### MongoDB Backend using CosmosDB
```bash
az cosmosdb create -n ${READY_RG}db -g $READY_RG --kind MongoDB
READY_COSMOSDB_NAME=${READY_RG}db
az cosmosdb create -n $READY_COSMOSDB_NAME -g $READY_RG --kind MongoDB
READY_COSMOSDB_TEMP=$(az cosmosdb list-connection-strings -n ${READY_RG}db -g ${READY_RG} -o tsv --query 'connectionStrings[0].[connectionString]')
READY_COSMOSDB=$(echo ${READY_COSMOSDB_TEMP/?ssl=true/pumrp?ssl=true})
READY_COSMOSDB_PASS=$(az cosmosdb list-keys -n $READY_COSMOSDB_NAME -g ${READY_RG} -o tsv --query 'primaryMasterKey')
READY_COSMOSDB="mongodb://${READY_COSMOSDB_NAME}:${READY_COSMOSDB_PASS}@${READY_COSMOSDB_NAME}.documents.azure.com:10255/${READY_COSMOSDB_NAME}?ssl=true&replicaSet=globaldb"
```
Edit `load_mock_data.js` with your DB information and run it to load your database with mock data:
```
$ node load_mock_data.js
(node:82192) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
Install the node.js mongodb npm package.
`npm install mongodb`
Execute `load_mock_data.js` with your DB information and run it to load your database with mock data:
```shell
$ node ./deploy/load_mock_data.js $READY_COSMOSDB_NAME $READY_COSMOSDB_PASS
Connected successfully to server
Records Imported
```
### ACR - Private Registry
az acr create -n ${READY_RG}acr -g $READY_RG --sku Basic --admin-enabled -l $READY_LOCATION
az acr login -n ${READY_RG}acr -g $READY_RG
### Prerequisites in the K8s cluster
```bash
# Add the secrets to be authenticated in the cluster
kubectl create secret docker-registry puregistrykey --docker-server=https://${READY_RG}acr.azurecr.io --docker-username=${READY_RG}acr --docker-password=$READY_ACR_PASSWORD --docker-email=$READY_RG@contoso.com
# Install / Upgrade Helm
helm init --upgrade
# Store the ACR Password locally
READY_ACR_PASSWORD=$(az acr credential show -n ${READY_RG}acr -g ${READY_RG} -o tsv --query 'passwords[0].value')
# Clone the code locally
git clone git@github.com:Microsoft/PartsUnlimitedMRPmicro.git
kubectl create secret docker-registry puregistrykey --docker-server=https://${READY_RG}acr.azurecr.io --docker-username=${READY_RG}acr --docker-password=$READY_ACR_PASSWORD --docker-email=$READY_RG@contoso.com
cd PartsUnlimitedMRPmicro
# Add the kubernetes CosmosDB secret for APIs to connect
kubectl create secret generic cosmosdb --from-literal=connection=$READY_COSMOSDB --from-literal=database=${READY_COSMOSDB_NAME}
# Install / Upgrade Helm
kubectl create serviceaccount --namespace kube-system tillersa
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tillersa
helm init --upgrade --service-account tillersa
```
## Application
### Prometheus and Grafana
```bash
cd $READY_PATH
cd PartsUnlimitedMRPmicro
helm install ./deploy/helm/individual/prometheus --name=prometheus
helm install --name grafana stable/grafana --set server.service.type=LoadBalancer
```
### Cassandra
```bash
cd $READY_PATH
cd PartsUnlimitedMRPmicro
helm install ./deploy/helm/cassandra --name=cassandradbs
```
### Zipkin
```bash
cd $READY_PATH
cd PartsUnlimitedMRPmicro
docker run --rm -v $PWD/ZipkinServer:/project -w /project --name gradle gradle:3.4.1-jdk8-alpine gradle build
docker build -f ./ZipkinServer/Dockerfile --build-arg port=9411 -t ${READY_RG}acr.azurecr.io/zipkin:v1.0 .
docker push ${READY_RG}acr.azurecr.io/zipkin:v1.0
helm install ./deploy/helm/individual/zipkinserver --name=zipkin --set image.tag=v1.0,image.repository=${READY_RG}acr.azurecr.io/zipkin
```
### API Gateway
```bash
cd $READY_PATH
cd PartsUnlimitedMRPmicro
docker run --rm -v $PWD/RestAPIGateway:/project -w /project --name gradle gradle:3.4.1-jdk8-alpine gradle build -x test
docker build -f ./RestAPIGateway/Dockerfile --build-arg port=9020 -t ${READY_RG}acr.azurecr.io/apigateway:v1.0 .
docker push ${READY_RG}acr.azurecr.io/apigateway:v1.0
helm install ./deploy/helm/individual/apigateway --name=api --set image.tag=v1.0,image.repository=${READY_RG}acr.azurecr.io/apigateway
```
These are the required steps to get the application and all microservices running.
### FrontEnd - Client
To simply deploy the latest tagged image from Docker hub:
```bash
cd $READY_PATH
helm install ./deploy/helm/pumrpmicro --name=web --set service.type=LoadBalancer,image.name=pumrp-web,image.repository=microsoft
```
cd PartsUnlimitedMRPmicro
**OR**
To build the image, push to ACR, and deploy the image from ACR:
```bash
docker run --rm -v $PWD/Web:/project -w /project --name gradle gradle:3.4.1-jdk8-alpine gradle build
docker build -f ./Web/Dockerfile --build-arg port=8080 -t ${READY_RG}acr.azurecr.io/puclient:v1.0 .
docker build -f ./Web/Dockerfile --build-arg port=8080 -t ${READY_RG}acr.azurecr.io/pumrp/pumrp-web:v1.0 .
docker push ${READY_RG}acr.azurecr.io/puclient:v1.0
docker push ${READY_RG}acr.azurecr.io/pumrp/pumrp-web:v1.0
helm install ./deploy/helm/individual/partsunlimitedmrp --name=client --set image.tag=v1.0,image.repository=${READY_RG}acr.azurecr.io/puclient
helm install ./deploy/helm/pumrpmicro --name=client --set labels.tier=frontend,service.type=LoadBalancer,image.name=pumrp-web,image.tag=v1.0,image.repository=${READY_RG}acr.azurecr.io/pumrp
```
> Note: The client is served on the `/mrp_client/` path.
### Backend - Order Service
To simply deploy the latest tagged image from Docker hub:
```bash
cd $READY_PATH
helm install ./deploy/helm/pumrpmicro --name=order --set image.name=pumrp-order,image.repository=microsoft
```
cd PartsUnlimitedMRPmicro
**OR**
To build the image, push to ACR, and deploy the image from ACR:
```bash
docker run --rm -v $PWD/OrderSrvc:/project -w /project --name gradle gradle:3.4.1-jdk8-alpine gradle build
docker build -f ./OrderSrvc/Dockerfile --build-arg port=8080 --build-arg mongo_connection=$READY_COSMOSDB -t ${READY_RG}acr.azurecr.io/puorder:v1.0 .
docker build -f ./OrderSrvc/Dockerfile --build-arg port=8080 --build-arg mongo_connection=$READY_COSMOSDB -t ${READY_RG}acr.azurecr.io/pumrp/pumrp-order:v1.0 .
docker push ${READY_RG}acr.azurecr.io/puorder:v1.0
docker push ${READY_RG}acr.azurecr.io/pumrp/pumrp-order:v1.0
helm install ./deploy/helm/individual/orderservice --name=order --set image.tag=v1.0,image.repository=${READY_RG}acr.azurecr.io/puorder
helm install ./deploy/helm/pumrpmicro --name=order --set image.name=pumrp-order,image.tag=v1.0,image.repository=${READY_RG}acr.azurecr.io/pumrp
```
### Backend - Catalog Service
To simply deploy the latest tagged image from Docker hub:
```bash
cd $READY_PATH
helm install ./deploy/helm/pumrpmicro --name=catalog --set image.name=pumrp-catalog,image.repository=microsoft
```
cd PartsUnlimitedMRPmicro
**OR**
To build the image, push to ACR, and deploy the image from ACR:
```bash
docker run --rm -v $PWD/CatalogSrvc:/project -w /project --name gradle gradle:3.4.1-jdk8-alpine gradle build
docker build -f ./CatalogSrvc/Dockerfile --build-arg port=8080 --build-arg mongo_connection=$READY_COSMOSDB -t ${READY_RG}acr.azurecr.io/pucatalog:v1.0 .
docker build -f ./CatalogSrvc/Dockerfile --build-arg port=8080 --build-arg mongo_connection=$READY_COSMOSDB -t ${READY_RG}acr.azurecr.io/pumrp/pumrp-catalog:v1.0 .
docker push ${READY_RG}acr.azurecr.io/pucatalog:v1.0
docker push ${READY_RG}acr.azurecr.io/pumrp/pumrp-catalog:v1.0
helm install ./deploy/helm/individual/catalogservice --name=catalog --set image.tag=v1.0,image.repository=${READY_RG}acr.azurecr.io/pucatalog
helm install ./deploy/helm/pumrpmicro --name=catalog --set image.name=pumrp-catalog,image.tag=v1.0,image.repository=${READY_RG}acr.azurecr.io/pumrp
```
### Backend - Shipment Service
To simply deploy the latest tagged image from Docker hub:
```bash
cd $READY_PATH
helm install ./deploy/helm/pumrpmicro --name=shipment --set image.name=pumrp-shipment,image.repository=microsoft
```
cd PartsUnlimitedMRPmicro
**OR**
To build the image, push to ACR, and deploy the image from ACR:
```bash
docker run --rm -v $PWD/ShipmentSrvc:/project -w /project --name gradle gradle:3.4.1-jdk8-alpine gradle build
docker build -f ./ShipmentSrvc/Dockerfile --build-arg port=8080 --build-arg mongo_connection=$READY_COSMOSDB -t ${READY_RG}acr.azurecr.io/pushipment:v1.0 .
docker build -f ./ShipmentSrvc/Dockerfile --build-arg port=8080 --build-arg mongo_connection=$READY_COSMOSDB -t ${READY_RG}acr.azurecr.io/pumrp/pumrp-shipment:v1.0 .
docker push ${READY_RG}acr.azurecr.io/pushipment:v1.0
docker push ${READY_RG}acr.azurecr.io/pumrp/pumrp-shipment:v1.0
helm install ./deploy/helm/individual/shipmentservice --name=shipment --set image.tag=v1.0,image.repository=${READY_RG}acr.azurecr.io/pushipment
helm install ./deploy/helm/pumrpmicro --name=shipment --set image.name=pumrp-shipment,image.tag=v1.0,image.repository=${READY_RG}acr.azurecr.io/pumrp
```
### Backend - Quote Service
To simply deploy the latest tagged image from Docker hub:
```bash
cd $READY_PATH
helm install ./deploy/helm/pumrpmicro --name=quote --set image.name=pumrp-quote,image.repository=microsoft
```
cd PartsUnlimitedMRPmicro
**OR**
To build the image, push to ACR, and deploy the image from ACR:
```bash
docker run --rm -v $PWD/QuoteSrvc:/project -w /project --name gradle gradle:3.4.1-jdk8-alpine gradle build
docker build -f ./QuoteSrvc/Dockerfile --build-arg port=8080 --build-arg mongo_connection=$READY_COSMOSDB -t ${READY_RG}acr.azurecr.io/puquote:v1.0 .
docker build -f ./QuoteSrvc/Dockerfile --build-arg port=8080 --build-arg mongo_connection=$READY_COSMOSDB -t ${READY_RG}acr.azurecr.io/pumrp/pumrp-quote:v1.0 .
docker push ${READY_RG}acr.azurecr.io/puquote:v1.0
docker push ${READY_RG}acr.azurecr.io/pumrp/pumrp-quote:v1.0
helm install ./deploy/helm/individual/quoteservice --name=quote --set image.tag=v1.0,image.repository=${READY_RG}acr.azurecr.io/puquote
helm install ./deploy/helm/pumrpmicro --name=quote --set image.name=pumrp-quote,image.tag=v1.0,image.repository=${READY_RG}acr.azurecr.io/pumrp
```
### Backend - Dealer Service
To simply deploy the latest tagged image from Docker hub:
```bash
cd $READY_PATH
cd PartsUnlimitedMRPmicro
docker build --build-arg mongo_connection=$READY_COSMOSDB --build-arg mongo_database=purmp -f DealerService/Dockerfile -t ${READY_RG}acr.azurecr.io/pudealer:v1.0 .
docker push ${READY_RG}acr.azurecr.io/pudealer:v1.0
helm install ./deploy/helm/individual/dealerservice --name=dealer --set image.tag=v1.0,image.repository=${READY_RG}acr.azurecr.io/pudealer
helm install ./deploy/helm/pumrpmicro --name=quote --set image.name=pumrp-dealer,image.repository=microsoft
```
**OR**
To build the image, push to ACR, and deploy the image from ACR:
```bash
docker build --build-arg mongo_connection=$READY_COSMOSDB -f DealerService/Dockerfile -t ${READY_RG}acr.azurecr.io/pumrp/pumrp-dealer:v1.0 .
docker push ${READY_RG}acr.azurecr.io/pumrp/pumrp-dealer:v1.0
helm install ./deploy/helm/pumrpmicro --name=dealer --set image.name=pumrp-dealer,image.tag=v1.0,image.repository=${READY_RG}acr.azurecr.io/pumrp
```

Просмотреть файл

@ -1,117 +0,0 @@
//db = conn.getDB("ordering");
db.catalog.insert(
[
{"skuNumber" : "LIG-0001", "description" : "Helogen Headlights (2 Pack)", "price" : 38.99, "inventory" : 10, "leadTime" : 3},
{"skuNumber" : "LIG-0002", "description" : "Bugeye Headlights (2 Pack)", "price" : 48.99, "inventory" : 7, "leadTime" : 3},
{"skuNumber" : "LIG-0003", "description" : "Turn Signal Light Bulb", "price" : 6.49, "inventory" : 18, "leadTime" : 3},
{"skuNumber" : "WHE-0001", "description" : "Matte Finish Rim", "price" : 75.99, "inventory" : 4, "leadTime" : 5},
{"skuNumber" : "WHE-0002", "description" : "Blue Performance Alloy Rim", "price" : 88.99, "inventory" : 8, "leadTime" : 5},
{"skuNumber" : "WHE-0003", "description" : "High Performance Rim", "price" : 99.99, "inventory" : 3, "leadTime" : 5},
{"skuNumber" : "WHE-0004", "description" : "Wheel Tire Combo", "price" : 72.49, "inventory" : 0, "leadTime" : 4},
{"skuNumber" : "WHE-0005", "description" : "Chrome Rim Tire Combo", "price" : 129.99, "inventory" : 1, "leadTime" : 4},
{"skuNumber" : "WHE-0006", "description" : "Wheel Tire Combo (4 Pack)", "price" : 219.99, "inventory" : 3, "leadTime" : 6},
{"skuNumber" : "BRA-0001", "description" : "Disk and Pad Combo", "price" : 25.99, "inventory" : 0, "leadTime" : 6},
{"skuNumber" : "BRA-0002", "description" : "Brake Rotor", "price" : 18.99, "inventory" : 4, "leadTime" : 4},
{"skuNumber" : "BRA-0003", "description" : "Brake Disk and Calipers", "price" : 43.99, "inventory" : 2, "leadTime" : 8},
{"skuNumber" : "BAT-0001", "description" : "12-Volt Calcium Battery", "price" : 129.99, "inventory" : 9, "leadTime" : 8},
{"skuNumber" : "BAT-0002", "description" : "Spiral Coil Battery", "price" : 154.99, "inventory" : 3, "leadTime" : 10},
{"skuNumber" : "BAT-0003", "description" : "Jumper Leads", "price" : 16.99, "inventory" : 6, "leadTime" : 3},
{"skuNumber" : "OIL-0001", "description" : "Filter Set", "price" : 28.99, "inventory" : 3, "leadTime" : 4},
{"skuNumber" : "OIL-0002", "description" : "Oil and Filter Combo", "price" : 34.49, "inventory" : 5, "leadTime" : 4},
{"skuNumber" : "OIL-0003", "description" : "Synthetic Engine Oil", "price" : 39.99, "inventory" : 11, "leadTime" : 4}
])
db.dealers.insert({ "name" : "Terry Adams", "address" : "17760 Northeast 67th Court, Redmond, WA 98052", "email" : "terry@adams.com", "phone" : "425-885-6217" })
db.quotes.insert([{
"quoteId" : "0",
"validUntil" : "2015-05-01T00:00:00+0000",
"customerName" : "Walter Harp",
"dealerName" : "Terry Adams",
"city" : "Seattle",
"totalCost" : "51.97",
"discount" : "0.0",
"state" : "WA",
"postalCode" : "98023",
"quoteItems" : [
{"skuNumber":"LIG-0001", "amount":1 },
{"skuNumber":"LIG-0003", "amount":2 }]
},
{
"quoteId" : "1",
"validUntil" : "2015-01-01T00:00:00+0000",
"customerName" : "Jerry Morrison",
"dealerName" : "Terry Adams",
"city" : "Seattle",
"totalCost" : "25.99",
"state" : "WA",
"postalCode" : "98089",
"quoteItems" : [
{ "skuNumber" : "BRA-0001", "amount" : 1}
]
},
{
"quoteId" : "2",
"validUntil" : "2015-02-01T00:00:00+0000",
"customerName" : "Harrison Hall",
"dealerName" : "Terry Adams",
"city" : "Seattle",
"totalCost" : "600.90",
"discount" : "0.0",
"state" : "WA",
"postalCode" : "98027",
"quoteItems" : [
{ "skuNumber" : "WHE-0002", "amount" : 4},
{ "skuNumber" : "BRA-0003", "amount" : 4},
{ "skuNumber" : "OIL-0001", "amount" : 1},
{ "skuNumber" : "OIL-0001", "amount" : 1}
]
}
])
db.orders.insert([{
"orderId" : "0",
"quoteId" : "0",
"orderDate" : "2015-03-02T20:43:37+0000",
"status" : "Created",
"events" : []
},
{"orderId" : "1",
"quoteId" : "2",
"orderDate" : "2015-03-02T20:43:37+0000",
"status" : "DeliveryConfirmed",
"events" : []
}])
db.shipments.insert([{
"orderId" : "0",
"contactName" : "Walter Harp",
"primaryContactPhone" : {
"phoneNumber" : "435-783-2378",
"kind" : "Mobile"
},
"deliveryAddress" : {
"street" : "34 Sheridan Street",
"city" : "Seattle",
"state" : "WA",
"postalCode" : "98023",
"specialInstructions" : ""
},
"events" : []
},
{
"orderId" : "2",
"contactName" : "Harrison Hall",
"primaryContactPhone" : {
"phoneNumber" : "435-712-7234",
"kind" : "Mobile"
},
"deliveryAddress" : {
"street" : "84 Queen Street",
"city" : "Seattle",
"state" : "WA",
"postalCode" : "98027",
"specialInstructions" : "Leave around by the back door."
},
"events" : []
}])

Просмотреть файл

@ -1,8 +0,0 @@
version: "2"
services:
pucatalog:
build: .
image: puregistry-on.azurecr.io/pucatalog
ports:
- "8080"

Просмотреть файл

@ -1,8 +0,0 @@
version: "2"
services:
puclient:
build: .
image: puregistry-on.azurecr.io/puclient:latest
ports:
- "80"

Просмотреть файл

@ -1,41 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: pumrpclientservice
labels:
version: PartsUnlimitedMrp
spec:
selector:
app: PartsUnlimitedMrp
tier: FrontendService
link: PartsUnlimitedMrp
type: LoadBalancer
sessionAffinity: None
ports:
- port: 80
targetPort: http
protocol: TCP
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: pumrpclientdeployment
spec:
replicas: 1
strategy:
type: RollingUpdate
template:
metadata:
labels:
app: PartsUnlimitedMrp
tier: FrontendDeployment
link: PartsUnlimitedMrp
spec:
containers:
- name: partsunlimitedmrp
image: puregistry-on.azurecr.io/puclient:latest
ports:
- name: http
containerPort: 8080
imagePullSecrets:
- name: puregistrykey

Просмотреть файл

@ -1,8 +0,0 @@
version: "2"
services:
pudealer:
build: .
image: puregistry-on.azurecr.io/pudealer:latest
ports:
- "8080"

Просмотреть файл

@ -1,8 +0,0 @@
version: "2"
services:
puorder:
build: .
image: puregistry-on.azurecr.io/puorder:latest
ports:
- "8080"

Просмотреть файл

@ -1,41 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: pumrporderservice
labels:
version: PartsUnlimitedMrp
spec:
selector:
app: PartsUnlimitedMrp
tier: OrderService
link: PartsUnlimitedMrp
type: ClusterIP
sessionAffinity: None
ports:
- port: 8080
targetPort: http
protocol: TCP
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: pumrporderdeployment
spec:
replicas: 1
strategy:
type: RollingUpdate
template:
metadata:
labels:
app: PartsUnlimitedMrp
tier: OrderDeployment
link: PartsUnlimitedMrp
spec:
containers:
- name: partsunlimitedmrp
image: puregistry-on.azurecr.io/puorder:latest
ports:
- name: http
containerPort: 8080
imagePullSecrets:
- name: puregistrykey

Двоичные данные
deploy/docker/Order/orderservicemsa-0.9.1.jar

Двоичный файл не отображается.

Просмотреть файл

@ -1,8 +0,0 @@
version: "2"
services:
puorder:
build: .
image: puregistry-on.azurecr.io/puquote:latest
ports:
- "8080"

Просмотреть файл

@ -1,8 +0,0 @@
version: "2"
services:
pushipment:
build: .
image: puregistry-on.azurecr.io/pushipment:latest
ports:
- "8080"

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,3 +0,0 @@
apiVersion: v1
entries: {}
generated: 2017-03-10T12:31:05.4896309+05:30

Просмотреть файл

@ -1,15 +0,0 @@
apiVersion: v1
generated: 2017-03-10T12:31:04.5110303+05:30
repositories:
- caFile: ""
cache: .helm\repository\cache\stable-index.yaml
certFile: ""
keyFile: ""
name: stable
url: https://kubernetes-charts.storage.googleapis.com
- caFile: ""
cache: .helm\repository\cache\local-index.yaml
certFile: ""
keyFile: ""
name: local
url: http://127.0.0.1:8879/charts

Просмотреть файл

@ -1,23 +0,0 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
replicas: {{ .Values.replicaCount }}
template:
metadata:
labels:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- containerPort: {{ .Values.service.internalPort }}
imagePullSecrets:
- name: {{ .Values.service.imagePullSecrets }}

Просмотреть файл

@ -1,17 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}

Просмотреть файл

@ -1,25 +0,0 @@
# Default values for PartsUnlimitedMrp.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
repository: puregistry-on.azurecr.io/apigateway
tag: latest
pullPolicy: IfNotPresent
labels:
tier: backend
link: PartsUnlimitedMrp
service:
name: apigateway-service
type: ClusterIP
externalPort: 9020
internalPort: 9020
imagePullSecrets: puregistrykey
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi

Просмотреть файл

@ -1,9 +0,0 @@
apiVersion: v1
description: A Helm chart for Catalog Service
name: catalogservice
version: 0.1.0
sources:
- https://dxdevop.visualstudio.com/mrpmicro/_git/code
maintainers:
- name: Parts Unlimited MRP GitHub Team
engine: gotpl

Просмотреть файл

@ -1,24 +0,0 @@
apiVersion: {{ .Values.apiversion.deployment }}
kind: Deployment
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
replicas: {{ .Values.replicaCount }}
template:
metadata:
labels:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: {{ .Values.service.portName }}
containerPort: {{ .Values.service.internalPort }}
imagePullSecrets:
- name: {{ .Values.service.imagePullSecrets }}

Просмотреть файл

@ -1,29 +0,0 @@
# Default values for orderservice.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
apiversion:
deployment: apps/v1beta1 # for versions 1.8+ use apps/v1beta2
image:
repository: mypumrpmicro.azurecr.io/pumrp
name: pumrp-catalog
tag: latest
pullPolicy: Always
labels:
tier: backend
link: PartsUnlimitedMrp
service:
name: catalog-service
type: ClusterIP
portName: http
externalPort: 80
internalPort: 8080
imagePullSecrets: puregistrykey
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi

Просмотреть файл

@ -1,9 +0,0 @@
apiVersion: v1
description: A Helm chart for Dealer Service
name: dealerservice
version: 0.1.0
sources:
- https://dxdevop.visualstudio.com/mrpmicro/_git/code
maintainers:
- name: Parts Unlimited MRP GitHub Team
engine: gotpl

Просмотреть файл

@ -1,15 +0,0 @@
1. Get the application URL by running these commands:
{{- if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/login
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ template "fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "fullname" . }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
{{- end }}

Просмотреть файл

@ -1,17 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.portName }}
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}

Просмотреть файл

@ -1,29 +0,0 @@
# Default values for orderservice.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
apiversion:
deployment: apps/v1beta1 # for versions 1.8+ use apps/v1beta2
image:
repository: mypumrpmicro.azurecr.io/pumrp
name: pumrp-dealer
tag: latest
pullPolicy: Always
labels:
tier: backend
link: PartsUnlimitedMrp
service:
name: dealer-service
type: ClusterIP
portName: http
externalPort: 80
internalPort: 8080
imagePullSecrets: puregistrykey
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi

Просмотреть файл

@ -1,21 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj

Просмотреть файл

@ -1,9 +0,0 @@
apiVersion: v1
description: A Helm chart for Order Service
name: orderservice
version: 0.1.0
sources:
- https://dxdevop.visualstudio.com/mrpmicro/_git/code
maintainers:
- name: Parts Unlimited MRP GitHub Team
engine: gotpl

Просмотреть файл

@ -1,15 +0,0 @@
1. Get the application URL by running these commands:
{{- if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/login
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ template "fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "fullname" . }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
{{- end }}

Просмотреть файл

@ -1,16 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
*/}}
{{- define "fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}

Просмотреть файл

@ -1,24 +0,0 @@
apiVersion: {{ .Values.apiversion.deployment }}
kind: Deployment
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
replicas: {{ .Values.replicaCount }}
template:
metadata:
labels:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: {{ .Values.service.portName }}
containerPort: {{ .Values.service.internalPort }}
imagePullSecrets:
- name: {{ .Values.service.imagePullSecrets }}

Просмотреть файл

@ -1,17 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.portName }}
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}

Просмотреть файл

@ -1,29 +0,0 @@
# Default values for orderservice.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
apiversion:
deployment: apps/v1beta1 # for versions 1.8+ use apps/v1beta2
image:
repository: mypumrpmicro.azurecr.io/pumrp
name: pumrp-order
tag: latest
pullPolicy: Always
labels:
tier: backend
link: PartsUnlimitedMrp
service:
name: order-service
type: ClusterIP
portName: http
externalPort: 80
internalPort: 8080
imagePullSecrets: puregistrykey
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi

Просмотреть файл

@ -1,21 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj

Просмотреть файл

@ -1,9 +0,0 @@
apiVersion: v1
description: A Helm chart for Parts Unlimited Mrp
name: partsunlimitedmrp
version: 0.1.0
sources:
- https://dxdevop.visualstudio.com/mrpmicro/_git/code
maintainers:
- name: Parts Unlimited MRP GitHub Team
engine: gotpl

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,3 +0,0 @@
apiVersion: v1
entries: {}
generated: 2017-03-10T12:31:05.4896309+05:30

Просмотреть файл

@ -1,15 +0,0 @@
apiVersion: v1
generated: 2017-03-10T12:31:04.5110303+05:30
repositories:
- caFile: ""
cache: .helm\repository\cache\stable-index.yaml
certFile: ""
keyFile: ""
name: stable
url: https://kubernetes-charts.storage.googleapis.com
- caFile: ""
cache: .helm\repository\cache\local-index.yaml
certFile: ""
keyFile: ""
name: local
url: http://127.0.0.1:8879/charts

Просмотреть файл

@ -1,15 +0,0 @@
1. Get the application URL by running these commands:
{{- if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/login
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ template "fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "fullname" . }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
{{- end }}

Просмотреть файл

@ -1,16 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
*/}}
{{- define "fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}

Просмотреть файл

@ -1,24 +0,0 @@
apiVersion: {{ .Values.apiversion.deployment }}
kind: Deployment
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
replicas: {{ .Values.replicaCount }}
template:
metadata:
labels:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: {{ .Values.service.portName }}
containerPort: {{ .Values.service.internalPort }}
imagePullSecrets:
- name: {{ .Values.service.imagePullSecrets }}

Просмотреть файл

@ -1,17 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}

Просмотреть файл

@ -1,21 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj

Просмотреть файл

@ -1,16 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
*/}}
{{- define "fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}

Просмотреть файл

@ -1,21 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj

Просмотреть файл

@ -1,9 +0,0 @@
apiVersion: v1
description: A Helm chart for Quotes Service
name: quoteservice
version: 0.1.0
sources:
- https://dxdevop.visualstudio.com/mrpmicro/_git/code
maintainers:
- name: Parts Unlimited MRP GitHub Team
engine: gotpl

Просмотреть файл

@ -1,15 +0,0 @@
1. Get the application URL by running these commands:
{{- if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/login
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ template "fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "fullname" . }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
{{- end }}

Просмотреть файл

@ -1,16 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
*/}}
{{- define "fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}

Просмотреть файл

@ -1,24 +0,0 @@
apiVersion: {{ .Values.apiversion.deployment }}
kind: Deployment
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
replicas: {{ .Values.replicaCount }}
template:
metadata:
labels:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: {{ .Values.service.portName }}
containerPort: {{ .Values.service.internalPort }}
imagePullSecrets:
- name: {{ .Values.service.imagePullSecrets }}

Просмотреть файл

@ -1,17 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.portName }}
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}

Просмотреть файл

@ -1,29 +0,0 @@
# Default values for orderservice.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
apiversion:
deployment: apps/v1beta1 # for versions 1.8+ use apps/v1beta2
image:
repository: mypumrpmicro.azurecr.io/pumrp
name: pumrp-quote
tag: latest
pullPolicy: Always
labels:
tier: backend
link: PartsUnlimitedMrp
service:
name: quote-service
type: ClusterIP
portName: http
externalPort: 80
internalPort: 8080
imagePullSecrets: puregistrykey
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi

Просмотреть файл

@ -1,21 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj

Просмотреть файл

@ -1,9 +0,0 @@
apiVersion: v1
description: A Helm chart for Shipment Service
name: shipmentservice
version: 0.1.0
sources:
- https://dxdevop.visualstudio.com/mrpmicro/_git/code
maintainers:
- name: Parts Unlimited MRP GitHub Team
engine: gotpl

Просмотреть файл

@ -1,15 +0,0 @@
1. Get the application URL by running these commands:
{{- if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/login
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ template "fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "fullname" . }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
{{- end }}

Просмотреть файл

@ -1,16 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
*/}}
{{- define "fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}

Просмотреть файл

@ -1,24 +0,0 @@
apiVersion: {{ .Values.apiversion.deployment }}
kind: Deployment
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
replicas: {{ .Values.replicaCount }}
template:
metadata:
labels:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: {{ .Values.service.portName }}
containerPort: {{ .Values.service.internalPort }}
imagePullSecrets:
- name: {{ .Values.service.imagePullSecrets }}

Просмотреть файл

@ -1,17 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.portName }}
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}

Просмотреть файл

@ -1,29 +0,0 @@
# Default values for orderservice.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
apiversion:
deployment: apps/v1beta1 # for versions 1.8+ use apps/v1beta2
image:
repository: mypumrpmicro.azurecr.io/pumrp
name: pumrp-shipment
tag: latest
pullPolicy: Always
labels:
tier: backend
link: PartsUnlimitedMrp
service:
name: shipment-service
type: ClusterIP
portName: http
externalPort: 80
internalPort: 8080
imagePullSecrets: puregistrykey
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi

Просмотреть файл

@ -1,21 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj

Просмотреть файл

@ -1,15 +0,0 @@
1. Get the application URL by running these commands:
{{- if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/login
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ template "fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "fullname" . }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:{{ .Values.service.externalPort }}
{{- end }}

Просмотреть файл

@ -1,16 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
*/}}
{{- define "fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}

Просмотреть файл

@ -1,17 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.portName }}
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}

Просмотреть файл

@ -1,21 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj

Просмотреть файл

@ -1,9 +0,0 @@
apiVersion: v1
description: A Helm chart for the entire Parts Unlimited Mrp application suite
name: partsunlimitedmrp
version: 0.1.1
sources:
- https://github.com/Microsoft/PartsUnlimitedMRPmicro
maintainers:
- name: Parts Unlimited MRP GitHub Team
engine: gotpl

Просмотреть файл

@ -1,21 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj

Просмотреть файл

@ -1,9 +0,0 @@
apiVersion: v1
description: A Helm chart for Catalog Service
name: catalogservice
version: 0.1.1
sources:
- https://dxdevop.visualstudio.com/mrpmicro/_git/code
maintainers:
- name: Parts Unlimited MRP GitHub Team
engine: gotpl

Просмотреть файл

@ -1,15 +0,0 @@
1. Get the application URL by running these commands:
{{- if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/login
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ template "fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "fullname" . }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
{{- end }}

Просмотреть файл

@ -1,16 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
*/}}
{{- define "fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}

Просмотреть файл

@ -1,24 +0,0 @@
apiVersion: {{ .Values.global.apiversion.deployment }}
kind: Deployment
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
replicas: {{ .Values.replicaCount }}
template:
metadata:
labels:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: {{ .Values.service.portName }}
containerPort: {{ .Values.service.internalPort }}
imagePullSecrets:
- name: {{ .Values.service.imagePullSecrets }}

Просмотреть файл

@ -1,17 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.portName }}
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}

Просмотреть файл

@ -1,25 +0,0 @@
# Default values for orderservice.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
name: pumrp-catalog
tag: latest
pullPolicy: IfNotPresent
labels:
tier: backend
link: PartsUnlimitedMrp
service:
name: catalog-service
type: ClusterIP
portName: http
externalPort: 80
internalPort: 8080
imagePullSecrets: puregistrykey
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi

Просмотреть файл

@ -1,21 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj

Просмотреть файл

@ -1,9 +0,0 @@
apiVersion: v1
description: A Helm chart for Dealer Service
name: dealerservice
version: 0.1.1
sources:
- https://dxdevop.visualstudio.com/mrpmicro/_git/code
maintainers:
- name: Parts Unlimited MRP GitHub Team
engine: gotpl

Просмотреть файл

@ -1,15 +0,0 @@
1. Get the application URL by running these commands:
{{- if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/login
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ template "fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "fullname" . }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
{{- end }}

Просмотреть файл

@ -1,16 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
*/}}
{{- define "fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}

Просмотреть файл

@ -1,24 +0,0 @@
apiVersion: {{ .Values.global.apiversion.deployment }}
kind: Deployment
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
replicas: {{ .Values.replicaCount }}
template:
metadata:
labels:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: {{ .Values.service.portName }}
containerPort: {{ .Values.service.internalPort }}
imagePullSecrets:
- name: {{ .Values.service.imagePullSecrets }}

Просмотреть файл

@ -1,17 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.portName }}
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ template "fullname" . }}
tier: {{ .Values.labels.tier }}
link: {{ .Values.labels.link }}

Просмотреть файл

@ -1,26 +0,0 @@
# Default values for orderservice.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
name: pumrp-dealer
tag: latest
pullPolicy: IfNotPresent
labels:
tier: backend
link: PartsUnlimitedMrp
service:
name: dealer-service
type: ClusterIP
portName: http
externalPort: 80
internalPort: 8080
imagePullSecrets: puregistrykey
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi

Просмотреть файл

@ -1,21 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше