These demo applications are packaged to allow px deploy
to access them. The manifest.json
file describes the demo scenarios.
- For best results when running the continuous profiler, all Java applications should be run with
-XX:+PreserveFramePointer
.
-
Add a folder containing the demo yaml and license file.
-
Add the demo to the
manifest.json
file. -
Test the CLI:
-
(Optional) Update the GCS bucket in the
demos/BUILD.bazel
demo_upload step. Set the artifacts URL appropriately.export DEV_DEMO_ARTIFACTS_URL=https://storage.googleapis.com/pl-infra-dev-artifacts/dev-demo-apps
-
Upload the demo artifacts to the dev bucket:
bazel run //demos:upload_dev_demo
-
Test the CLI with the dev artifacts:
px demo list --artifacts "${DEV_DEMO_ARTIFACTS_URL}" px demo deploy <DEMO_NAME> --artifacts "${DEV_DEMO_ARTIFACTS_URL}"
-
-
After your PR is merged, upload the demo artifacts to the prod bucket:
bazel run //demos:upload_prod_demo
-
Clone
https://github.com/pixie-io/microservice-kafka
and switch to thepixie
branch. -
(optional) Build the container image & update the individual yaml files.
-
Build a single yaml file for the demo:
kustomize build . > kafka.yaml
-
Copy the yaml file to
pixie/demos/kafka
.
-
Clone
https://github.com/pixie-io/spring-petclinic-reactive
-
Build the k8s manifests with kustomize
spring-petclinic-reactive-root-dir $ kustomize build . > petclinic.yaml
-
Clone
https://github.com/k8ssandra/k8ssandra-operator
and checkout thev1.6.1
tag. -
Build the manifests needed to install the CRDs and k8ssandra control plane
# Your kustomize version must be v4.5.7 or newer for these configs k8ssandra-operator-root-dir $ cd config/crd # Edit config/crd/kustomization.yaml to append the following: # commonLabels: # pixie-demo: px-k8ssandra kustomize build . > crd.yaml k8ssandra-operator-root-dir $ cd config/deployments/control-plane/cluster-scope # Edit config/deployments/control-plane/cluster-scope/kustomization.yaml to append the following: # commonLabels: # pixie-demo: px-k8ssandra kustomize build . > k8ssandra-control-plane.yaml
-
Concatenate the yaml files in the order specified below and copy it into
pixie/demos/k8ssandra
.cat crd.yaml k8ssandra-control-plane.yaml petclinic.yaml > demos/k8ssandra/k8ssandra.yaml
-
Replace all occurrences of the k8ssandra-operator namespace. At the time of this writing, the areas to search and replace include the namespace field for a given resource in addition to the cert-manager annotations (cert-manager.io/inject-ca-from). Note: there may be kustomize variables used for the cert-manager.io/inject-ca-from annotation, so ensure all usages reference the px-k8ssandra namespace.
-
Clone
https://github.com/pixie-io/mern-k8s
-
(optional) Build the container images & update the individual yaml files.
-
Build a single yaml file for the demo:
kustomize build . > mongodb.yaml
-
Copy the yaml file to
pixie/demos/mongodb
.
-
Clone
https://github.com/pixie-io/finagle-helloworld
-
(optional) Build the container images & update the individual yaml files.
-
Build a single yaml file for the demo:
kustomize . > finagle.yaml
-
Copy the yaml file to
pixie/demos/finagle
.
Our custom adservice
image includes the -XX:+PreserveFramePointer
Java option. To build our custom adservice
image:
-
Clone
https://github.com/pixie-io/microservices-demo
and switch to thepixie
branch. -
Run the following commands:
cd src/adservice docker build -t gcr.io/pixie-prod/demos/microservices-demo-app/adservice:1.0 . docker push gcr.io/pixie-prod/demos/microservices-demo-app/adservice:1.0