From a6dd135ac431df034ce5229496ddf1807eb95870 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 17 Oct 2023 11:42:06 -0700 Subject: [PATCH 1/6] Add Kuberenetes tutorial content --- .gitattributes | 3 ++- demo/Chart/Chart.yaml | 5 +++++ demo/Chart/templates/app.yaml | 25 +++++++++++++++++++++++++ demo/Chart/values.yaml | 3 +++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 demo/Chart/Chart.yaml create mode 100644 demo/Chart/templates/app.yaml create mode 100644 demo/Chart/values.yaml diff --git a/.gitattributes b/.gitattributes index b0de1df1..dc9cbb5d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,5 @@ # text files use OS defaults on checkout, LF on checkin * text eol=auto # images are binary -*.png binary \ No newline at end of file +*.png binary +*.ico binary \ No newline at end of file diff --git a/demo/Chart/Chart.yaml b/demo/Chart/Chart.yaml new file mode 100644 index 00000000..19a18b9d --- /dev/null +++ b/demo/Chart/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: "0.1.0" +version: 0.1.0 +name: demo +description: A Helm chart for the Radius demo application. \ No newline at end of file diff --git a/demo/Chart/templates/app.yaml b/demo/Chart/templates/app.yaml new file mode 100644 index 00000000..c9c62e11 --- /dev/null +++ b/demo/Chart/templates/app.yaml @@ -0,0 +1,25 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: webapp + namespace: {{ .Release.Namespace }} +spec: + selector: + matchLabels: + app: webapp + template: + metadata: + labels: + app: webapp + spec: + containers: + - name: webapp + image: {{ .Values.image.repository }}:{{ .Values.image.tag }} + env: + - name: CONNECTION_REDIS_URL + valueFrom: + secretKeyRef: + name: redis-secret + key: url + ports: + - containerPort: 3000 \ No newline at end of file diff --git a/demo/Chart/values.yaml b/demo/Chart/values.yaml new file mode 100644 index 00000000..abee0277 --- /dev/null +++ b/demo/Chart/values.yaml @@ -0,0 +1,3 @@ +image: + repository: radius.azurecr.io/tutorial/webapp + tag: edge \ No newline at end of file From 5367cad18bfc98f3d0bacaa77072da8d7792a835 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 17 Oct 2023 12:26:59 -0700 Subject: [PATCH 2/6] Update demo/Chart/values.yaml Co-authored-by: Aaron Crawfis --- demo/Chart/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/Chart/values.yaml b/demo/Chart/values.yaml index abee0277..0073975f 100644 --- a/demo/Chart/values.yaml +++ b/demo/Chart/values.yaml @@ -1,3 +1,3 @@ image: repository: radius.azurecr.io/tutorial/webapp - tag: edge \ No newline at end of file + tag: latest \ No newline at end of file From ac3b28749b7b79bac4401e0fbf94d2ea31a709a3 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 17 Oct 2023 12:27:09 -0700 Subject: [PATCH 3/6] Update demo/Chart/values.yaml Co-authored-by: Aaron Crawfis --- demo/Chart/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/Chart/values.yaml b/demo/Chart/values.yaml index 0073975f..9751b981 100644 --- a/demo/Chart/values.yaml +++ b/demo/Chart/values.yaml @@ -1,3 +1,3 @@ image: - repository: radius.azurecr.io/tutorial/webapp + repository: ghcr.io/radius-project/samples/demo tag: latest \ No newline at end of file From a3adfe3502b43adbe42fb63cbd32e530827b0358 Mon Sep 17 00:00:00 2001 From: Will <28876888+willtsai@users.noreply.github.com> Date: Fri, 20 Oct 2023 09:12:07 -0700 Subject: [PATCH 4/6] k8s guestbook application example for use in tutorial (#626) * copy over k8s guestbook application example for use in tutorial Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Jonathan Smith --------- Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com> Co-authored-by: Jonathan Smith --- samples/README.md | 4 +-- samples/kubernetes/guestbook/README.md | 5 +++ .../guestbook/deploy/frontend-deployment.yaml | 33 +++++++++++++++++ .../guestbook/deploy/frontend-service.yaml | 18 ++++++++++ .../deploy/redis-master-deployment.yaml | 27 ++++++++++++++ .../deploy/redis-master-service.yaml | 16 +++++++++ .../deploy/redis-replica-deployment.yaml | 35 +++++++++++++++++++ .../deploy/redis-replica-service.yaml | 15 ++++++++ 8 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 samples/kubernetes/guestbook/README.md create mode 100644 samples/kubernetes/guestbook/deploy/frontend-deployment.yaml create mode 100644 samples/kubernetes/guestbook/deploy/frontend-service.yaml create mode 100644 samples/kubernetes/guestbook/deploy/redis-master-deployment.yaml create mode 100644 samples/kubernetes/guestbook/deploy/redis-master-service.yaml create mode 100644 samples/kubernetes/guestbook/deploy/redis-replica-deployment.yaml create mode 100644 samples/kubernetes/guestbook/deploy/redis-replica-service.yaml diff --git a/samples/README.md b/samples/README.md index fb0fa912..5c1bd27e 100644 --- a/samples/README.md +++ b/samples/README.md @@ -1,6 +1,6 @@ -# Reference applicatins +# Reference applications -Reference apps are templates that show a complete app. You are able to clone and deploy any of these apps to try out various Project Radius functionality. +Clone and deploy reference applications to learn more about Radius. | Reference app | Description | |---------------|-------------| diff --git a/samples/kubernetes/guestbook/README.md b/samples/kubernetes/guestbook/README.md new file mode 100644 index 00000000..34b0c930 --- /dev/null +++ b/samples/kubernetes/guestbook/README.md @@ -0,0 +1,5 @@ +# Kubernetes Guestbook application example + +This is an example containerized Guestbook application originally authored by the Kubernetes community for use in their own tutorial. The application's Kubernetes deployment manifests copied over from the Kubernetes source [repo](https://github.com/kubernetes/examples/tree/master/guestbook) are contained in the `deploy` directory. + +The Guestbook application consists of a web front end along with primary and secondary Redis containers for storage, all deployed with Kubernetes. For more information about the application and accessing its source code, see the [Kubernetes tutorial](https://kubernetes.io/docs/tutorials/stateless-application/guestbook/) and their [examples repo](https://github.com/kubernetes/examples/tree/master/guestbook). \ No newline at end of file diff --git a/samples/kubernetes/guestbook/deploy/frontend-deployment.yaml b/samples/kubernetes/guestbook/deploy/frontend-deployment.yaml new file mode 100644 index 00000000..2b08cc9d --- /dev/null +++ b/samples/kubernetes/guestbook/deploy/frontend-deployment.yaml @@ -0,0 +1,33 @@ +apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1 +kind: Deployment +metadata: + name: frontend +spec: + selector: + matchLabels: + app: guestbook + tier: frontend + replicas: 3 + template: + metadata: + labels: + app: guestbook + tier: frontend + spec: + containers: + - name: php-redis + image: gcr.io/google-samples/gb-frontend:v4 + resources: + requests: + cpu: 100m + memory: 100Mi + env: + - name: GET_HOSTS_FROM + value: dns + # If your cluster config does not include a dns service, then to + # instead access environment variables to find service host + # info, comment out the 'value: dns' line above, and uncomment the + # line below: + # value: env + ports: + - containerPort: 80 diff --git a/samples/kubernetes/guestbook/deploy/frontend-service.yaml b/samples/kubernetes/guestbook/deploy/frontend-service.yaml new file mode 100644 index 00000000..dca33530 --- /dev/null +++ b/samples/kubernetes/guestbook/deploy/frontend-service.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: frontend + labels: + app: guestbook + tier: frontend +spec: + # comment or delete the following line if you want to use a LoadBalancer + type: NodePort + # if your cluster supports it, uncomment the following to automatically create + # an external load-balanced IP for the frontend service. + # type: LoadBalancer + ports: + - port: 80 + selector: + app: guestbook + tier: frontend diff --git a/samples/kubernetes/guestbook/deploy/redis-master-deployment.yaml b/samples/kubernetes/guestbook/deploy/redis-master-deployment.yaml new file mode 100644 index 00000000..5a76f05d --- /dev/null +++ b/samples/kubernetes/guestbook/deploy/redis-master-deployment.yaml @@ -0,0 +1,27 @@ +apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1 +kind: Deployment +metadata: + name: redis-master +spec: + selector: + matchLabels: + app: redis + role: master + tier: backend + replicas: 1 + template: + metadata: + labels: + app: redis + role: master + tier: backend + spec: + containers: + - name: master + image: registry.k8s.io/redis:e2e # or just image: redis + resources: + requests: + cpu: 100m + memory: 100Mi + ports: + - containerPort: 6379 diff --git a/samples/kubernetes/guestbook/deploy/redis-master-service.yaml b/samples/kubernetes/guestbook/deploy/redis-master-service.yaml new file mode 100644 index 00000000..a484014f --- /dev/null +++ b/samples/kubernetes/guestbook/deploy/redis-master-service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: redis-master + labels: + app: redis + role: master + tier: backend +spec: + ports: + - port: 6379 + targetPort: 6379 + selector: + app: redis + role: master + tier: backend diff --git a/samples/kubernetes/guestbook/deploy/redis-replica-deployment.yaml b/samples/kubernetes/guestbook/deploy/redis-replica-deployment.yaml new file mode 100644 index 00000000..c1e8ca31 --- /dev/null +++ b/samples/kubernetes/guestbook/deploy/redis-replica-deployment.yaml @@ -0,0 +1,35 @@ +apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1 +kind: Deployment +metadata: + name: redis-replica +spec: + selector: + matchLabels: + app: redis + role: replica + tier: backend + replicas: 2 + template: + metadata: + labels: + app: redis + role: replica + tier: backend + spec: + containers: + - name: slave + image: gcr.io/google_samples/gb-redisslave:v1 + resources: + requests: + cpu: 100m + memory: 100Mi + env: + - name: GET_HOSTS_FROM + value: dns + # If your cluster config does not include a dns service, then to + # instead access an environment variable to find the master + # service's host, comment out the 'value: dns' line above, and + # uncomment the line below: + # value: env + ports: + - containerPort: 6379 diff --git a/samples/kubernetes/guestbook/deploy/redis-replica-service.yaml b/samples/kubernetes/guestbook/deploy/redis-replica-service.yaml new file mode 100644 index 00000000..90172bbf --- /dev/null +++ b/samples/kubernetes/guestbook/deploy/redis-replica-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: redis-replica + labels: + app: redis + role: replica + tier: backend +spec: + ports: + - port: 6379 + selector: + app: redis + role: replica + tier: backend From 47f8af160a1a9f141c56531a9d6bfc9f00cc24c4 Mon Sep 17 00:00:00 2001 From: Reshma Abdul Rahim Date: Tue, 24 Oct 2023 11:30:56 -0400 Subject: [PATCH 5/6] Rebase to v0.26 --- samples/README.md | 2 +- samples/kubernetes/guestbook/README.md | 5 --- .../guestbook/deploy/frontend-deployment.yaml | 33 ----------------- .../guestbook/deploy/frontend-service.yaml | 18 ---------- .../deploy/redis-master-deployment.yaml | 27 -------------- .../deploy/redis-master-service.yaml | 16 --------- .../deploy/redis-replica-deployment.yaml | 35 ------------------- .../deploy/redis-replica-service.yaml | 15 -------- 8 files changed, 1 insertion(+), 150 deletions(-) delete mode 100644 samples/kubernetes/guestbook/README.md delete mode 100644 samples/kubernetes/guestbook/deploy/frontend-deployment.yaml delete mode 100644 samples/kubernetes/guestbook/deploy/frontend-service.yaml delete mode 100644 samples/kubernetes/guestbook/deploy/redis-master-deployment.yaml delete mode 100644 samples/kubernetes/guestbook/deploy/redis-master-service.yaml delete mode 100644 samples/kubernetes/guestbook/deploy/redis-replica-deployment.yaml delete mode 100644 samples/kubernetes/guestbook/deploy/redis-replica-service.yaml diff --git a/samples/README.md b/samples/README.md index 5c1bd27e..bca12942 100644 --- a/samples/README.md +++ b/samples/README.md @@ -1,6 +1,6 @@ # Reference applications -Clone and deploy reference applications to learn more about Radius. +Reference apps are templates that show a complete app. You are able to clone and deploy any of these apps to try out various Project Radius functionality. | Reference app | Description | |---------------|-------------| diff --git a/samples/kubernetes/guestbook/README.md b/samples/kubernetes/guestbook/README.md deleted file mode 100644 index 34b0c930..00000000 --- a/samples/kubernetes/guestbook/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Kubernetes Guestbook application example - -This is an example containerized Guestbook application originally authored by the Kubernetes community for use in their own tutorial. The application's Kubernetes deployment manifests copied over from the Kubernetes source [repo](https://github.com/kubernetes/examples/tree/master/guestbook) are contained in the `deploy` directory. - -The Guestbook application consists of a web front end along with primary and secondary Redis containers for storage, all deployed with Kubernetes. For more information about the application and accessing its source code, see the [Kubernetes tutorial](https://kubernetes.io/docs/tutorials/stateless-application/guestbook/) and their [examples repo](https://github.com/kubernetes/examples/tree/master/guestbook). \ No newline at end of file diff --git a/samples/kubernetes/guestbook/deploy/frontend-deployment.yaml b/samples/kubernetes/guestbook/deploy/frontend-deployment.yaml deleted file mode 100644 index 2b08cc9d..00000000 --- a/samples/kubernetes/guestbook/deploy/frontend-deployment.yaml +++ /dev/null @@ -1,33 +0,0 @@ -apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1 -kind: Deployment -metadata: - name: frontend -spec: - selector: - matchLabels: - app: guestbook - tier: frontend - replicas: 3 - template: - metadata: - labels: - app: guestbook - tier: frontend - spec: - containers: - - name: php-redis - image: gcr.io/google-samples/gb-frontend:v4 - resources: - requests: - cpu: 100m - memory: 100Mi - env: - - name: GET_HOSTS_FROM - value: dns - # If your cluster config does not include a dns service, then to - # instead access environment variables to find service host - # info, comment out the 'value: dns' line above, and uncomment the - # line below: - # value: env - ports: - - containerPort: 80 diff --git a/samples/kubernetes/guestbook/deploy/frontend-service.yaml b/samples/kubernetes/guestbook/deploy/frontend-service.yaml deleted file mode 100644 index dca33530..00000000 --- a/samples/kubernetes/guestbook/deploy/frontend-service.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: frontend - labels: - app: guestbook - tier: frontend -spec: - # comment or delete the following line if you want to use a LoadBalancer - type: NodePort - # if your cluster supports it, uncomment the following to automatically create - # an external load-balanced IP for the frontend service. - # type: LoadBalancer - ports: - - port: 80 - selector: - app: guestbook - tier: frontend diff --git a/samples/kubernetes/guestbook/deploy/redis-master-deployment.yaml b/samples/kubernetes/guestbook/deploy/redis-master-deployment.yaml deleted file mode 100644 index 5a76f05d..00000000 --- a/samples/kubernetes/guestbook/deploy/redis-master-deployment.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1 -kind: Deployment -metadata: - name: redis-master -spec: - selector: - matchLabels: - app: redis - role: master - tier: backend - replicas: 1 - template: - metadata: - labels: - app: redis - role: master - tier: backend - spec: - containers: - - name: master - image: registry.k8s.io/redis:e2e # or just image: redis - resources: - requests: - cpu: 100m - memory: 100Mi - ports: - - containerPort: 6379 diff --git a/samples/kubernetes/guestbook/deploy/redis-master-service.yaml b/samples/kubernetes/guestbook/deploy/redis-master-service.yaml deleted file mode 100644 index a484014f..00000000 --- a/samples/kubernetes/guestbook/deploy/redis-master-service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: redis-master - labels: - app: redis - role: master - tier: backend -spec: - ports: - - port: 6379 - targetPort: 6379 - selector: - app: redis - role: master - tier: backend diff --git a/samples/kubernetes/guestbook/deploy/redis-replica-deployment.yaml b/samples/kubernetes/guestbook/deploy/redis-replica-deployment.yaml deleted file mode 100644 index c1e8ca31..00000000 --- a/samples/kubernetes/guestbook/deploy/redis-replica-deployment.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1 -kind: Deployment -metadata: - name: redis-replica -spec: - selector: - matchLabels: - app: redis - role: replica - tier: backend - replicas: 2 - template: - metadata: - labels: - app: redis - role: replica - tier: backend - spec: - containers: - - name: slave - image: gcr.io/google_samples/gb-redisslave:v1 - resources: - requests: - cpu: 100m - memory: 100Mi - env: - - name: GET_HOSTS_FROM - value: dns - # If your cluster config does not include a dns service, then to - # instead access an environment variable to find the master - # service's host, comment out the 'value: dns' line above, and - # uncomment the line below: - # value: env - ports: - - containerPort: 6379 diff --git a/samples/kubernetes/guestbook/deploy/redis-replica-service.yaml b/samples/kubernetes/guestbook/deploy/redis-replica-service.yaml deleted file mode 100644 index 90172bbf..00000000 --- a/samples/kubernetes/guestbook/deploy/redis-replica-service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: redis-replica - labels: - app: redis - role: replica - tier: backend -spec: - ports: - - port: 6379 - selector: - app: redis - role: replica - tier: backend From b19c6bdf92571ec52fbe1e773367fdfbe3c4c664 Mon Sep 17 00:00:00 2001 From: Reshma Abdul Rahim Date: Tue, 24 Oct 2023 11:34:18 -0400 Subject: [PATCH 6/6] move chat templatesto samples --- {demo => samples/demo}/Chart/Chart.yaml | 0 {demo => samples/demo}/Chart/templates/app.yaml | 0 {demo => samples/demo}/Chart/values.yaml | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename {demo => samples/demo}/Chart/Chart.yaml (100%) rename {demo => samples/demo}/Chart/templates/app.yaml (100%) rename {demo => samples/demo}/Chart/values.yaml (100%) diff --git a/demo/Chart/Chart.yaml b/samples/demo/Chart/Chart.yaml similarity index 100% rename from demo/Chart/Chart.yaml rename to samples/demo/Chart/Chart.yaml diff --git a/demo/Chart/templates/app.yaml b/samples/demo/Chart/templates/app.yaml similarity index 100% rename from demo/Chart/templates/app.yaml rename to samples/demo/Chart/templates/app.yaml diff --git a/demo/Chart/values.yaml b/samples/demo/Chart/values.yaml similarity index 100% rename from demo/Chart/values.yaml rename to samples/demo/Chart/values.yaml