From f0b5e2d7c5c4bb77a2b14a8dc4ba85ec63dc1b12 Mon Sep 17 00:00:00 2001 From: Marek Siarkowicz Date: Thu, 15 Mar 2018 23:32:24 +0100 Subject: [PATCH] Remove examples directory --- build/lib/release.sh | 1 - build/release-tars/BUILD | 1 - build/root/BUILD.root | 1 - build/visible_to/README.md | 2 +- examples/BUILD | 70 -- examples/OWNERS | 10 - examples/README.md | 1 - ...stent-volume-label-initializer-config.yaml | 13 - examples/cluster-dns/README.md | 1 - examples/cluster-dns/dns-backend-rc.yaml | 21 - examples/cluster-dns/dns-backend-service.yaml | 9 - examples/cluster-dns/dns-frontend-pod.yaml | 16 - .../cluster-dns/images/backend/Dockerfile | 20 - examples/cluster-dns/images/backend/Makefile | 27 - examples/cluster-dns/images/backend/server.py | 37 - .../cluster-dns/images/frontend/Dockerfile | 22 - examples/cluster-dns/images/frontend/Makefile | 27 - .../cluster-dns/images/frontend/client.py | 46 - examples/cluster-dns/namespace-dev.yaml | 6 - examples/cluster-dns/namespace-prod.yaml | 6 - examples/cockroachdb/OWNERS | 4 - examples/cockroachdb/README.md | 1 - .../cockroachdb/cockroachdb-statefulset.yaml | 171 ---- examples/cockroachdb/demo.sh | 48 - examples/cockroachdb/minikube.sh | 72 -- examples/cpu-manager/OWNERS | 6 - examples/cpu-manager/README.md | 62 -- examples/cpu-manager/be.yaml | 8 - examples/cpu-manager/exclusive-1.yaml | 15 - examples/cpu-manager/exclusive-2.yaml | 15 - examples/cpu-manager/exclusive-3.yaml | 15 - examples/cpu-manager/exclusive-4.yaml | 15 - examples/cpu-manager/pod-ips | 26 - examples/cpu-manager/shared.yaml | 11 - examples/doc.go | 18 - examples/elasticsearch/README.md | 1 - examples/examples_test.go | 466 ---------- examples/explorer/BUILD | 32 - examples/explorer/Dockerfile | 19 - examples/explorer/Makefile | 30 - examples/explorer/README.md | 1 - examples/explorer/explorer.go | 122 --- examples/explorer/pod.yaml | 18 - examples/guestbook-go/.gitignore | 1 - examples/guestbook-go/BUILD | 36 - examples/guestbook-go/Dockerfile | 24 - examples/guestbook-go/Makefile | 41 - examples/guestbook-go/README.md | 1 - .../guestbook-go/guestbook-controller.json | 37 - examples/guestbook-go/guestbook-page.png | Bin 40028 -> 0 bytes examples/guestbook-go/guestbook-service.json | 22 - examples/guestbook-go/main.go | 91 -- examples/guestbook-go/public/index.html | 34 - examples/guestbook-go/public/script.js | 46 - examples/guestbook-go/public/style.css | 61 -- .../guestbook-go/redis-master-controller.json | 40 - .../guestbook-go/redis-master-service.json | 23 - .../guestbook-go/redis-slave-controller.json | 40 - .../guestbook-go/redis-slave-service.json | 23 - examples/guestbook/README.md | 1 - examples/guestbook/all-in-one/frontend.yaml | 46 - .../all-in-one/guestbook-all-in-one.yaml | 133 --- .../guestbook/all-in-one/redis-slave.yaml | 46 - examples/guestbook/frontend-deployment.yaml | 29 - examples/guestbook/frontend-service.yaml | 16 - examples/guestbook/php-redis/Dockerfile | 31 - examples/guestbook/php-redis/controllers.js | 29 - examples/guestbook/php-redis/guestbook.php | 41 - examples/guestbook/php-redis/index.html | 25 - .../guestbook/redis-master-deployment.yaml | 22 - examples/guestbook/redis-master-service.yaml | 16 - .../guestbook/redis-slave-deployment.yaml | 30 - examples/guestbook/redis-slave-service.yaml | 15 - examples/guestbook/redis-slave/Dockerfile | 21 - examples/guestbook/redis-slave/run.sh | 21 - examples/guidelines.md | 88 -- examples/https-nginx/BUILD | 38 - examples/https-nginx/Dockerfile | 24 - examples/https-nginx/Makefile | 38 - examples/https-nginx/README.md | 1 - examples/https-nginx/auto-reload-nginx.sh | 30 - examples/https-nginx/default.conf | 17 - examples/https-nginx/index2.html | 28 - examples/https-nginx/make_secret.go | 71 -- examples/https-nginx/nginx-app.yaml | 54 -- examples/javaee/README.md | 1 - examples/javaee/mysql-pod.yaml | 28 - examples/javaee/mysql-service.yaml | 15 - examples/javaee/wildfly-rc.yaml | 19 - examples/javaweb-tomcat-sidecar/README.md | 1 - .../javaweb-tomcat-sidecar/javaweb-2.yaml | 31 - examples/javaweb-tomcat-sidecar/javaweb.yaml | 24 - examples/javaweb-tomcat-sidecar/workflow.png | Bin 46353 -> 0 bytes examples/job/expansions/README.md | 1 - examples/job/work-queue-1/README.md | 1 - examples/job/work-queue-2/README.md | 1 - examples/kubectl-container/.gitignore | 2 - examples/kubectl-container/Dockerfile | 17 - examples/kubectl-container/Makefile | 48 - examples/kubectl-container/README.md | 1 - examples/kubectl-container/pod.json | 53 -- examples/meteor/README.md | 1 - examples/meteor/dockerbase/Dockerfile | 31 - examples/meteor/dockerbase/README.md | 1 - examples/meteor/meteor-controller.json | 34 - examples/meteor/meteor-service.json | 25 - examples/meteor/mongo-pod.json | 40 - examples/meteor/mongo-service.json | 22 - examples/mysql-cinder-pd/README.md | 1 - examples/mysql-cinder-pd/mysql-service.yaml | 13 - examples/mysql-cinder-pd/mysql.yaml | 33 - examples/mysql-wordpress-pd/OWNERS | 20 - examples/mysql-wordpress-pd/README.md | 1 - examples/mysql-wordpress-pd/WordPress.png | Bin 28948 -> 0 bytes examples/mysql-wordpress-pd/gce-volumes.yaml | 25 - .../mysql-wordpress-pd/local-volumes.yaml | 27 - .../mysql-wordpress-pd/mysql-deployment.yaml | 63 -- .../wordpress-deployment.yaml | 63 -- examples/newrelic-infrastructure/.gitignore | 1 - examples/newrelic-infrastructure/README.md | 146 --- .../config-to-secret.sh | 20 - .../newrelic-config-template.yaml | 7 - .../newrelic-infra-daemonset.yaml | 58 -- examples/newrelic-infrastructure/nrconfig.env | 9 - examples/newrelic/README.md | 1 - examples/newrelic/config-to-secret.sh | 20 - .../newrelic/newrelic-config-template.yaml | 7 - examples/newrelic/newrelic-config.yaml | 10 - examples/newrelic/newrelic-daemonset.yaml | 61 -- examples/newrelic/nrconfig.env | 2 - examples/nodesjs-mongodb/README.md | 1 - .../nodesjs-mongodb/mongo-controller.yaml | 28 - examples/nodesjs-mongodb/mongo-service.yaml | 12 - .../nodesjs-mongodb/web-controller-demo.yaml | 23 - examples/nodesjs-mongodb/web-controller.yaml | 21 - examples/nodesjs-mongodb/web-service.yaml | 14 - examples/oms/README.md | 1 - examples/oms/images/connected-resources.png | Bin 158769 -> 0 bytes .../oms/images/oms-container-solution.png | Bin 401254 -> 0 bytes examples/oms/images/oms-portal.png | Bin 299923 -> 0 bytes examples/oms/omsagent-daemonset.yaml | 31 - examples/openshift-origin/.gitignore | 1 - examples/openshift-origin/README.md | 1 - examples/openshift-origin/cleanup.sh | 43 - examples/openshift-origin/create.sh | 121 --- .../openshift-origin/etcd-controller.yaml | 52 -- .../etcd-discovery-controller.yaml | 34 - .../etcd-discovery-service.yaml | 18 - examples/openshift-origin/etcd-service.yaml | 24 - .../openshift-controller.yaml | 34 - .../openshift-origin-namespace.yaml | 6 - .../openshift-origin/openshift-service.yaml | 12 - examples/openshift-origin/secret.json | 0 .../persistent-volume-provisioning/README.md | 1 - .../aws-ebs.yaml | 9 - .../cinder/cinder-storage-class.yaml | 8 - .../cinder/example-pod.yaml | 23 - .../claim1.json | 18 - .../gce-pd.yaml | 8 - .../glusterfs/glusterfs-secret.yaml | 9 - .../glusterfs/glusterfs-storageclass.yaml | 16 - .../quobyte/example-pod.yaml | 23 - .../quobyte/quobyte-admin-secret.yaml | 9 - .../quobyte/quobyte-storage-class.yaml | 15 - .../rbd/ceph-secret-admin.yaml | 8 - .../rbd/ceph-secret-user.yaml | 8 - .../rbd/pod.yaml | 23 - examples/phabricator/README.md | 1 - .../phabricator/phabricator-controller.json | 51 -- examples/phabricator/phabricator-service.json | 19 - .../php-phabricator/000-default.conf | 12 - .../phabricator/php-phabricator/Dockerfile | 44 - examples/phabricator/php-phabricator/run.sh | 28 - examples/phabricator/setup.sh | 20 - examples/phabricator/teardown.sh | 20 - examples/podsecuritypolicy/OWNERS | 11 - examples/podsecuritypolicy/rbac/README.md | 1 - examples/podsecuritypolicy/rbac/bindings.yaml | 50 -- examples/podsecuritypolicy/rbac/pod.yaml | 12 - examples/podsecuritypolicy/rbac/pod_priv.yaml | 14 - examples/podsecuritypolicy/rbac/policies.yaml | 49 -- examples/podsecuritypolicy/rbac/roles.yaml | 31 - examples/runtime-constraints/README.md | 1 - ...scheduler-policy-config-with-extender.json | 30 - examples/scheduler-policy-config.json | 20 - examples/selenium/README.md | 1 - examples/selenium/selenium-hub-rc.yaml | 36 - examples/selenium/selenium-hub-svc.yaml | 15 - .../selenium/selenium-node-chrome-rc.yaml | 29 - .../selenium/selenium-node-firefox-rc.yaml | 29 - examples/selenium/selenium-test.py | 33 - examples/sharing-clusters/BUILD | 37 - examples/sharing-clusters/README.md | 1 - examples/sharing-clusters/make_secret.go | 64 -- examples/simple-nginx.md | 62 -- examples/spark/README.md | 1 - examples/spark/namespace-spark-cluster.yaml | 6 - examples/spark/spark-gluster/README.md | 1 - .../spark-gluster/glusterfs-endpoints.yaml | 14 - .../spark-master-controller.yaml | 34 - .../spark-gluster/spark-master-service.yaml | 13 - .../spark-worker-controller.yaml | 35 - examples/spark/spark-master-controller.yaml | 23 - examples/spark/spark-master-service.yaml | 14 - examples/spark/spark-ui-proxy-controller.yaml | 29 - examples/spark/spark-ui-proxy-service.yaml | 11 - examples/spark/spark-worker-controller.yaml | 23 - examples/spark/zeppelin-controller.yaml | 21 - examples/spark/zeppelin-service.yaml | 11 - examples/storage/cassandra/README.md | 1 - examples/storage/hazelcast/README.md | 1 - .../hazelcast/hazelcast-deployment.yaml | 26 - .../storage/hazelcast/hazelcast-service.yaml | 11 - examples/storage/minio/README.md | 1 - .../minio-distributed-headless-service.yaml | 13 - .../minio/minio-distributed-service.yaml | 12 - .../minio/minio-distributed-statefulset.yaml | 50 -- .../minio/minio-standalone-deployment.yaml | 43 - .../storage/minio/minio-standalone-pvc.yaml | 15 - .../minio/minio-standalone-service.yaml | 12 - examples/storage/mysql-galera/README.md | 1 - .../storage/mysql-galera/image/Dockerfile | 56 -- .../storage/mysql-galera/image/cluster.cnf | 12 - .../mysql-galera/image/docker-entrypoint.sh | 164 ---- examples/storage/mysql-galera/image/my.cnf | 55 -- .../mysql-galera/pxc-cluster-service.yaml | 12 - examples/storage/mysql-galera/pxc-node1.yaml | 57 -- examples/storage/mysql-galera/pxc-node2.yaml | 58 -- examples/storage/mysql-galera/pxc-node3.yaml | 58 -- examples/storage/redis/README.md | 1 - examples/storage/redis/image/Dockerfile | 25 - .../storage/redis/image/redis-master.conf | 828 ------------------ examples/storage/redis/image/redis-slave.conf | 828 ------------------ examples/storage/redis/image/run.sh | 85 -- examples/storage/redis/redis-controller.yaml | 28 - .../redis/redis-sentinel-controller.yaml | 23 - .../storage/redis/redis-sentinel-service.yaml | 13 - examples/storage/rethinkdb/README.md | 1 - examples/storage/rethinkdb/admin-pod.yaml | 29 - examples/storage/rethinkdb/admin-service.yaml | 14 - .../storage/rethinkdb/driver-service.yaml | 12 - examples/storage/rethinkdb/gen-pod.sh | 73 -- examples/storage/rethinkdb/image/Dockerfile | 27 - examples/storage/rethinkdb/image/run.sh | 44 - examples/storage/rethinkdb/rc.yaml | 38 - examples/storage/vitess/README.md | 1 - examples/storage/vitess/configure.sh | 73 -- examples/storage/vitess/create_test_table.sql | 8 - examples/storage/vitess/env.sh | 63 -- .../vitess/etcd-controller-template.yaml | 54 -- examples/storage/vitess/etcd-down.sh | 36 - .../storage/vitess/etcd-service-template.yaml | 16 - examples/storage/vitess/etcd-up.sh | 60 -- .../storage/vitess/guestbook-controller.yaml | 23 - examples/storage/vitess/guestbook-down.sh | 28 - .../storage/vitess/guestbook-service.yaml | 16 - examples/storage/vitess/guestbook-up.sh | 28 - examples/storage/vitess/vitess-down.sh | 23 - examples/storage/vitess/vitess-up.sh | 165 ---- .../vitess/vtctld-controller-template.yaml | 55 -- examples/storage/vitess/vtctld-down.sh | 28 - examples/storage/vitess/vtctld-service.yaml | 22 - examples/storage/vitess/vtctld-up.sh | 40 - .../vitess/vtgate-controller-template.yaml | 45 - examples/storage/vitess/vtgate-down.sh | 28 - examples/storage/vitess/vtgate-service.yaml | 15 - examples/storage/vitess/vtgate-up.sh | 38 - examples/storage/vitess/vttablet-down.sh | 51 -- .../storage/vitess/vttablet-pod-template.yaml | 128 --- examples/storage/vitess/vttablet-up.sh | 68 -- examples/storm/README.md | 1 - examples/storm/storm-nimbus-service.json | 20 - examples/storm/storm-nimbus.json | 28 - examples/storm/storm-worker-controller.json | 55 -- examples/storm/zookeeper-service.json | 20 - examples/storm/zookeeper.json | 28 - examples/sysdig-cloud/README.md | 1 - examples/sysdig-cloud/sysdig-daemonset.yaml | 73 -- examples/sysdig-cloud/sysdig-rc.yaml | 78 -- examples/volumes/aws_ebs/README.md | 1 - examples/volumes/aws_ebs/aws-ebs-web.yaml | 21 - examples/volumes/azure_disk/README.md | 1 - examples/volumes/azure_disk/azure.yaml | 16 - examples/volumes/azure_file/README.md | 1 - examples/volumes/azure_file/azure.yaml | 17 - .../azure_file/secret/azure-secret.yaml | 8 - examples/volumes/cephfs/README.md | 1 - .../volumes/cephfs/cephfs-with-secret.yaml | 22 - examples/volumes/cephfs/cephfs.yaml | 23 - .../volumes/cephfs/secret/ceph-secret.yaml | 6 - examples/volumes/cinder/README.md | 1 - examples/volumes/cinder/cinder-web.yaml | 21 - examples/volumes/fibre_channel/README.md | 1 - examples/volumes/fibre_channel/fc.yaml | 18 - examples/volumes/flexvolume/README.md | 1 - examples/volumes/flexvolume/deploy/Dockerfile | 22 - examples/volumes/flexvolume/deploy/README.md | 7 - examples/volumes/flexvolume/deploy/deploy.sh | 37 - examples/volumes/flexvolume/deploy/ds.yaml | 25 - examples/volumes/flexvolume/dummy | 70 -- examples/volumes/flexvolume/dummy-attachable | 126 --- examples/volumes/flexvolume/lvm | 182 ---- examples/volumes/flexvolume/nfs | 113 --- .../flexvolume/nginx-dummy-attachable.yaml | 18 - examples/volumes/flexvolume/nginx-dummy.yaml | 18 - examples/volumes/flexvolume/nginx-lvm.yaml | 23 - examples/volumes/flexvolume/nginx-nfs.yaml | 22 - examples/volumes/flocker/README.md | 1 - .../volumes/flocker/flocker-pod-with-rc.yml | 47 - examples/volumes/flocker/flocker-pod.yml | 19 - examples/volumes/glusterfs/README.md | 1 - .../glusterfs/glusterfs-endpoints.json | 33 - examples/volumes/glusterfs/glusterfs-pod.json | 31 - .../volumes/glusterfs/glusterfs-service.json | 12 - examples/volumes/iscsi/README.md | 1 - examples/volumes/iscsi/chap-secret.yaml | 15 - examples/volumes/iscsi/iscsi-chap.yaml | 24 - examples/volumes/iscsi/iscsi.yaml | 21 - examples/volumes/nfs/README.md | 1 - examples/volumes/nfs/nfs-busybox-rc.yaml | 32 - examples/volumes/nfs/nfs-data/Dockerfile | 25 - examples/volumes/nfs/nfs-data/README.md | 1 - examples/volumes/nfs/nfs-data/index.html | 1 - examples/volumes/nfs/nfs-data/run_nfs.sh | 72 -- examples/volumes/nfs/nfs-pv.png | Bin 9379 -> 0 bytes examples/volumes/nfs/nfs-pv.yaml | 13 - examples/volumes/nfs/nfs-pvc.yaml | 10 - examples/volumes/nfs/nfs-server-rc.yaml | 32 - examples/volumes/nfs/nfs-server-service.yaml | 14 - examples/volumes/nfs/nfs-web-rc.yaml | 30 - examples/volumes/nfs/nfs-web-service.yaml | 9 - .../nfs/provisioner/nfs-server-gce-pv.yaml | 11 - examples/volumes/portworx/README.md | 1 - .../volumes/portworx/portworx-volume-pod.yaml | 16 - .../volumes/portworx/portworx-volume-pv.yaml | 12 - .../volumes/portworx/portworx-volume-pvc.yaml | 10 - .../portworx/portworx-volume-pvcpod.yaml | 15 - .../portworx/portworx-volume-pvcsc.yaml | 11 - .../portworx/portworx-volume-pvcscpod.yaml | 15 - .../portworx/portworx-volume-sc-high.yaml | 9 - examples/volumes/quobyte/Readme.md | 1 - examples/volumes/quobyte/quobyte-pod.yaml | 19 - examples/volumes/rbd/README.md | 1 - examples/volumes/rbd/rbd-with-secret.json | 41 - examples/volumes/rbd/rbd.json | 39 - examples/volumes/rbd/secret/ceph-secret.yaml | 7 - examples/volumes/scaleio/README.md | 1 - examples/volumes/scaleio/pod-sc-pvc.yaml | 15 - examples/volumes/scaleio/pod.yaml | 20 - examples/volumes/scaleio/sc-pvc.yaml | 11 - examples/volumes/scaleio/sc.yaml | 11 - examples/volumes/scaleio/secret.yaml | 8 - examples/volumes/storageos/README.md | 1 - examples/volumes/storageos/storageos-pod.yaml | 37 - examples/volumes/storageos/storageos-pv.yaml | 22 - examples/volumes/storageos/storageos-pvc.yaml | 11 - .../volumes/storageos/storageos-pvcpod.yaml | 26 - .../volumes/storageos/storageos-sc-pvc.yaml | 11 - .../storageos/storageos-sc-pvcpod.yaml | 26 - examples/volumes/storageos/storageos-sc.yaml | 11 - .../volumes/storageos/storageos-secret.yaml | 9 - examples/volumes/vsphere/README.md | 1 - examples/volumes/vsphere/deployment.yaml | 22 - .../volumes/vsphere/simple-statefulset.yaml | 45 - .../volumes/vsphere/simple-storageclass.yaml | 7 - .../volumes/vsphere/vsphere-volume-pod.yaml | 17 - .../volumes/vsphere/vsphere-volume-pv.yaml | 13 - .../volumes/vsphere/vsphere-volume-pvc.yaml | 10 - .../vsphere/vsphere-volume-pvcpod.yaml | 15 - .../volumes/vsphere/vsphere-volume-pvcsc.yaml | 11 - .../vsphere/vsphere-volume-pvcscpod.yaml | 15 - .../vsphere/vsphere-volume-sc-fast.yaml | 8 - ...me-sc-vsancapabilities-with-datastore.yaml | 10 - .../vsphere-volume-sc-vsancapabilities.yaml | 9 - .../vsphere-volume-sc-with-datastore.yaml | 8 - ...ere-volume-spbm-policy-with-datastore.yaml | 9 - .../vsphere/vsphere-volume-spbm-policy.yaml | 8 - hack/.golint_failures | 1 - hack/generate-bindata.sh | 5 +- hack/make-rules/helpers/cache_go_dirs.sh | 3 +- hack/make-rules/test-cmd-util.sh | 22 +- hack/test-update-storage-objects.sh | 2 +- pkg/kubectl/cmd/BUILD | 1 - pkg/kubectl/cmd/create/BUILD | 2 +- pkg/kubectl/cmd/create/create_test.go | 8 +- pkg/kubectl/cmd/delete_test.go | 14 +- pkg/kubectl/cmd/describe_test.go | 2 +- pkg/kubectl/cmd/expose_test.go | 2 +- pkg/kubectl/cmd/patch_test.go | 4 +- pkg/kubectl/cmd/replace_test.go | 10 +- pkg/kubectl/cmd/resource/BUILD | 1 - pkg/kubectl/cmd/set/BUILD | 1 - pkg/kubectl/resource/BUILD | 2 +- pkg/kubectl/resource/builder_test.go | 16 +- test/e2e/generated/BUILD | 1 - .../guestbook/legacy/frontend-controller.yaml | 0 .../legacy/redis-master-controller.yaml | 0 .../legacy/redis-slave-controller.yaml | 0 .../kubectl/redis-master-pod.yaml | 0 {examples => test/e2e/testing-manifests}/pod | 0 .../testing-manifests}/rbd-storage-class.yaml | 0 401 files changed, 46 insertions(+), 11638 deletions(-) delete mode 100644 examples/BUILD delete mode 100644 examples/OWNERS delete mode 100644 examples/README.md delete mode 100644 examples/cloud-controller-manager/persistent-volume-label-initializer-config.yaml delete mode 100644 examples/cluster-dns/README.md delete mode 100644 examples/cluster-dns/dns-backend-rc.yaml delete mode 100644 examples/cluster-dns/dns-backend-service.yaml delete mode 100644 examples/cluster-dns/dns-frontend-pod.yaml delete mode 100644 examples/cluster-dns/images/backend/Dockerfile delete mode 100644 examples/cluster-dns/images/backend/Makefile delete mode 100644 examples/cluster-dns/images/backend/server.py delete mode 100644 examples/cluster-dns/images/frontend/Dockerfile delete mode 100644 examples/cluster-dns/images/frontend/Makefile delete mode 100644 examples/cluster-dns/images/frontend/client.py delete mode 100644 examples/cluster-dns/namespace-dev.yaml delete mode 100644 examples/cluster-dns/namespace-prod.yaml delete mode 100644 examples/cockroachdb/OWNERS delete mode 100644 examples/cockroachdb/README.md delete mode 100644 examples/cockroachdb/cockroachdb-statefulset.yaml delete mode 100755 examples/cockroachdb/demo.sh delete mode 100755 examples/cockroachdb/minikube.sh delete mode 100644 examples/cpu-manager/OWNERS delete mode 100644 examples/cpu-manager/README.md delete mode 100644 examples/cpu-manager/be.yaml delete mode 100644 examples/cpu-manager/exclusive-1.yaml delete mode 100644 examples/cpu-manager/exclusive-2.yaml delete mode 100644 examples/cpu-manager/exclusive-3.yaml delete mode 100644 examples/cpu-manager/exclusive-4.yaml delete mode 100755 examples/cpu-manager/pod-ips delete mode 100644 examples/cpu-manager/shared.yaml delete mode 100644 examples/doc.go delete mode 100644 examples/elasticsearch/README.md delete mode 100644 examples/examples_test.go delete mode 100644 examples/explorer/BUILD delete mode 100644 examples/explorer/Dockerfile delete mode 100644 examples/explorer/Makefile delete mode 100644 examples/explorer/README.md delete mode 100644 examples/explorer/explorer.go delete mode 100644 examples/explorer/pod.yaml delete mode 100644 examples/guestbook-go/.gitignore delete mode 100644 examples/guestbook-go/BUILD delete mode 100644 examples/guestbook-go/Dockerfile delete mode 100644 examples/guestbook-go/Makefile delete mode 100644 examples/guestbook-go/README.md delete mode 100644 examples/guestbook-go/guestbook-controller.json delete mode 100644 examples/guestbook-go/guestbook-page.png delete mode 100644 examples/guestbook-go/guestbook-service.json delete mode 100644 examples/guestbook-go/main.go delete mode 100644 examples/guestbook-go/public/index.html delete mode 100644 examples/guestbook-go/public/script.js delete mode 100644 examples/guestbook-go/public/style.css delete mode 100644 examples/guestbook-go/redis-master-controller.json delete mode 100644 examples/guestbook-go/redis-master-service.json delete mode 100644 examples/guestbook-go/redis-slave-controller.json delete mode 100644 examples/guestbook-go/redis-slave-service.json delete mode 100644 examples/guestbook/README.md delete mode 100644 examples/guestbook/all-in-one/frontend.yaml delete mode 100644 examples/guestbook/all-in-one/guestbook-all-in-one.yaml delete mode 100644 examples/guestbook/all-in-one/redis-slave.yaml delete mode 100644 examples/guestbook/frontend-deployment.yaml delete mode 100644 examples/guestbook/frontend-service.yaml delete mode 100644 examples/guestbook/php-redis/Dockerfile delete mode 100644 examples/guestbook/php-redis/controllers.js delete mode 100644 examples/guestbook/php-redis/guestbook.php delete mode 100644 examples/guestbook/php-redis/index.html delete mode 100644 examples/guestbook/redis-master-deployment.yaml delete mode 100644 examples/guestbook/redis-master-service.yaml delete mode 100644 examples/guestbook/redis-slave-deployment.yaml delete mode 100644 examples/guestbook/redis-slave-service.yaml delete mode 100644 examples/guestbook/redis-slave/Dockerfile delete mode 100755 examples/guestbook/redis-slave/run.sh delete mode 100644 examples/guidelines.md delete mode 100644 examples/https-nginx/BUILD delete mode 100644 examples/https-nginx/Dockerfile delete mode 100644 examples/https-nginx/Makefile delete mode 100644 examples/https-nginx/README.md delete mode 100755 examples/https-nginx/auto-reload-nginx.sh delete mode 100644 examples/https-nginx/default.conf delete mode 100644 examples/https-nginx/index2.html delete mode 100644 examples/https-nginx/make_secret.go delete mode 100644 examples/https-nginx/nginx-app.yaml delete mode 100644 examples/javaee/README.md delete mode 100644 examples/javaee/mysql-pod.yaml delete mode 100644 examples/javaee/mysql-service.yaml delete mode 100644 examples/javaee/wildfly-rc.yaml delete mode 100644 examples/javaweb-tomcat-sidecar/README.md delete mode 100644 examples/javaweb-tomcat-sidecar/javaweb-2.yaml delete mode 100644 examples/javaweb-tomcat-sidecar/javaweb.yaml delete mode 100644 examples/javaweb-tomcat-sidecar/workflow.png delete mode 100644 examples/job/expansions/README.md delete mode 100644 examples/job/work-queue-1/README.md delete mode 100644 examples/job/work-queue-2/README.md delete mode 100644 examples/kubectl-container/.gitignore delete mode 100644 examples/kubectl-container/Dockerfile delete mode 100644 examples/kubectl-container/Makefile delete mode 100644 examples/kubectl-container/README.md delete mode 100644 examples/kubectl-container/pod.json delete mode 100644 examples/meteor/README.md delete mode 100644 examples/meteor/dockerbase/Dockerfile delete mode 100644 examples/meteor/dockerbase/README.md delete mode 100644 examples/meteor/meteor-controller.json delete mode 100644 examples/meteor/meteor-service.json delete mode 100644 examples/meteor/mongo-pod.json delete mode 100644 examples/meteor/mongo-service.json delete mode 100644 examples/mysql-cinder-pd/README.md delete mode 100644 examples/mysql-cinder-pd/mysql-service.yaml delete mode 100644 examples/mysql-cinder-pd/mysql.yaml delete mode 100644 examples/mysql-wordpress-pd/OWNERS delete mode 100644 examples/mysql-wordpress-pd/README.md delete mode 100644 examples/mysql-wordpress-pd/WordPress.png delete mode 100644 examples/mysql-wordpress-pd/gce-volumes.yaml delete mode 100644 examples/mysql-wordpress-pd/local-volumes.yaml delete mode 100644 examples/mysql-wordpress-pd/mysql-deployment.yaml delete mode 100644 examples/mysql-wordpress-pd/wordpress-deployment.yaml delete mode 100644 examples/newrelic-infrastructure/.gitignore delete mode 100644 examples/newrelic-infrastructure/README.md delete mode 100755 examples/newrelic-infrastructure/config-to-secret.sh delete mode 100644 examples/newrelic-infrastructure/newrelic-config-template.yaml delete mode 100644 examples/newrelic-infrastructure/newrelic-infra-daemonset.yaml delete mode 100644 examples/newrelic-infrastructure/nrconfig.env delete mode 100644 examples/newrelic/README.md delete mode 100755 examples/newrelic/config-to-secret.sh delete mode 100644 examples/newrelic/newrelic-config-template.yaml delete mode 100644 examples/newrelic/newrelic-config.yaml delete mode 100644 examples/newrelic/newrelic-daemonset.yaml delete mode 100644 examples/newrelic/nrconfig.env delete mode 100644 examples/nodesjs-mongodb/README.md delete mode 100644 examples/nodesjs-mongodb/mongo-controller.yaml delete mode 100644 examples/nodesjs-mongodb/mongo-service.yaml delete mode 100644 examples/nodesjs-mongodb/web-controller-demo.yaml delete mode 100644 examples/nodesjs-mongodb/web-controller.yaml delete mode 100644 examples/nodesjs-mongodb/web-service.yaml delete mode 100644 examples/oms/README.md delete mode 100644 examples/oms/images/connected-resources.png delete mode 100644 examples/oms/images/oms-container-solution.png delete mode 100644 examples/oms/images/oms-portal.png delete mode 100644 examples/oms/omsagent-daemonset.yaml delete mode 100644 examples/openshift-origin/.gitignore delete mode 100644 examples/openshift-origin/README.md delete mode 100755 examples/openshift-origin/cleanup.sh delete mode 100755 examples/openshift-origin/create.sh delete mode 100644 examples/openshift-origin/etcd-controller.yaml delete mode 100644 examples/openshift-origin/etcd-discovery-controller.yaml delete mode 100644 examples/openshift-origin/etcd-discovery-service.yaml delete mode 100644 examples/openshift-origin/etcd-service.yaml delete mode 100644 examples/openshift-origin/openshift-controller.yaml delete mode 100644 examples/openshift-origin/openshift-origin-namespace.yaml delete mode 100644 examples/openshift-origin/openshift-service.yaml delete mode 100644 examples/openshift-origin/secret.json delete mode 100644 examples/persistent-volume-provisioning/README.md delete mode 100644 examples/persistent-volume-provisioning/aws-ebs.yaml delete mode 100644 examples/persistent-volume-provisioning/cinder/cinder-storage-class.yaml delete mode 100644 examples/persistent-volume-provisioning/cinder/example-pod.yaml delete mode 100644 examples/persistent-volume-provisioning/claim1.json delete mode 100644 examples/persistent-volume-provisioning/gce-pd.yaml delete mode 100644 examples/persistent-volume-provisioning/glusterfs/glusterfs-secret.yaml delete mode 100644 examples/persistent-volume-provisioning/glusterfs/glusterfs-storageclass.yaml delete mode 100644 examples/persistent-volume-provisioning/quobyte/example-pod.yaml delete mode 100644 examples/persistent-volume-provisioning/quobyte/quobyte-admin-secret.yaml delete mode 100644 examples/persistent-volume-provisioning/quobyte/quobyte-storage-class.yaml delete mode 100644 examples/persistent-volume-provisioning/rbd/ceph-secret-admin.yaml delete mode 100644 examples/persistent-volume-provisioning/rbd/ceph-secret-user.yaml delete mode 100644 examples/persistent-volume-provisioning/rbd/pod.yaml delete mode 100644 examples/phabricator/README.md delete mode 100644 examples/phabricator/phabricator-controller.json delete mode 100644 examples/phabricator/phabricator-service.json delete mode 100644 examples/phabricator/php-phabricator/000-default.conf delete mode 100644 examples/phabricator/php-phabricator/Dockerfile delete mode 100755 examples/phabricator/php-phabricator/run.sh delete mode 100755 examples/phabricator/setup.sh delete mode 100755 examples/phabricator/teardown.sh delete mode 100644 examples/podsecuritypolicy/OWNERS delete mode 100644 examples/podsecuritypolicy/rbac/README.md delete mode 100644 examples/podsecuritypolicy/rbac/bindings.yaml delete mode 100644 examples/podsecuritypolicy/rbac/pod.yaml delete mode 100644 examples/podsecuritypolicy/rbac/pod_priv.yaml delete mode 100644 examples/podsecuritypolicy/rbac/policies.yaml delete mode 100644 examples/podsecuritypolicy/rbac/roles.yaml delete mode 100644 examples/runtime-constraints/README.md delete mode 100644 examples/scheduler-policy-config-with-extender.json delete mode 100644 examples/scheduler-policy-config.json delete mode 100644 examples/selenium/README.md delete mode 100644 examples/selenium/selenium-hub-rc.yaml delete mode 100644 examples/selenium/selenium-hub-svc.yaml delete mode 100644 examples/selenium/selenium-node-chrome-rc.yaml delete mode 100644 examples/selenium/selenium-node-firefox-rc.yaml delete mode 100644 examples/selenium/selenium-test.py delete mode 100644 examples/sharing-clusters/BUILD delete mode 100644 examples/sharing-clusters/README.md delete mode 100644 examples/sharing-clusters/make_secret.go delete mode 100644 examples/simple-nginx.md delete mode 100644 examples/spark/README.md delete mode 100644 examples/spark/namespace-spark-cluster.yaml delete mode 100644 examples/spark/spark-gluster/README.md delete mode 100644 examples/spark/spark-gluster/glusterfs-endpoints.yaml delete mode 100644 examples/spark/spark-gluster/spark-master-controller.yaml delete mode 100644 examples/spark/spark-gluster/spark-master-service.yaml delete mode 100644 examples/spark/spark-gluster/spark-worker-controller.yaml delete mode 100644 examples/spark/spark-master-controller.yaml delete mode 100644 examples/spark/spark-master-service.yaml delete mode 100644 examples/spark/spark-ui-proxy-controller.yaml delete mode 100644 examples/spark/spark-ui-proxy-service.yaml delete mode 100644 examples/spark/spark-worker-controller.yaml delete mode 100644 examples/spark/zeppelin-controller.yaml delete mode 100644 examples/spark/zeppelin-service.yaml delete mode 100644 examples/storage/cassandra/README.md delete mode 100644 examples/storage/hazelcast/README.md delete mode 100644 examples/storage/hazelcast/hazelcast-deployment.yaml delete mode 100644 examples/storage/hazelcast/hazelcast-service.yaml delete mode 100644 examples/storage/minio/README.md delete mode 100644 examples/storage/minio/minio-distributed-headless-service.yaml delete mode 100644 examples/storage/minio/minio-distributed-service.yaml delete mode 100644 examples/storage/minio/minio-distributed-statefulset.yaml delete mode 100644 examples/storage/minio/minio-standalone-deployment.yaml delete mode 100644 examples/storage/minio/minio-standalone-pvc.yaml delete mode 100644 examples/storage/minio/minio-standalone-service.yaml delete mode 100644 examples/storage/mysql-galera/README.md delete mode 100644 examples/storage/mysql-galera/image/Dockerfile delete mode 100644 examples/storage/mysql-galera/image/cluster.cnf delete mode 100755 examples/storage/mysql-galera/image/docker-entrypoint.sh delete mode 100644 examples/storage/mysql-galera/image/my.cnf delete mode 100644 examples/storage/mysql-galera/pxc-cluster-service.yaml delete mode 100644 examples/storage/mysql-galera/pxc-node1.yaml delete mode 100644 examples/storage/mysql-galera/pxc-node2.yaml delete mode 100644 examples/storage/mysql-galera/pxc-node3.yaml delete mode 100644 examples/storage/redis/README.md delete mode 100644 examples/storage/redis/image/Dockerfile delete mode 100644 examples/storage/redis/image/redis-master.conf delete mode 100644 examples/storage/redis/image/redis-slave.conf delete mode 100755 examples/storage/redis/image/run.sh delete mode 100644 examples/storage/redis/redis-controller.yaml delete mode 100644 examples/storage/redis/redis-sentinel-controller.yaml delete mode 100644 examples/storage/redis/redis-sentinel-service.yaml delete mode 100644 examples/storage/rethinkdb/README.md delete mode 100644 examples/storage/rethinkdb/admin-pod.yaml delete mode 100644 examples/storage/rethinkdb/admin-service.yaml delete mode 100644 examples/storage/rethinkdb/driver-service.yaml delete mode 100755 examples/storage/rethinkdb/gen-pod.sh delete mode 100644 examples/storage/rethinkdb/image/Dockerfile delete mode 100644 examples/storage/rethinkdb/image/run.sh delete mode 100644 examples/storage/rethinkdb/rc.yaml delete mode 100644 examples/storage/vitess/README.md delete mode 100755 examples/storage/vitess/configure.sh delete mode 100644 examples/storage/vitess/create_test_table.sql delete mode 100644 examples/storage/vitess/env.sh delete mode 100644 examples/storage/vitess/etcd-controller-template.yaml delete mode 100755 examples/storage/vitess/etcd-down.sh delete mode 100644 examples/storage/vitess/etcd-service-template.yaml delete mode 100755 examples/storage/vitess/etcd-up.sh delete mode 100644 examples/storage/vitess/guestbook-controller.yaml delete mode 100755 examples/storage/vitess/guestbook-down.sh delete mode 100644 examples/storage/vitess/guestbook-service.yaml delete mode 100755 examples/storage/vitess/guestbook-up.sh delete mode 100755 examples/storage/vitess/vitess-down.sh delete mode 100755 examples/storage/vitess/vitess-up.sh delete mode 100644 examples/storage/vitess/vtctld-controller-template.yaml delete mode 100755 examples/storage/vitess/vtctld-down.sh delete mode 100644 examples/storage/vitess/vtctld-service.yaml delete mode 100755 examples/storage/vitess/vtctld-up.sh delete mode 100644 examples/storage/vitess/vtgate-controller-template.yaml delete mode 100755 examples/storage/vitess/vtgate-down.sh delete mode 100644 examples/storage/vitess/vtgate-service.yaml delete mode 100755 examples/storage/vitess/vtgate-up.sh delete mode 100755 examples/storage/vitess/vttablet-down.sh delete mode 100644 examples/storage/vitess/vttablet-pod-template.yaml delete mode 100755 examples/storage/vitess/vttablet-up.sh delete mode 100644 examples/storm/README.md delete mode 100644 examples/storm/storm-nimbus-service.json delete mode 100644 examples/storm/storm-nimbus.json delete mode 100644 examples/storm/storm-worker-controller.json delete mode 100644 examples/storm/zookeeper-service.json delete mode 100644 examples/storm/zookeeper.json delete mode 100644 examples/sysdig-cloud/README.md delete mode 100644 examples/sysdig-cloud/sysdig-daemonset.yaml delete mode 100644 examples/sysdig-cloud/sysdig-rc.yaml delete mode 100644 examples/volumes/aws_ebs/README.md delete mode 100644 examples/volumes/aws_ebs/aws-ebs-web.yaml delete mode 100644 examples/volumes/azure_disk/README.md delete mode 100644 examples/volumes/azure_disk/azure.yaml delete mode 100644 examples/volumes/azure_file/README.md delete mode 100644 examples/volumes/azure_file/azure.yaml delete mode 100644 examples/volumes/azure_file/secret/azure-secret.yaml delete mode 100644 examples/volumes/cephfs/README.md delete mode 100644 examples/volumes/cephfs/cephfs-with-secret.yaml delete mode 100644 examples/volumes/cephfs/cephfs.yaml delete mode 100644 examples/volumes/cephfs/secret/ceph-secret.yaml delete mode 100644 examples/volumes/cinder/README.md delete mode 100644 examples/volumes/cinder/cinder-web.yaml delete mode 100644 examples/volumes/fibre_channel/README.md delete mode 100644 examples/volumes/fibre_channel/fc.yaml delete mode 100644 examples/volumes/flexvolume/README.md delete mode 100644 examples/volumes/flexvolume/deploy/Dockerfile delete mode 100644 examples/volumes/flexvolume/deploy/README.md delete mode 100755 examples/volumes/flexvolume/deploy/deploy.sh delete mode 100644 examples/volumes/flexvolume/deploy/ds.yaml delete mode 100755 examples/volumes/flexvolume/dummy delete mode 100755 examples/volumes/flexvolume/dummy-attachable delete mode 100755 examples/volumes/flexvolume/lvm delete mode 100755 examples/volumes/flexvolume/nfs delete mode 100644 examples/volumes/flexvolume/nginx-dummy-attachable.yaml delete mode 100644 examples/volumes/flexvolume/nginx-dummy.yaml delete mode 100644 examples/volumes/flexvolume/nginx-lvm.yaml delete mode 100644 examples/volumes/flexvolume/nginx-nfs.yaml delete mode 100644 examples/volumes/flocker/README.md delete mode 100644 examples/volumes/flocker/flocker-pod-with-rc.yml delete mode 100644 examples/volumes/flocker/flocker-pod.yml delete mode 100644 examples/volumes/glusterfs/README.md delete mode 100644 examples/volumes/glusterfs/glusterfs-endpoints.json delete mode 100644 examples/volumes/glusterfs/glusterfs-pod.json delete mode 100644 examples/volumes/glusterfs/glusterfs-service.json delete mode 100644 examples/volumes/iscsi/README.md delete mode 100644 examples/volumes/iscsi/chap-secret.yaml delete mode 100644 examples/volumes/iscsi/iscsi-chap.yaml delete mode 100644 examples/volumes/iscsi/iscsi.yaml delete mode 100644 examples/volumes/nfs/README.md delete mode 100644 examples/volumes/nfs/nfs-busybox-rc.yaml delete mode 100644 examples/volumes/nfs/nfs-data/Dockerfile delete mode 100644 examples/volumes/nfs/nfs-data/README.md delete mode 100644 examples/volumes/nfs/nfs-data/index.html delete mode 100755 examples/volumes/nfs/nfs-data/run_nfs.sh delete mode 100644 examples/volumes/nfs/nfs-pv.png delete mode 100644 examples/volumes/nfs/nfs-pv.yaml delete mode 100644 examples/volumes/nfs/nfs-pvc.yaml delete mode 100644 examples/volumes/nfs/nfs-server-rc.yaml delete mode 100644 examples/volumes/nfs/nfs-server-service.yaml delete mode 100644 examples/volumes/nfs/nfs-web-rc.yaml delete mode 100644 examples/volumes/nfs/nfs-web-service.yaml delete mode 100644 examples/volumes/nfs/provisioner/nfs-server-gce-pv.yaml delete mode 100644 examples/volumes/portworx/README.md delete mode 100644 examples/volumes/portworx/portworx-volume-pod.yaml delete mode 100644 examples/volumes/portworx/portworx-volume-pv.yaml delete mode 100644 examples/volumes/portworx/portworx-volume-pvc.yaml delete mode 100644 examples/volumes/portworx/portworx-volume-pvcpod.yaml delete mode 100644 examples/volumes/portworx/portworx-volume-pvcsc.yaml delete mode 100644 examples/volumes/portworx/portworx-volume-pvcscpod.yaml delete mode 100644 examples/volumes/portworx/portworx-volume-sc-high.yaml delete mode 100644 examples/volumes/quobyte/Readme.md delete mode 100644 examples/volumes/quobyte/quobyte-pod.yaml delete mode 100644 examples/volumes/rbd/README.md delete mode 100644 examples/volumes/rbd/rbd-with-secret.json delete mode 100644 examples/volumes/rbd/rbd.json delete mode 100644 examples/volumes/rbd/secret/ceph-secret.yaml delete mode 100644 examples/volumes/scaleio/README.md delete mode 100644 examples/volumes/scaleio/pod-sc-pvc.yaml delete mode 100644 examples/volumes/scaleio/pod.yaml delete mode 100644 examples/volumes/scaleio/sc-pvc.yaml delete mode 100644 examples/volumes/scaleio/sc.yaml delete mode 100644 examples/volumes/scaleio/secret.yaml delete mode 100644 examples/volumes/storageos/README.md delete mode 100644 examples/volumes/storageos/storageos-pod.yaml delete mode 100644 examples/volumes/storageos/storageos-pv.yaml delete mode 100644 examples/volumes/storageos/storageos-pvc.yaml delete mode 100644 examples/volumes/storageos/storageos-pvcpod.yaml delete mode 100644 examples/volumes/storageos/storageos-sc-pvc.yaml delete mode 100644 examples/volumes/storageos/storageos-sc-pvcpod.yaml delete mode 100644 examples/volumes/storageos/storageos-sc.yaml delete mode 100644 examples/volumes/storageos/storageos-secret.yaml delete mode 100644 examples/volumes/vsphere/README.md delete mode 100644 examples/volumes/vsphere/deployment.yaml delete mode 100644 examples/volumes/vsphere/simple-statefulset.yaml delete mode 100644 examples/volumes/vsphere/simple-storageclass.yaml delete mode 100644 examples/volumes/vsphere/vsphere-volume-pod.yaml delete mode 100644 examples/volumes/vsphere/vsphere-volume-pv.yaml delete mode 100644 examples/volumes/vsphere/vsphere-volume-pvc.yaml delete mode 100644 examples/volumes/vsphere/vsphere-volume-pvcpod.yaml delete mode 100644 examples/volumes/vsphere/vsphere-volume-pvcsc.yaml delete mode 100644 examples/volumes/vsphere/vsphere-volume-pvcscpod.yaml delete mode 100644 examples/volumes/vsphere/vsphere-volume-sc-fast.yaml delete mode 100644 examples/volumes/vsphere/vsphere-volume-sc-vsancapabilities-with-datastore.yaml delete mode 100644 examples/volumes/vsphere/vsphere-volume-sc-vsancapabilities.yaml delete mode 100644 examples/volumes/vsphere/vsphere-volume-sc-with-datastore.yaml delete mode 100644 examples/volumes/vsphere/vsphere-volume-spbm-policy-with-datastore.yaml delete mode 100644 examples/volumes/vsphere/vsphere-volume-spbm-policy.yaml rename {examples => test/e2e/testing-manifests}/guestbook/legacy/frontend-controller.yaml (100%) rename {examples => test/e2e/testing-manifests}/guestbook/legacy/redis-master-controller.yaml (100%) rename {examples => test/e2e/testing-manifests}/guestbook/legacy/redis-slave-controller.yaml (100%) rename examples/storage/redis/redis-master.yaml => test/e2e/testing-manifests/kubectl/redis-master-pod.yaml (100%) rename {examples => test/e2e/testing-manifests}/pod (100%) rename {examples/persistent-volume-provisioning/rbd => test/e2e/testing-manifests}/rbd-storage-class.yaml (100%) diff --git a/build/lib/release.sh b/build/lib/release.sh index e595385957..dc1a1f0d9c 100644 --- a/build/lib/release.sh +++ b/build/lib/release.sh @@ -481,7 +481,6 @@ EOF mkdir -p "${release_stage}/hack" cp -R "${KUBE_ROOT}/hack/lib" "${release_stage}/hack/" - cp -R "${KUBE_ROOT}/examples" "${release_stage}/" cp -R "${KUBE_ROOT}/docs" "${release_stage}/" cp "${KUBE_ROOT}/README.md" "${release_stage}/" cp "${KUBE_ROOT}/Godeps/LICENSES" "${release_stage}/" diff --git a/build/release-tars/BUILD b/build/release-tars/BUILD index 55426a574d..e9f379a7dd 100644 --- a/build/release-tars/BUILD +++ b/build/release-tars/BUILD @@ -193,7 +193,6 @@ pkg_tar( "//:version", "//cluster:all-srcs", "//docs:all-srcs", - "//examples:all-srcs", "//hack/lib:all-srcs", ], extension = "tar.gz", diff --git a/build/root/BUILD.root b/build/root/BUILD.root index 1e7cc4853d..f7a0b34f00 100644 --- a/build/root/BUILD.root +++ b/build/root/BUILD.root @@ -64,7 +64,6 @@ filegroup( "//cluster:all-srcs", "//cmd:all-srcs", "//docs:all-srcs", - "//examples:all-srcs", "//hack:all-srcs", "//pkg:all-srcs", "//plugin:all-srcs", diff --git a/build/visible_to/README.md b/build/visible_to/README.md index 9daa99a0fc..3caf0a14b2 100644 --- a/build/visible_to/README.md +++ b/build/visible_to/README.md @@ -115,7 +115,7 @@ visibility = ["//visible_to:client_foo,//visible_to:server_foo"], ``` bazel build --check_visibility --nobuild \ //cmd/... //pkg/... //plugin/... \ - //third_party/... //examples/... //test/... //vendor/k8s.io/... + //third_party/... //test/... //vendor/k8s.io/... ``` #### Who depends on target _q_? diff --git a/examples/BUILD b/examples/BUILD deleted file mode 100644 index 65c8be3a6c..0000000000 --- a/examples/BUILD +++ /dev/null @@ -1,70 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", - "go_test", -) - -filegroup( - name = "config", - srcs = glob([ - "**/*.yaml", - "**/*.yml", - "**/*.json", - ]) + [ - "pod", - ], -) - -go_library( - name = "go_default_library", - srcs = ["doc.go"], - importpath = "k8s.io/kubernetes/examples", -) - -go_test( - name = "go_default_xtest", - srcs = ["examples_test.go"], - tags = ["manual"], # this test is broken and examples in-tree is deprecated - deps = [ - "//pkg/api/testapi:go_default_library", - "//pkg/apis/apps:go_default_library", - "//pkg/apis/apps/validation:go_default_library", - "//pkg/apis/batch:go_default_library", - "//pkg/apis/core:go_default_library", - "//pkg/apis/core/validation:go_default_library", - "//pkg/apis/extensions:go_default_library", - "//pkg/apis/extensions/validation:go_default_library", - "//pkg/capabilities:go_default_library", - "//pkg/registry/batch/job:go_default_library", - "//pkg/scheduler/api:go_default_library", - "//pkg/scheduler/api/latest:go_default_library", - "//pkg/scheduler/api/validation:go_default_library", - "//vendor/github.com/golang/glog:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/util/yaml:go_default_library", - ], -) - -filegroup( - name = "package-srcs", - srcs = glob(["**"]), - tags = ["automanaged"], - visibility = ["//visibility:private"], -) - -filegroup( - name = "all-srcs", - srcs = [ - ":package-srcs", - "//examples/explorer:all-srcs", - "//examples/guestbook-go:all-srcs", - "//examples/https-nginx:all-srcs", - "//examples/sharing-clusters:all-srcs", - ], - tags = ["automanaged"], -) diff --git a/examples/OWNERS b/examples/OWNERS deleted file mode 100644 index 315623ca8b..0000000000 --- a/examples/OWNERS +++ /dev/null @@ -1,10 +0,0 @@ -reviewers: - - brendandburns - - thockin - - zmerlynn - - zouyee -approvers: - - brendandburns - - eparis - - thockin - - zmerlynn diff --git a/examples/README.md b/examples/README.md deleted file mode 100644 index 6ea45f7007..0000000000 --- a/examples/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/README.md](https://github.com/kubernetes/examples/blob/master/README.md) diff --git a/examples/cloud-controller-manager/persistent-volume-label-initializer-config.yaml b/examples/cloud-controller-manager/persistent-volume-label-initializer-config.yaml deleted file mode 100644 index 4a2576cc2a..0000000000 --- a/examples/cloud-controller-manager/persistent-volume-label-initializer-config.yaml +++ /dev/null @@ -1,13 +0,0 @@ -kind: InitializerConfiguration -apiVersion: admissionregistration.k8s.io/v1alpha1 -metadata: - name: pvlabel.kubernetes.io -initializers: - - name: pvlabel.kubernetes.io - rules: - - apiGroups: - - "" - apiVersions: - - "*" - resources: - - persistentvolumes diff --git a/examples/cluster-dns/README.md b/examples/cluster-dns/README.md deleted file mode 100644 index c7b23c6271..0000000000 --- a/examples/cluster-dns/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/cluster-dns/README.md](https://github.com/kubernetes/examples/blob/master/staging/cluster-dns/README.md) diff --git a/examples/cluster-dns/dns-backend-rc.yaml b/examples/cluster-dns/dns-backend-rc.yaml deleted file mode 100644 index 4af1b0dcba..0000000000 --- a/examples/cluster-dns/dns-backend-rc.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - name: dns-backend - labels: - name: dns-backend -spec: - replicas: 1 - selector: - name: dns-backend - template: - metadata: - labels: - name: dns-backend - spec: - containers: - - name: dns-backend - image: k8s.gcr.io/example-dns-backend:v1 - ports: - - name: backend-port - containerPort: 8000 diff --git a/examples/cluster-dns/dns-backend-service.yaml b/examples/cluster-dns/dns-backend-service.yaml deleted file mode 100644 index 0a814ce189..0000000000 --- a/examples/cluster-dns/dns-backend-service.yaml +++ /dev/null @@ -1,9 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: dns-backend -spec: - ports: - - port: 8000 - selector: - name: dns-backend diff --git a/examples/cluster-dns/dns-frontend-pod.yaml b/examples/cluster-dns/dns-frontend-pod.yaml deleted file mode 100644 index 4a7695f113..0000000000 --- a/examples/cluster-dns/dns-frontend-pod.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: dns-frontend - labels: - name: dns-frontend -spec: - containers: - - name: dns-frontend - image: k8s.gcr.io/example-dns-frontend:v1 - command: - - python - - client.py - - http://dns-backend.development.svc.cluster.local:8000 - imagePullPolicy: Always - restartPolicy: Never diff --git a/examples/cluster-dns/images/backend/Dockerfile b/examples/cluster-dns/images/backend/Dockerfile deleted file mode 100644 index c2a4e7cf6c..0000000000 --- a/examples/cluster-dns/images/backend/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM python:2.7-slim - -COPY . /dns-backend -WORKDIR /dns-backend - -CMD ["python", "server.py"] diff --git a/examples/cluster-dns/images/backend/Makefile b/examples/cluster-dns/images/backend/Makefile deleted file mode 100644 index bac8c89876..0000000000 --- a/examples/cluster-dns/images/backend/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -TAG = v1 -PREFIX = staging-k8s.gcr.io -IMAGE = example-dns-backend - -all: push - -image: - docker build --pull -t $(PREFIX)/$(IMAGE):$(TAG) . - -push: image - gcloud docker -- push $(PREFIX)/$(IMAGE) - -clean: diff --git a/examples/cluster-dns/images/backend/server.py b/examples/cluster-dns/images/backend/server.py deleted file mode 100644 index 5dcfb93b98..0000000000 --- a/examples/cluster-dns/images/backend/server.py +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer - -PORT_NUMBER = 8000 - -# This class will handles any incoming request. -class HTTPHandler(BaseHTTPRequestHandler): - # Handler for the GET requests - def do_GET(self): - self.send_response(200) - self.send_header('Content-type','text/html') - self.end_headers() - self.wfile.write("Hello World!") - -try: - # Create a web server and define the handler to manage the incoming request. - server = HTTPServer(('', PORT_NUMBER), HTTPHandler) - print 'Started httpserver on port ' , PORT_NUMBER - server.serve_forever() -except KeyboardInterrupt: - print '^C received, shutting down the web server' - server.socket.close() diff --git a/examples/cluster-dns/images/frontend/Dockerfile b/examples/cluster-dns/images/frontend/Dockerfile deleted file mode 100644 index 56da6eb715..0000000000 --- a/examples/cluster-dns/images/frontend/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM python:2.7-slim - -RUN pip install requests - -COPY . /dns-frontend -WORKDIR /dns-frontend - -CMD ["python", "client.py"] diff --git a/examples/cluster-dns/images/frontend/Makefile b/examples/cluster-dns/images/frontend/Makefile deleted file mode 100644 index 4c17fb59f5..0000000000 --- a/examples/cluster-dns/images/frontend/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -TAG = v1 -PREFIX = staging-k8s.gcr.io -IMAGE = example-dns-frontend - -all: push - -image: - docker build --pull -t $(PREFIX)/$(IMAGE):$(TAG) . - -push: image - gcloud docker -- push $(PREFIX)/$(IMAGE) - -clean: diff --git a/examples/cluster-dns/images/frontend/client.py b/examples/cluster-dns/images/frontend/client.py deleted file mode 100644 index 1a56df5043..0000000000 --- a/examples/cluster-dns/images/frontend/client.py +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import argparse -import requests -import socket - -from urlparse import urlparse - - -def CheckServiceAddress(address): - hostname = urlparse(address).hostname - service_address = socket.gethostbyname(hostname) - print service_address - - -def GetServerResponse(address): - print 'Send request to:', address - response = requests.get(address) - print response - print response.content - - -def Main(): - parser = argparse.ArgumentParser() - parser.add_argument('address') - args = parser.parse_args() - CheckServiceAddress(args.address) - GetServerResponse(args.address) - - -if __name__ == "__main__": - Main() diff --git a/examples/cluster-dns/namespace-dev.yaml b/examples/cluster-dns/namespace-dev.yaml deleted file mode 100644 index 149c2f6659..0000000000 --- a/examples/cluster-dns/namespace-dev.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: "development" - labels: - name: "development" diff --git a/examples/cluster-dns/namespace-prod.yaml b/examples/cluster-dns/namespace-prod.yaml deleted file mode 100644 index 04bb44c1d0..0000000000 --- a/examples/cluster-dns/namespace-prod.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: "production" - labels: - name: "production" diff --git a/examples/cockroachdb/OWNERS b/examples/cockroachdb/OWNERS deleted file mode 100644 index 9b4cd15cbc..0000000000 --- a/examples/cockroachdb/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - a-robinson -approvers: - - a-robinson diff --git a/examples/cockroachdb/README.md b/examples/cockroachdb/README.md deleted file mode 100644 index 23ffcbdce0..0000000000 --- a/examples/cockroachdb/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/cockroachdb/README.md](https://github.com/kubernetes/examples/blob/master/staging/cockroachdb/README.md) diff --git a/examples/cockroachdb/cockroachdb-statefulset.yaml b/examples/cockroachdb/cockroachdb-statefulset.yaml deleted file mode 100644 index 0afdef391e..0000000000 --- a/examples/cockroachdb/cockroachdb-statefulset.yaml +++ /dev/null @@ -1,171 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - # This service is meant to be used by clients of the database. It exposes a ClusterIP that will - # automatically load balance connections to the different database pods. - name: cockroachdb-public - labels: - app: cockroachdb -spec: - ports: - # The main port, served by gRPC, serves Postgres-flavor SQL, internode - # traffic and the cli. - - port: 26257 - targetPort: 26257 - name: grpc - # The secondary port serves the UI as well as health and debug endpoints. - - port: 8080 - targetPort: 8080 - name: http - selector: - app: cockroachdb ---- -apiVersion: v1 -kind: Service -metadata: - # This service only exists to create DNS entries for each pod in the stateful - # set such that they can resolve each other's IP addresses. It does not - # create a load-balanced ClusterIP and should not be used directly by clients - # in most circumstances. - name: cockroachdb - labels: - app: cockroachdb - annotations: - # This is needed to make the peer-finder work properly and to help avoid - # edge cases where instance 0 comes up after losing its data and needs to - # decide whether it should create a new cluster or try to join an existing - # one. If it creates a new cluster when it should have joined an existing - # one, we'd end up with two separate clusters listening at the same service - # endpoint, which would be very bad. - service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" - # Enable automatic monitoring of all instances when Prometheus is running in the cluster. - prometheus.io/scrape: "true" - prometheus.io/path: "_status/vars" - prometheus.io/port: "8080" -spec: - ports: - - port: 26257 - targetPort: 26257 - name: grpc - - port: 8080 - targetPort: 8080 - name: http - clusterIP: None - selector: - app: cockroachdb ---- -apiVersion: policy/v1beta1 -kind: PodDisruptionBudget -metadata: - name: cockroachdb-budget - labels: - app: cockroachdb -spec: - selector: - matchLabels: - app: cockroachdb - minAvailable: 67% ---- -apiVersion: apps/v1beta1 -kind: StatefulSet -metadata: - name: cockroachdb -spec: - serviceName: "cockroachdb" - replicas: 3 - template: - metadata: - labels: - app: cockroachdb - spec: - # Init containers are run only once in the lifetime of a pod, before - # it's started up for the first time. It has to exit successfully - # before the pod's main containers are allowed to start. - # This particular init container does a DNS lookup for other pods in - # the set to help determine whether or not a cluster already exists. - # If any other pods exist, it creates a file in the cockroach-data - # directory to pass that information along to the primary container that - # has to decide what command-line flags to use when starting CockroachDB. - # This only matters when a pod's persistent volume is empty - if it has - # data from a previous execution, that data will always be used. - # - # If your Kubernetes cluster uses a custom DNS domain, you will have - # to add an additional arg to this pod: "-domain=" - initContainers: - - name: bootstrap - image: cockroachdb/cockroach-k8s-init:0.2 - imagePullPolicy: IfNotPresent - args: - - "-on-start=/on-start.sh" - - "-service=cockroachdb" - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - volumeMounts: - - name: datadir - mountPath: "/cockroach/cockroach-data" - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - cockroachdb - topologyKey: kubernetes.io/hostname - containers: - - name: cockroachdb - image: cockroachdb/cockroach:v1.1.0 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 26257 - name: grpc - - containerPort: 8080 - name: http - volumeMounts: - - name: datadir - mountPath: /cockroach/cockroach-data - command: - - "/bin/bash" - - "-ecx" - - | - # The use of qualified `hostname -f` is crucial: - # Other nodes aren't able to look up the unqualified hostname. - CRARGS=("start" "--logtostderr" "--insecure" "--host" "$(hostname -f)" "--http-host" "0.0.0.0") - # We only want to initialize a new cluster (by omitting the join flag) - # if we're sure that we're the first node (i.e. index 0) and that - # there aren't any other nodes running as part of the cluster that - # this is supposed to be a part of (which indicates that a cluster - # already exists and we should make sure not to create a new one). - # It's fine to run without --join on a restart if there aren't any - # other nodes. - if [ ! "$(hostname)" == "cockroachdb-0" ] || \ - [ -e "/cockroach/cockroach-data/cluster_exists_marker" ] - then - # We don't join cockroachdb in order to avoid a node attempting - # to join itself, which currently doesn't work - # (https://github.com/cockroachdb/cockroach/issues/9625). - CRARGS+=("--join" "cockroachdb-public") - fi - exec /cockroach/cockroach ${CRARGS[*]} - # No pre-stop hook is required, a SIGTERM plus some time is all that's - # needed for graceful shutdown of a node. - terminationGracePeriodSeconds: 60 - volumes: - - name: datadir - persistentVolumeClaim: - claimName: datadir - volumeClaimTemplates: - - metadata: - name: datadir - spec: - accessModes: - - "ReadWriteOnce" - resources: - requests: - storage: 1Gi diff --git a/examples/cockroachdb/demo.sh b/examples/cockroachdb/demo.sh deleted file mode 100755 index f96f54277d..0000000000 --- a/examples/cockroachdb/demo.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash - -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -euo pipefail - -function sql() { - # TODO(knz): Why does the more idiomatic read from stdin not produce any - # output? - kubectl exec "cockroachdb-${1}" -- /cockroach/cockroach sql \ - --host "cockroachdb-${1}.cockroachdb" \ - --insecure \ - -e "$(cat /dev/stdin)" -} - -function kill() { - ! kubectl exec -t "cockroachdb-${1}" -- /bin/bash -c "while true; do kill 1; done" &> /dev/null -} - -# Create database on second node (idempotently for convenience). -cat <= 1 CPU - shared.yaml | >= 1 CPU - exclusive-1.yaml | >= 2 CPU - exclusive-2.yaml | >= 3 CPU - exclusive-3.yaml | >= 4 CPU - exclusive-4.yaml | >= 5 CPU -``` - -### Example - -Run a pod with a single container in the shared pool, and another pod -with a single container in an exclusive cpuset with one CPU. - -``` -$ kubectl create -f examples/cpu-manager/shared.yaml -$ kubectl create -f examples/cpu-manager/exclusive-1.yaml -``` - -To list IP addresses of the pods running in the local cluster, do: - -``` -$ watch ./examples/cpu-manager/pod-ips -exclusive-1 http://172.17.0.4 -shared http://172.17.0.3 -``` - -#### Sample cpuset-visualizer output - -![Sample cpuset-visualizer output](https://user-images.githubusercontent.com/379372/28648573-974693ce-7223-11e7-84ed-17cce11910ff.png) diff --git a/examples/cpu-manager/be.yaml b/examples/cpu-manager/be.yaml deleted file mode 100644 index 05d34a122b..0000000000 --- a/examples/cpu-manager/be.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: be -spec: - containers: - - image: quay.io/connordoyle/cpuset-visualizer - name: be diff --git a/examples/cpu-manager/exclusive-1.yaml b/examples/cpu-manager/exclusive-1.yaml deleted file mode 100644 index 98dd57c810..0000000000 --- a/examples/cpu-manager/exclusive-1.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: exclusive-1 -spec: - containers: - - image: quay.io/connordoyle/cpuset-visualizer - name: exclusive-1 - resources: - requests: - cpu: 1 - memory: "256M" - limits: - cpu: 1 - memory: "256M" diff --git a/examples/cpu-manager/exclusive-2.yaml b/examples/cpu-manager/exclusive-2.yaml deleted file mode 100644 index 6003be0dd6..0000000000 --- a/examples/cpu-manager/exclusive-2.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: exclusive-2 -spec: - containers: - - image: quay.io/connordoyle/cpuset-visualizer - name: exclusive-2 - resources: - requests: - cpu: 2 - memory: "256M" - limits: - cpu: 2 - memory: "256M" diff --git a/examples/cpu-manager/exclusive-3.yaml b/examples/cpu-manager/exclusive-3.yaml deleted file mode 100644 index 25234fffe8..0000000000 --- a/examples/cpu-manager/exclusive-3.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: exclusive-3 -spec: - containers: - - image: quay.io/connordoyle/cpuset-visualizer - name: exclusive-3 - resources: - requests: - cpu: 3 - memory: "256M" - limits: - cpu: 3 - memory: "256M" diff --git a/examples/cpu-manager/exclusive-4.yaml b/examples/cpu-manager/exclusive-4.yaml deleted file mode 100644 index da342acd2d..0000000000 --- a/examples/cpu-manager/exclusive-4.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: exclusive-4 -spec: - containers: - - image: quay.io/connordoyle/cpuset-visualizer - name: exclusive-4 - resources: - requests: - cpu: 4 - memory: "256M" - limits: - cpu: 4 - memory: "256M" diff --git a/examples/cpu-manager/pod-ips b/examples/cpu-manager/pod-ips deleted file mode 100755 index 66ee355095..0000000000 --- a/examples/cpu-manager/pod-ips +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Requires `jq`. See https://stedolan.github.io/jq/download - -set -o nounset -o pipefail -o errexit - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -KUBECTL="$DIR/../../cluster/kubectl.sh" -export KUBECONFIG="${KUBECONFIG:-/var/run/kubernetes/admin.kubeconfig}" - -$KUBECTL get pods -o json | \ - jq -r '.items[] | "\(.metadata.name) http://\(.status.podIP)"' diff --git a/examples/cpu-manager/shared.yaml b/examples/cpu-manager/shared.yaml deleted file mode 100644 index 0f09d0c99f..0000000000 --- a/examples/cpu-manager/shared.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: shared -spec: - containers: - - image: quay.io/connordoyle/cpuset-visualizer - name: shared - resources: - requests: - cpu: 100m diff --git a/examples/doc.go b/examples/doc.go deleted file mode 100644 index 85b3b214b8..0000000000 --- a/examples/doc.go +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Examples contains sample applications for trying out the concepts in Kubernetes. -package examples // import "k8s.io/kubernetes/examples" diff --git a/examples/elasticsearch/README.md b/examples/elasticsearch/README.md deleted file mode 100644 index 75ecfe69ae..0000000000 --- a/examples/elasticsearch/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/elasticsearch/README.md](https://github.com/kubernetes/examples/blob/master/staging/elasticsearch/README.md) diff --git a/examples/examples_test.go b/examples/examples_test.go deleted file mode 100644 index beac4cc91d..0000000000 --- a/examples/examples_test.go +++ /dev/null @@ -1,466 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package examples_test - -import ( - "fmt" - "io/ioutil" - "os" - "path/filepath" - "regexp" - "strings" - "testing" - - "github.com/golang/glog" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/types" - "k8s.io/apimachinery/pkg/util/validation/field" - "k8s.io/apimachinery/pkg/util/yaml" - "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/apis/apps" - appsvalidation "k8s.io/kubernetes/pkg/apis/apps/validation" - "k8s.io/kubernetes/pkg/apis/batch" - api "k8s.io/kubernetes/pkg/apis/core" - "k8s.io/kubernetes/pkg/apis/core/validation" - "k8s.io/kubernetes/pkg/apis/extensions" - expvalidation "k8s.io/kubernetes/pkg/apis/extensions/validation" - "k8s.io/kubernetes/pkg/capabilities" - "k8s.io/kubernetes/pkg/registry/batch/job" - schedulerapi "k8s.io/kubernetes/pkg/scheduler/api" - schedulerapilatest "k8s.io/kubernetes/pkg/scheduler/api/latest" - schedulerapivalidation "k8s.io/kubernetes/pkg/scheduler/api/validation" -) - -func validateObject(obj runtime.Object) (errors field.ErrorList) { - switch t := obj.(type) { - case *api.ReplicationController: - if t.Namespace == "" { - t.Namespace = metav1.NamespaceDefault - } - errors = validation.ValidateReplicationController(t) - case *api.ReplicationControllerList: - for i := range t.Items { - errors = append(errors, validateObject(&t.Items[i])...) - } - case *api.Service: - if t.Namespace == "" { - t.Namespace = metav1.NamespaceDefault - } - errors = validation.ValidateService(t) - case *api.ServiceList: - for i := range t.Items { - errors = append(errors, validateObject(&t.Items[i])...) - } - case *api.Pod: - if t.Namespace == "" { - t.Namespace = metav1.NamespaceDefault - } - errors = validation.ValidatePod(t) - case *api.PodList: - for i := range t.Items { - errors = append(errors, validateObject(&t.Items[i])...) - } - case *api.PersistentVolume: - errors = validation.ValidatePersistentVolume(t) - case *api.PersistentVolumeClaim: - if t.Namespace == "" { - t.Namespace = metav1.NamespaceDefault - } - errors = validation.ValidatePersistentVolumeClaim(t) - case *api.PodTemplate: - if t.Namespace == "" { - t.Namespace = metav1.NamespaceDefault - } - errors = validation.ValidatePodTemplate(t) - case *api.Endpoints: - if t.Namespace == "" { - t.Namespace = metav1.NamespaceDefault - } - errors = validation.ValidateEndpoints(t) - case *api.Namespace: - errors = validation.ValidateNamespace(t) - case *api.Secret: - if t.Namespace == "" { - t.Namespace = metav1.NamespaceDefault - } - errors = validation.ValidateSecret(t) - case *api.LimitRange: - if t.Namespace == "" { - t.Namespace = metav1.NamespaceDefault - } - errors = validation.ValidateLimitRange(t) - case *api.ResourceQuota: - if t.Namespace == "" { - t.Namespace = metav1.NamespaceDefault - } - errors = validation.ValidateResourceQuota(t) - case *extensions.Deployment: - if t.Namespace == "" { - t.Namespace = metav1.NamespaceDefault - } - errors = expvalidation.ValidateDeployment(t) - case *batch.Job: - if t.Namespace == "" { - t.Namespace = metav1.NamespaceDefault - } - // Job needs generateSelector called before validation, and job.Validate does this. - // See: https://github.com/kubernetes/kubernetes/issues/20951#issuecomment-187787040 - t.ObjectMeta.UID = types.UID("fakeuid") - errors = job.Strategy.Validate(nil, t) - case *extensions.Ingress: - if t.Namespace == "" { - t.Namespace = metav1.NamespaceDefault - } - errors = expvalidation.ValidateIngress(t) - case *extensions.DaemonSet: - if t.Namespace == "" { - t.Namespace = metav1.NamespaceDefault - } - errors = expvalidation.ValidateDaemonSet(t) - case *apps.StatefulSet: - if t.Namespace == "" { - t.Namespace = metav1.NamespaceDefault - } - errors = appsvalidation.ValidateStatefulSet(t) - default: - errors = field.ErrorList{} - errors = append(errors, field.InternalError(field.NewPath(""), fmt.Errorf("no validation defined for %#v", obj))) - } - return errors -} - -func validateschedulerpolicy(obj runtime.Object) error { - switch t := obj.(type) { - case *schedulerapi.Policy: - return schedulerapivalidation.ValidatePolicy(*t) - default: - return fmt.Errorf("obj type is not schedulerapi.Policy") - } -} - -func walkJSONFiles(inDir string, fn func(name, path string, data []byte)) error { - return filepath.Walk(inDir, func(path string, info os.FileInfo, err error) error { - if err != nil { - return err - } - - if info.IsDir() && path != inDir { - return filepath.SkipDir - } - - file := filepath.Base(path) - if ext := filepath.Ext(file); ext == ".json" || ext == ".yaml" { - glog.Infof("Testing %s", path) - data, err := ioutil.ReadFile(path) - if err != nil { - return err - } - name := strings.TrimSuffix(file, ext) - - if ext == ".yaml" { - out, err := yaml.ToJSON(data) - if err != nil { - return fmt.Errorf("%s: %v", path, err) - } - data = out - } - - fn(name, path, data) - } - return nil - }) -} - -func TestExampleObjectSchemas(t *testing.T) { - cases := map[string]map[string]runtime.Object{ - "../examples/guestbook": { - "frontend-deployment": &extensions.Deployment{}, - "redis-slave-deployment": &extensions.Deployment{}, - "redis-master-deployment": &extensions.Deployment{}, - "frontend-service": &api.Service{}, - "redis-master-service": &api.Service{}, - "redis-slave-service": &api.Service{}, - }, - "../examples/guestbook/legacy": { - "frontend-controller": &api.ReplicationController{}, - "redis-slave-controller": &api.ReplicationController{}, - "redis-master-controller": &api.ReplicationController{}, - }, - "../examples/guestbook-go": { - "guestbook-controller": &api.ReplicationController{}, - "redis-slave-controller": &api.ReplicationController{}, - "redis-master-controller": &api.ReplicationController{}, - "guestbook-service": &api.Service{}, - "redis-master-service": &api.Service{}, - "redis-slave-service": &api.Service{}, - }, - "../examples/volumes/iscsi": { - "chap-secret": &api.Secret{}, - "iscsi": &api.Pod{}, - "iscsi-chap": &api.Pod{}, - }, - "../examples/volumes/glusterfs": { - "glusterfs-pod": &api.Pod{}, - "glusterfs-endpoints": &api.Endpoints{}, - "glusterfs-service": &api.Service{}, - }, - "../examples": { - "scheduler-policy-config": &schedulerapi.Policy{}, - "scheduler-policy-config-with-extender": &schedulerapi.Policy{}, - }, - "../examples/volumes/rbd/secret": { - "ceph-secret": &api.Secret{}, - }, - "../examples/volumes/rbd": { - "rbd": &api.Pod{}, - "rbd-with-secret": &api.Pod{}, - }, - "../examples/cluster-dns": { - "dns-backend-rc": &api.ReplicationController{}, - "dns-backend-service": &api.Service{}, - "dns-frontend-pod": &api.Pod{}, - "namespace-dev": &api.Namespace{}, - "namespace-prod": &api.Namespace{}, - }, - "../examples/explorer": { - "pod": &api.Pod{}, - }, - "../examples/storage/hazelcast": { - "hazelcast-deployment": &extensions.Deployment{}, - "hazelcast-service": &api.Service{}, - }, - "../examples/meteor": { - "meteor-controller": &api.ReplicationController{}, - "meteor-service": &api.Service{}, - "mongo-pod": &api.Pod{}, - "mongo-service": &api.Service{}, - }, - "../examples/mysql-wordpress-pd": { - "gce-volumes": &api.PersistentVolume{}, - "local-volumes": &api.PersistentVolume{}, - "mysql-deployment": &api.Service{}, - "wordpress-deployment": &api.Service{}, - }, - "../examples/volumes/nfs": { - "nfs-busybox-rc": &api.ReplicationController{}, - "nfs-server-rc": &api.ReplicationController{}, - "nfs-server-service": &api.Service{}, - "nfs-pv": &api.PersistentVolume{}, - "nfs-pvc": &api.PersistentVolumeClaim{}, - "nfs-web-rc": &api.ReplicationController{}, - "nfs-web-service": &api.Service{}, - }, - "../examples/openshift-origin": { - "openshift-origin-namespace": &api.Namespace{}, - "openshift-controller": &extensions.Deployment{}, - "openshift-service": &api.Service{}, - "etcd-controller": &extensions.Deployment{}, - "etcd-service": &api.Service{}, - "etcd-discovery-controller": &extensions.Deployment{}, - "etcd-discovery-service": &api.Service{}, - "secret": nil, - }, - "../examples/phabricator": { - "phabricator-controller": &api.ReplicationController{}, - "phabricator-service": &api.Service{}, - }, - "../examples/storage/redis": { - "redis-controller": &api.ReplicationController{}, - "redis-master": &api.Pod{}, - "redis-sentinel-controller": &api.ReplicationController{}, - "redis-sentinel-service": &api.Service{}, - }, - "../examples/storage/rethinkdb": { - "admin-pod": &api.Pod{}, - "admin-service": &api.Service{}, - "driver-service": &api.Service{}, - "rc": &api.ReplicationController{}, - }, - "../examples/spark": { - "namespace-spark-cluster": &api.Namespace{}, - "spark-master-controller": &api.ReplicationController{}, - "spark-master-service": &api.Service{}, - "spark-ui-proxy-controller": &api.ReplicationController{}, - "spark-ui-proxy-service": &api.Service{}, - "spark-worker-controller": &api.ReplicationController{}, - "zeppelin-controller": &api.ReplicationController{}, - "zeppelin-service": &api.Service{}, - }, - "../examples/spark/spark-gluster": { - "spark-master-service": &api.Service{}, - "spark-master-controller": &api.ReplicationController{}, - "spark-worker-controller": &api.ReplicationController{}, - "glusterfs-endpoints": &api.Endpoints{}, - }, - "../examples/storm": { - "storm-nimbus-service": &api.Service{}, - "storm-nimbus": &api.Pod{}, - "storm-worker-controller": &api.ReplicationController{}, - "zookeeper-service": &api.Service{}, - "zookeeper": &api.Pod{}, - }, - "../examples/volumes/cephfs/": { - "cephfs": &api.Pod{}, - "cephfs-with-secret": &api.Pod{}, - }, - "../examples/volumes/fibre_channel": { - "fc": &api.Pod{}, - }, - "../examples/javaweb-tomcat-sidecar": { - "javaweb": &api.Pod{}, - "javaweb-2": &api.Pod{}, - }, - "../examples/volumes/azure_file": { - "azure": &api.Pod{}, - }, - "../examples/volumes/azure_disk": { - "azure": &api.Pod{}, - }, - } - - capabilities.SetForTests(capabilities.Capabilities{ - AllowPrivileged: true, - }) - - for path, expected := range cases { - tested := 0 - err := walkJSONFiles(path, func(name, path string, data []byte) { - expectedType, found := expected[name] - if !found { - t.Errorf("%s: %s does not have a test case defined", path, name) - return - } - tested++ - if expectedType == nil { - t.Logf("skipping : %s/%s\n", path, name) - return - } - if strings.Contains(name, "scheduler-policy-config") { - if err := runtime.DecodeInto(schedulerapilatest.Codec, data, expectedType); err != nil { - t.Errorf("%s did not decode correctly: %v\n%s", path, err, string(data)) - return - } - if err := validateschedulerpolicy(expectedType); err != nil { - t.Errorf("%s did not validate correctly: %v\n%s", path, err, string(data)) - return - } - } else { - codec, err := testapi.GetCodecForObject(expectedType) - if err != nil { - t.Errorf("Could not get codec for %s: %s", expectedType, err) - } - if err := runtime.DecodeInto(codec, data, expectedType); err != nil { - t.Errorf("%s did not decode correctly: %v\n%s", path, err, string(data)) - return - } - if errors := validateObject(expectedType); len(errors) > 0 { - t.Errorf("%s did not validate correctly: %v", path, errors) - } - } - }) - if err != nil { - t.Errorf("Expected no error, Got %v", err) - } - if tested != len(expected) { - t.Errorf("Directory %v: Expected %d examples, Got %d", path, len(expected), tested) - } - } -} - -// This regex is tricky, but it works. For future me, here is the decode: -// -// Flags: (?ms) = multiline match, allow . to match \n -// 1) Look for a line that starts with ``` (a markdown code block) -// 2) (?: ... ) = non-capturing group -// 3) (P) = capture group as "name" -// 4) Look for #1 followed by either: -// 4a) "yaml" followed by any word-characters followed by a newline (e.g. ```yamlfoo\n) -// 4b) "any word-characters followed by a newline (e.g. ```json\n) -// 5) Look for either: -// 5a) #4a followed by one or more characters (non-greedy) -// 5b) #4b followed by { followed by one or more characters (non-greedy) followed by } -// 6) Look for #5 followed by a newline followed by ``` (end of the code block) -// -// This could probably be simplified, but is already too delicate. Before any -// real changes, we should have a testscase that just tests this regex. -var sampleRegexp = regexp.MustCompile("(?ms)^```(?:(?Pyaml)\\w*\\n(?P.+?)|\\w*\\n(?P\\{.+?\\}))\\n^```") -var subsetRegexp = regexp.MustCompile("(?ms)\\.{3}") - -func TestReadme(t *testing.T) { - paths := []struct { - file string - expectedType []runtime.Object - }{ - {"../README.md", []runtime.Object{&api.Pod{}}}, - {"../examples/volumes/iscsi/README.md", []runtime.Object{&api.Secret{}}}, - } - - for _, path := range paths { - data, err := ioutil.ReadFile(path.file) - if err != nil { - t.Errorf("Unable to read file %s: %v", path, err) - continue - } - - matches := sampleRegexp.FindAllStringSubmatch(string(data), -1) - if matches == nil { - continue - } - ix := 0 - for _, match := range matches { - var content, subtype string - for i, name := range sampleRegexp.SubexpNames() { - if name == "type" { - subtype = match[i] - } - if name == "content" && match[i] != "" { - content = match[i] - } - } - if subtype == "yaml" && subsetRegexp.FindString(content) != "" { - t.Logf("skipping (%s): \n%s", subtype, content) - continue - } - - var expectedType runtime.Object - if len(path.expectedType) == 1 { - expectedType = path.expectedType[0] - } else { - expectedType = path.expectedType[ix] - ix++ - } - json, err := yaml.ToJSON([]byte(content)) - if err != nil { - t.Errorf("%s could not be converted to JSON: %v\n%s", path, err, string(content)) - } - if err := runtime.DecodeInto(testapi.Default.Codec(), json, expectedType); err != nil { - t.Errorf("%s did not decode correctly: %v\n%s", path, err, string(content)) - continue - } - if errors := validateObject(expectedType); len(errors) > 0 { - t.Errorf("%s did not validate correctly: %v", path, errors) - } - _, err = runtime.Encode(testapi.Default.Codec(), expectedType) - if err != nil { - t.Errorf("Could not encode object: %v", err) - continue - } - } - } -} diff --git a/examples/explorer/BUILD b/examples/explorer/BUILD deleted file mode 100644 index 680d702ecf..0000000000 --- a/examples/explorer/BUILD +++ /dev/null @@ -1,32 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_binary", - "go_library", -) - -go_binary( - name = "explorer", - embed = [":go_default_library"], -) - -go_library( - name = "go_default_library", - srcs = ["explorer.go"], - importpath = "k8s.io/kubernetes/examples/explorer", - deps = ["//vendor/github.com/davecgh/go-spew/spew:go_default_library"], -) - -filegroup( - name = "package-srcs", - srcs = glob(["**"]), - tags = ["automanaged"], - visibility = ["//visibility:private"], -) - -filegroup( - name = "all-srcs", - srcs = [":package-srcs"], - tags = ["automanaged"], -) diff --git a/examples/explorer/Dockerfile b/examples/explorer/Dockerfile deleted file mode 100644 index 71c686c567..0000000000 --- a/examples/explorer/Dockerfile +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM scratch -ADD explorer explorer -ADD README.md README.md -EXPOSE 8080 -ENTRYPOINT ["/explorer"] diff --git a/examples/explorer/Makefile b/examples/explorer/Makefile deleted file mode 100644 index f550a15a15..0000000000 --- a/examples/explorer/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -all: push - -# Keep this one version ahead, so no one accidentally blows away the latest published version. -TAG = 1.1 - -explorer: explorer.go - CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags '-w' ./explorer.go - -container: explorer - docker build --pull -t staging-k8s.gcr.io/explorer:$(TAG) . - -push: container - gcloud docker -- push staging-k8s.gcr.io/explorer:$(TAG) - -clean: - rm -f explorer diff --git a/examples/explorer/README.md b/examples/explorer/README.md deleted file mode 100644 index 5451e2b30c..0000000000 --- a/examples/explorer/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/explorer/README.md](https://github.com/kubernetes/examples/blob/master/staging/explorer/README.md) diff --git a/examples/explorer/explorer.go b/examples/explorer/explorer.go deleted file mode 100644 index cdba95f546..0000000000 --- a/examples/explorer/explorer.go +++ /dev/null @@ -1,122 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// A tiny web server for viewing the environment kubernetes creates for your -// containers. It exposes the filesystem and environment variables via http -// server. -package main - -import ( - "flag" - "fmt" - "log" - "net" - "net/http" - "os" - - "github.com/davecgh/go-spew/spew" -) - -var ( - port = flag.Int("port", 8080, "Port number to serve at.") -) - -func main() { - flag.Parse() - hostname, err := os.Hostname() - if err != nil { - log.Fatalf("Error getting hostname: %v", err) - } - - links := []struct { - link, desc string - }{ - {"/fs/", "Complete file system as seen by this container."}, - {"/vars/", "Environment variables as seen by this container."}, - {"/hostname/", "Hostname as seen by this container."}, - {"/dns?q=google.com", "Explore DNS records seen by this container."}, - {"/quit", "Cause this container to exit."}, - } - - http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { - fmt.Fprintf(w, " Kubernetes environment explorer

") - for _, v := range links { - fmt.Fprintf(w, `%v: %v
`, v.link, v.link, v.desc) - } - }) - - http.Handle("/fs/", http.StripPrefix("/fs/", http.FileServer(http.Dir("/")))) - http.HandleFunc("/vars/", func(w http.ResponseWriter, r *http.Request) { - for _, v := range os.Environ() { - fmt.Fprintf(w, "%v\n", v) - } - }) - http.HandleFunc("/hostname/", func(w http.ResponseWriter, r *http.Request) { - fmt.Fprintf(w, hostname) - }) - http.HandleFunc("/quit", func(w http.ResponseWriter, r *http.Request) { - os.Exit(0) - }) - http.HandleFunc("/dns", dns) - - go log.Fatal(http.ListenAndServe(fmt.Sprintf("0.0.0.0:%d", *port), nil)) - - select {} -} - -func dns(w http.ResponseWriter, r *http.Request) { - q := r.URL.Query().Get("q") - // Note that the below is NOT safe from input attacks, but that's OK - // because this is just for debugging. - fmt.Fprintf(w, ` -
- - -
-

`, q)
-	{
-		res, err := net.LookupNS(q)
-		spew.Fprintf(w, "LookupNS(%v):\nResult: %#v\nError: %v\n\n", q, res, err)
-	}
-	{
-		res, err := net.LookupTXT(q)
-		spew.Fprintf(w, "LookupTXT(%v):\nResult: %#v\nError: %v\n\n", q, res, err)
-	}
-	{
-		cname, res, err := net.LookupSRV("", "", q)
-		spew.Fprintf(w, `LookupSRV("", "", %v):
-cname: %v
-Result: %#v
-Error: %v
-
-`, q, cname, res, err)
-	}
-	{
-		res, err := net.LookupHost(q)
-		spew.Fprintf(w, "LookupHost(%v):\nResult: %#v\nError: %v\n\n", q, res, err)
-	}
-	{
-		res, err := net.LookupIP(q)
-		spew.Fprintf(w, "LookupIP(%v):\nResult: %#v\nError: %v\n\n", q, res, err)
-	}
-	{
-		res, err := net.LookupMX(q)
-		spew.Fprintf(w, "LookupMX(%v):\nResult: %#v\nError: %v\n\n", q, res, err)
-	}
-	fmt.Fprintf(w, `
- -`) -} diff --git a/examples/explorer/pod.yaml b/examples/explorer/pod.yaml deleted file mode 100644 index 0437a24922..0000000000 --- a/examples/explorer/pod.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: explorer -spec: - containers: - - name: explorer - image: k8s.gcr.io/explorer:1.0 - args: ["-port=8080"] - ports: - - containerPort: 8080 - protocol: TCP - volumeMounts: - - mountPath: "/mount/test-volume" - name: test-volume - volumes: - - name: test-volume - emptyDir: {} diff --git a/examples/guestbook-go/.gitignore b/examples/guestbook-go/.gitignore deleted file mode 100644 index a45a95c2f1..0000000000 --- a/examples/guestbook-go/.gitignore +++ /dev/null @@ -1 +0,0 @@ -guestbook_bin diff --git a/examples/guestbook-go/BUILD b/examples/guestbook-go/BUILD deleted file mode 100644 index 66bc4f93a4..0000000000 --- a/examples/guestbook-go/BUILD +++ /dev/null @@ -1,36 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_binary", - "go_library", -) - -go_binary( - name = "guestbook-go", - embed = [":go_default_library"], -) - -go_library( - name = "go_default_library", - srcs = ["main.go"], - importpath = "k8s.io/kubernetes/examples/guestbook-go", - deps = [ - "//vendor/github.com/codegangsta/negroni:go_default_library", - "//vendor/github.com/gorilla/mux:go_default_library", - "//vendor/github.com/xyproto/simpleredis:go_default_library", - ], -) - -filegroup( - name = "package-srcs", - srcs = glob(["**"]), - tags = ["automanaged"], - visibility = ["//visibility:private"], -) - -filegroup( - name = "all-srcs", - srcs = [":package-srcs"], - tags = ["automanaged"], -) diff --git a/examples/guestbook-go/Dockerfile b/examples/guestbook-go/Dockerfile deleted file mode 100644 index a58ebae382..0000000000 --- a/examples/guestbook-go/Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM busybox:ubuntu-14.04 - -ADD ./guestbook_bin /app/guestbook -ADD ./public/index.html /app/public/index.html -ADD ./public/script.js /app/public/script.js -ADD ./public/style.css /app/public/style.css - -WORKDIR /app -CMD ["./guestbook"] -EXPOSE 3000 diff --git a/examples/guestbook-go/Makefile b/examples/guestbook-go/Makefile deleted file mode 100644 index ce17d07e80..0000000000 --- a/examples/guestbook-go/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Build the guestbook-go example - -# Usage: -# [VERSION=v3] [REGISTRY="staging-k8s.gcr.io"] make build -VERSION?=v3 -REGISTRY?=staging-k8s.gcr.io - -release: clean build push clean - -# builds a docker image that builds the app and packages it into a minimal docker image -build: - @cp ../../bazel-bin/examples/guestbook-go/guestbook-go guestbook_bin - docker build --pull --rm --force-rm -t ${REGISTRY}/guestbook-builder . - docker run --rm ${REGISTRY}/guestbook-builder | docker build --pull -t "${REGISTRY}/guestbook:${VERSION}" - - -# push the image to an registry -push: - gcloud docker -- push ${REGISTRY}/guestbook:${VERSION} - -# remove previous images and containers -clean: - rm -f guestbook_bin - docker rm -f ${REGISTRY}/guestbook-builder 2> /dev/null || true - docker rmi -f ${REGISTRY}/guestbook-builder || true - docker rmi -f "${REGISTRY}/guestbook:${VERSION}" || true - -.PHONY: release clean build push diff --git a/examples/guestbook-go/README.md b/examples/guestbook-go/README.md deleted file mode 100644 index 5125039317..0000000000 --- a/examples/guestbook-go/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/guestbook-go/README.md](https://github.com/kubernetes/examples/blob/master/guestbook-go/README.md) diff --git a/examples/guestbook-go/guestbook-controller.json b/examples/guestbook-go/guestbook-controller.json deleted file mode 100644 index 0e3553c865..0000000000 --- a/examples/guestbook-go/guestbook-controller.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "kind":"ReplicationController", - "apiVersion":"v1", - "metadata":{ - "name":"guestbook", - "labels":{ - "app":"guestbook" - } - }, - "spec":{ - "replicas":3, - "selector":{ - "app":"guestbook" - }, - "template":{ - "metadata":{ - "labels":{ - "app":"guestbook" - } - }, - "spec":{ - "containers":[ - { - "name":"guestbook", - "image":"k8s.gcr.io/guestbook:v3", - "ports":[ - { - "name":"http-server", - "containerPort":3000 - } - ] - } - ] - } - } - } -} diff --git a/examples/guestbook-go/guestbook-page.png b/examples/guestbook-go/guestbook-page.png deleted file mode 100644 index 776835fd2dc2202b21f663a17b49916e040d84dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40028 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 P)gV2%KCI}rRp|c#23x-E diff --git a/examples/guestbook-go/guestbook-service.json b/examples/guestbook-go/guestbook-service.json deleted file mode 100644 index cc7640e4c7..0000000000 --- a/examples/guestbook-go/guestbook-service.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "kind":"Service", - "apiVersion":"v1", - "metadata":{ - "name":"guestbook", - "labels":{ - "app":"guestbook" - } - }, - "spec":{ - "ports": [ - { - "port":3000, - "targetPort":"http-server" - } - ], - "selector":{ - "app":"guestbook" - }, - "type": "LoadBalancer" - } -} diff --git a/examples/guestbook-go/main.go b/examples/guestbook-go/main.go deleted file mode 100644 index c6e8cf187e..0000000000 --- a/examples/guestbook-go/main.go +++ /dev/null @@ -1,91 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package main - -import ( - "encoding/json" - "net/http" - "os" - "strings" - - "github.com/codegangsta/negroni" - "github.com/gorilla/mux" - "github.com/xyproto/simpleredis" -) - -var ( - masterPool *simpleredis.ConnectionPool - slavePool *simpleredis.ConnectionPool -) - -func ListRangeHandler(rw http.ResponseWriter, req *http.Request) { - key := mux.Vars(req)["key"] - list := simpleredis.NewList(slavePool, key) - members := HandleError(list.GetAll()).([]string) - membersJSON := HandleError(json.MarshalIndent(members, "", " ")).([]byte) - rw.Write(membersJSON) -} - -func ListPushHandler(rw http.ResponseWriter, req *http.Request) { - key := mux.Vars(req)["key"] - value := mux.Vars(req)["value"] - list := simpleredis.NewList(masterPool, key) - HandleError(nil, list.Add(value)) - ListRangeHandler(rw, req) -} - -func InfoHandler(rw http.ResponseWriter, req *http.Request) { - info := HandleError(masterPool.Get(0).Do("INFO")).([]byte) - rw.Write(info) -} - -func EnvHandler(rw http.ResponseWriter, req *http.Request) { - environment := make(map[string]string) - for _, item := range os.Environ() { - splits := strings.Split(item, "=") - key := splits[0] - val := strings.Join(splits[1:], "=") - environment[key] = val - } - - envJSON := HandleError(json.MarshalIndent(environment, "", " ")).([]byte) - rw.Write(envJSON) -} - -func HandleError(result interface{}, err error) (r interface{}) { - if err != nil { - panic(err) - } - return result -} - -func main() { - masterPool = simpleredis.NewConnectionPoolHost("redis-master:6379") - defer masterPool.Close() - slavePool = simpleredis.NewConnectionPoolHost("redis-slave:6379") - defer slavePool.Close() - - r := mux.NewRouter() - r.Path("/lrange/{key}").Methods("GET").HandlerFunc(ListRangeHandler) - r.Path("/rpush/{key}/{value}").Methods("GET").HandlerFunc(ListPushHandler) - r.Path("/info").Methods("GET").HandlerFunc(InfoHandler) - r.Path("/env").Methods("GET").HandlerFunc(EnvHandler) - - n := negroni.Classic() - n.UseHandler(r) - n.Run(":3000") -} diff --git a/examples/guestbook-go/public/index.html b/examples/guestbook-go/public/index.html deleted file mode 100644 index f525f4b76a..0000000000 --- a/examples/guestbook-go/public/index.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - Guestbook - - - - -
-

Waiting for database connection...

-
- -
-
- - Submit -
-
- -
-

-

/env - /info

-
- - - - diff --git a/examples/guestbook-go/public/script.js b/examples/guestbook-go/public/script.js deleted file mode 100644 index a0a545b056..0000000000 --- a/examples/guestbook-go/public/script.js +++ /dev/null @@ -1,46 +0,0 @@ -$(document).ready(function() { - var headerTitleElement = $("#header h1"); - var entriesElement = $("#guestbook-entries"); - var formElement = $("#guestbook-form"); - var submitElement = $("#guestbook-submit"); - var entryContentElement = $("#guestbook-entry-content"); - var hostAddressElement = $("#guestbook-host-address"); - - var appendGuestbookEntries = function(data) { - entriesElement.empty(); - $.each(data, function(key, val) { - entriesElement.append("

" + val + "

"); - }); - } - - var handleSubmission = function(e) { - e.preventDefault(); - var entryValue = entryContentElement.val() - if (entryValue.length > 0) { - entriesElement.append("

...

"); - $.getJSON("rpush/guestbook/" + entryValue, appendGuestbookEntries); - } - return false; - } - - // colors = purple, blue, red, green, yellow - var colors = ["#549", "#18d", "#d31", "#2a4", "#db1"]; - var randomColor = colors[Math.floor(5 * Math.random())]; - (function setElementsColor(color) { - headerTitleElement.css("color", color); - entryContentElement.css("box-shadow", "inset 0 0 0 2px " + color); - submitElement.css("background-color", color); - })(randomColor); - - submitElement.click(handleSubmission); - formElement.submit(handleSubmission); - hostAddressElement.append(document.URL); - - // Poll every second. - (function fetchGuestbook() { - $.getJSON("lrange/guestbook").done(appendGuestbookEntries).always( - function() { - setTimeout(fetchGuestbook, 1000); - }); - })(); -}); diff --git a/examples/guestbook-go/public/style.css b/examples/guestbook-go/public/style.css deleted file mode 100644 index fd1c393fb0..0000000000 --- a/examples/guestbook-go/public/style.css +++ /dev/null @@ -1,61 +0,0 @@ -body, input { - color: #123; - font-family: "Gill Sans", sans-serif; -} - -div { - overflow: hidden; - padding: 1em 0; - position: relative; - text-align: center; -} - -h1, h2, p, input, a { - font-weight: 300; - margin: 0; -} - -h1 { - color: #BDB76B; - font-size: 3.5em; -} - -h2 { - color: #999; -} - -form { - margin: 0 auto; - max-width: 50em; - text-align: center; -} - -input { - border: 0; - border-radius: 1000px; - box-shadow: inset 0 0 0 2px #BDB76B; - display: inline; - font-size: 1.5em; - margin-bottom: 1em; - outline: none; - padding: .5em 5%; - width: 55%; -} - -form a { - background: #BDB76B; - border: 0; - border-radius: 1000px; - color: #FFF; - font-size: 1.25em; - font-weight: 400; - padding: .75em 2em; - text-decoration: none; - text-transform: uppercase; - white-space: normal; -} - -p { - font-size: 1.5em; - line-height: 1.5; -} diff --git a/examples/guestbook-go/redis-master-controller.json b/examples/guestbook-go/redis-master-controller.json deleted file mode 100644 index 4ffe53a721..0000000000 --- a/examples/guestbook-go/redis-master-controller.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "kind":"ReplicationController", - "apiVersion":"v1", - "metadata":{ - "name":"redis-master", - "labels":{ - "app":"redis", - "role":"master" - } - }, - "spec":{ - "replicas":1, - "selector":{ - "app":"redis", - "role":"master" - }, - "template":{ - "metadata":{ - "labels":{ - "app":"redis", - "role":"master" - } - }, - "spec":{ - "containers":[ - { - "name":"redis-master", - "image":"redis:2.8.23", - "ports":[ - { - "name":"redis-server", - "containerPort":6379 - } - ] - } - ] - } - } - } -} diff --git a/examples/guestbook-go/redis-master-service.json b/examples/guestbook-go/redis-master-service.json deleted file mode 100644 index 3a7426ead0..0000000000 --- a/examples/guestbook-go/redis-master-service.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "kind":"Service", - "apiVersion":"v1", - "metadata":{ - "name":"redis-master", - "labels":{ - "app":"redis", - "role":"master" - } - }, - "spec":{ - "ports": [ - { - "port":6379, - "targetPort":"redis-server" - } - ], - "selector":{ - "app":"redis", - "role":"master" - } - } -} diff --git a/examples/guestbook-go/redis-slave-controller.json b/examples/guestbook-go/redis-slave-controller.json deleted file mode 100644 index eec652afa8..0000000000 --- a/examples/guestbook-go/redis-slave-controller.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "kind":"ReplicationController", - "apiVersion":"v1", - "metadata":{ - "name":"redis-slave", - "labels":{ - "app":"redis", - "role":"slave" - } - }, - "spec":{ - "replicas":2, - "selector":{ - "app":"redis", - "role":"slave" - }, - "template":{ - "metadata":{ - "labels":{ - "app":"redis", - "role":"slave" - } - }, - "spec":{ - "containers":[ - { - "name":"redis-slave", - "image":"kubernetes/redis-slave:v2", - "ports":[ - { - "name":"redis-server", - "containerPort":6379 - } - ] - } - ] - } - } - } -} diff --git a/examples/guestbook-go/redis-slave-service.json b/examples/guestbook-go/redis-slave-service.json deleted file mode 100644 index 7e8f49a6ae..0000000000 --- a/examples/guestbook-go/redis-slave-service.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "kind":"Service", - "apiVersion":"v1", - "metadata":{ - "name":"redis-slave", - "labels":{ - "app":"redis", - "role":"slave" - } - }, - "spec":{ - "ports": [ - { - "port":6379, - "targetPort":"redis-server" - } - ], - "selector":{ - "app":"redis", - "role":"slave" - } - } -} diff --git a/examples/guestbook/README.md b/examples/guestbook/README.md deleted file mode 100644 index baee2f834c..0000000000 --- a/examples/guestbook/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/guestbook/README.md](https://github.com/kubernetes/examples/blob/master/guestbook/README.md) diff --git a/examples/guestbook/all-in-one/frontend.yaml b/examples/guestbook/all-in-one/frontend.yaml deleted file mode 100644 index edcaa5c5d4..0000000000 --- a/examples/guestbook/all-in-one/frontend.yaml +++ /dev/null @@ -1,46 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: frontend - labels: - app: guestbook - tier: frontend -spec: - # 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 ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: frontend -spec: - 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/examples/guestbook/all-in-one/guestbook-all-in-one.yaml b/examples/guestbook/all-in-one/guestbook-all-in-one.yaml deleted file mode 100644 index a3415d6a99..0000000000 --- a/examples/guestbook/all-in-one/guestbook-all-in-one.yaml +++ /dev/null @@ -1,133 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: redis-master - labels: - app: redis - tier: backend - role: master -spec: - ports: - - port: 6379 - targetPort: 6379 - selector: - app: redis - tier: backend - role: master ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: redis-master -spec: - replicas: 1 - template: - metadata: - labels: - app: redis - role: master - tier: backend - spec: - containers: - - name: master - image: k8s.gcr.io/redis:e2e # or just image: redis - resources: - requests: - cpu: 100m - memory: 100Mi - ports: - - containerPort: 6379 ---- -apiVersion: v1 -kind: Service -metadata: - name: redis-slave - labels: - app: redis - tier: backend - role: slave -spec: - ports: - - port: 6379 - selector: - app: redis - tier: backend - role: slave ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: redis-slave -spec: - replicas: 2 - template: - metadata: - labels: - app: redis - role: slave - 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 ---- -apiVersion: v1 -kind: Service -metadata: - name: frontend - labels: - app: guestbook - tier: frontend -spec: - # 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 ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: frontend -spec: - 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/examples/guestbook/all-in-one/redis-slave.yaml b/examples/guestbook/all-in-one/redis-slave.yaml deleted file mode 100644 index c076b084c0..0000000000 --- a/examples/guestbook/all-in-one/redis-slave.yaml +++ /dev/null @@ -1,46 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: redis-slave - labels: - app: redis - role: slave - tier: backend -spec: - ports: - - port: 6379 - selector: - app: redis - role: slave - tier: backend ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: redis-slave -spec: - replicas: 2 - template: - metadata: - labels: - app: redis - role: slave - 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/examples/guestbook/frontend-deployment.yaml b/examples/guestbook/frontend-deployment.yaml deleted file mode 100644 index 1888836b3c..0000000000 --- a/examples/guestbook/frontend-deployment.yaml +++ /dev/null @@ -1,29 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: frontend -spec: - 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/examples/guestbook/frontend-service.yaml b/examples/guestbook/frontend-service.yaml deleted file mode 100644 index ee50fd847c..0000000000 --- a/examples/guestbook/frontend-service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: frontend - labels: - app: guestbook - tier: frontend -spec: - # 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/examples/guestbook/php-redis/Dockerfile b/examples/guestbook/php-redis/Dockerfile deleted file mode 100644 index e6f5a2f847..0000000000 --- a/examples/guestbook/php-redis/Dockerfile +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM php:5-apache - -RUN apt-get update -RUN apt-get install -y php-pear -RUN pear channel-discover pear.nrk.io -RUN pear install nrk/Predis - -# If the container's stdio is connected to systemd-journald, -# /proc/self/fd/{1,2} are Unix sockets and apache will not be able to open() -# them. Use "cat" to write directly to the already opened fds without opening -# them again. -RUN sed -i 's#ErrorLog /proc/self/fd/2#ErrorLog "|$/bin/cat 1>\&2"#' /etc/apache2/apache2.conf -RUN sed -i 's#CustomLog /proc/self/fd/1 combined#CustomLog "|/bin/cat" combined#' /etc/apache2/apache2.conf - -ADD guestbook.php /var/www/html/guestbook.php -ADD controllers.js /var/www/html/controllers.js -ADD index.html /var/www/html/index.html diff --git a/examples/guestbook/php-redis/controllers.js b/examples/guestbook/php-redis/controllers.js deleted file mode 100644 index 1e4b550424..0000000000 --- a/examples/guestbook/php-redis/controllers.js +++ /dev/null @@ -1,29 +0,0 @@ -var redisApp = angular.module('redis', ['ui.bootstrap']); - -/** - * Constructor - */ -function RedisController() {} - -RedisController.prototype.onRedis = function() { - this.scope_.messages.push(this.scope_.msg); - this.scope_.msg = ""; - var value = this.scope_.messages.join(); - this.http_.get("guestbook.php?cmd=set&key=messages&value=" + value) - .success(angular.bind(this, function(data) { - this.scope_.redisResponse = "Updated."; - })); -}; - -redisApp.controller('RedisCtrl', function ($scope, $http, $location) { - $scope.controller = new RedisController(); - $scope.controller.scope_ = $scope; - $scope.controller.location_ = $location; - $scope.controller.http_ = $http; - - $scope.controller.http_.get("guestbook.php?cmd=get&key=messages") - .success(function(data) { - console.log(data); - $scope.messages = data.data.split(","); - }); -}); diff --git a/examples/guestbook/php-redis/guestbook.php b/examples/guestbook/php-redis/guestbook.php deleted file mode 100644 index ee0670ee69..0000000000 --- a/examples/guestbook/php-redis/guestbook.php +++ /dev/null @@ -1,41 +0,0 @@ - 'tcp', - 'host' => $host, - 'port' => 6379, - ]); - - $client->set($_GET['key'], $_GET['value']); - print('{"message": "Updated"}'); - } else { - $host = 'redis-slave'; - if (getenv('GET_HOSTS_FROM') == 'env') { - $host = getenv('REDIS_SLAVE_SERVICE_HOST'); - } - $client = new Predis\Client([ - 'scheme' => 'tcp', - 'host' => $host, - 'port' => 6379, - ]); - - $value = $client->get($_GET['key']); - print('{"data": "' . $value . '"}'); - } -} else { - phpinfo(); -} ?> diff --git a/examples/guestbook/php-redis/index.html b/examples/guestbook/php-redis/index.html deleted file mode 100644 index 4ffb4ed2ab..0000000000 --- a/examples/guestbook/php-redis/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - Guestbook - - - - - - -
-

Guestbook

-
-
-
- -
-
-
-
- {{msg}} -
-
-
- - diff --git a/examples/guestbook/redis-master-deployment.yaml b/examples/guestbook/redis-master-deployment.yaml deleted file mode 100644 index d457a09934..0000000000 --- a/examples/guestbook/redis-master-deployment.yaml +++ /dev/null @@ -1,22 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: redis-master -spec: - replicas: 1 - template: - metadata: - labels: - app: redis - role: master - tier: backend - spec: - containers: - - name: master - image: k8s.gcr.io/redis:e2e # or just image: redis - resources: - requests: - cpu: 100m - memory: 100Mi - ports: - - containerPort: 6379 diff --git a/examples/guestbook/redis-master-service.yaml b/examples/guestbook/redis-master-service.yaml deleted file mode 100644 index a484014f1f..0000000000 --- a/examples/guestbook/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/examples/guestbook/redis-slave-deployment.yaml b/examples/guestbook/redis-slave-deployment.yaml deleted file mode 100644 index 2bea4a5134..0000000000 --- a/examples/guestbook/redis-slave-deployment.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: redis-slave -spec: - replicas: 2 - template: - metadata: - labels: - app: redis - role: slave - 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/examples/guestbook/redis-slave-service.yaml b/examples/guestbook/redis-slave-service.yaml deleted file mode 100644 index 238fd63fb6..0000000000 --- a/examples/guestbook/redis-slave-service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: redis-slave - labels: - app: redis - role: slave - tier: backend -spec: - ports: - - port: 6379 - selector: - app: redis - role: slave - tier: backend diff --git a/examples/guestbook/redis-slave/Dockerfile b/examples/guestbook/redis-slave/Dockerfile deleted file mode 100644 index e90b225884..0000000000 --- a/examples/guestbook/redis-slave/Dockerfile +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM redis - -ADD run.sh /run.sh - -RUN chmod a+x /run.sh - -CMD /run.sh diff --git a/examples/guestbook/redis-slave/run.sh b/examples/guestbook/redis-slave/run.sh deleted file mode 100755 index d9037d48c4..0000000000 --- a/examples/guestbook/redis-slave/run.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -# Copyright 2014 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -if [[ ${GET_HOSTS_FROM:-dns} == "env" ]]; then - redis-server --slaveof ${REDIS_MASTER_SERVICE_HOST} 6379 -else - redis-server --slaveof redis-master 6379 -fi diff --git a/examples/guidelines.md b/examples/guidelines.md deleted file mode 100644 index c4a99c5607..0000000000 --- a/examples/guidelines.md +++ /dev/null @@ -1,88 +0,0 @@ -# Example Guidelines - -## An Example Is - -An example demonstrates running an application/framework/workload on -Kubernetes in a meaningful way. It is educational and informative. - -Examples are not: - -* Full app deployments, ready to use, with no explanation. These - belong to [Helm charts](https://github.com/kubernetes/charts). -* Simple toys to show how to use a Kubernetes feature. These belong in - the [user guide](https://kubernetes.io/docs/user-guide/). -* Demos that follow a script to show a Kubernetes feature in - action. Example: killing a node to demonstrate controller - self-healing. -* A tutorial which guides the user through multiple progressively more - complex deployments to arrive at the final solution. An example - should just demonstrate how to setup the correct deployment - -## An Example Includes - -### Up front - -* Has a "this is what you'll learn" section. -* Has a Table of Contents. -* Has a section that brings up the app in the fewest number of - commands (TL;DR / quickstart), without cloning the repo (kubectl - apply -f http://...). -* Points to documentation of prerequisites. - * [Create a cluster](https://kubernetes.io/docs/getting-started-guides/) (e.g., single-node docker). - * [Setup kubectl](https://kubernetes.io/docs/user-guide/prereqs.md). - * etc. -* Should specify which release of Kubernetes is required and any other - prerequisites, such as DNS, a cloudprovider with PV provisioning, a - cloudprovider with external load balancers, etc. - * Point to general documentation about alternatives for those - mechanisms rather than present the alternatives in each example. - * Tries to balance between using using new features, and being - compatible across environments. - -### Throughout - -* Should point to documentation on first mention: - [kubectl](https://kubernetes.io/docs/user-guide/kubectl-overview.md), - [pods](https://kubernetes.io/docs/user-guide/pods.md), - [services](https://kubernetes.io/docs/user-guide/services.md), - [deployments](https://kubernetes.io/docs/user-guide/deployments.md), - [replication controllers](https://kubernetes.io/docs/user-guide/replication-controller.md), - [jobs](https://kubernetes.io/docs/user-guide/jobs.md), - [labels](https://kubernetes.io/docs/user-guide/labels.md), - [persistent volumes](https://kubernetes.io/docs/user-guide/persistent-volumes.md), - etc. -* Most examples should be cloudprovider-independent (e.g., using PVCs, not PDs). - * Other examples with cloudprovider-specific bits could be somewhere else. -* Actually show the app working -- console output, and or screenshots. - * Ascii animations and screencasts are recommended. -* Follows [config best practices](https://kubernetes.io/docs/user-guide/config-best-practices.md). -* Shouldn't duplicate the [thorough walk-through](https://kubernetes.io/docs/user-guide/#thorough-walkthrough). -* Docker images are pre-built, and source is contained in a subfolder. - * Source is the Dockerfile and any custom files needed beyond the - upstream app being packaged. - * Images are pushed to `gcr.io/google-samples`. Contact @jeffmendoza - to have an image pushed - * Images are tagged with a version (not latest) that is referenced - in the example config. -* Only use the code highlighting types - [supported by Rouge](https://github.com/jneen/rouge/wiki/list-of-supported-languages-and-lexers), - as this is what GitHub Pages uses. -* Commands to be copied use the `shell` syntax highlighting type, and - do not include any kind of prompt. -* Example output is in a separate block quote to distinguish it from - the command (which doesn't have a prompt). -* When providing an example command or config for which the user is - expected to substitute text with something specific to them, use - angle brackets: `` for the text to be substituted. -* Use `kubectl` instead of `cluster\kubectl.sh` for example cli - commands. - -### At the end - -* Should have a section suggesting what to look at next, both in terms - of "additional resources" and "what example to look at next". - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/examples/guidelines.md?pixel)]() - diff --git a/examples/https-nginx/BUILD b/examples/https-nginx/BUILD deleted file mode 100644 index b82ab738cd..0000000000 --- a/examples/https-nginx/BUILD +++ /dev/null @@ -1,38 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_binary", - "go_library", -) - -go_binary( - name = "https-nginx", - embed = [":go_default_library"], -) - -go_library( - name = "go_default_library", - srcs = ["make_secret.go"], - importpath = "k8s.io/kubernetes/examples/https-nginx", - deps = [ - "//pkg/api/legacyscheme:go_default_library", - "//pkg/apis/core:go_default_library", - "//pkg/apis/core/install:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", - ], -) - -filegroup( - name = "package-srcs", - srcs = glob(["**"]), - tags = ["automanaged"], - visibility = ["//visibility:private"], -) - -filegroup( - name = "all-srcs", - srcs = [":package-srcs"], - tags = ["automanaged"], -) diff --git a/examples/https-nginx/Dockerfile b/examples/https-nginx/Dockerfile deleted file mode 100644 index f584088618..0000000000 --- a/examples/https-nginx/Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM nginx - - -COPY index2.html /usr/share/nginx/html/index2.html -RUN chmod +r /usr/share/nginx/html/index2.html -COPY auto-reload-nginx.sh /home/auto-reload-nginx.sh -RUN chmod +x /home/auto-reload-nginx.sh - -# install inotify -RUN apt-get update && apt-get install -y inotify-tools diff --git a/examples/https-nginx/Makefile b/examples/https-nginx/Makefile deleted file mode 100644 index f8203dcac6..0000000000 --- a/examples/https-nginx/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -all: - -TAG = 1.0 -PREFIX = bprashanth/nginxhttps -KEY = /tmp/nginx.key -CERT = /tmp/nginx.crt -SECRET = /tmp/secret.json - -keys: - # The CName used here is specific to the service specified in nginx-app.yaml. - openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout $(KEY) -out $(CERT) -subj "/CN=nginxsvc/O=nginxsvc" - -secret: - go run make_secret.go -crt $(CERT) -key $(KEY) > $(SECRET) - -container: - docker build --pull -t $(PREFIX):$(TAG) . - -push: container - docker push $(PREFIX):$(TAG) - -clean: - rm $(KEY) - rm $(CERT) diff --git a/examples/https-nginx/README.md b/examples/https-nginx/README.md deleted file mode 100644 index 6ce72378cc..0000000000 --- a/examples/https-nginx/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/https-nginx/README.md](https://github.com/kubernetes/examples/blob/master/staging/https-nginx/README.md) diff --git a/examples/https-nginx/auto-reload-nginx.sh b/examples/https-nginx/auto-reload-nginx.sh deleted file mode 100755 index 78144b059e..0000000000 --- a/examples/https-nginx/auto-reload-nginx.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -nginx "$@" -oldcksum=`cksum /etc/nginx/conf.d/default.conf` - -inotifywait -e modify,move,create,delete -mr --timefmt '%d/%m/%y %H:%M' --format '%T' \ -/etc/nginx/conf.d/ | while read date time; do - - newcksum=`cksum /etc/nginx/conf.d/default.conf` - if [ "$newcksum" != "$oldcksum" ]; then - echo "At ${time} on ${date}, config file update detected." - oldcksum=$newcksum - nginx -s reload - fi - -done diff --git a/examples/https-nginx/default.conf b/examples/https-nginx/default.conf deleted file mode 100644 index d91a5ba6d7..0000000000 --- a/examples/https-nginx/default.conf +++ /dev/null @@ -1,17 +0,0 @@ -server { - listen 80 default_server; - listen [::]:80 default_server ipv6only=on; - - listen 443 ssl; - - root /usr/share/nginx/html; - index index.html; - - server_name localhost; - ssl_certificate /etc/nginx/ssl/nginx.crt; - ssl_certificate_key /etc/nginx/ssl/nginx.key; - - location / { - try_files $uri $uri/ =404; - } -} diff --git a/examples/https-nginx/index2.html b/examples/https-nginx/index2.html deleted file mode 100644 index 99a96085f4..0000000000 --- a/examples/https-nginx/index2.html +++ /dev/null @@ -1,28 +0,0 @@ - - - -Nginx reloaded! - - - -

Nginx has been reloaded!

-

If you see this page, the nginx web server has been automatically reloaded, since the config file has been updated using Kubernetes.

- - -

For online documentation and support please refer to -kubernetes.io.

- -

For online documentation and support please refer to -nginx.org.
-Commercial support is available at -nginx.com.

- -

Thank you for using nginx.

- - diff --git a/examples/https-nginx/make_secret.go b/examples/https-nginx/make_secret.go deleted file mode 100644 index e85838ee74..0000000000 --- a/examples/https-nginx/make_secret.go +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// A small script that converts the given open ssl public/private keys to -// a secret that it writes to stdout as json. Most common use case is to -// create a secret from self signed certificates used to authenticate with -// a devserver. Usage: go run make_secret.go -crt ca.crt -key priv.key > secret.json -package main - -import ( - "flag" - "fmt" - "io/ioutil" - "log" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/kubernetes/pkg/api/legacyscheme" - api "k8s.io/kubernetes/pkg/apis/core" - - // This installs the legacy v1 API - _ "k8s.io/kubernetes/pkg/apis/core/install" -) - -// TODO: -// Add a -o flag that writes to the specified destination file. -// Teach the script to create crt and key if -crt and -key aren't specified. -var ( - crt = flag.String("crt", "", "path to nginx certificates.") - key = flag.String("key", "", "path to nginx private key.") -) - -func read(file string) []byte { - b, err := ioutil.ReadFile(file) - if err != nil { - log.Fatalf("Cannot read file %v, %v", file, err) - } - return b -} - -func main() { - flag.Parse() - if *crt == "" || *key == "" { - log.Fatalf("Need to specify -crt -key and -template") - } - nginxCrt := read(*crt) - nginxKey := read(*key) - secret := &api.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: "nginxsecret", - }, - Data: map[string][]byte{ - "nginx.crt": nginxCrt, - "nginx.key": nginxKey, - }, - } - fmt.Printf(runtime.EncodeOrDie(legacyscheme.Codecs.LegacyCodec(legacyscheme.Registry.EnabledVersions()...), secret)) -} diff --git a/examples/https-nginx/nginx-app.yaml b/examples/https-nginx/nginx-app.yaml deleted file mode 100644 index a5ce0bd375..0000000000 --- a/examples/https-nginx/nginx-app.yaml +++ /dev/null @@ -1,54 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: nginxsvc - labels: - app: nginx -spec: - type: NodePort - ports: - - port: 80 - protocol: TCP - name: http - - port: 443 - protocol: TCP - name: https - selector: - app: nginx ---- -apiVersion: v1 -kind: ReplicationController -metadata: - name: my-nginx -spec: - replicas: 1 - template: - metadata: - labels: - app: nginx - spec: - volumes: - - name: secret-volume - secret: - secretName: nginxsecret - - name: configmap-volume - configMap: - name: nginxconfigmap - containers: - - name: nginxhttps - image: ymqytw/nginxhttps:1.5 - command: ["/home/auto-reload-nginx.sh"] - ports: - - containerPort: 443 - - containerPort: 80 - livenessProbe: - httpGet: - path: /index.html - port: 80 - initialDelaySeconds: 30 - timeoutSeconds: 1 - volumeMounts: - - mountPath: /etc/nginx/ssl - name: secret-volume - - mountPath: /etc/nginx/conf.d - name: configmap-volume diff --git a/examples/javaee/README.md b/examples/javaee/README.md deleted file mode 100644 index 1fcd411acc..0000000000 --- a/examples/javaee/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/javaee/README.md](https://github.com/kubernetes/examples/blob/master/staging/javaee/README.md) diff --git a/examples/javaee/mysql-pod.yaml b/examples/javaee/mysql-pod.yaml deleted file mode 100644 index b8884f386b..0000000000 --- a/examples/javaee/mysql-pod.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: mysql-pod - labels: - name: mysql-pod - context: docker-k8s-lab -spec: - containers: - - - name: mysql - image: mysql:latest - env: - - - name: "MYSQL_USER" - value: "mysql" - - - name: "MYSQL_PASSWORD" - value: "mysql" - - - name: "MYSQL_DATABASE" - value: "sample" - - - name: "MYSQL_ROOT_PASSWORD" - value: "supersecret" - ports: - - - containerPort: 3306 diff --git a/examples/javaee/mysql-service.yaml b/examples/javaee/mysql-service.yaml deleted file mode 100644 index 0cbb329a82..0000000000 --- a/examples/javaee/mysql-service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: mysql-service - labels: - name: mysql-pod - context: docker-k8s-lab -spec: - ports: - # the port that this service should serve on - - port: 3306 - # label keys and values that must match in order to receive traffic for this service - selector: - name: mysql-pod - context: docker-k8s-lab diff --git a/examples/javaee/wildfly-rc.yaml b/examples/javaee/wildfly-rc.yaml deleted file mode 100644 index 303b63f8db..0000000000 --- a/examples/javaee/wildfly-rc.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - name: wildfly-rc - labels: - name: wildfly - context: docker-k8s-lab -spec: - replicas: 1 - template: - metadata: - labels: - name: wildfly - spec: - containers: - - name: wildfly-rc-pod - image: arungupta/wildfly-mysql-javaee7:k8s - ports: - - containerPort: 8080 \ No newline at end of file diff --git a/examples/javaweb-tomcat-sidecar/README.md b/examples/javaweb-tomcat-sidecar/README.md deleted file mode 100644 index 2537a86fde..0000000000 --- a/examples/javaweb-tomcat-sidecar/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/javaweb-tomcat-sidecar/README.md](https://github.com/kubernetes/examples/blob/master/staging/javaweb-tomcat-sidecar/README.md) diff --git a/examples/javaweb-tomcat-sidecar/javaweb-2.yaml b/examples/javaweb-tomcat-sidecar/javaweb-2.yaml deleted file mode 100644 index b34d5ab6e2..0000000000 --- a/examples/javaweb-tomcat-sidecar/javaweb-2.yaml +++ /dev/null @@ -1,31 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: javaweb-2 -spec: - containers: - - image: resouer/sample:v2 - name: war - lifecycle: - postStart: - exec: - command: - - "cp" - - "/sample.war" - - "/app" - volumeMounts: - - mountPath: /app - name: app-volume - - image: resouer/mytomcat:7.0 - name: tomcat - command: ["sh","-c","/root/apache-tomcat-7.0.42-v2/bin/start.sh"] - volumeMounts: - - mountPath: /root/apache-tomcat-7.0.42-v2/webapps - name: app-volume - ports: - - containerPort: 8080 - hostPort: 8001 - volumes: - - name: app-volume - emptyDir: {} - diff --git a/examples/javaweb-tomcat-sidecar/javaweb.yaml b/examples/javaweb-tomcat-sidecar/javaweb.yaml deleted file mode 100644 index d77f6a727e..0000000000 --- a/examples/javaweb-tomcat-sidecar/javaweb.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: javaweb -spec: - containers: - - image: resouer/sample:v1 - name: war - volumeMounts: - - mountPath: /app - name: app-volume - - image: resouer/mytomcat:7.0 - name: tomcat - command: ["sh","-c","/root/apache-tomcat-7.0.42-v2/bin/start.sh"] - volumeMounts: - - mountPath: /root/apache-tomcat-7.0.42-v2/webapps - name: app-volume - ports: - - containerPort: 8080 - hostPort: 8001 - volumes: - - name: app-volume - emptyDir: {} - diff --git a/examples/javaweb-tomcat-sidecar/workflow.png b/examples/javaweb-tomcat-sidecar/workflow.png deleted file mode 100644 index 7be56d082e6956c230cab02ddaa61bb2970ea4e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46353 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

U@2QgD=m)dOyV=JEb1k*D-{lWJ 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 .tag - -tag: .tag - @echo "Suggest using TAG=$(shell cat .tag)" - @echo "$$ make container TAG=$(shell cat .tag)" - @echo "or" - @echo "$$ make push TAG=$(shell cat .tag)" - -container: - $(if $(TAG),,$(error TAG is not defined. Use 'make tag' to see a suggestion)) - docker build --pull -t staging-k8s.gcr.io/kubectl:$(TAG) . - -push: container - $(if $(TAG),,$(error TAG is not defined. Use 'make tag' to see a suggestion)) - gcloud docker -- push staging-k8s.gcr.io/kubectl:$(TAG) - -clean: - rm -f kubectl - rm -f .tag diff --git a/examples/kubectl-container/README.md b/examples/kubectl-container/README.md deleted file mode 100644 index bb2c3d2eb8..0000000000 --- a/examples/kubectl-container/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/kubectl-container/README.md](https://github.com/kubernetes/examples/blob/master/staging/kubectl-container/README.md) diff --git a/examples/kubectl-container/pod.json b/examples/kubectl-container/pod.json deleted file mode 100644 index 540715a6c5..0000000000 --- a/examples/kubectl-container/pod.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "kind": "Pod", - "apiVersion": "v1", - "metadata": { - "name": "kubectl-tester" - }, - "spec": { - "containers": [ - { - "name": "bb", - "image": "k8s.gcr.io/busybox", - "command": [ - "sh", "-c", "sleep 5; wget -O - ${KUBERNETES_RO_SERVICE_HOST}:${KUBERNETES_RO_SERVICE_PORT}/api/v1/pods/; sleep 10000" - ], - "ports": [ - { - "containerPort": 8080 - } - ], - "env": [ - { - "name": "KUBERNETES_RO_SERVICE_HOST", - "value": "127.0.0.1" - }, - { - "name": "KUBERNETES_RO_SERVICE_PORT", - "value": "8001" - } - ], - "volumeMounts": [ - { - "name": "test-volume", - "mountPath": "/mount/test-volume" - } - ] - }, - { - "name": "kubectl", - "image": "k8s.gcr.io/kubectl:v0.18.0-120-gaeb4ac55ad12b1-dirty", - "imagePullPolicy": "Always", - "args": [ - "proxy", "-p", "8001" - ] - } - ], - "volumes": [ - { - "name": "test-volume", - "emptyDir": {} - } - ] - } -} diff --git a/examples/meteor/README.md b/examples/meteor/README.md deleted file mode 100644 index 81f4d9fd4d..0000000000 --- a/examples/meteor/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/meteor/README.md](https://github.com/kubernetes/examples/blob/master/staging/meteor/README.md) diff --git a/examples/meteor/dockerbase/Dockerfile b/examples/meteor/dockerbase/Dockerfile deleted file mode 100644 index 708e2cb437..0000000000 --- a/examples/meteor/dockerbase/Dockerfile +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM node:0.10 - -ONBUILD WORKDIR /appsrc -ONBUILD COPY . /appsrc - -ONBUILD RUN curl https://install.meteor.com/ | sh && \ - meteor build ../app --directory --architecture os.linux.x86_64 && \ - rm -rf /appsrc -# TODO rm meteor so it doesn't take space in the image? - -ONBUILD WORKDIR /app/bundle - -ONBUILD RUN (cd programs/server && npm install) -EXPOSE 8080 -CMD [] -ENV PORT 8080 -ENTRYPOINT MONGO_URL=mongodb://$MONGO_SERVICE_HOST:$MONGO_SERVICE_PORT /usr/local/bin/node main.js diff --git a/examples/meteor/dockerbase/README.md b/examples/meteor/dockerbase/README.md deleted file mode 100644 index 2a90269486..0000000000 --- a/examples/meteor/dockerbase/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/meteor/dockerbase/README.md](https://github.com/kubernetes/examples/blob/master/staging/meteor/dockerbase/README.md) diff --git a/examples/meteor/meteor-controller.json b/examples/meteor/meteor-controller.json deleted file mode 100644 index fa85afdcba..0000000000 --- a/examples/meteor/meteor-controller.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "kind": "ReplicationController", - "apiVersion": "v1", - "metadata": { - "name": "meteor-controller", - "labels": { - "name": "meteor" - } - }, - "spec": { - "replicas": 2, - "template": { - "metadata": { - "labels": { - "name": "meteor" - } - }, - "spec": { - "containers": [ - { - "name": "meteor", - "image": "chees/meteor-gke-example:latest", - "ports": [ - { - "name": "http-server", - "containerPort": 8080 - } - ] - } - ] - } - } - } -} diff --git a/examples/meteor/meteor-service.json b/examples/meteor/meteor-service.json deleted file mode 100644 index 2e494c0a2c..0000000000 --- a/examples/meteor/meteor-service.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "kind": "Service", - "apiVersion": "v1", - "metadata": { - "name": "meteor" - }, - "spec": { - "ports": [ - { - "port": 80, - "targetPort": "http-server" - } - ], - "selector": { - "name": "meteor" - }, - "sessionAffinity": "ClientIP", - "sessionAffinityConfig": { - "clientIP": { - "timeoutSeconds": 90 - } - }, - "type": "LoadBalancer" - } -} diff --git a/examples/meteor/mongo-pod.json b/examples/meteor/mongo-pod.json deleted file mode 100644 index a5b80ac5de..0000000000 --- a/examples/meteor/mongo-pod.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "kind": "Pod", - "apiVersion": "v1", - "metadata": { - "name": "mongo", - "labels": { - "name": "mongo", - "role": "mongo" - } - }, - "spec": { - "volumes": [ - { - "name": "mongo-disk", - "gcePersistentDisk": { - "pdName": "mongo-disk", - "fsType": "ext4" - } - } - ], - "containers": [ - { - "name": "mongo", - "image": "mongo:latest", - "ports": [ - { - "name": "mongo", - "containerPort": 27017 - } - ], - "volumeMounts": [ - { - "name": "mongo-disk", - "mountPath": "/data/db" - } - ] - } - ] - } -} diff --git a/examples/meteor/mongo-service.json b/examples/meteor/mongo-service.json deleted file mode 100644 index bec687e990..0000000000 --- a/examples/meteor/mongo-service.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "kind": "Service", - "apiVersion": "v1", - "metadata": { - "name": "mongo", - "labels": { - "name": "mongo" - } - }, - "spec": { - "ports": [ - { - "port": 27017, - "targetPort": "mongo" - } - ], - "selector": { - "name": "mongo", - "role": "mongo" - } - } -} diff --git a/examples/mysql-cinder-pd/README.md b/examples/mysql-cinder-pd/README.md deleted file mode 100644 index ac84d00fe9..0000000000 --- a/examples/mysql-cinder-pd/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/mysql-cinder-pd/README.md](https://github.com/kubernetes/examples/blob/master/staging/mysql-cinder-pd/README.md) diff --git a/examples/mysql-cinder-pd/mysql-service.yaml b/examples/mysql-cinder-pd/mysql-service.yaml deleted file mode 100644 index 6e2c019ac3..0000000000 --- a/examples/mysql-cinder-pd/mysql-service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - labels: - name: mysql - name: mysql -spec: - ports: - # the port that this service should serve on - - port: 3306 - # label keys and values that must match in order to receive traffic for this service - selector: - name: mysql \ No newline at end of file diff --git a/examples/mysql-cinder-pd/mysql.yaml b/examples/mysql-cinder-pd/mysql.yaml deleted file mode 100644 index e224d0afe1..0000000000 --- a/examples/mysql-cinder-pd/mysql.yaml +++ /dev/null @@ -1,33 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: mysql - labels: - name: mysql -spec: - containers: - - resources: - limits : - cpu: 0.5 - image: mysql - name: mysql - args: - - "--ignore-db-dir" - - "lost+found" - env: - - name: MYSQL_ROOT_PASSWORD - # change this - value: yourpassword - ports: - - containerPort: 3306 - name: mysql - volumeMounts: - # name must match the volume name below - - name: mysql-persistent-storage - # mount path within the container - mountPath: /var/lib/mysql - volumes: - - name: mysql-persistent-storage - cinder: - volumeID: bd82f7e2-wece-4c01-a505-4acf60b07f4a - fsType: ext4 diff --git a/examples/mysql-wordpress-pd/OWNERS b/examples/mysql-wordpress-pd/OWNERS deleted file mode 100644 index d349c8eebc..0000000000 --- a/examples/mysql-wordpress-pd/OWNERS +++ /dev/null @@ -1,20 +0,0 @@ -approvers: -- jeffmendoza -reviewers: -- thockin -- lavalamp -- brendandburns -- caesarxuchao -- mikedanese -- davidopp -- pmorie -- dchen1107 -- janetkuo -- roberthbailey -- eparis -- mwielgus -- jlowdermilk -- david-mcmahon -- jeffvance -- jeffmendoza -- RichieEscarez diff --git a/examples/mysql-wordpress-pd/README.md b/examples/mysql-wordpress-pd/README.md deleted file mode 100644 index 48601ec813..0000000000 --- a/examples/mysql-wordpress-pd/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/mysql-wordpress-pd/README.md](https://github.com/kubernetes/examples/blob/master/mysql-wordpress-pd/README.md) diff --git a/examples/mysql-wordpress-pd/WordPress.png b/examples/mysql-wordpress-pd/WordPress.png deleted file mode 100644 index cabcd09a61b22e532aa8424f71eac78979ec578b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28948 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 - -```yaml -apiVersion: v1 -kind: Secret -metadata: - name: newrelic-config -type: Opaque -data: - config: {{config_data}} -``` - -[Download example](newrelic-config-template.yaml?raw=true) - - -The script will encode the config file and write it to `newrelic-config.yaml`. - -Finally, submit the config to the cluster: - -```console -$ kubectl create -f examples/newrelic-infrastructure/newrelic-config.yaml -``` - -### Step 2: Create the DaemonSet definition. - -The DaemonSet definition instructs Kubernetes to place a newrelic Infrastructure agent on each Kubernetes node. - - - -```yaml -apiVersion: extensions/v1beta1 -kind: DaemonSet -metadata: - name: newrelic-infra-agent - labels: - tier: monitoring - app: newrelic-infra-agent - version: v1 -spec: - template: - metadata: - labels: - name: newrelic - spec: - # Filter to specific nodes: - # nodeSelector: - # app: newrelic - hostPID: true - hostIPC: true - hostNetwork: true - containers: - - resources: - requests: - cpu: 0.15 - securityContext: - privileged: true - image: newrelic/infrastructure - name: newrelic - command: [ "bash", "-c", "source /etc/kube-nr-infra/config && /usr/bin/newrelic-infra" ] - volumeMounts: - - name: newrelic-config - mountPath: /etc/kube-nr-infra - readOnly: true - - name: dev - mountPath: /dev - - name: run - mountPath: /var/run/docker.sock - - name: log - mountPath: /var/log - - name: host-root - mountPath: /host - readOnly: true - volumes: - - name: newrelic-config - secret: - secretName: newrelic-config - - name: dev - hostPath: - path: /dev - - name: run - hostPath: - path: /var/run/docker.sock - - name: log - hostPath: - path: /var/log - - name: host-root - hostPath: - path: / -``` - -[Download example](newrelic-infra-daemonset.yaml?raw=true) - - -The daemonset instructs Kubernetes to spawn pods on each node, mapping /dev/, /run/, and /var/log to the container. It also maps the entire kube node / to /host/ in the container with a read-only mount. It also maps the secrets we set up earlier to /etc/kube-newrelic/config, and sources them in the startup script, configuring the agent properly. - -#### DaemonSet customization - -- There are more environment variables for fine tuning the infrastructure agent's operation (or a yaml file that you'd have to construct). See [Infrastructure Agent Environment Variables][(https://docs.newrelic.com/docs/infrastructure/new-relic-infrastructure/configuration/configure-infrastructure-agent) for the full list. - - -### Known issues - -It's a bit cludgy to define the environment variables like we do here in these config files. There is [another issue](https://github.com/kubernetes/kubernetes/issues/4710) to discuss adding mapping secrets to environment variables in Kubernetes. (Personally I don't like that method and prefer to use the config secrets.) - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/examples/newrelic/README.md?pixel)]() - diff --git a/examples/newrelic-infrastructure/config-to-secret.sh b/examples/newrelic-infrastructure/config-to-secret.sh deleted file mode 100755 index 520c71990b..0000000000 --- a/examples/newrelic-infrastructure/config-to-secret.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -# Copyright 2014 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Encodes the environment variables into a Kubernetes secret. - -BASE64_ENC=$(cat nrconfig.env | base64 | tr -d '\n') -sed -e "s#{{config_data}}#${BASE64_ENC}#g" ./newrelic-config-template.yaml > newrelic-config.yaml diff --git a/examples/newrelic-infrastructure/newrelic-config-template.yaml b/examples/newrelic-infrastructure/newrelic-config-template.yaml deleted file mode 100644 index 361a307924..0000000000 --- a/examples/newrelic-infrastructure/newrelic-config-template.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: newrelic-config -type: Opaque -data: - config: {{config_data}} diff --git a/examples/newrelic-infrastructure/newrelic-infra-daemonset.yaml b/examples/newrelic-infrastructure/newrelic-infra-daemonset.yaml deleted file mode 100644 index 395ab97223..0000000000 --- a/examples/newrelic-infrastructure/newrelic-infra-daemonset.yaml +++ /dev/null @@ -1,58 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: DaemonSet -metadata: - name: newrelic-infra-agent - labels: - tier: monitoring - app: newrelic-infra-agent - version: v1 -spec: - template: - metadata: - labels: - name: newrelic - spec: - # Filter to specific nodes: - # nodeSelector: - # app: newrelic - hostPID: true - hostIPC: true - hostNetwork: true - containers: - - resources: - requests: - cpu: 0.15 - securityContext: - privileged: true - image: newrelic/infrastructure - name: newrelic - command: [ "bash", "-c", "source /etc/kube-nr-infra/config && /usr/bin/newrelic-infra" ] - volumeMounts: - - name: newrelic-config - mountPath: /etc/kube-nr-infra - readOnly: true - - name: dev - mountPath: /dev - - name: run - mountPath: /var/run/docker.sock - - name: log - mountPath: /var/log - - name: host-root - mountPath: /host - readOnly: true - volumes: - - name: newrelic-config - secret: - secretName: newrelic-config - - name: dev - hostPath: - path: /dev - - name: run - hostPath: - path: /var/run/docker.sock - - name: log - hostPath: - path: /var/log - - name: host-root - hostPath: - path: / diff --git a/examples/newrelic-infrastructure/nrconfig.env b/examples/newrelic-infrastructure/nrconfig.env deleted file mode 100644 index ced09727ca..0000000000 --- a/examples/newrelic-infrastructure/nrconfig.env +++ /dev/null @@ -1,9 +0,0 @@ -#--REQUIRED-- -# Put your license key in this variable -export NRIA_LICENSE_KEY=REPLACE_LICENSE_KEY_HERE -# -#--OPTIONAL-- -# Set to 1 for debug output in the log -export NRIA_VERBOSE=0 -# Can log to any file, but will not create directories -export NRIA_LOG_FILE=/var/log/nr-infra.log diff --git a/examples/newrelic/README.md b/examples/newrelic/README.md deleted file mode 100644 index e5c429c766..0000000000 --- a/examples/newrelic/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/newrelic/README.md](https://github.com/kubernetes/examples/blob/master/staging/newrelic/README.md) diff --git a/examples/newrelic/config-to-secret.sh b/examples/newrelic/config-to-secret.sh deleted file mode 100755 index 520c71990b..0000000000 --- a/examples/newrelic/config-to-secret.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -# Copyright 2014 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Encodes the environment variables into a Kubernetes secret. - -BASE64_ENC=$(cat nrconfig.env | base64 | tr -d '\n') -sed -e "s#{{config_data}}#${BASE64_ENC}#g" ./newrelic-config-template.yaml > newrelic-config.yaml diff --git a/examples/newrelic/newrelic-config-template.yaml b/examples/newrelic/newrelic-config-template.yaml deleted file mode 100644 index 361a307924..0000000000 --- a/examples/newrelic/newrelic-config-template.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: newrelic-config -type: Opaque -data: - config: {{config_data}} diff --git a/examples/newrelic/newrelic-config.yaml b/examples/newrelic/newrelic-config.yaml deleted file mode 100644 index d2b551aa69..0000000000 --- a/examples/newrelic/newrelic-config.yaml +++ /dev/null @@ -1,10 +0,0 @@ -# This file should be overwritten by ./config-to-secret.sh -# This file is in place to satisfy the kubernetes documentation tests. - -# apiVersion: v1 -# kind: Secret -# metadata: -# name: newrelic-config -# type: Opaque -# data: -# config: base64 encoded diff --git a/examples/newrelic/newrelic-daemonset.yaml b/examples/newrelic/newrelic-daemonset.yaml deleted file mode 100644 index fd46972204..0000000000 --- a/examples/newrelic/newrelic-daemonset.yaml +++ /dev/null @@ -1,61 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: DaemonSet -metadata: - name: newrelic-agent - labels: - tier: monitoring - app: newrelic-agent - version: v1 -spec: - template: - metadata: - labels: - name: newrelic - spec: - # Filter to specific nodes: - # nodeSelector: - # app: newrelic - hostPID: true - hostIPC: true - hostNetwork: true - containers: - - resources: - requests: - cpu: 0.15 - securityContext: - privileged: true - env: - - name: NRSYSMOND_logfile - value: "/var/log/nrsysmond.log" - image: newrelic/nrsysmond - name: newrelic - command: [ "bash", "-c", "source /etc/kube-newrelic/config && /usr/sbin/nrsysmond -E -F" ] - volumeMounts: - - name: newrelic-config - mountPath: /etc/kube-newrelic - readOnly: true - - name: dev - mountPath: /dev - - name: run - mountPath: /var/run/docker.sock - - name: sys - mountPath: /sys - - name: log - mountPath: /var/log - volumes: - - name: newrelic-config - secret: - secretName: newrelic-config - - name: dev - hostPath: - path: /dev - - name: run - hostPath: - path: /var/run/docker.sock - type: Socket - - name: sys - hostPath: - path: /sys - - name: log - hostPath: - path: /var/log diff --git a/examples/newrelic/nrconfig.env b/examples/newrelic/nrconfig.env deleted file mode 100644 index ddce85294d..0000000000 --- a/examples/newrelic/nrconfig.env +++ /dev/null @@ -1,2 +0,0 @@ -export NRSYSMOND_loglevel=debug -export NRSYSMOND_license_key=REPLACE_LICENSE_KEY_HERE diff --git a/examples/nodesjs-mongodb/README.md b/examples/nodesjs-mongodb/README.md deleted file mode 100644 index 7f84108b39..0000000000 --- a/examples/nodesjs-mongodb/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/nodesjs-mongodb/README.md](https://github.com/kubernetes/examples/blob/master/staging/nodesjs-mongodb/README.md) diff --git a/examples/nodesjs-mongodb/mongo-controller.yaml b/examples/nodesjs-mongodb/mongo-controller.yaml deleted file mode 100644 index e9288151de..0000000000 --- a/examples/nodesjs-mongodb/mongo-controller.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - labels: - name: mongo - name: mongo-controller -spec: - replicas: 1 - template: - metadata: - labels: - name: mongo - spec: - containers: - - image: mongo - name: mongo - ports: - - name: mongo - containerPort: 27017 - hostPort: 27017 - volumeMounts: - - name: mongo-persistent-storage - mountPath: /data/db - volumes: - - name: mongo-persistent-storage - gcePersistentDisk: - pdName: mongo-disk - fsType: ext4 \ No newline at end of file diff --git a/examples/nodesjs-mongodb/mongo-service.yaml b/examples/nodesjs-mongodb/mongo-service.yaml deleted file mode 100644 index 81785d5b85..0000000000 --- a/examples/nodesjs-mongodb/mongo-service.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - labels: - name: mongo - name: mongo -spec: - ports: - - port: 27017 - targetPort: 27017 - selector: - name: mongo \ No newline at end of file diff --git a/examples/nodesjs-mongodb/web-controller-demo.yaml b/examples/nodesjs-mongodb/web-controller-demo.yaml deleted file mode 100644 index 5fa8ef84ee..0000000000 --- a/examples/nodesjs-mongodb/web-controller-demo.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - labels: - name: web - name: web-controller -spec: - replicas: 2 - selector: - name: web - template: - metadata: - labels: - name: web - spec: - containers: - - image: node:0.10.40 - command: ['/bin/sh', '-c'] - args: ['cd /home && git clone https://github.com/ijason/NodeJS-Sample-App.git demo && cd demo/EmployeeDB/ && npm install && sed -i -- ''s/localhost/mongo/g'' app.js && node app.js'] - name: web - ports: - - containerPort: 3000 - name: http-server \ No newline at end of file diff --git a/examples/nodesjs-mongodb/web-controller.yaml b/examples/nodesjs-mongodb/web-controller.yaml deleted file mode 100644 index 6541380998..0000000000 --- a/examples/nodesjs-mongodb/web-controller.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - labels: - name: web - name: web-controller -spec: - replicas: 2 - selector: - name: web - template: - metadata: - labels: - name: web - spec: - containers: - - image: - name: web - ports: - - containerPort: 3000 - name: http-server \ No newline at end of file diff --git a/examples/nodesjs-mongodb/web-service.yaml b/examples/nodesjs-mongodb/web-service.yaml deleted file mode 100644 index 4cef05b33b..0000000000 --- a/examples/nodesjs-mongodb/web-service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: web - labels: - name: web -spec: - type: LoadBalancer - ports: - - port: 80 - targetPort: 3000 - protocol: TCP - selector: - name: web \ No newline at end of file diff --git a/examples/oms/README.md b/examples/oms/README.md deleted file mode 100644 index 096e03af23..0000000000 --- a/examples/oms/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/oms/README.md](https://github.com/kubernetes/examples/blob/master/staging/oms/README.md) diff --git a/examples/oms/images/connected-resources.png b/examples/oms/images/connected-resources.png deleted file mode 100644 index 32bd05791f3172f0bf3ac482f9fa336de31955f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158769 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℘M`^99kGCvB^u&Ofe`WB{Qe#%pb|SfI)D9k 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 diff --git a/examples/oms/images/oms-portal.png b/examples/oms/images/oms-portal.png deleted file mode 100644 index 300114e1f47757e6e530c7ff0fb0d9fb2b505dcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 299923 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

qRL0Z#gA6`Us_j|>LBM08C#-n{=TA`>$ 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%0DPe1m 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 diff --git a/examples/oms/omsagent-daemonset.yaml b/examples/oms/omsagent-daemonset.yaml deleted file mode 100644 index 8ab523f060..0000000000 --- a/examples/oms/omsagent-daemonset.yaml +++ /dev/null @@ -1,31 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: DaemonSet -metadata: - name: omsagent -spec: - template: - metadata: - labels: - app: omsagent - spec: - containers: - - env: - - name: WSID - value: - - name: KEY - value: - image: microsoft/oms - name: omsagent - ports: - - containerPort: 25225 - protocol: TCP - securityContext: - privileged: true - volumeMounts: - - mountPath: /var/run/docker.sock - name: docker-sock - volumes: - - name: docker-sock - hostPath: - path: /var/run/docker.sock - type: Socket diff --git a/examples/openshift-origin/.gitignore b/examples/openshift-origin/.gitignore deleted file mode 100644 index f733c4b5fb..0000000000 --- a/examples/openshift-origin/.gitignore +++ /dev/null @@ -1 +0,0 @@ -config/ diff --git a/examples/openshift-origin/README.md b/examples/openshift-origin/README.md deleted file mode 100644 index c01effb2b0..0000000000 --- a/examples/openshift-origin/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/openshift-origin/README.md](https://github.com/kubernetes/examples/blob/master/staging/openshift-origin/README.md) diff --git a/examples/openshift-origin/cleanup.sh b/examples/openshift-origin/cleanup.sh deleted file mode 100755 index a2c931571b..0000000000 --- a/examples/openshift-origin/cleanup.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -# Copyright 2014 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Cleans up resources from the example, assumed to be run from Kubernetes repo root -echo -echo -export OPENSHIFT_EXAMPLE=$(pwd)/examples/openshift-origin -export OPENSHIFT_CONFIG=${OPENSHIFT_EXAMPLE}/config - -echo "===> Removing the OpenShift namespace:" -kubectl delete namespace openshift-origin -echo - -echo "===> Removing local files:" -rm -rf ${OPENSHIFT_CONFIG} -rm ${OPENSHIFT_EXAMPLE}/openshift-startup.log -rm ${OPENSHIFT_EXAMPLE}/secret.json -touch ${OPENSHIFT_EXAMPLE}/secret.json -echo - -echo "===> Restoring changed YAML specifcations:" -if [ -f "${OPENSHIFT_EXAMPLE}/etcd-controller.yaml.bak" ]; then - rm ${OPENSHIFT_EXAMPLE}/etcd-controller.yaml - mv -v ${OPENSHIFT_EXAMPLE}/etcd-controller.yaml.bak ${OPENSHIFT_EXAMPLE}/etcd-controller.yaml -else - echo "No changed specifications found." -fi -echo - -echo Done. diff --git a/examples/openshift-origin/create.sh b/examples/openshift-origin/create.sh deleted file mode 100755 index 717df61b7f..0000000000 --- a/examples/openshift-origin/create.sh +++ /dev/null @@ -1,121 +0,0 @@ -#!/bin/bash - -# Copyright 2014 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -e - -# Creates resources from the example, assumed to be run from Kubernetes repo root -echo -echo "===> Initializing:" -if [ ! $(which python) ] -then - echo "Python is a prerequisite for running this script. Please install Python and try running again." - exit 1 -fi - -if [ ! $(which gcloud) ] -then - echo "gcloud is a prerequisite for running this script. Please install gcloud and try running again." - exit 1 -fi - -gcloud_instances=$(gcloud compute instances list | grep "\-master") -if [ -z "$gcloud_instances" ] || [ -z "${KUBE_GCE_INSTANCE_PREFIX}" ] -then - echo "This script is only able to supply the necessary serviceaccount key if you are running on Google" - echo "Compute Engine using a cluster/kube-up.sh script with KUBE_GCE_INSTANCE_PREFIX set. If this is not" - echo "the case, be ready to supply a path to the serviceaccount public key." - if [ -z "${KUBE_GCE_INSTANCE_PREFIX}" ] - then - echo "Please provide your KUBE_GCE_INSTANCE_PREFIX now:" - read KUBE_GCE_INSTANCE_PREFIX - fi -fi - -export OPENSHIFT_EXAMPLE=$(pwd)/examples/openshift-origin -echo Set OPENSHIFT_EXAMPLE=${OPENSHIFT_EXAMPLE} -export OPENSHIFT_CONFIG=${OPENSHIFT_EXAMPLE}/config -echo Set OPENSHIFT_CONFIG=${OPENSHIFT_CONFIG} -mkdir ${OPENSHIFT_CONFIG} -echo Made dir ${OPENSHIFT_CONFIG} -echo - -echo "===> Setting up OpenShift-Origin namespace:" -kubectl create -f ${OPENSHIFT_EXAMPLE}/openshift-origin-namespace.yaml -echo - -echo "===> Setting up etcd-discovery:" -# A token etcd uses to generate unique cluster ID and member ID. Conforms to [a-z0-9]{40} -export ETCD_INITIAL_CLUSTER_TOKEN=$(python -c "import string; import random; print(''.join(random.SystemRandom().choice(string.ascii_lowercase + string.digits) for _ in range(40)))") - -# A unique token used by the discovery service. Conforms to etcd-cluster-[a-z0-9]{5} -export ETCD_DISCOVERY_TOKEN=$(python -c "import string; import random; print(\"etcd-cluster-\" + ''.join(random.SystemRandom().choice(string.ascii_lowercase + string.digits) for _ in range(5)))") -sed -i.bak -e "s/INSERT_ETCD_INITIAL_CLUSTER_TOKEN/\"${ETCD_INITIAL_CLUSTER_TOKEN}\"/g" -e "s/INSERT_ETCD_DISCOVERY_TOKEN/\"${ETCD_DISCOVERY_TOKEN}\"/g" ${OPENSHIFT_EXAMPLE}/etcd-controller.yaml - -kubectl create -f ${OPENSHIFT_EXAMPLE}/etcd-discovery-controller.yaml --namespace='openshift-origin' -kubectl create -f ${OPENSHIFT_EXAMPLE}/etcd-discovery-service.yaml --namespace='openshift-origin' -echo - -echo "===> Setting up etcd:" -kubectl create -f ${OPENSHIFT_EXAMPLE}/etcd-controller.yaml --namespace='openshift-origin' -kubectl create -f ${OPENSHIFT_EXAMPLE}/etcd-service.yaml --namespace='openshift-origin' -echo - -echo "===> Setting up openshift-origin:" -kubectl config view --output=yaml --flatten=true --minify=true > ${OPENSHIFT_CONFIG}/kubeconfig -kubectl create -f ${OPENSHIFT_EXAMPLE}/openshift-service.yaml --namespace='openshift-origin' -echo - -export PUBLIC_OPENSHIFT_IP="" -echo "===> Waiting for public IP to be set for the OpenShift Service." -echo "Mistakes in service setup can cause this to loop infinitely if an" -echo "external IP is never set. Ensure that the OpenShift service" -echo "is set to use an external load balancer. This process may take" -echo "a few minutes. Errors can be found in the log file found at:" -echo ${OPENSHIFT_EXAMPLE}/openshift-startup.log -echo "" > ${OPENSHIFT_EXAMPLE}/openshift-startup.log -while [ ${#PUBLIC_OPENSHIFT_IP} -lt 1 ]; do - echo -n . - sleep 1 - { - export PUBLIC_OPENSHIFT_IP=$(kubectl get services openshift --namespace="openshift-origin" --template="{{ index .status.loadBalancer.ingress 0 \"ip\" }}") - } >> ${OPENSHIFT_EXAMPLE}/openshift-startup.log 2>&1 - if [[ ! ${PUBLIC_OPENSHIFT_IP} =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; then - export PUBLIC_OPENSHIFT_IP="" - fi -done -echo -echo "Public OpenShift IP set to: ${PUBLIC_OPENSHIFT_IP}" -echo - -echo "===> Configuring OpenShift:" -docker run --privileged -v ${OPENSHIFT_CONFIG}:/config openshift/origin start master --write-config=/config --kubeconfig=/config/kubeconfig --master=https://localhost:8443 --public-master=https://${PUBLIC_OPENSHIFT_IP}:8443 --etcd=http://etcd:2379 -sudo -E chown -R ${USER} ${OPENSHIFT_CONFIG} - -# The following assumes GCE and that KUBE_GCE_INSTANCE_PREFIX is set -export ZONE=$(gcloud compute instances list | grep "${KUBE_GCE_INSTANCE_PREFIX}\-master" | awk '{print $2}' | head -1) -echo "sudo cat /srv/kubernetes/server.key; exit;" | gcloud compute ssh ${KUBE_GCE_INSTANCE_PREFIX}-master --zone ${ZONE} | grep -Ex "(^\-.*\-$|^\S+$)" > ${OPENSHIFT_CONFIG}/serviceaccounts.private.key -# The following insertion will fail if indentation changes -sed -i -e 's/publicKeyFiles:.*$/publicKeyFiles:/g' -e '/publicKeyFiles:/a \ \ - serviceaccounts.private.key' ${OPENSHIFT_CONFIG}/master-config.yaml - -docker run -it --privileged -e="KUBECONFIG=/config/admin.kubeconfig" -v ${OPENSHIFT_CONFIG}:/config openshift/origin cli secrets new openshift-config /config -o json &> ${OPENSHIFT_EXAMPLE}/secret.json -kubectl create -f ${OPENSHIFT_EXAMPLE}/secret.json --namespace='openshift-origin' -echo - -echo "===> Running OpenShift Master:" -kubectl create -f ${OPENSHIFT_EXAMPLE}/openshift-controller.yaml --namespace='openshift-origin' -echo - -echo Done. diff --git a/examples/openshift-origin/etcd-controller.yaml b/examples/openshift-origin/etcd-controller.yaml deleted file mode 100644 index 419c57dbdb..0000000000 --- a/examples/openshift-origin/etcd-controller.yaml +++ /dev/null @@ -1,52 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: etcd -spec: - strategy: - type: Recreate - replicas: 3 - selector: - matchLabels: - name: etcd - template: - metadata: - labels: - name: etcd - spec: - containers: - - name: member - image: openshift/etcd-20-centos7 - ports: - - containerPort: 2379 - protocol: TCP - - containerPort: 2380 - protocol: TCP - env: - # ETCD_NUM_MEMBERS is the maximum number of members to launch (have to match with # of replicas) - - name: ETCD_NUM_MEMBERS - value: "3" - - name: ETCD_INITIAL_CLUSTER_STATE - value: "new" - # ETCD_INITIAL_CLUSTER_TOKEN is a token etcd uses to generate unique cluster ID and member ID. Conforms to [a-z0-9]{40} - - name: ETCD_INITIAL_CLUSTER_TOKEN - value: INSERT_ETCD_INITIAL_CLUSTER_TOKEN - # ETCD_DISCOVERY_TOKEN is a unique token used by the discovery service. Conforms to etcd-cluster-[a-z0-9]{5} - - name: ETCD_DISCOVERY_TOKEN - value: INSERT_ETCD_DISCOVERY_TOKEN - # ETCD_DISCOVERY_URL connects etcd instances together by storing a list of peer addresses, - # metadata and the initial size of the cluster under a unique address - - name: ETCD_DISCOVERY_URL - value: "http://etcd-discovery:2379" - - name: ETCDCTL_PEERS - value: "http://etcd:2379" - resources: {} - terminationMessagePath: "/dev/termination-log" - imagePullPolicy: IfNotPresent - securityContext: - capabilities: {} - privileged: false - restartPolicy: Always - dnsPolicy: ClusterFirst - serviceAccount: '' -status: {} diff --git a/examples/openshift-origin/etcd-discovery-controller.yaml b/examples/openshift-origin/etcd-discovery-controller.yaml deleted file mode 100644 index 33f593ac7f..0000000000 --- a/examples/openshift-origin/etcd-discovery-controller.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: etcd-discovery -spec: - strategy: - type: Recreate - replicas: 1 - selector: - matchLabels: - name: etcd-discovery - template: - metadata: - labels: - name: etcd-discovery - spec: - containers: - - name: discovery - image: openshift/etcd-20-centos7 - args: - - etcd-discovery.sh - ports: - - containerPort: 2379 - protocol: TCP - resources: {} - terminationMessagePath: "/dev/termination-log" - imagePullPolicy: IfNotPresent - securityContext: - capabilities: {} - privileged: false - restartPolicy: Always - dnsPolicy: ClusterFirst - serviceAccount: '' -status: {} diff --git a/examples/openshift-origin/etcd-discovery-service.yaml b/examples/openshift-origin/etcd-discovery-service.yaml deleted file mode 100644 index 99f464716c..0000000000 --- a/examples/openshift-origin/etcd-discovery-service.yaml +++ /dev/null @@ -1,18 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: etcd-discovery - labels: - name: etcd-discovery -spec: - ports: - - protocol: TCP - port: 2379 - targetPort: 2379 - nodePort: 0 - selector: - name: etcd-discovery - sessionAffinity: None - type: ClusterIP -status: - loadBalancer: {} diff --git a/examples/openshift-origin/etcd-service.yaml b/examples/openshift-origin/etcd-service.yaml deleted file mode 100644 index 00bc56ef07..0000000000 --- a/examples/openshift-origin/etcd-service.yaml +++ /dev/null @@ -1,24 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: etcd - labels: - name: etcd -spec: - ports: - - name: client - protocol: TCP - port: 2379 - targetPort: 2379 - nodePort: 0 - - name: server - protocol: TCP - port: 2380 - targetPort: 2380 - nodePort: 0 - selector: - name: etcd - sessionAffinity: None - type: ClusterIP -status: - loadBalancer: {} diff --git a/examples/openshift-origin/openshift-controller.yaml b/examples/openshift-origin/openshift-controller.yaml deleted file mode 100644 index 1844a70ccd..0000000000 --- a/examples/openshift-origin/openshift-controller.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - name: openshift - name: openshift -spec: - replicas: 1 - selector: - matchLabels: - name: openshift - template: - metadata: - labels: - name: openshift - spec: - containers: - - args: - - start - - master - - --config=/config/master-config.yaml - image: "openshift/origin" - name: origin - ports: - - containerPort: 8443 - name: openshift - volumeMounts: - - mountPath: /config - name: config - readOnly: true - volumes: - - name: config - secret: - secretName: openshift-config \ No newline at end of file diff --git a/examples/openshift-origin/openshift-origin-namespace.yaml b/examples/openshift-origin/openshift-origin-namespace.yaml deleted file mode 100644 index 1596417f6c..0000000000 --- a/examples/openshift-origin/openshift-origin-namespace.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Namespace -apiVersion: v1 -metadata: - name: "openshift-origin" - labels: - name: "openshift-origin" \ No newline at end of file diff --git a/examples/openshift-origin/openshift-service.yaml b/examples/openshift-origin/openshift-service.yaml deleted file mode 100644 index a8d599da61..0000000000 --- a/examples/openshift-origin/openshift-service.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: openshift -spec: - ports: - - name: openshift - port: 8443 - targetPort: 8443 - selector: - name: openshift - type: LoadBalancer diff --git a/examples/openshift-origin/secret.json b/examples/openshift-origin/secret.json deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/examples/persistent-volume-provisioning/README.md b/examples/persistent-volume-provisioning/README.md deleted file mode 100644 index df49ca3b5c..0000000000 --- a/examples/persistent-volume-provisioning/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/persistent-volume-provisioning/README.md](https://github.com/kubernetes/examples/blob/master/staging/persistent-volume-provisioning/README.md) diff --git a/examples/persistent-volume-provisioning/aws-ebs.yaml b/examples/persistent-volume-provisioning/aws-ebs.yaml deleted file mode 100644 index 4fc5ba9242..0000000000 --- a/examples/persistent-volume-provisioning/aws-ebs.yaml +++ /dev/null @@ -1,9 +0,0 @@ -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: slow -provisioner: kubernetes.io/aws-ebs -parameters: - type: io1 - zone: us-east-1d - iopsPerGB: "10" diff --git a/examples/persistent-volume-provisioning/cinder/cinder-storage-class.yaml b/examples/persistent-volume-provisioning/cinder/cinder-storage-class.yaml deleted file mode 100644 index 3dc066cd5a..0000000000 --- a/examples/persistent-volume-provisioning/cinder/cinder-storage-class.yaml +++ /dev/null @@ -1,8 +0,0 @@ -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: gold -provisioner: kubernetes.io/cinder -parameters: - type: fast - availability: nova diff --git a/examples/persistent-volume-provisioning/cinder/example-pod.yaml b/examples/persistent-volume-provisioning/cinder/example-pod.yaml deleted file mode 100644 index bc14b12054..0000000000 --- a/examples/persistent-volume-provisioning/cinder/example-pod.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - name: server -spec: - replicas: 1 - selector: - role: server - template: - metadata: - labels: - role: server - spec: - containers: - - name: server - image: nginx - volumeMounts: - - mountPath: /var/lib/www/html - name: cinderpvc - volumes: - - name: cinderpvc - persistentVolumeClaim: - claimName: claim1 diff --git a/examples/persistent-volume-provisioning/claim1.json b/examples/persistent-volume-provisioning/claim1.json deleted file mode 100644 index 75c71a669c..0000000000 --- a/examples/persistent-volume-provisioning/claim1.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "kind": "PersistentVolumeClaim", - "apiVersion": "v1", - "metadata": { - "name": "claim1" - }, - "spec": { - "accessModes": [ - "ReadWriteOnce" - ], - "resources": { - "requests": { - "storage": "3Gi" - } - }, - "storageClassName": "slow" - } -} diff --git a/examples/persistent-volume-provisioning/gce-pd.yaml b/examples/persistent-volume-provisioning/gce-pd.yaml deleted file mode 100644 index 3d8e134bac..0000000000 --- a/examples/persistent-volume-provisioning/gce-pd.yaml +++ /dev/null @@ -1,8 +0,0 @@ -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: slow -provisioner: kubernetes.io/gce-pd -parameters: - type: pd-standard - zone: us-central1-a diff --git a/examples/persistent-volume-provisioning/glusterfs/glusterfs-secret.yaml b/examples/persistent-volume-provisioning/glusterfs/glusterfs-secret.yaml deleted file mode 100644 index bb9c806a26..0000000000 --- a/examples/persistent-volume-provisioning/glusterfs/glusterfs-secret.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: heketi-secret - namespace: default -data: - # base64 encoded password. E.g.: echo -n "mypassword" | base64 - key: bXlwYXNzd29yZA== -type: kubernetes.io/glusterfs diff --git a/examples/persistent-volume-provisioning/glusterfs/glusterfs-storageclass.yaml b/examples/persistent-volume-provisioning/glusterfs/glusterfs-storageclass.yaml deleted file mode 100644 index b42eabe7de..0000000000 --- a/examples/persistent-volume-provisioning/glusterfs/glusterfs-storageclass.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: fast -provisioner: kubernetes.io/glusterfs -parameters: - resturl: "http://127.0.0.1:8081" - clusterid: "630372ccdc720a92c681fb928f27b53f" - restuser: "admin" - secretNamespace: "default" - secretName: "heketi-secret" - gidMin: "40000" - gidMax: "50000" - volumetype: "replicate:3" - volumeoptions: "client.ssl on, server.ssl on" - volumenameprefix: "dept-dev" diff --git a/examples/persistent-volume-provisioning/quobyte/example-pod.yaml b/examples/persistent-volume-provisioning/quobyte/example-pod.yaml deleted file mode 100644 index eb814f552a..0000000000 --- a/examples/persistent-volume-provisioning/quobyte/example-pod.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - name: server -spec: - replicas: 1 - selector: - role: server - template: - metadata: - labels: - role: server - spec: - containers: - - name: server - image: nginx - volumeMounts: - - mountPath: /var/lib/www/html - name: quobytepvc - volumes: - - name: quobytepvc - persistentVolumeClaim: - claimName: claim1 diff --git a/examples/persistent-volume-provisioning/quobyte/quobyte-admin-secret.yaml b/examples/persistent-volume-provisioning/quobyte/quobyte-admin-secret.yaml deleted file mode 100644 index 24cc767738..0000000000 --- a/examples/persistent-volume-provisioning/quobyte/quobyte-admin-secret.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: quobyte-admin-secret -type: "kubernetes.io/quobyte" -data: - password: cXVvYnl0ZQ== - user: YWRtaW4= -type: kubernetes.io/quobyte diff --git a/examples/persistent-volume-provisioning/quobyte/quobyte-storage-class.yaml b/examples/persistent-volume-provisioning/quobyte/quobyte-storage-class.yaml deleted file mode 100644 index b9679d61df..0000000000 --- a/examples/persistent-volume-provisioning/quobyte/quobyte-storage-class.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: slow -provisioner: kubernetes.io/quobyte -parameters: - quobyteAPIServer: "http://138.68.74.142:7860" - registry: "138.68.74.142:7861" - adminSecretName: "quobyte-admin-secret" - adminSecretNamespace: "kube-system" - user: "root" - group: "root" - quobyteConfig: "BASE" - quobyteTenant: "DEFAULT" - createQuota: "False" diff --git a/examples/persistent-volume-provisioning/rbd/ceph-secret-admin.yaml b/examples/persistent-volume-provisioning/rbd/ceph-secret-admin.yaml deleted file mode 100644 index 894a9df6b4..0000000000 --- a/examples/persistent-volume-provisioning/rbd/ceph-secret-admin.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: ceph-secret-admin -type: "kubernetes.io/rbd" -data: -#Please note this value is base64 encoded. - key: QVFEQ1pMdFhPUnQrSmhBQUFYaERWNHJsZ3BsMmNjcDR6RFZST0E9PQ== diff --git a/examples/persistent-volume-provisioning/rbd/ceph-secret-user.yaml b/examples/persistent-volume-provisioning/rbd/ceph-secret-user.yaml deleted file mode 100644 index e538dcafb5..0000000000 --- a/examples/persistent-volume-provisioning/rbd/ceph-secret-user.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: ceph-secret-user -type: "kubernetes.io/rbd" -data: -#Please note this value is base64 encoded. - key: QVFBTWdYaFZ3QkNlRGhBQTlubFBhRnlmVVNhdEdENGRyRldEdlE9PQ== diff --git a/examples/persistent-volume-provisioning/rbd/pod.yaml b/examples/persistent-volume-provisioning/rbd/pod.yaml deleted file mode 100644 index 6eea26f94f..0000000000 --- a/examples/persistent-volume-provisioning/rbd/pod.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - name: server -spec: - replicas: 1 - selector: - role: server - template: - metadata: - labels: - role: server - spec: - containers: - - name: server - image: nginx - volumeMounts: - - mountPath: /var/lib/www/html - name: mypvc - volumes: - - name: mypvc - persistentVolumeClaim: - claimName: claim1 diff --git a/examples/phabricator/README.md b/examples/phabricator/README.md deleted file mode 100644 index b33ddb2557..0000000000 --- a/examples/phabricator/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/phabricator/README.md](https://github.com/kubernetes/examples/blob/master/staging/phabricator/README.md) diff --git a/examples/phabricator/phabricator-controller.json b/examples/phabricator/phabricator-controller.json deleted file mode 100644 index b13103e11d..0000000000 --- a/examples/phabricator/phabricator-controller.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "kind": "ReplicationController", - "apiVersion": "v1", - "metadata": { - "name": "phabricator-controller", - "labels": { - "name": "phabricator" - } - }, - "spec": { - "replicas": 1, - "selector": { - "name": "phabricator" - }, - "template": { - "metadata": { - "labels": { - "name": "phabricator" - } - }, - "spec": { - "containers": [ - { - "name": "phabricator", - "image": "fgrzadkowski/example-php-phabricator", - "ports": [ - { - "name": "http-server", - "containerPort": 80 - } - ], - "env": [ - { - "name": "MYSQL_SERVICE_IP", - "value": "1.2.3.4" - }, - { - "name": "MYSQL_SERVICE_PORT", - "value": "3306" - }, - { - "name": "MYSQL_PASSWORD", - "value": "1234" - } - ] - } - ] - } - } - } -} diff --git a/examples/phabricator/phabricator-service.json b/examples/phabricator/phabricator-service.json deleted file mode 100644 index b2ec74cf4e..0000000000 --- a/examples/phabricator/phabricator-service.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "kind": "Service", - "apiVersion": "v1", - "metadata": { - "name": "phabricator" - }, - "spec": { - "ports": [ - { - "port": 80, - "targetPort": "http-server" - } - ], - "selector": { - "name": "phabricator" - }, - "type": "LoadBalancer" - } -} diff --git a/examples/phabricator/php-phabricator/000-default.conf b/examples/phabricator/php-phabricator/000-default.conf deleted file mode 100644 index 2ec64d6879..0000000000 --- a/examples/phabricator/php-phabricator/000-default.conf +++ /dev/null @@ -1,12 +0,0 @@ - - Require all granted - - - - DocumentRoot /home/www-data/phabricator/webroot - - RewriteEngine on - RewriteRule ^/rsrc/(.*) - [L,QSA] - RewriteRule ^/favicon.ico - [L,QSA] - RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA] - diff --git a/examples/phabricator/php-phabricator/Dockerfile b/examples/phabricator/php-phabricator/Dockerfile deleted file mode 100644 index 779e799ce6..0000000000 --- a/examples/phabricator/php-phabricator/Dockerfile +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM ubuntu:14.04 - -# Install all the required packages. -RUN apt-get update && \ - apt-get -y install \ - git apache2 dpkg-dev python-pygments \ - php5 php5-mysql php5-gd php5-dev php5-curl php-apc php5-cli php5-json php5-xhprof && \ - apt-get -y clean autoclean && \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -#Configure php -RUN a2enmod rewrite && \ - apt-get source php5 && \ - (cd `ls -1F | grep '^php5-.*/$'`/ext/pcntl && phpize && ./configure && make && sudo make install) - -# Load code source. -RUN mkdir /home/www-data -RUN cd /home/www-data && git clone https://github.com/phacility/libphutil.git && \ - cd /home/www-data && git clone https://github.com/phacility/arcanist.git && \ - cd /home/www-data && git clone https://github.com/phacility/phabricator.git && \ - chown -R www-data /home/www-data && \ - chgrp -R www-data /home/www-data - -ADD 000-default.conf /etc/apache2/sites-available/000-default.conf -ADD run.sh /run.sh -RUN chmod a+x /*.sh - -# Run Apache2. -EXPOSE 80 -CMD ["/run.sh"] diff --git a/examples/phabricator/php-phabricator/run.sh b/examples/phabricator/php-phabricator/run.sh deleted file mode 100755 index 1f2b8387f4..0000000000 --- a/examples/phabricator/php-phabricator/run.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -echo "MySQL host IP ${MYSQL_SERVICE_IP} port ${MYSQL_SERVICE_PORT}." -/home/www-data/phabricator/bin/config set mysql.host $MYSQL_SERVICE_IP -/home/www-data/phabricator/bin/config set mysql.port $MYSQL_SERVICE_PORT -/home/www-data/phabricator/bin/config set mysql.pass $MYSQL_PASSWORD - -echo "Running storage upgrade" -/home/www-data/phabricator/bin/storage --force upgrade || exit 1 - -source /etc/apache2/envvars -echo "Starting Apache2" -apache2 -D FOREGROUND - diff --git a/examples/phabricator/setup.sh b/examples/phabricator/setup.sh deleted file mode 100755 index 588b1f5f93..0000000000 --- a/examples/phabricator/setup.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -echo "Create Phabricator replication controller" && kubectl create -f phabricator-controller.json -echo "Create Phabricator service" && kubectl create -f phabricator-service.json -echo "Create firewall rule" && gcloud compute firewall-rules create phabricator-node-80 --allow=tcp:80 --target-tags kubernetes-node - diff --git a/examples/phabricator/teardown.sh b/examples/phabricator/teardown.sh deleted file mode 100755 index 266313912b..0000000000 --- a/examples/phabricator/teardown.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -echo "Deleting Phabricator service" && kubectl delete -f phabricator-service.json -echo "Deleting Phabricator replication controller" && kubectl delete rc phabricator-controller -echo "Delete firewall rule" && gcloud compute firewall-rules delete -q phabricator-node-80 - diff --git a/examples/podsecuritypolicy/OWNERS b/examples/podsecuritypolicy/OWNERS deleted file mode 100644 index 63eee4bb6d..0000000000 --- a/examples/podsecuritypolicy/OWNERS +++ /dev/null @@ -1,11 +0,0 @@ -approvers: - - deads2k - - ericchiang - - liggitt - - tallclair -reviewers: - - deads2k - - ericchiang - - liggitt - - php-coder - - tallclair diff --git a/examples/podsecuritypolicy/rbac/README.md b/examples/podsecuritypolicy/rbac/README.md deleted file mode 100644 index 66af1b7c1e..0000000000 --- a/examples/podsecuritypolicy/rbac/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/podsecuritypolicy/rbac/README.md](https://github.com/kubernetes/examples/blob/master/staging/podsecuritypolicy/rbac/README.md) diff --git a/examples/podsecuritypolicy/rbac/bindings.yaml b/examples/podsecuritypolicy/rbac/bindings.yaml deleted file mode 100644 index f61b73b21a..0000000000 --- a/examples/podsecuritypolicy/rbac/bindings.yaml +++ /dev/null @@ -1,50 +0,0 @@ -# privileged-psp-users gives the privileged-psp-user role -# to the group privileged-psp-users. -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: privileged-psp-users -subjects: -- kind: Group - apiGroup: rbac.authorization.k8s.io - name: privileged-psp-users -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: privileged-psp-user ---- -# restricted-psp-users grants the restricted-psp-user role to -# the groups restricted-psp-users and privileged-psp-users. -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: restricted-psp-users -subjects: -- kind: Group - apiGroup: rbac.authorization.k8s.io - name: restricted-psp-users -- kind: Group - apiGroup: rbac.authorization.k8s.io - name: privileged-psp-users -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: restricted-psp-user ---- -# edit grants edit role to the groups -# restricted-psp-users and privileged-psp-users. -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: edit -subjects: -- kind: Group - apiGroup: rbac.authorization.k8s.io - name: privileged-psp-users -- kind: Group - apiGroup: rbac.authorization.k8s.io - name: restricted-psp-users -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: edit diff --git a/examples/podsecuritypolicy/rbac/pod.yaml b/examples/podsecuritypolicy/rbac/pod.yaml deleted file mode 100644 index 5b7b1efdcb..0000000000 --- a/examples/podsecuritypolicy/rbac/pod.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: nginx - labels: - name: nginx -spec: - containers: - - name: nginx - image: nginx - ports: - - containerPort: 80 diff --git a/examples/podsecuritypolicy/rbac/pod_priv.yaml b/examples/podsecuritypolicy/rbac/pod_priv.yaml deleted file mode 100644 index 6c638c4499..0000000000 --- a/examples/podsecuritypolicy/rbac/pod_priv.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: nginx - labels: - name: nginx -spec: - containers: - - name: nginx - image: nginx - ports: - - containerPort: 80 - securityContext: - privileged: true diff --git a/examples/podsecuritypolicy/rbac/policies.yaml b/examples/podsecuritypolicy/rbac/policies.yaml deleted file mode 100644 index d8c0ca0636..0000000000 --- a/examples/podsecuritypolicy/rbac/policies.yaml +++ /dev/null @@ -1,49 +0,0 @@ -apiVersion: policy/v1beta1 -kind: PodSecurityPolicy -metadata: - name: privileged -spec: - fsGroup: - rule: RunAsAny - privileged: true - runAsUser: - rule: RunAsAny - seLinux: - rule: RunAsAny - supplementalGroups: - rule: RunAsAny - volumes: - - '*' - allowedCapabilities: - - '*' - hostPID: true - hostIPC: true - hostNetwork: true - hostPorts: - - min: 1 - max: 65536 ---- -apiVersion: policy/v1beta1 -kind: PodSecurityPolicy -metadata: - name: restricted -spec: - privileged: false - fsGroup: - rule: RunAsAny - runAsUser: - rule: MustRunAsNonRoot - seLinux: - rule: RunAsAny - supplementalGroups: - rule: RunAsAny - volumes: - - 'emptyDir' - - 'secret' - - 'downwardAPI' - - 'configMap' - - 'persistentVolumeClaim' - - 'projected' - hostPID: false - hostIPC: false - hostNetwork: false diff --git a/examples/podsecuritypolicy/rbac/roles.yaml b/examples/podsecuritypolicy/rbac/roles.yaml deleted file mode 100644 index 55d591d5dd..0000000000 --- a/examples/podsecuritypolicy/rbac/roles.yaml +++ /dev/null @@ -1,31 +0,0 @@ -# restricted-psp-user grants access to use the restricted PSP. -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: restricted-psp-user -rules: -- apiGroups: - - policy - resources: - - podsecuritypolicies - resourceNames: - - restricted - verbs: - - use ---- -# privileged-psp-user grants access to use the privileged PSP. -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: privileged-psp-user -rules: -- apiGroups: - - policy - resources: - - podsecuritypolicies - resourceNames: - - privileged - verbs: - - use - - diff --git a/examples/runtime-constraints/README.md b/examples/runtime-constraints/README.md deleted file mode 100644 index 3f245a12d4..0000000000 --- a/examples/runtime-constraints/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/runtime-constraints/README.md](https://github.com/kubernetes/examples/blob/master/staging/runtime-constraints/README.md) diff --git a/examples/scheduler-policy-config-with-extender.json b/examples/scheduler-policy-config-with-extender.json deleted file mode 100644 index cc1a9bd6fb..0000000000 --- a/examples/scheduler-policy-config-with-extender.json +++ /dev/null @@ -1,30 +0,0 @@ -{ -"kind" : "Policy", -"apiVersion" : "v1", -"predicates" : [ - {"name" : "PodFitsHostPorts"}, - {"name" : "PodFitsResources"}, - {"name" : "NoDiskConflict"}, - {"name" : "MatchNodeSelector"}, - {"name" : "HostName"} - ], -"priorities" : [ - {"name" : "LeastRequestedPriority", "weight" : 1}, - {"name" : "BalancedResourceAllocation", "weight" : 1}, - {"name" : "ServiceSpreadingPriority", "weight" : 1}, - {"name" : "EqualPriority", "weight" : 1} - ], -"extenders" : [ - { - "urlPrefix": "http://127.0.0.1:12346/scheduler", - "filterVerb": "filter", - "bindVerb": "bind", - "prioritizeVerb": "prioritize", - "weight": 5, - "enableHttps": false, - "nodeCacheCapable": false - } - ], -"hardPodAffinitySymmetricWeight" : 10, -"alwaysCheckAllPredicates" : false -} diff --git a/examples/scheduler-policy-config.json b/examples/scheduler-policy-config.json deleted file mode 100644 index 048299e5e3..0000000000 --- a/examples/scheduler-policy-config.json +++ /dev/null @@ -1,20 +0,0 @@ -{ -"kind" : "Policy", -"apiVersion" : "v1", -"predicates" : [ - {"name" : "PodFitsHostPorts"}, - {"name" : "PodFitsResources"}, - {"name" : "NoDiskConflict"}, - {"name" : "NoVolumeZoneConflict"}, - {"name" : "MatchNodeSelector"}, - {"name" : "HostName"} - ], -"priorities" : [ - {"name" : "LeastRequestedPriority", "weight" : 1}, - {"name" : "BalancedResourceAllocation", "weight" : 1}, - {"name" : "ServiceSpreadingPriority", "weight" : 1}, - {"name" : "EqualPriority", "weight" : 1} - ], -"hardPodAffinitySymmetricWeight" : 10, -"alwaysCheckAllPredicates" : false -} diff --git a/examples/selenium/README.md b/examples/selenium/README.md deleted file mode 100644 index e365937118..0000000000 --- a/examples/selenium/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/selenium/README.md](https://github.com/kubernetes/examples/blob/master/staging/selenium/README.md) diff --git a/examples/selenium/selenium-hub-rc.yaml b/examples/selenium/selenium-hub-rc.yaml deleted file mode 100644 index f48510e1ce..0000000000 --- a/examples/selenium/selenium-hub-rc.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - name: selenium-hub - labels: - app: selenium-hub -spec: - replicas: 1 - selector: - app: selenium-hub - template: - metadata: - labels: - app: selenium-hub - spec: - containers: - - name: selenium-hub - image: selenium/hub:2.53.0 - ports: - - containerPort: 4444 - resources: - limits: - memory: "1000Mi" - cpu: ".5" - livenessProbe: - httpGet: - path: /grid/console - port: 4444 - initialDelaySeconds: 30 - timeoutSeconds: 5 - readinessProbe: - httpGet: - path: /grid/console - port: 4444 - initialDelaySeconds: 30 - timeoutSeconds: 5 diff --git a/examples/selenium/selenium-hub-svc.yaml b/examples/selenium/selenium-hub-svc.yaml deleted file mode 100644 index 0b252ede37..0000000000 --- a/examples/selenium/selenium-hub-svc.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: selenium-hub - labels: - app: selenium-hub -spec: - ports: - - port: 4444 - targetPort: 4444 - name: port0 - selector: - app: selenium-hub - type: NodePort - sessionAffinity: None diff --git a/examples/selenium/selenium-node-chrome-rc.yaml b/examples/selenium/selenium-node-chrome-rc.yaml deleted file mode 100644 index 3c49c1b43d..0000000000 --- a/examples/selenium/selenium-node-chrome-rc.yaml +++ /dev/null @@ -1,29 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - name: selenium-node-chrome - labels: - app: selenium-node-chrome -spec: - replicas: 2 - selector: - app: selenium-node-chrome - template: - metadata: - labels: - app: selenium-node-chrome - spec: - containers: - - name: selenium-node-chrome - image: selenium/node-chrome-debug:2.53.0 - ports: - - containerPort: 5900 - env: - - name: HUB_PORT_4444_TCP_ADDR - value: "selenium-hub" - - name: HUB_PORT_4444_TCP_PORT - value: "4444" - resources: - limits: - memory: "1000Mi" - cpu: ".5" diff --git a/examples/selenium/selenium-node-firefox-rc.yaml b/examples/selenium/selenium-node-firefox-rc.yaml deleted file mode 100644 index d6f6657858..0000000000 --- a/examples/selenium/selenium-node-firefox-rc.yaml +++ /dev/null @@ -1,29 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - name: selenium-node-firefox - labels: - app: selenium-node-firefox -spec: - replicas: 2 - selector: - app: selenium-node-firefox - template: - metadata: - labels: - app: selenium-node-firefox - spec: - containers: - - name: selenium-node-firefox - image: selenium/node-firefox-debug:2.53.0 - ports: - - containerPort: 5900 - env: - - name: HUB_PORT_4444_TCP_ADDR - value: "selenium-hub" - - name: HUB_PORT_4444_TCP_PORT - value: "4444" - resources: - limits: - memory: "1000Mi" - cpu: ".5" diff --git a/examples/selenium/selenium-test.py b/examples/selenium/selenium-test.py deleted file mode 100644 index 80d598a3b1..0000000000 --- a/examples/selenium/selenium-test.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from selenium import webdriver -from selenium.webdriver.common.desired_capabilities import DesiredCapabilities - -def check_browser(browser): - driver = webdriver.Remote( - command_executor='http://selenium-hub:4444/wd/hub', - desired_capabilities=getattr(DesiredCapabilities, browser) - ) - driver.get("http://google.com") - assert "google" in driver.page_source - driver.close() - print("Browser %s checks out!" % browser) - - -check_browser("FIREFOX") -check_browser("CHROME") - diff --git a/examples/sharing-clusters/BUILD b/examples/sharing-clusters/BUILD deleted file mode 100644 index bc1611f874..0000000000 --- a/examples/sharing-clusters/BUILD +++ /dev/null @@ -1,37 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_binary", - "go_library", -) - -go_binary( - name = "sharing-clusters", - embed = [":go_default_library"], -) - -go_library( - name = "go_default_library", - srcs = ["make_secret.go"], - importpath = "k8s.io/kubernetes/examples/sharing-clusters", - deps = [ - "//pkg/api/legacyscheme:go_default_library", - "//pkg/apis/core:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", - ], -) - -filegroup( - name = "package-srcs", - srcs = glob(["**"]), - tags = ["automanaged"], - visibility = ["//visibility:private"], -) - -filegroup( - name = "all-srcs", - srcs = [":package-srcs"], - tags = ["automanaged"], -) diff --git a/examples/sharing-clusters/README.md b/examples/sharing-clusters/README.md deleted file mode 100644 index ffd44e29a6..0000000000 --- a/examples/sharing-clusters/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/sharing-clusters/README.md](https://github.com/kubernetes/examples/blob/master/staging/sharing-clusters/README.md) diff --git a/examples/sharing-clusters/make_secret.go b/examples/sharing-clusters/make_secret.go deleted file mode 100644 index ece55eab33..0000000000 --- a/examples/sharing-clusters/make_secret.go +++ /dev/null @@ -1,64 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// A tiny script to help conver a given kubeconfig into a secret. -package main - -import ( - "flag" - "fmt" - "io/ioutil" - "log" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/kubernetes/pkg/api/legacyscheme" - api "k8s.io/kubernetes/pkg/apis/core" -) - -// TODO: -// Add a -o flag that writes to the specified destination file. -var ( - kubeconfig = flag.String("kubeconfig", "", "path to kubeconfig file.") - name = flag.String("name", "kubeconfig", "name to use in the metadata of the secret.") - ns = flag.String("ns", "default", "namespace of the secret.") -) - -func read(file string) []byte { - b, err := ioutil.ReadFile(file) - if err != nil { - log.Fatalf("Cannot read file %v, %v", file, err) - } - return b -} - -func main() { - flag.Parse() - if *kubeconfig == "" { - log.Fatalf("Need to specify --kubeconfig") - } - cfg := read(*kubeconfig) - secret := &api.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: *name, - Namespace: *ns, - }, - Data: map[string][]byte{ - "config": cfg, - }, - } - fmt.Printf(runtime.EncodeOrDie(legacyscheme.Codecs.LegacyCodec(legacyscheme.Registry.EnabledVersions()...), secret)) -} diff --git a/examples/simple-nginx.md b/examples/simple-nginx.md deleted file mode 100644 index 4d9bb95147..0000000000 --- a/examples/simple-nginx.md +++ /dev/null @@ -1,62 +0,0 @@ -## Running your first containers in Kubernetes - -Ok, you've run one of the [getting started guides](https://kubernetes.io/docs/getting-started-guides/) and you have -successfully turned up a Kubernetes cluster. Now what? This guide will help you get oriented -to Kubernetes and running your first containers on the cluster. - -### Running a container (simple version) - -From this point onwards, it is assumed that `kubectl` is on your path from one of the getting started guides. - -The [`kubectl run`](https://kubernetes.io/docs/user-guide/kubectl/kubectl_run.md) line below will create two [nginx](https://registry.hub.docker.com/_/nginx/) [pods](https://kubernetes.io/docs/user-guide/pods.md) listening on port 80. It will also create a [deployment](https://kubernetes.io/docs/user-guide/deployments.md) named `my-nginx` to ensure that there are always two pods running. - -```bash -kubectl run my-nginx --image=nginx --replicas=2 --port=80 -``` - -Once the pods are created, you can list them to see what is up and running: - -```bash -kubectl get pods -``` - -You can also see the deployment that was created: - -```bash -kubectl get deployment -``` - -### Exposing your pods to the internet. - -On some platforms (for example Google Compute Engine) the kubectl command can integrate with your cloud provider to add a [public IP address](https://kubernetes.io/docs/user-guide/services.md#publishing-services---service-types) for the pods, -to do this run: - -```bash -kubectl expose deployment my-nginx --port=80 --type=LoadBalancer -``` - -This should print the service that has been created, and map an external IP address to the service. Where to find this external IP address will depend on the environment you run in. For instance, for Google Compute Engine the external IP address is listed as part of the newly created service and can be retrieved by running - -```bash -kubectl get services -``` - -In order to access your nginx landing page, you also have to make sure that traffic from external IPs is allowed. Do this by opening a firewall to allow traffic on port 80. - -### Cleanup - -To delete the two replicated containers, delete the deployment: - -```bash -kubectl delete deployment my-nginx -``` - -### Next: Configuration files - -Most people will eventually want to use declarative configuration files for creating/modifying their applications. A [simplified introduction](https://kubernetes.io/docs/user-guide/deploying-applications.md) -is given in a different document. - - - -[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/examples/simple-nginx.md?pixel)]() - diff --git a/examples/spark/README.md b/examples/spark/README.md deleted file mode 100644 index edfe3efd23..0000000000 --- a/examples/spark/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/spark/README.md](https://github.com/kubernetes/examples/blob/master/staging/spark/README.md) diff --git a/examples/spark/namespace-spark-cluster.yaml b/examples/spark/namespace-spark-cluster.yaml deleted file mode 100644 index 1f3dce83cf..0000000000 --- a/examples/spark/namespace-spark-cluster.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: "spark-cluster" - labels: - name: "spark-cluster" diff --git a/examples/spark/spark-gluster/README.md b/examples/spark/spark-gluster/README.md deleted file mode 100644 index 07d2a8d0f3..0000000000 --- a/examples/spark/spark-gluster/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/spark/spark-gluster/README.md](https://github.com/kubernetes/examples/blob/master/staging/spark/spark-gluster/README.md) diff --git a/examples/spark/spark-gluster/glusterfs-endpoints.yaml b/examples/spark/spark-gluster/glusterfs-endpoints.yaml deleted file mode 100644 index 357fdb7664..0000000000 --- a/examples/spark/spark-gluster/glusterfs-endpoints.yaml +++ /dev/null @@ -1,14 +0,0 @@ -kind: Endpoints -apiVersion: v1 -metadata: - name: glusterfs-cluster - namespace: spark-cluster -subsets: - - addresses: - - ip: 192.168.30.104 - ports: - - port: 1 - - addresses: - - ip: 192.168.30.105 - ports: - - port: 1 diff --git a/examples/spark/spark-gluster/spark-master-controller.yaml b/examples/spark/spark-gluster/spark-master-controller.yaml deleted file mode 100644 index 28cb6ac3fb..0000000000 --- a/examples/spark/spark-gluster/spark-master-controller.yaml +++ /dev/null @@ -1,34 +0,0 @@ -kind: ReplicationController -apiVersion: v1 -metadata: - name: spark-master-controller - namespace: spark-cluster - labels: - component: spark-master -spec: - replicas: 1 - selector: - component: spark-master - template: - metadata: - labels: - component: spark-master - spec: - containers: - - name: spark-master - image: k8s.gcr.io/spark:1.5.2_v1 - command: ["/start-master"] - ports: - - containerPort: 7077 - volumeMounts: - - mountPath: /mnt/glusterfs - name: glusterfsvol - resources: - requests: - cpu: 100m - volumes: - - name: glusterfsvol - glusterfs: - endpoints: glusterfs-cluster - path: MyVolume - readOnly: false diff --git a/examples/spark/spark-gluster/spark-master-service.yaml b/examples/spark/spark-gluster/spark-master-service.yaml deleted file mode 100644 index 2f5bdb15dc..0000000000 --- a/examples/spark/spark-gluster/spark-master-service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: spark-master - namespace: spark-cluster - labels: - component: spark-master-service -spec: - ports: - - port: 7077 - targetPort: 7077 - selector: - component: spark-master diff --git a/examples/spark/spark-gluster/spark-worker-controller.yaml b/examples/spark/spark-gluster/spark-worker-controller.yaml deleted file mode 100644 index 0030d8a667..0000000000 --- a/examples/spark/spark-gluster/spark-worker-controller.yaml +++ /dev/null @@ -1,35 +0,0 @@ -kind: ReplicationController -apiVersion: v1 -metadata: - name: spark-gluster-worker-controller - namespace: spark-cluster - labels: - component: spark-worker -spec: - replicas: 2 - selector: - component: spark-worker - template: - metadata: - labels: - component: spark-worker - uses: spark-master - spec: - containers: - - name: spark-worker - image: k8s.gcr.io/spark:1.5.2_v1 - command: ["/start-worker"] - ports: - - containerPort: 8888 - volumeMounts: - - mountPath: /mnt/glusterfs - name: glusterfsvol - resources: - requests: - cpu: 100m - volumes: - - name: glusterfsvol - glusterfs: - endpoints: glusterfs-cluster - path: MyVolume - readOnly: false diff --git a/examples/spark/spark-master-controller.yaml b/examples/spark/spark-master-controller.yaml deleted file mode 100644 index ceaef078d2..0000000000 --- a/examples/spark/spark-master-controller.yaml +++ /dev/null @@ -1,23 +0,0 @@ -kind: ReplicationController -apiVersion: v1 -metadata: - name: spark-master-controller -spec: - replicas: 1 - selector: - component: spark-master - template: - metadata: - labels: - component: spark-master - spec: - containers: - - name: spark-master - image: k8s.gcr.io/spark:1.5.2_v1 - command: ["/start-master"] - ports: - - containerPort: 7077 - - containerPort: 8080 - resources: - requests: - cpu: 100m diff --git a/examples/spark/spark-master-service.yaml b/examples/spark/spark-master-service.yaml deleted file mode 100644 index 794147d287..0000000000 --- a/examples/spark/spark-master-service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: spark-master -spec: - ports: - - port: 7077 - targetPort: 7077 - name: spark - - port: 8080 - targetPort: 8080 - name: http - selector: - component: spark-master diff --git a/examples/spark/spark-ui-proxy-controller.yaml b/examples/spark/spark-ui-proxy-controller.yaml deleted file mode 100644 index 3bd0566cd0..0000000000 --- a/examples/spark/spark-ui-proxy-controller.yaml +++ /dev/null @@ -1,29 +0,0 @@ -kind: ReplicationController -apiVersion: v1 -metadata: - name: spark-ui-proxy-controller -spec: - replicas: 1 - selector: - component: spark-ui-proxy - template: - metadata: - labels: - component: spark-ui-proxy - spec: - containers: - - name: spark-ui-proxy - image: elsonrodriguez/spark-ui-proxy:1.0 - ports: - - containerPort: 80 - resources: - requests: - cpu: 100m - args: - - spark-master:8080 - livenessProbe: - httpGet: - path: / - port: 80 - initialDelaySeconds: 120 - timeoutSeconds: 5 diff --git a/examples/spark/spark-ui-proxy-service.yaml b/examples/spark/spark-ui-proxy-service.yaml deleted file mode 100644 index ebd6b7c94c..0000000000 --- a/examples/spark/spark-ui-proxy-service.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: spark-ui-proxy -spec: - ports: - - port: 80 - targetPort: 80 - selector: - component: spark-ui-proxy - type: LoadBalancer diff --git a/examples/spark/spark-worker-controller.yaml b/examples/spark/spark-worker-controller.yaml deleted file mode 100644 index 3e5ed50ce0..0000000000 --- a/examples/spark/spark-worker-controller.yaml +++ /dev/null @@ -1,23 +0,0 @@ -kind: ReplicationController -apiVersion: v1 -metadata: - name: spark-worker-controller -spec: - replicas: 2 - selector: - component: spark-worker - template: - metadata: - labels: - component: spark-worker - spec: - containers: - - name: spark-worker - image: k8s.gcr.io/spark:1.5.2_v1 - command: ["/start-worker"] - ports: - - containerPort: 8081 - resources: - requests: - cpu: 100m - diff --git a/examples/spark/zeppelin-controller.yaml b/examples/spark/zeppelin-controller.yaml deleted file mode 100644 index 2f578fcfc2..0000000000 --- a/examples/spark/zeppelin-controller.yaml +++ /dev/null @@ -1,21 +0,0 @@ -kind: ReplicationController -apiVersion: v1 -metadata: - name: zeppelin-controller -spec: - replicas: 1 - selector: - component: zeppelin - template: - metadata: - labels: - component: zeppelin - spec: - containers: - - name: zeppelin - image: k8s.gcr.io/zeppelin:v0.5.6_v1 - ports: - - containerPort: 8080 - resources: - requests: - cpu: 100m diff --git a/examples/spark/zeppelin-service.yaml b/examples/spark/zeppelin-service.yaml deleted file mode 100644 index f2c7838ad0..0000000000 --- a/examples/spark/zeppelin-service.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: zeppelin -spec: - ports: - - port: 80 - targetPort: 8080 - selector: - component: zeppelin - type: LoadBalancer diff --git a/examples/storage/cassandra/README.md b/examples/storage/cassandra/README.md deleted file mode 100644 index 52b4a9e554..0000000000 --- a/examples/storage/cassandra/README.md +++ /dev/null @@ -1 +0,0 @@ -This example has been moved to [https://github.com/kubernetes/examples/blob/master/cassandra](https://github.com/kubernetes/examples/blob/master/cassandra) diff --git a/examples/storage/hazelcast/README.md b/examples/storage/hazelcast/README.md deleted file mode 100644 index fd46e27573..0000000000 --- a/examples/storage/hazelcast/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/storage/hazelcast/README.md](https://github.com/kubernetes/examples/blob/master/staging/storage/hazelcast/README.md) diff --git a/examples/storage/hazelcast/hazelcast-deployment.yaml b/examples/storage/hazelcast/hazelcast-deployment.yaml deleted file mode 100644 index bbf61b092c..0000000000 --- a/examples/storage/hazelcast/hazelcast-deployment.yaml +++ /dev/null @@ -1,26 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: hazelcast - labels: - name: hazelcast -spec: - template: - metadata: - labels: - name: hazelcast - spec: - containers: - - name: hazelcast - image: quay.io/pires/hazelcast-kubernetes:3.8_1 - imagePullPolicy: Always - env: - - name: "DNS_DOMAIN" - value: "cluster.local" - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - name: hazelcast - containerPort: 5701 diff --git a/examples/storage/hazelcast/hazelcast-service.yaml b/examples/storage/hazelcast/hazelcast-service.yaml deleted file mode 100644 index 0c9dc55da5..0000000000 --- a/examples/storage/hazelcast/hazelcast-service.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - labels: - name: hazelcast - name: hazelcast -spec: - ports: - - port: 5701 - selector: - name: hazelcast diff --git a/examples/storage/minio/README.md b/examples/storage/minio/README.md deleted file mode 100644 index 43b3a6e6b9..0000000000 --- a/examples/storage/minio/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/storage/minio/README.md](https://github.com/kubernetes/examples/blob/master/staging/storage/minio/README.md) diff --git a/examples/storage/minio/minio-distributed-headless-service.yaml b/examples/storage/minio/minio-distributed-headless-service.yaml deleted file mode 100644 index a822d76eba..0000000000 --- a/examples/storage/minio/minio-distributed-headless-service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: minio - labels: - app: minio -spec: - clusterIP: None - ports: - - port: 9000 - name: minio - selector: - app: minio diff --git a/examples/storage/minio/minio-distributed-service.yaml b/examples/storage/minio/minio-distributed-service.yaml deleted file mode 100644 index 60514a8636..0000000000 --- a/examples/storage/minio/minio-distributed-service.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: minio-service -spec: - type: LoadBalancer - ports: - - port: 9000 - targetPort: 9000 - protocol: TCP - selector: - app: minio diff --git a/examples/storage/minio/minio-distributed-statefulset.yaml b/examples/storage/minio/minio-distributed-statefulset.yaml deleted file mode 100644 index de6eef0a9f..0000000000 --- a/examples/storage/minio/minio-distributed-statefulset.yaml +++ /dev/null @@ -1,50 +0,0 @@ -apiVersion: apps/v1beta2 -kind: StatefulSet -metadata: - name: minio -spec: - selector: - matchLabels: - app: minio - serviceName: minio - replicas: 4 - template: - metadata: - annotations: - pod.alpha.kubernetes.io/initialized: "true" - labels: - app: minio - spec: - containers: - - name: minio - env: - - name: MINIO_ACCESS_KEY - value: "minio" - - name: MINIO_SECRET_KEY - value: "minio123" - image: minio/minio:latest - args: - - server - - http://minio-0.minio.default.svc.cluster.local/data - - http://minio-1.minio.default.svc.cluster.local/data - - http://minio-2.minio.default.svc.cluster.local/data - - http://minio-3.minio.default.svc.cluster.local/data - ports: - - containerPort: 9000 - hostPort: 9000 - # These volume mounts are persistent. Each pod in the StatefulSet - # gets a volume mounted based on this field. - volumeMounts: - - name: data - mountPath: /data - # These are converted to volume claims by the controller - # and mounted at the paths mentioned above. - volumeClaimTemplates: - - metadata: - name: data - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/examples/storage/minio/minio-standalone-deployment.yaml b/examples/storage/minio/minio-standalone-deployment.yaml deleted file mode 100644 index a6dee7d03c..0000000000 --- a/examples/storage/minio/minio-standalone-deployment.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: apps/v1beta2 -kind: Deployment -metadata: - # This name uniquely identifies the Deployment - name: minio-deployment -spec: - selector: - matchLabels: - app: minio - strategy: - type: Recreate - template: - metadata: - labels: - # Label is used as selector in the service. - app: minio - spec: - # Refer to the PVC created earlier - volumes: - - name: storage - persistentVolumeClaim: - # Name of the PVC created earlier - claimName: minio-pv-claim - containers: - - name: minio - # Pulls the default Minio image from Docker Hub - image: minio/minio:latest - args: - - server - - /storage - env: - # Minio access key and secret key - - name: MINIO_ACCESS_KEY - value: "minio" - - name: MINIO_SECRET_KEY - value: "minio123" - ports: - - containerPort: 9000 - hostPort: 9000 - # Mount the volume into the pod - volumeMounts: - - name: storage # must match the volume name, above - mountPath: "/storage" diff --git a/examples/storage/minio/minio-standalone-pvc.yaml b/examples/storage/minio/minio-standalone-pvc.yaml deleted file mode 100644 index 66b1c9800f..0000000000 --- a/examples/storage/minio/minio-standalone-pvc.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - # This name uniquely identifies the PVC. Will be used in deployment below. - name: minio-pv-claim - labels: - app: minio-storage-claim -spec: - # Read more about access modes here: http://kubernetes.io/docs/user-guide/persistent-volumes/#access-modes - accessModes: - - ReadWriteOnce - resources: - # This is the request for storage. Should be available in the cluster. - requests: - storage: 10Gi diff --git a/examples/storage/minio/minio-standalone-service.yaml b/examples/storage/minio/minio-standalone-service.yaml deleted file mode 100644 index 60514a8636..0000000000 --- a/examples/storage/minio/minio-standalone-service.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: minio-service -spec: - type: LoadBalancer - ports: - - port: 9000 - targetPort: 9000 - protocol: TCP - selector: - app: minio diff --git a/examples/storage/mysql-galera/README.md b/examples/storage/mysql-galera/README.md deleted file mode 100644 index 1930bad244..0000000000 --- a/examples/storage/mysql-galera/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/storage/mysql-galera/README.md](https://github.com/kubernetes/examples/blob/master/staging/storage/mysql-galera/README.md) diff --git a/examples/storage/mysql-galera/image/Dockerfile b/examples/storage/mysql-galera/image/Dockerfile deleted file mode 100644 index 53a068c8c9..0000000000 --- a/examples/storage/mysql-galera/image/Dockerfile +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM ubuntu:trusty - -# add our user and group first to make sure their IDs get assigned -# consistently, regardless of whatever dependencies get added -RUN groupadd -r mysql && useradd -r -g mysql mysql - -ENV PERCONA_XTRADB_VERSION 5.6 -ENV MYSQL_VERSION 5.6 -ENV TERM linux - -RUN apt-get update -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y perl --no-install-recommends && rm -rf /var/lib/apt/lists/* - -RUN apt-key adv --keyserver keys.gnupg.net --recv-keys 8507EFA5 - -RUN echo "deb http://repo.percona.com/apt trusty main" > /etc/apt/sources.list.d/percona.list -RUN echo "deb-src http://repo.percona.com/apt trusty main" >> /etc/apt/sources.list.d/percona.list - -# the "/var/lib/mysql" stuff here is because the mysql-server -# postinst doesn't have an explicit way to disable the -# mysql_install_db codepath besides having a database already -# "configured" (ie, stuff in /var/lib/mysql/mysql) -# also, we set debconf keys to make APT a little quieter -RUN { \ - echo percona-server-server-5.6 percona-server-server/data-dir select ''; \ - echo percona-server-server-5.6 percona-server-server/root_password password ''; \ - } | debconf-set-selections \ - && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y percona-xtradb-cluster-client-"${MYSQL_VERSION}" \ - percona-xtradb-cluster-common-"${MYSQL_VERSION}" percona-xtradb-cluster-server-"${MYSQL_VERSION}" \ - && rm -rf /var/lib/apt/lists/* \ - && rm -rf /var/lib/mysql && mkdir -p /var/lib/mysql && chown -R mysql:mysql /var/lib/mysql - -VOLUME /var/lib/mysql - -COPY my.cnf /etc/mysql/my.cnf -COPY cluster.cnf /etc/mysql/conf.d/cluster.cnf - -COPY docker-entrypoint.sh /entrypoint.sh -ENTRYPOINT ["/entrypoint.sh"] - -EXPOSE 3306 4444 4567 4568 -CMD ["mysqld"] diff --git a/examples/storage/mysql-galera/image/cluster.cnf b/examples/storage/mysql-galera/image/cluster.cnf deleted file mode 100644 index 87d70442a5..0000000000 --- a/examples/storage/mysql-galera/image/cluster.cnf +++ /dev/null @@ -1,12 +0,0 @@ -[mysqld] - -wsrep_provider=/usr/lib/libgalera_smm.so -wsrep_cluster_address=gcomm:// -binlog_format=ROW -default_storage_engine=InnoDB -innodb_autoinc_lock_mode=2 - -wsrep_sst_method=xtrabackup-v2 -wsrep_node_address=127.0.0.1 -wsrep_cluster_name=galera_kubernetes -wsrep_sst_auth=sstuser:changethis diff --git a/examples/storage/mysql-galera/image/docker-entrypoint.sh b/examples/storage/mysql-galera/image/docker-entrypoint.sh deleted file mode 100755 index 50185562f7..0000000000 --- a/examples/storage/mysql-galera/image/docker-entrypoint.sh +++ /dev/null @@ -1,164 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# -# This script does the following: -# -# 1. Sets up database privileges by building an SQL script -# 2. MySQL is initially started with this script a first time -# 3. Modify my.cnf and cluster.cnf to reflect available nodes to join -# - -# if NUM_NODES not passed, default to 3 -if [ -z "$NUM_NODES" ]; then - NUM_NODES=3 -fi - -if [ "${1:0:1}" = '-' ]; then - set -- mysqld "$@" -fi - -# if the command passed is 'mysqld' via CMD, then begin processing. -if [ "$1" = 'mysqld' ]; then - # read DATADIR from the MySQL config - DATADIR="$("$@" --verbose --help 2>/dev/null | awk '$1 == "datadir" { print $2; exit }')" - - # only check if system tables not created from mysql_install_db and permissions - # set with initial SQL script before proceeding to build SQL script - if [ ! -d "$DATADIR/mysql" ]; then - # fail if user didn't supply a root password - if [ -z "$MYSQL_ROOT_PASSWORD" -a -z "$MYSQL_ALLOW_EMPTY_PASSWORD" ]; then - echo >&2 'error: database is uninitialized and MYSQL_ROOT_PASSWORD not set' - echo >&2 ' Did you forget to add -e MYSQL_ROOT_PASSWORD=... ?' - exit 1 - fi - - # mysql_install_db installs system tables - echo 'Running mysql_install_db ...' - mysql_install_db --datadir="$DATADIR" - echo 'Finished mysql_install_db' - - # this script will be run once when MySQL first starts to set up - # prior to creating system tables and will ensure proper user permissions - tempSqlFile='/tmp/mysql-first-time.sql' - cat > "$tempSqlFile" <<-EOSQL -DELETE FROM mysql.user ; -CREATE USER 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}' ; -GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION ; -EOSQL - - if [ "$MYSQL_DATABASE" ]; then - echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` ;" >> "$tempSqlFile" - fi - - if [ "$MYSQL_USER" -a "$MYSQL_PASSWORD" ]; then - echo "CREATE USER '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD' ;" >> "$tempSqlFile" - - if [ "$MYSQL_DATABASE" ]; then - echo "GRANT ALL ON \`$MYSQL_DATABASE\`.* TO '$MYSQL_USER'@'%' ;" >> "$tempSqlFile" - fi - fi - - # Add SST (Single State Transfer) user if Clustering is turned on - if [ -n "$GALERA_CLUSTER" ]; then - # this is the Single State Transfer user (SST, initial dump or xtrabackup user) - WSREP_SST_USER=${WSREP_SST_USER:-"sst"} - if [ -z "$WSREP_SST_PASSWORD" ]; then - echo >&2 'error: Galera cluster is enabled and WSREP_SST_PASSWORD is not set' - echo >&2 ' Did you forget to add -e WSREP_SST__PASSWORD=... ?' - exit 1 - fi - # add single state transfer (SST) user privileges - echo "CREATE USER '${WSREP_SST_USER}'@'localhost' IDENTIFIED BY '${WSREP_SST_PASSWORD}';" >> "$tempSqlFile" - echo "GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO '${WSREP_SST_USER}'@'localhost';" >> "$tempSqlFile" - fi - - echo 'FLUSH PRIVILEGES ;' >> "$tempSqlFile" - - # Add the SQL file to mysqld's command line args - set -- "$@" --init-file="$tempSqlFile" - fi - - chown -R mysql:mysql "$DATADIR" -fi - -# if cluster is turned on, then proceed to build cluster setting strings -# that will be interpolated into the config files -if [ -n "$GALERA_CLUSTER" ]; then - # this is the Single State Transfer user (SST, initial dump or xtrabackup user) - WSREP_SST_USER=${WSREP_SST_USER:-"sst"} - if [ -z "$WSREP_SST_PASSWORD" ]; then - echo >&2 'error: database is uninitialized and WSREP_SST_PASSWORD not set' - echo >&2 ' Did you forget to add -e WSREP_SST_PASSWORD=xxx ?' - exit 1 - fi - - # user/password for SST user - sed -i -e "s|^wsrep_sst_auth=sstuser:changethis|wsrep_sst_auth=${WSREP_SST_USER}:${WSREP_SST_PASSWORD}|" /etc/mysql/conf.d/cluster.cnf - - # set nodes own address - WSREP_NODE_ADDRESS=`ip addr show | grep -E '^[ ]*inet' | grep -m1 global | awk '{ print $2 }' | sed -e 's/\/.*//'` - if [ -n "$WSREP_NODE_ADDRESS" ]; then - sed -i -e "s|^wsrep_node_address=.*$|wsrep_node_address=${WSREP_NODE_ADDRESS}|" /etc/mysql/conf.d/cluster.cnf - fi - - # if the string is not defined or it only is 'gcomm://', this means bootstrap - if [ -z "$WSREP_CLUSTER_ADDRESS" -o "$WSREP_CLUSTER_ADDRESS" == "gcomm://" ]; then - # if empty, set to 'gcomm://' - # NOTE: this list does not imply membership. - # It only means "obtain SST and join from one of these..." - if [ -z "$WSREP_CLUSTER_ADDRESS" ]; then - WSREP_CLUSTER_ADDRESS="gcomm://" - fi - - # loop through number of nodes - for NUM in `seq 1 $NUM_NODES`; do - NODE_SERVICE_HOST="PXC_NODE${NUM}_SERVICE_HOST" - - # if set - if [ -n "${!NODE_SERVICE_HOST}" ]; then - # if not its own IP, then add it - if [ $(expr "$HOSTNAME" : "pxc-node${NUM}") -eq 0 ]; then - # if not the first bootstrap node add comma - if [ $WSREP_CLUSTER_ADDRESS != "gcomm://" ]; then - WSREP_CLUSTER_ADDRESS="${WSREP_CLUSTER_ADDRESS}," - fi - # append - # if user specifies USE_IP, use that - if [ -n "${USE_IP}" ]; then - WSREP_CLUSTER_ADDRESS="${WSREP_CLUSTER_ADDRESS}"${!NODE_SERVICE_HOST} - # otherwise use DNS - else - WSREP_CLUSTER_ADDRESS="${WSREP_CLUSTER_ADDRESS}pxc-node${NUM}" - fi - fi - fi - done - fi - - # WSREP_CLUSTER_ADDRESS is now complete and will be interpolated into the - # cluster address string (wsrep_cluster_address) in the cluster - # configuration file, cluster.cnf - if [ -n "$WSREP_CLUSTER_ADDRESS" -a "$WSREP_CLUSTER_ADDRESS" != "gcomm://" ]; then - sed -i -e "s|^wsrep_cluster_address=gcomm://|wsrep_cluster_address=${WSREP_CLUSTER_ADDRESS}|" /etc/mysql/conf.d/cluster.cnf - fi -fi - -# random server ID needed -sed -i -e "s/^server\-id=.*$/server-id=${RANDOM}/" /etc/mysql/my.cnf - -# finally, start mysql -exec "$@" diff --git a/examples/storage/mysql-galera/image/my.cnf b/examples/storage/mysql-galera/image/my.cnf deleted file mode 100644 index 078bd6fe63..0000000000 --- a/examples/storage/mysql-galera/image/my.cnf +++ /dev/null @@ -1,55 +0,0 @@ -[client] -port=3306 -socket=/var/run/mysqld/mysqld.sock - -[mysqld_safe] -socket=/var/run/mysqld/mysqld.sock -nice=0 - -[mysqld] -user=mysql -pid-file=/var/run/mysqld/mysqld.pid -socket=/var/run/mysqld/mysqld.sock -port=3306 -basedir=/usr -datadir=/var/lib/mysql -tmpdir=/tmp -lc-messages-dir=/usr/share/mysql -skip-external-locking - -key_buffer=16M -max_allowed_packet=16M -thread_stack=192K -thread_cache_size=8 - -myisam-recover=BACKUP -#max_connections=100 -query_cache_limit=1M -query_cache_size=16M -slow_query_log=1 -slow_query_log_file=/var/log/mysql/mysql-slow.log -long_query_time=2 -log-queries-not-using-indexes - -server-id=12345 -log_bin=/var/log/mysql/mysql-bin.log -expire_logs_days=4 -max_binlog_size=100M - -default_storage_engine=InnoDB -innodb_file_per_table -innodb_log_file_size=100M -innodb_log_buffer_size=10M -innodb_log_files_in_group=2 -innodb_buffer_pool_instances=4 -innodb_buffer_pool_size=100M - -[mysqldump] -quick -quote-names -max_allowed_packet=16M - -[isamchk] -key_buffer=16M - -!includedir /etc/mysql/conf.d/ diff --git a/examples/storage/mysql-galera/pxc-cluster-service.yaml b/examples/storage/mysql-galera/pxc-cluster-service.yaml deleted file mode 100644 index f0bfd5e9a8..0000000000 --- a/examples/storage/mysql-galera/pxc-cluster-service.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: pxc-cluster - labels: - unit: pxc-cluster -spec: - ports: - - port: 3306 - name: mysql - selector: - unit: pxc-cluster \ No newline at end of file diff --git a/examples/storage/mysql-galera/pxc-node1.yaml b/examples/storage/mysql-galera/pxc-node1.yaml deleted file mode 100644 index fa1163bdcb..0000000000 --- a/examples/storage/mysql-galera/pxc-node1.yaml +++ /dev/null @@ -1,57 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: pxc-node1 - labels: - node: pxc-node1 -spec: - ports: - - port: 3306 - name: mysql - - port: 4444 - name: state-snapshot-transfer - - port: 4567 - name: replication-traffic - - port: 4568 - name: incremental-state-transfer - selector: - node: pxc-node1 ---- -apiVersion: v1 -kind: ReplicationController -metadata: - name: pxc-node1 -spec: - replicas: 1 - template: - metadata: - labels: - node: pxc-node1 - unit: pxc-cluster - spec: - containers: - - resources: - limits: - cpu: 0.3 - image: capttofu/percona_xtradb_cluster_5_6:beta - name: pxc-node1 - ports: - - containerPort: 3306 - - containerPort: 4444 - - containerPort: 4567 - - containerPort: 4568 - env: - - name: GALERA_CLUSTER - value: "true" - - name: WSREP_CLUSTER_ADDRESS - value: gcomm:// - - name: WSREP_SST_USER - value: sst - - name: WSREP_SST_PASSWORD - value: sst - - name: MYSQL_USER - value: mysql - - name: MYSQL_PASSWORD - value: mysql - - name: MYSQL_ROOT_PASSWORD - value: c-krit diff --git a/examples/storage/mysql-galera/pxc-node2.yaml b/examples/storage/mysql-galera/pxc-node2.yaml deleted file mode 100644 index ead3675d74..0000000000 --- a/examples/storage/mysql-galera/pxc-node2.yaml +++ /dev/null @@ -1,58 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: pxc-node2 - labels: - node: pxc-node2 -spec: - ports: - - port: 3306 - name: mysql - - port: 4444 - name: state-snapshot-transfer - - port: 4567 - name: replication-traffic - - port: 4568 - name: incremental-state-transfer - selector: - node: pxc-node2 - ---- -apiVersion: v1 -kind: ReplicationController -metadata: - name: pxc-node2 -spec: - replicas: 1 - template: - metadata: - labels: - node: pxc-node2 - unit: pxc-cluster - spec: - containers: - - resources: - limits: - cpu: 0.3 - image: capttofu/percona_xtradb_cluster_5_6:beta - name: pxc-node2 - ports: - - containerPort: 3306 - - containerPort: 4444 - - containerPort: 4567 - - containerPort: 4568 - env: - - name: GALERA_CLUSTER - value: "true" - - name: WSREP_CLUSTER_ADDRESS - value: gcomm:// - - name: WSREP_SST_USER - value: sst - - name: WSREP_SST_PASSWORD - value: sst - - name: MYSQL_USER - value: mysql - - name: MYSQL_PASSWORD - value: mysql - - name: MYSQL_ROOT_PASSWORD - value: c-krit diff --git a/examples/storage/mysql-galera/pxc-node3.yaml b/examples/storage/mysql-galera/pxc-node3.yaml deleted file mode 100644 index fbb368b27d..0000000000 --- a/examples/storage/mysql-galera/pxc-node3.yaml +++ /dev/null @@ -1,58 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: pxc-node3 - labels: - node: pxc-node3 -spec: - ports: - - port: 3306 - name: mysql - - port: 4444 - name: state-snapshot-transfer - - port: 4567 - name: replication-traffic - - port: 4568 - name: incremental-state-transfer - selector: - node: pxc-node3 - ---- -apiVersion: v1 -kind: ReplicationController -metadata: - name: pxc-node3 -spec: - replicas: 1 - template: - metadata: - labels: - node: pxc-node3 - unit: pxc-cluster - spec: - containers: - - resources: - limits: - cpu: 0.3 - image: capttofu/percona_xtradb_cluster_5_6:beta - name: pxc-node3 - ports: - - containerPort: 3306 - - containerPort: 4444 - - containerPort: 4567 - - containerPort: 4568 - env: - - name: GALERA_CLUSTER - value: "true" - - name: WSREP_CLUSTER_ADDRESS - value: gcomm:// - - name: WSREP_SST_USER - value: sst - - name: WSREP_SST_PASSWORD - value: sst - - name: MYSQL_USER - value: mysql - - name: MYSQL_PASSWORD - value: mysql - - name: MYSQL_ROOT_PASSWORD - value: c-krit diff --git a/examples/storage/redis/README.md b/examples/storage/redis/README.md deleted file mode 100644 index c24b9702f5..0000000000 --- a/examples/storage/redis/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/storage/redis/README.md](https://github.com/kubernetes/examples/blob/master/staging/storage/redis/README.md) diff --git a/examples/storage/redis/image/Dockerfile b/examples/storage/redis/image/Dockerfile deleted file mode 100644 index 9f619a5ade..0000000000 --- a/examples/storage/redis/image/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM alpine:3.4 - -RUN apk add --no-cache redis sed bash - -COPY redis-master.conf /redis-master/redis.conf -COPY redis-slave.conf /redis-slave/redis.conf -COPY run.sh /run.sh - -CMD [ "/run.sh" ] - -ENTRYPOINT [ "bash", "-c" ] diff --git a/examples/storage/redis/image/redis-master.conf b/examples/storage/redis/image/redis-master.conf deleted file mode 100644 index 29ae1bb412..0000000000 --- a/examples/storage/redis/image/redis-master.conf +++ /dev/null @@ -1,828 +0,0 @@ -# Redis configuration file example - -# Note on units: when memory size is needed, it is possible to specify -# it in the usual form of 1k 5GB 4M and so forth: -# -# 1k => 1000 bytes -# 1kb => 1024 bytes -# 1m => 1000000 bytes -# 1mb => 1024*1024 bytes -# 1g => 1000000000 bytes -# 1gb => 1024*1024*1024 bytes -# -# units are case insensitive so 1GB 1Gb 1gB are all the same. - -################################## INCLUDES ################################### - -# Include one or more other config files here. This is useful if you -# have a standard template that goes to all Redis servers but also need -# to customize a few per-server settings. Include files can include -# other files, so use this wisely. -# -# Notice option "include" won't be rewritten by command "CONFIG REWRITE" -# from admin or Redis Sentinel. Since Redis always uses the last processed -# line as value of a configuration directive, you'd better put includes -# at the beginning of this file to avoid overwriting config change at runtime. -# -# If instead you are interested in using includes to override configuration -# options, it is better to use include as the last line. -# -# include /path/to/local.conf -# include /path/to/other.conf - -################################ GENERAL ##################################### - -# By default Redis does not run as a daemon. Use 'yes' if you need it. -# Note that Redis will write a pid file in /var/run/redis.pid when daemonized. -daemonize no - -# When running daemonized, Redis writes a pid file in /var/run/redis.pid by -# default. You can specify a custom pid file location here. -pidfile /var/run/redis.pid - -# Accept connections on the specified port, default is 6379. -# If port 0 is specified Redis will not listen on a TCP socket. -port 6379 - -# TCP listen() backlog. -# -# In high requests-per-second environments you need an high backlog in order -# to avoid slow clients connections issues. Note that the Linux kernel -# will silently truncate it to the value of /proc/sys/net/core/somaxconn so -# make sure to raise both the value of somaxconn and tcp_max_syn_backlog -# in order to get the desired effect. -tcp-backlog 511 - -# By default Redis listens for connections from all the network interfaces -# available on the server. It is possible to listen to just one or multiple -# interfaces using the "bind" configuration directive, followed by one or -# more IP addresses. -# -# Examples: -# -# bind 192.168.1.100 10.0.0.1 - -bind 0.0.0.0 - -# Specify the path for the Unix socket that will be used to listen for -# incoming connections. There is no default, so Redis will not listen -# on a unix socket when not specified. -# -# unixsocket /tmp/redis.sock -# unixsocketperm 700 - -# Close the connection after a client is idle for N seconds (0 to disable) -timeout 0 - -# TCP keepalive. -# -# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence -# of communication. This is useful for two reasons: -# -# 1) Detect dead peers. -# 2) Take the connection alive from the point of view of network -# equipment in the middle. -# -# On Linux, the specified value (in seconds) is the period used to send ACKs. -# Note that to close the connection the double of the time is needed. -# On other kernels the period depends on the kernel configuration. -# -# A reasonable value for this option is 60 seconds. -tcp-keepalive 60 - -# Specify the server verbosity level. -# This can be one of: -# debug (a lot of information, useful for development/testing) -# verbose (many rarely useful info, but not a mess like the debug level) -# notice (moderately verbose, what you want in production probably) -# warning (only very important / critical messages are logged) -loglevel notice - -# Specify the log file name. Also the empty string can be used to force -# Redis to log on the standard output. Note that if you use standard -# output for logging but daemonize, logs will be sent to /dev/null -logfile "" - -# To enable logging to the system logger, just set 'syslog-enabled' to yes, -# and optionally update the other syslog parameters to suit your needs. -# syslog-enabled no - -# Specify the syslog identity. -# syslog-ident redis - -# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. -# syslog-facility local0 - -# Set the number of databases. The default database is DB 0, you can select -# a different one on a per-connection basis using SELECT where -# dbid is a number between 0 and 'databases'-1 -databases 16 - -################################ SNAPSHOTTING ################################ -# -# Save the DB on disk: -# -# save -# -# Will save the DB if both the given number of seconds and the given -# number of write operations against the DB occurred. -# -# In the example below the behaviour will be to save: -# after 900 sec (15 min) if at least 1 key changed -# after 300 sec (5 min) if at least 10 keys changed -# after 60 sec if at least 10000 keys changed -# -# Note: you can disable saving completely by commenting out all "save" lines. -# -# It is also possible to remove all the previously configured save -# points by adding a save directive with a single empty string argument -# like in the following example: -# -# save "" - -save 900 1 -save 300 10 -save 60 10000 - -# By default Redis will stop accepting writes if RDB snapshots are enabled -# (at least one save point) and the latest background save failed. -# This will make the user aware (in a hard way) that data is not persisting -# on disk properly, otherwise chances are that no one will notice and some -# disaster will happen. -# -# If the background saving process will start working again Redis will -# automatically allow writes again. -# -# However if you have setup your proper monitoring of the Redis server -# and persistence, you may want to disable this feature so that Redis will -# continue to work as usual even if there are problems with disk, -# permissions, and so forth. -stop-writes-on-bgsave-error yes - -# Compress string objects using LZF when dump .rdb databases? -# For default that's set to 'yes' as it's almost always a win. -# If you want to save some CPU in the saving child set it to 'no' but -# the dataset will likely be bigger if you have compressible values or keys. -rdbcompression yes - -# Since version 5 of RDB a CRC64 checksum is placed at the end of the file. -# This makes the format more resistant to corruption but there is a performance -# hit to pay (around 10%) when saving and loading RDB files, so you can disable it -# for maximum performances. -# -# RDB files created with checksum disabled have a checksum of zero that will -# tell the loading code to skip the check. -rdbchecksum yes - -# The filename where to dump the DB -dbfilename dump.rdb - -# The working directory. -# -# The DB will be written inside this directory, with the filename specified -# above using the 'dbfilename' configuration directive. -# -# The Append Only File will also be created inside this directory. -# -# Note that you must specify a directory here, not a file name. -dir /redis-master-data - -################################# REPLICATION ################################# - -# Master-Slave replication. Use slaveof to make a Redis instance a copy of -# another Redis server. A few things to understand ASAP about Redis replication. -# -# 1) Redis replication is asynchronous, but you can configure a master to -# stop accepting writes if it appears to be not connected with at least -# a given number of slaves. -# 2) Redis slaves are able to perform a partial resynchronization with the -# master if the replication link is lost for a relatively small amount of -# time. You may want to configure the replication backlog size (see the next -# sections of this file) with a sensible value depending on your needs. -# 3) Replication is automatic and does not need user intervention. After a -# network partition slaves automatically try to reconnect to masters -# and resynchronize with them. -# -# slaveof - -# If the master is password protected (using the "requirepass" configuration -# directive below) it is possible to tell the slave to authenticate before -# starting the replication synchronization process, otherwise the master will -# refuse the slave request. -# -# masterauth - -# When a slave loses its connection with the master, or when the replication -# is still in progress, the slave can act in two different ways: -# -# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will -# still reply to client requests, possibly with out of date data, or the -# data set may just be empty if this is the first synchronization. -# -# 2) if slave-serve-stale-data is set to 'no' the slave will reply with -# an error "SYNC with master in progress" to all the kind of commands -# but to INFO and SLAVEOF. -# -slave-serve-stale-data yes - -# You can configure a slave instance to accept writes or not. Writing against -# a slave instance may be useful to store some ephemeral data (because data -# written on a slave will be easily deleted after resync with the master) but -# may also cause problems if clients are writing to it because of a -# misconfiguration. -# -# Since Redis 2.6 by default slaves are read-only. -# -# Note: read only slaves are not designed to be exposed to untrusted clients -# on the internet. It's just a protection layer against misuse of the instance. -# Still a read only slave exports by default all the administrative commands -# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve -# security of read only slaves using 'rename-command' to shadow all the -# administrative / dangerous commands. -slave-read-only yes - -# Replication SYNC strategy: disk or socket. -# -# ------------------------------------------------------- -# WARNING: DISKLESS REPLICATION IS EXPERIMENTAL CURRENTLY -# ------------------------------------------------------- -# -# New slaves and reconnecting slaves that are not able to continue the replication -# process just receiving differences, need to do what is called a "full -# synchronization". An RDB file is transmitted from the master to the slaves. -# The transmission can happen in two different ways: -# -# 1) Disk-backed: The Redis master creates a new process that writes the RDB -# file on disk. Later the file is transferred by the parent -# process to the slaves incrementally. -# 2) Diskless: The Redis master creates a new process that directly writes the -# RDB file to slave sockets, without touching the disk at all. -# -# With disk-backed replication, while the RDB file is generated, more slaves -# can be queued and served with the RDB file as soon as the current child producing -# the RDB file finishes its work. With diskless replication instead once -# the transfer starts, new slaves arriving will be queued and a new transfer -# will start when the current one terminates. -# -# When diskless replication is used, the master waits a configurable amount of -# time (in seconds) before starting the transfer in the hope that multiple slaves -# will arrive and the transfer can be parallelized. -# -# With slow disks and fast (large bandwidth) networks, diskless replication -# works better. -repl-diskless-sync no - -# When diskless replication is enabled, it is possible to configure the delay -# the server waits in order to spawn the child that trnasfers the RDB via socket -# to the slaves. -# -# This is important since once the transfer starts, it is not possible to serve -# new slaves arriving, that will be queued for the next RDB transfer, so the server -# waits a delay in order to let more slaves arrive. -# -# The delay is specified in seconds, and by default is 5 seconds. To disable -# it entirely just set it to 0 seconds and the transfer will start ASAP. -repl-diskless-sync-delay 5 - -# Slaves send PINGs to server in a predefined interval. It's possible to change -# this interval with the repl_ping_slave_period option. The default value is 10 -# seconds. -# -# repl-ping-slave-period 10 - -# The following option sets the replication timeout for: -# -# 1) Bulk transfer I/O during SYNC, from the point of view of slave. -# 2) Master timeout from the point of view of slaves (data, pings). -# 3) Slave timeout from the point of view of masters (REPLCONF ACK pings). -# -# It is important to make sure that this value is greater than the value -# specified for repl-ping-slave-period otherwise a timeout will be detected -# every time there is low traffic between the master and the slave. -# -# repl-timeout 60 - -# Disable TCP_NODELAY on the slave socket after SYNC? -# -# If you select "yes" Redis will use a smaller number of TCP packets and -# less bandwidth to send data to slaves. But this can add a delay for -# the data to appear on the slave side, up to 40 milliseconds with -# Linux kernels using a default configuration. -# -# If you select "no" the delay for data to appear on the slave side will -# be reduced but more bandwidth will be used for replication. -# -# By default we optimize for low latency, but in very high traffic conditions -# or when the master and slaves are many hops away, turning this to "yes" may -# be a good idea. -repl-disable-tcp-nodelay no - -# Set the replication backlog size. The backlog is a buffer that accumulates -# slave data when slaves are disconnected for some time, so that when a slave -# wants to reconnect again, often a full resync is not needed, but a partial -# resync is enough, just passing the portion of data the slave missed while -# disconnected. -# -# The bigger the replication backlog, the longer the time the slave can be -# disconnected and later be able to perform a partial resynchronization. -# -# The backlog is only allocated once there is at least a slave connected. -# -# repl-backlog-size 1mb - -# After a master has no longer connected slaves for some time, the backlog -# will be freed. The following option configures the amount of seconds that -# need to elapse, starting from the time the last slave disconnected, for -# the backlog buffer to be freed. -# -# A value of 0 means to never release the backlog. -# -# repl-backlog-ttl 3600 - -# The slave priority is an integer number published by Redis in the INFO output. -# It is used by Redis Sentinel in order to select a slave to promote into a -# master if the master is no longer working correctly. -# -# A slave with a low priority number is considered better for promotion, so -# for instance if there are three slaves with priority 10, 100, 25 Sentinel will -# pick the one with priority 10, that is the lowest. -# -# However a special priority of 0 marks the slave as not able to perform the -# role of master, so a slave with priority of 0 will never be selected by -# Redis Sentinel for promotion. -# -# By default the priority is 100. -slave-priority 100 - -# It is possible for a master to stop accepting writes if there are less than -# N slaves connected, having a lag less or equal than M seconds. -# -# The N slaves need to be in "online" state. -# -# The lag in seconds, that must be <= the specified value, is calculated from -# the last ping received from the slave, that is usually sent every second. -# -# This option does not GUARANTEE that N replicas will accept the write, but -# will limit the window of exposure for lost writes in case not enough slaves -# are available, to the specified number of seconds. -# -# For example to require at least 3 slaves with a lag <= 10 seconds use: -# -# min-slaves-to-write 3 -# min-slaves-max-lag 10 -# -# Setting one or the other to 0 disables the feature. -# -# By default min-slaves-to-write is set to 0 (feature disabled) and -# min-slaves-max-lag is set to 10. - -################################## SECURITY ################################### - -# Require clients to issue AUTH before processing any other -# commands. This might be useful in environments in which you do not trust -# others with access to the host running redis-server. -# -# This should stay commented out for backward compatibility and because most -# people do not need auth (e.g. they run their own servers). -# -# Warning: since Redis is pretty fast an outside user can try up to -# 150k passwords per second against a good box. This means that you should -# use a very strong password otherwise it will be very easy to break. -# -# requirepass foobared - -# Command renaming. -# -# It is possible to change the name of dangerous commands in a shared -# environment. For instance the CONFIG command may be renamed into something -# hard to guess so that it will still be available for internal-use tools -# but not available for general clients. -# -# Example: -# -# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 -# -# It is also possible to completely kill a command by renaming it into -# an empty string: -# -# rename-command CONFIG "" -# -# Please note that changing the name of commands that are logged into the -# AOF file or transmitted to slaves may cause problems. - -################################### LIMITS #################################### - -# Set the max number of connected clients at the same time. By default -# this limit is set to 10000 clients, however if the Redis server is not -# able to configure the process file limit to allow for the specified limit -# the max number of allowed clients is set to the current file limit -# minus 32 (as Redis reserves a few file descriptors for internal uses). -# -# Once the limit is reached Redis will close all the new connections sending -# an error 'max number of clients reached'. -# -# maxclients 10000 - -# Don't use more memory than the specified amount of bytes. -# When the memory limit is reached Redis will try to remove keys -# according to the eviction policy selected (see maxmemory-policy). -# -# If Redis can't remove keys according to the policy, or if the policy is -# set to 'noeviction', Redis will start to reply with errors to commands -# that would use more memory, like SET, LPUSH, and so on, and will continue -# to reply to read-only commands like GET. -# -# This option is usually useful when using Redis as an LRU cache, or to set -# a hard memory limit for an instance (using the 'noeviction' policy). -# -# WARNING: If you have slaves attached to an instance with maxmemory on, -# the size of the output buffers needed to feed the slaves are subtracted -# from the used memory count, so that network problems / resyncs will -# not trigger a loop where keys are evicted, and in turn the output -# buffer of slaves is full with DELs of keys evicted triggering the deletion -# of more keys, and so forth until the database is completely emptied. -# -# In short... if you have slaves attached it is suggested that you set a lower -# limit for maxmemory so that there is some free RAM on the system for slave -# output buffers (but this is not needed if the policy is 'noeviction'). -# -# maxmemory - -# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory -# is reached. You can select among five behaviors: -# -# volatile-lru -> remove the key with an expire set using an LRU algorithm -# allkeys-lru -> remove any key according to the LRU algorithm -# volatile-random -> remove a random key with an expire set -# allkeys-random -> remove a random key, any key -# volatile-ttl -> remove the key with the nearest expire time (minor TTL) -# noeviction -> don't expire at all, just return an error on write operations -# -# Note: with any of the above policies, Redis will return an error on write -# operations, when there are no suitable keys for eviction. -# -# At the date of writing these commands are: set setnx setex append -# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd -# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby -# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby -# getset mset msetnx exec sort -# -# The default is: -# -# maxmemory-policy volatile-lru - -# LRU and minimal TTL algorithms are not precise algorithms but approximated -# algorithms (in order to save memory), so you can select as well the sample -# size to check. For instance for default Redis will check three keys and -# pick the one that was used less recently, you can change the sample size -# using the following configuration directive. -# -# maxmemory-samples 3 - -############################## APPEND ONLY MODE ############################### - -# By default Redis asynchronously dumps the dataset on disk. This mode is -# good enough in many applications, but an issue with the Redis process or -# a power outage may result into a few minutes of writes lost (depending on -# the configured save points). -# -# The Append Only File is an alternative persistence mode that provides -# much better durability. For instance using the default data fsync policy -# (see later in the config file) Redis can lose just one second of writes in a -# dramatic event like a server power outage, or a single write if something -# wrong with the Redis process itself happens, but the operating system is -# still running correctly. -# -# AOF and RDB persistence can be enabled at the same time without problems. -# If the AOF is enabled on startup Redis will load the AOF, that is the file -# with the better durability guarantees. -# -# Please check http://redis.io/topics/persistence for more information. - -appendonly yes - -# The name of the append only file (default: "appendonly.aof") - -appendfilename "appendonly.aof" - -# The fsync() call tells the Operating System to actually write data on disk -# instead of waiting for more data in the output buffer. Some OS will really flush -# data on disk, some other OS will just try to do it ASAP. -# -# Redis supports three different modes: -# -# no: don't fsync, just let the OS flush the data when it wants. Faster. -# always: fsync after every write to the append only log. Slow, Safest. -# everysec: fsync only one time every second. Compromise. -# -# The default is "everysec", as that's usually the right compromise between -# speed and data safety. It's up to you to understand if you can relax this to -# "no" that will let the operating system flush the output buffer when -# it wants, for better performances (but if you can live with the idea of -# some data loss consider the default persistence mode that's snapshotting), -# or on the contrary, use "always" that's very slow but a bit safer than -# everysec. -# -# More details please check the following article: -# http://antirez.com/post/redis-persistence-demystified.html -# -# If unsure, use "everysec". - -# appendfsync always -appendfsync everysec -# appendfsync no - -# When the AOF fsync policy is set to always or everysec, and a background -# saving process (a background save or AOF log background rewriting) is -# performing a lot of I/O against the disk, in some Linux configurations -# Redis may block too long on the fsync() call. Note that there is no fix for -# this currently, as even performing fsync in a different thread will block -# our synchronous write(2) call. -# -# In order to mitigate this problem it's possible to use the following option -# that will prevent fsync() from being called in the main process while a -# BGSAVE or BGREWRITEAOF is in progress. -# -# This means that while another child is saving, the durability of Redis is -# the same as "appendfsync none". In practical terms, this means that it is -# possible to lose up to 30 seconds of log in the worst scenario (with the -# default Linux settings). -# -# If you have latency problems turn this to "yes". Otherwise leave it as -# "no" that is the safest pick from the point of view of durability. - -no-appendfsync-on-rewrite no - -# Automatic rewrite of the append only file. -# Redis is able to automatically rewrite the log file implicitly calling -# BGREWRITEAOF when the AOF log size grows by the specified percentage. -# -# This is how it works: Redis remembers the size of the AOF file after the -# latest rewrite (if no rewrite has happened since the restart, the size of -# the AOF at startup is used). -# -# This base size is compared to the current size. If the current size is -# bigger than the specified percentage, the rewrite is triggered. Also -# you need to specify a minimal size for the AOF file to be rewritten, this -# is useful to avoid rewriting the AOF file even if the percentage increase -# is reached but it is still pretty small. -# -# Specify a percentage of zero in order to disable the automatic AOF -# rewrite feature. - -auto-aof-rewrite-percentage 100 -auto-aof-rewrite-min-size 64mb - -# An AOF file may be found to be truncated at the end during the Redis -# startup process, when the AOF data gets loaded back into memory. -# This may happen when the system where Redis is running -# crashes, especially when an ext4 filesystem is mounted without the -# data=ordered option (however this can't happen when Redis itself -# crashes or aborts but the operating system still works correctly). -# -# Redis can either exit with an error when this happens, or load as much -# data as possible (the default now) and start if the AOF file is found -# to be truncated at the end. The following option controls this behavior. -# -# If aof-load-truncated is set to yes, a truncated AOF file is loaded and -# the Redis server starts emitting a log to inform the user of the event. -# Otherwise if the option is set to no, the server aborts with an error -# and refuses to start. When the option is set to no, the user requires -# to fix the AOF file using the "redis-check-aof" utility before to restart -# the server. -# -# Note that if the AOF file will be found to be corrupted in the middle -# the server will still exit with an error. This option only applies when -# Redis will try to read more data from the AOF file but not enough bytes -# will be found. -aof-load-truncated yes - -################################ LUA SCRIPTING ############################### - -# Max execution time of a Lua script in milliseconds. -# -# If the maximum execution time is reached Redis will log that a script is -# still in execution after the maximum allowed time and will start to -# reply to queries with an error. -# -# When a long running script exceeds the maximum execution time only the -# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be -# used to stop a script that did not yet called write commands. The second -# is the only way to shut down the server in the case a write command was -# already issued by the script but the user doesn't want to wait for the natural -# termination of the script. -# -# Set it to 0 or a negative value for unlimited execution without warnings. -lua-time-limit 5000 - -################################## SLOW LOG ################################### - -# The Redis Slow Log is a system to log queries that exceeded a specified -# execution time. The execution time does not include the I/O operations -# like talking with the client, sending the reply and so forth, -# but just the time needed to actually execute the command (this is the only -# stage of command execution where the thread is blocked and can not serve -# other requests in the meantime). -# -# You can configure the slow log with two parameters: one tells Redis -# what is the execution time, in microseconds, to exceed in order for the -# command to get logged, and the other parameter is the length of the -# slow log. When a new command is logged the oldest one is removed from the -# queue of logged commands. - -# The following time is expressed in microseconds, so 1000000 is equivalent -# to one second. Note that a negative number disables the slow log, while -# a value of zero forces the logging of every command. -slowlog-log-slower-than 10000 - -# There is no limit to this length. Just be aware that it will consume memory. -# You can reclaim memory used by the slow log with SLOWLOG RESET. -slowlog-max-len 128 - -################################ LATENCY MONITOR ############################## - -# The Redis latency monitoring subsystem samples different operations -# at runtime in order to collect data related to possible sources of -# latency of a Redis instance. -# -# Via the LATENCY command this information is available to the user that can -# print graphs and obtain reports. -# -# The system only logs operations that were performed in a time equal or -# greater than the amount of milliseconds specified via the -# latency-monitor-threshold configuration directive. When its value is set -# to zero, the latency monitor is turned off. -# -# By default latency monitoring is disabled since it is mostly not needed -# if you don't have latency issues, and collecting data has a performance -# impact, that while very small, can be measured under big load. Latency -# monitoring can easily be enabled at runtime using the command -# "CONFIG SET latency-monitor-threshold " if needed. -latency-monitor-threshold 0 - -############################# Event notification ############################## - -# Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at http://redis.io/topics/notifications -# -# For instance if keyspace events notification is enabled, and a client -# performs a DEL operation on key "foo" stored in the Database 0, two -# messages will be published via Pub/Sub: -# -# PUBLISH __keyspace@0__:foo del -# PUBLISH __keyevent@0__:del foo -# -# It is possible to select the events that Redis will notify among a set -# of classes. Every class is identified by a single character: -# -# K Keyspace events, published with __keyspace@__ prefix. -# E Keyevent events, published with __keyevent@__ prefix. -# g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ... -# $ String commands -# l List commands -# s Set commands -# h Hash commands -# z Sorted set commands -# x Expired events (events generated every time a key expires) -# e Evicted events (events generated when a key is evicted for maxmemory) -# A Alias for g$lshzxe, so that the "AKE" string means all the events. -# -# The "notify-keyspace-events" takes as argument a string that is composed -# of zero or multiple characters. The empty string means that notifications -# are disabled. -# -# Example: to enable list and generic events, from the point of view of the -# event name, use: -# -# notify-keyspace-events Elg -# -# Example 2: to get the stream of the expired keys subscribing to channel -# name __keyevent@0__:expired use: -# -# notify-keyspace-events Ex -# -# By default all notifications are disabled because most users don't need -# this feature and the feature has some overhead. Note that if you don't -# specify at least one of K or E, no events will be delivered. -notify-keyspace-events "" - -############################### ADVANCED CONFIG ############################### - -# Hashes are encoded using a memory efficient data structure when they have a -# small number of entries, and the biggest entry does not exceed a given -# threshold. These thresholds can be configured using the following directives. -hash-max-ziplist-entries 512 -hash-max-ziplist-value 64 - -# Similarly to hashes, small lists are also encoded in a special way in order -# to save a lot of space. The special representation is only used when -# you are under the following limits: -list-max-ziplist-entries 512 -list-max-ziplist-value 64 - -# Sets have a special encoding in just one case: when a set is composed -# of just strings that happen to be integers in radix 10 in the range -# of 64 bit signed integers. -# The following configuration setting sets the limit in the size of the -# set in order to use this special memory saving encoding. -set-max-intset-entries 512 - -# Similarly to hashes and lists, sorted sets are also specially encoded in -# order to save a lot of space. This encoding is only used when the length and -# elements of a sorted set are below the following limits: -zset-max-ziplist-entries 128 -zset-max-ziplist-value 64 - -# HyperLogLog sparse representation bytes limit. The limit includes the -# 16 bytes header. When an HyperLogLog using the sparse representation crosses -# this limit, it is converted into the dense representation. -# -# A value greater than 16000 is totally useless, since at that point the -# dense representation is more memory efficient. -# -# The suggested value is ~ 3000 in order to have the benefits of -# the space efficient encoding without slowing down too much PFADD, -# which is O(N) with the sparse encoding. The value can be raised to -# ~ 10000 when CPU is not a concern, but space is, and the data set is -# composed of many HyperLogLogs with cardinality in the 0 - 15000 range. -hll-sparse-max-bytes 3000 - -# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in -# order to help rehashing the main Redis hash table (the one mapping top-level -# keys to values). The hash table implementation Redis uses (see dict.c) -# performs a lazy rehashing: the more operation you run into a hash table -# that is rehashing, the more rehashing "steps" are performed, so if the -# server is idle the rehashing is never complete and some more memory is used -# by the hash table. -# -# The default is to use this millisecond 10 times every second in order to -# actively rehash the main dictionaries, freeing memory when possible. -# -# If unsure: -# use "activerehashing no" if you have hard latency requirements and it is -# not a good thing in your environment that Redis can reply from time to time -# to queries with 2 milliseconds delay. -# -# use "activerehashing yes" if you don't have such hard requirements but -# want to free memory asap when possible. -activerehashing yes - -# The client output buffer limits can be used to force disconnection of clients -# that are not reading data from the server fast enough for some reason (a -# common reason is that a Pub/Sub client can't consume messages as fast as the -# publisher can produce them). -# -# The limit can be set differently for the three different classes of clients: -# -# normal -> normal clients including MONITOR clients -# slave -> slave clients -# pubsub -> clients subscribed to at least one pubsub channel or pattern -# -# The syntax of every client-output-buffer-limit directive is the following: -# -# client-output-buffer-limit -# -# A client is immediately disconnected once the hard limit is reached, or if -# the soft limit is reached and remains reached for the specified number of -# seconds (continuously). -# So for instance if the hard limit is 32 megabytes and the soft limit is -# 16 megabytes / 10 seconds, the client will get disconnected immediately -# if the size of the output buffers reach 32 megabytes, but will also get -# disconnected if the client reaches 16 megabytes and continuously overcomes -# the limit for 10 seconds. -# -# By default normal clients are not limited because they don't receive data -# without asking (in a push way), but just after a request, so only -# asynchronous clients may create a scenario where data is requested faster -# than it can read. -# -# Instead there is a default limit for pubsub and slave clients, since -# subscribers and slaves receive data in a push fashion. -# -# Both the hard or the soft limit can be disabled by setting them to zero. -client-output-buffer-limit normal 0 0 0 -client-output-buffer-limit slave 256mb 64mb 60 -client-output-buffer-limit pubsub 32mb 8mb 60 - -# Redis calls an internal function to perform many background tasks, like -# closing connections of clients in timeout, purging expired keys that are -# never requested, and so forth. -# -# Not all tasks are performed with the same frequency, but Redis checks for -# tasks to perform according to the specified "hz" value. -# -# By default "hz" is set to 10. Raising the value will use more CPU when -# Redis is idle, but at the same time will make Redis more responsive when -# there are many keys expiring at the same time, and timeouts may be -# handled with more precision. -# -# The range is between 1 and 500, however a value over 100 is usually not -# a good idea. Most users should use the default of 10 and raise this up to -# 100 only in environments where very low latency is required. -hz 10 - -# When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful -# in order to commit the file to the disk more incrementally and avoid -# big latency spikes. -aof-rewrite-incremental-fsync yes diff --git a/examples/storage/redis/image/redis-slave.conf b/examples/storage/redis/image/redis-slave.conf deleted file mode 100644 index afd0a45fd4..0000000000 --- a/examples/storage/redis/image/redis-slave.conf +++ /dev/null @@ -1,828 +0,0 @@ -# Redis configuration file example - -# Note on units: when memory size is needed, it is possible to specify -# it in the usual form of 1k 5GB 4M and so forth: -# -# 1k => 1000 bytes -# 1kb => 1024 bytes -# 1m => 1000000 bytes -# 1mb => 1024*1024 bytes -# 1g => 1000000000 bytes -# 1gb => 1024*1024*1024 bytes -# -# units are case insensitive so 1GB 1Gb 1gB are all the same. - -################################## INCLUDES ################################### - -# Include one or more other config files here. This is useful if you -# have a standard template that goes to all Redis servers but also need -# to customize a few per-server settings. Include files can include -# other files, so use this wisely. -# -# Notice option "include" won't be rewritten by command "CONFIG REWRITE" -# from admin or Redis Sentinel. Since Redis always uses the last processed -# line as value of a configuration directive, you'd better put includes -# at the beginning of this file to avoid overwriting config change at runtime. -# -# If instead you are interested in using includes to override configuration -# options, it is better to use include as the last line. -# -# include /path/to/local.conf -# include /path/to/other.conf - -################################ GENERAL ##################################### - -# By default Redis does not run as a daemon. Use 'yes' if you need it. -# Note that Redis will write a pid file in /var/run/redis.pid when daemonized. -daemonize no - -# When running daemonized, Redis writes a pid file in /var/run/redis.pid by -# default. You can specify a custom pid file location here. -pidfile /var/run/redis.pid - -# Accept connections on the specified port, default is 6379. -# If port 0 is specified Redis will not listen on a TCP socket. -port 6379 - -# TCP listen() backlog. -# -# In high requests-per-second environments you need an high backlog in order -# to avoid slow clients connections issues. Note that the Linux kernel -# will silently truncate it to the value of /proc/sys/net/core/somaxconn so -# make sure to raise both the value of somaxconn and tcp_max_syn_backlog -# in order to get the desired effect. -tcp-backlog 511 - -# By default Redis listens for connections from all the network interfaces -# available on the server. It is possible to listen to just one or multiple -# interfaces using the "bind" configuration directive, followed by one or -# more IP addresses. -# -# Examples: -# -# bind 192.168.1.100 10.0.0.1 - -bind 0.0.0.0 - -# Specify the path for the Unix socket that will be used to listen for -# incoming connections. There is no default, so Redis will not listen -# on a unix socket when not specified. -# -# unixsocket /tmp/redis.sock -# unixsocketperm 700 - -# Close the connection after a client is idle for N seconds (0 to disable) -timeout 0 - -# TCP keepalive. -# -# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence -# of communication. This is useful for two reasons: -# -# 1) Detect dead peers. -# 2) Take the connection alive from the point of view of network -# equipment in the middle. -# -# On Linux, the specified value (in seconds) is the period used to send ACKs. -# Note that to close the connection the double of the time is needed. -# On other kernels the period depends on the kernel configuration. -# -# A reasonable value for this option is 60 seconds. -tcp-keepalive 60 - -# Specify the server verbosity level. -# This can be one of: -# debug (a lot of information, useful for development/testing) -# verbose (many rarely useful info, but not a mess like the debug level) -# notice (moderately verbose, what you want in production probably) -# warning (only very important / critical messages are logged) -loglevel notice - -# Specify the log file name. Also the empty string can be used to force -# Redis to log on the standard output. Note that if you use standard -# output for logging but daemonize, logs will be sent to /dev/null -logfile "" - -# To enable logging to the system logger, just set 'syslog-enabled' to yes, -# and optionally update the other syslog parameters to suit your needs. -# syslog-enabled no - -# Specify the syslog identity. -# syslog-ident redis - -# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. -# syslog-facility local0 - -# Set the number of databases. The default database is DB 0, you can select -# a different one on a per-connection basis using SELECT where -# dbid is a number between 0 and 'databases'-1 -databases 16 - -################################ SNAPSHOTTING ################################ -# -# Save the DB on disk: -# -# save -# -# Will save the DB if both the given number of seconds and the given -# number of write operations against the DB occurred. -# -# In the example below the behaviour will be to save: -# after 900 sec (15 min) if at least 1 key changed -# after 300 sec (5 min) if at least 10 keys changed -# after 60 sec if at least 10000 keys changed -# -# Note: you can disable saving completely by commenting out all "save" lines. -# -# It is also possible to remove all the previously configured save -# points by adding a save directive with a single empty string argument -# like in the following example: -# -# save "" - -save 900 1 -save 300 10 -save 60 10000 - -# By default Redis will stop accepting writes if RDB snapshots are enabled -# (at least one save point) and the latest background save failed. -# This will make the user aware (in a hard way) that data is not persisting -# on disk properly, otherwise chances are that no one will notice and some -# disaster will happen. -# -# If the background saving process will start working again Redis will -# automatically allow writes again. -# -# However if you have setup your proper monitoring of the Redis server -# and persistence, you may want to disable this feature so that Redis will -# continue to work as usual even if there are problems with disk, -# permissions, and so forth. -stop-writes-on-bgsave-error yes - -# Compress string objects using LZF when dump .rdb databases? -# For default that's set to 'yes' as it's almost always a win. -# If you want to save some CPU in the saving child set it to 'no' but -# the dataset will likely be bigger if you have compressible values or keys. -rdbcompression yes - -# Since version 5 of RDB a CRC64 checksum is placed at the end of the file. -# This makes the format more resistant to corruption but there is a performance -# hit to pay (around 10%) when saving and loading RDB files, so you can disable it -# for maximum performances. -# -# RDB files created with checksum disabled have a checksum of zero that will -# tell the loading code to skip the check. -rdbchecksum yes - -# The filename where to dump the DB -dbfilename dump.rdb - -# The working directory. -# -# The DB will be written inside this directory, with the filename specified -# above using the 'dbfilename' configuration directive. -# -# The Append Only File will also be created inside this directory. -# -# Note that you must specify a directory here, not a file name. -dir "./" - -################################# REPLICATION ################################# - -# Master-Slave replication. Use slaveof to make a Redis instance a copy of -# another Redis server. A few things to understand ASAP about Redis replication. -# -# 1) Redis replication is asynchronous, but you can configure a master to -# stop accepting writes if it appears to be not connected with at least -# a given number of slaves. -# 2) Redis slaves are able to perform a partial resynchronization with the -# master if the replication link is lost for a relatively small amount of -# time. You may want to configure the replication backlog size (see the next -# sections of this file) with a sensible value depending on your needs. -# 3) Replication is automatic and does not need user intervention. After a -# network partition slaves automatically try to reconnect to masters -# and resynchronize with them. -# -slaveof %master-ip% %master-port% - -# If the master is password protected (using the "requirepass" configuration -# directive below) it is possible to tell the slave to authenticate before -# starting the replication synchronization process, otherwise the master will -# refuse the slave request. -# -# masterauth - -# When a slave loses its connection with the master, or when the replication -# is still in progress, the slave can act in two different ways: -# -# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will -# still reply to client requests, possibly with out of date data, or the -# data set may just be empty if this is the first synchronization. -# -# 2) if slave-serve-stale-data is set to 'no' the slave will reply with -# an error "SYNC with master in progress" to all the kind of commands -# but to INFO and SLAVEOF. -# -slave-serve-stale-data yes - -# You can configure a slave instance to accept writes or not. Writing against -# a slave instance may be useful to store some ephemeral data (because data -# written on a slave will be easily deleted after resync with the master) but -# may also cause problems if clients are writing to it because of a -# misconfiguration. -# -# Since Redis 2.6 by default slaves are read-only. -# -# Note: read only slaves are not designed to be exposed to untrusted clients -# on the internet. It's just a protection layer against misuse of the instance. -# Still a read only slave exports by default all the administrative commands -# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve -# security of read only slaves using 'rename-command' to shadow all the -# administrative / dangerous commands. -slave-read-only yes - -# Replication SYNC strategy: disk or socket. -# -# ------------------------------------------------------- -# WARNING: DISKLESS REPLICATION IS EXPERIMENTAL CURRENTLY -# ------------------------------------------------------- -# -# New slaves and reconnecting slaves that are not able to continue the replication -# process just receiving differences, need to do what is called a "full -# synchronization". An RDB file is transmitted from the master to the slaves. -# The transmission can happen in two different ways: -# -# 1) Disk-backed: The Redis master creates a new process that writes the RDB -# file on disk. Later the file is transferred by the parent -# process to the slaves incrementally. -# 2) Diskless: The Redis master creates a new process that directly writes the -# RDB file to slave sockets, without touching the disk at all. -# -# With disk-backed replication, while the RDB file is generated, more slaves -# can be queued and served with the RDB file as soon as the current child producing -# the RDB file finishes its work. With diskless replication instead once -# the transfer starts, new slaves arriving will be queued and a new transfer -# will start when the current one terminates. -# -# When diskless replication is used, the master waits a configurable amount of -# time (in seconds) before starting the transfer in the hope that multiple slaves -# will arrive and the transfer can be parallelized. -# -# With slow disks and fast (large bandwidth) networks, diskless replication -# works better. -repl-diskless-sync no - -# When diskless replication is enabled, it is possible to configure the delay -# the server waits in order to spawn the child that trnasfers the RDB via socket -# to the slaves. -# -# This is important since once the transfer starts, it is not possible to serve -# new slaves arriving, that will be queued for the next RDB transfer, so the server -# waits a delay in order to let more slaves arrive. -# -# The delay is specified in seconds, and by default is 5 seconds. To disable -# it entirely just set it to 0 seconds and the transfer will start ASAP. -repl-diskless-sync-delay 5 - -# Slaves send PINGs to server in a predefined interval. It's possible to change -# this interval with the repl_ping_slave_period option. The default value is 10 -# seconds. -# -# repl-ping-slave-period 10 - -# The following option sets the replication timeout for: -# -# 1) Bulk transfer I/O during SYNC, from the point of view of slave. -# 2) Master timeout from the point of view of slaves (data, pings). -# 3) Slave timeout from the point of view of masters (REPLCONF ACK pings). -# -# It is important to make sure that this value is greater than the value -# specified for repl-ping-slave-period otherwise a timeout will be detected -# every time there is low traffic between the master and the slave. -# -# repl-timeout 60 - -# Disable TCP_NODELAY on the slave socket after SYNC? -# -# If you select "yes" Redis will use a smaller number of TCP packets and -# less bandwidth to send data to slaves. But this can add a delay for -# the data to appear on the slave side, up to 40 milliseconds with -# Linux kernels using a default configuration. -# -# If you select "no" the delay for data to appear on the slave side will -# be reduced but more bandwidth will be used for replication. -# -# By default we optimize for low latency, but in very high traffic conditions -# or when the master and slaves are many hops away, turning this to "yes" may -# be a good idea. -repl-disable-tcp-nodelay no - -# Set the replication backlog size. The backlog is a buffer that accumulates -# slave data when slaves are disconnected for some time, so that when a slave -# wants to reconnect again, often a full resync is not needed, but a partial -# resync is enough, just passing the portion of data the slave missed while -# disconnected. -# -# The bigger the replication backlog, the longer the time the slave can be -# disconnected and later be able to perform a partial resynchronization. -# -# The backlog is only allocated once there is at least a slave connected. -# -# repl-backlog-size 1mb - -# After a master has no longer connected slaves for some time, the backlog -# will be freed. The following option configures the amount of seconds that -# need to elapse, starting from the time the last slave disconnected, for -# the backlog buffer to be freed. -# -# A value of 0 means to never release the backlog. -# -# repl-backlog-ttl 3600 - -# The slave priority is an integer number published by Redis in the INFO output. -# It is used by Redis Sentinel in order to select a slave to promote into a -# master if the master is no longer working correctly. -# -# A slave with a low priority number is considered better for promotion, so -# for instance if there are three slaves with priority 10, 100, 25 Sentinel will -# pick the one with priority 10, that is the lowest. -# -# However a special priority of 0 marks the slave as not able to perform the -# role of master, so a slave with priority of 0 will never be selected by -# Redis Sentinel for promotion. -# -# By default the priority is 100. -slave-priority 100 - -# It is possible for a master to stop accepting writes if there are less than -# N slaves connected, having a lag less or equal than M seconds. -# -# The N slaves need to be in "online" state. -# -# The lag in seconds, that must be <= the specified value, is calculated from -# the last ping received from the slave, that is usually sent every second. -# -# This option does not GUARANTEE that N replicas will accept the write, but -# will limit the window of exposure for lost writes in case not enough slaves -# are available, to the specified number of seconds. -# -# For example to require at least 3 slaves with a lag <= 10 seconds use: -# -# min-slaves-to-write 3 -# min-slaves-max-lag 10 -# -# Setting one or the other to 0 disables the feature. -# -# By default min-slaves-to-write is set to 0 (feature disabled) and -# min-slaves-max-lag is set to 10. - -################################## SECURITY ################################### - -# Require clients to issue AUTH before processing any other -# commands. This might be useful in environments in which you do not trust -# others with access to the host running redis-server. -# -# This should stay commented out for backward compatibility and because most -# people do not need auth (e.g. they run their own servers). -# -# Warning: since Redis is pretty fast an outside user can try up to -# 150k passwords per second against a good box. This means that you should -# use a very strong password otherwise it will be very easy to break. -# -# requirepass foobared - -# Command renaming. -# -# It is possible to change the name of dangerous commands in a shared -# environment. For instance the CONFIG command may be renamed into something -# hard to guess so that it will still be available for internal-use tools -# but not available for general clients. -# -# Example: -# -# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 -# -# It is also possible to completely kill a command by renaming it into -# an empty string: -# -# rename-command CONFIG "" -# -# Please note that changing the name of commands that are logged into the -# AOF file or transmitted to slaves may cause problems. - -################################### LIMITS #################################### - -# Set the max number of connected clients at the same time. By default -# this limit is set to 10000 clients, however if the Redis server is not -# able to configure the process file limit to allow for the specified limit -# the max number of allowed clients is set to the current file limit -# minus 32 (as Redis reserves a few file descriptors for internal uses). -# -# Once the limit is reached Redis will close all the new connections sending -# an error 'max number of clients reached'. -# -# maxclients 10000 - -# Don't use more memory than the specified amount of bytes. -# When the memory limit is reached Redis will try to remove keys -# according to the eviction policy selected (see maxmemory-policy). -# -# If Redis can't remove keys according to the policy, or if the policy is -# set to 'noeviction', Redis will start to reply with errors to commands -# that would use more memory, like SET, LPUSH, and so on, and will continue -# to reply to read-only commands like GET. -# -# This option is usually useful when using Redis as an LRU cache, or to set -# a hard memory limit for an instance (using the 'noeviction' policy). -# -# WARNING: If you have slaves attached to an instance with maxmemory on, -# the size of the output buffers needed to feed the slaves are subtracted -# from the used memory count, so that network problems / resyncs will -# not trigger a loop where keys are evicted, and in turn the output -# buffer of slaves is full with DELs of keys evicted triggering the deletion -# of more keys, and so forth until the database is completely emptied. -# -# In short... if you have slaves attached it is suggested that you set a lower -# limit for maxmemory so that there is some free RAM on the system for slave -# output buffers (but this is not needed if the policy is 'noeviction'). -# -# maxmemory - -# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory -# is reached. You can select among five behaviors: -# -# volatile-lru -> remove the key with an expire set using an LRU algorithm -# allkeys-lru -> remove any key according to the LRU algorithm -# volatile-random -> remove a random key with an expire set -# allkeys-random -> remove a random key, any key -# volatile-ttl -> remove the key with the nearest expire time (minor TTL) -# noeviction -> don't expire at all, just return an error on write operations -# -# Note: with any of the above policies, Redis will return an error on write -# operations, when there are no suitable keys for eviction. -# -# At the date of writing these commands are: set setnx setex append -# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd -# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby -# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby -# getset mset msetnx exec sort -# -# The default is: -# -# maxmemory-policy volatile-lru - -# LRU and minimal TTL algorithms are not precise algorithms but approximated -# algorithms (in order to save memory), so you can select as well the sample -# size to check. For instance for default Redis will check three keys and -# pick the one that was used less recently, you can change the sample size -# using the following configuration directive. -# -# maxmemory-samples 3 - -############################## APPEND ONLY MODE ############################### - -# By default Redis asynchronously dumps the dataset on disk. This mode is -# good enough in many applications, but an issue with the Redis process or -# a power outage may result into a few minutes of writes lost (depending on -# the configured save points). -# -# The Append Only File is an alternative persistence mode that provides -# much better durability. For instance using the default data fsync policy -# (see later in the config file) Redis can lose just one second of writes in a -# dramatic event like a server power outage, or a single write if something -# wrong with the Redis process itself happens, but the operating system is -# still running correctly. -# -# AOF and RDB persistence can be enabled at the same time without problems. -# If the AOF is enabled on startup Redis will load the AOF, that is the file -# with the better durability guarantees. -# -# Please check http://redis.io/topics/persistence for more information. - -appendonly yes - -# The name of the append only file (default: "appendonly.aof") - -appendfilename "appendonly.aof" - -# The fsync() call tells the Operating System to actually write data on disk -# instead of waiting for more data in the output buffer. Some OS will really flush -# data on disk, some other OS will just try to do it ASAP. -# -# Redis supports three different modes: -# -# no: don't fsync, just let the OS flush the data when it wants. Faster. -# always: fsync after every write to the append only log. Slow, Safest. -# everysec: fsync only one time every second. Compromise. -# -# The default is "everysec", as that's usually the right compromise between -# speed and data safety. It's up to you to understand if you can relax this to -# "no" that will let the operating system flush the output buffer when -# it wants, for better performances (but if you can live with the idea of -# some data loss consider the default persistence mode that's snapshotting), -# or on the contrary, use "always" that's very slow but a bit safer than -# everysec. -# -# More details please check the following article: -# http://antirez.com/post/redis-persistence-demystified.html -# -# If unsure, use "everysec". - -# appendfsync always -appendfsync everysec -# appendfsync no - -# When the AOF fsync policy is set to always or everysec, and a background -# saving process (a background save or AOF log background rewriting) is -# performing a lot of I/O against the disk, in some Linux configurations -# Redis may block too long on the fsync() call. Note that there is no fix for -# this currently, as even performing fsync in a different thread will block -# our synchronous write(2) call. -# -# In order to mitigate this problem it's possible to use the following option -# that will prevent fsync() from being called in the main process while a -# BGSAVE or BGREWRITEAOF is in progress. -# -# This means that while another child is saving, the durability of Redis is -# the same as "appendfsync none". In practical terms, this means that it is -# possible to lose up to 30 seconds of log in the worst scenario (with the -# default Linux settings). -# -# If you have latency problems turn this to "yes". Otherwise leave it as -# "no" that is the safest pick from the point of view of durability. - -no-appendfsync-on-rewrite no - -# Automatic rewrite of the append only file. -# Redis is able to automatically rewrite the log file implicitly calling -# BGREWRITEAOF when the AOF log size grows by the specified percentage. -# -# This is how it works: Redis remembers the size of the AOF file after the -# latest rewrite (if no rewrite has happened since the restart, the size of -# the AOF at startup is used). -# -# This base size is compared to the current size. If the current size is -# bigger than the specified percentage, the rewrite is triggered. Also -# you need to specify a minimal size for the AOF file to be rewritten, this -# is useful to avoid rewriting the AOF file even if the percentage increase -# is reached but it is still pretty small. -# -# Specify a percentage of zero in order to disable the automatic AOF -# rewrite feature. - -auto-aof-rewrite-percentage 100 -auto-aof-rewrite-min-size 64mb - -# An AOF file may be found to be truncated at the end during the Redis -# startup process, when the AOF data gets loaded back into memory. -# This may happen when the system where Redis is running -# crashes, especially when an ext4 filesystem is mounted without the -# data=ordered option (however this can't happen when Redis itself -# crashes or aborts but the operating system still works correctly). -# -# Redis can either exit with an error when this happens, or load as much -# data as possible (the default now) and start if the AOF file is found -# to be truncated at the end. The following option controls this behavior. -# -# If aof-load-truncated is set to yes, a truncated AOF file is loaded and -# the Redis server starts emitting a log to inform the user of the event. -# Otherwise if the option is set to no, the server aborts with an error -# and refuses to start. When the option is set to no, the user requires -# to fix the AOF file using the "redis-check-aof" utility before to restart -# the server. -# -# Note that if the AOF file will be found to be corrupted in the middle -# the server will still exit with an error. This option only applies when -# Redis will try to read more data from the AOF file but not enough bytes -# will be found. -aof-load-truncated yes - -################################ LUA SCRIPTING ############################### - -# Max execution time of a Lua script in milliseconds. -# -# If the maximum execution time is reached Redis will log that a script is -# still in execution after the maximum allowed time and will start to -# reply to queries with an error. -# -# When a long running script exceeds the maximum execution time only the -# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be -# used to stop a script that did not yet called write commands. The second -# is the only way to shut down the server in the case a write command was -# already issued by the script but the user doesn't want to wait for the natural -# termination of the script. -# -# Set it to 0 or a negative value for unlimited execution without warnings. -lua-time-limit 5000 - -################################## SLOW LOG ################################### - -# The Redis Slow Log is a system to log queries that exceeded a specified -# execution time. The execution time does not include the I/O operations -# like talking with the client, sending the reply and so forth, -# but just the time needed to actually execute the command (this is the only -# stage of command execution where the thread is blocked and can not serve -# other requests in the meantime). -# -# You can configure the slow log with two parameters: one tells Redis -# what is the execution time, in microseconds, to exceed in order for the -# command to get logged, and the other parameter is the length of the -# slow log. When a new command is logged the oldest one is removed from the -# queue of logged commands. - -# The following time is expressed in microseconds, so 1000000 is equivalent -# to one second. Note that a negative number disables the slow log, while -# a value of zero forces the logging of every command. -slowlog-log-slower-than 10000 - -# There is no limit to this length. Just be aware that it will consume memory. -# You can reclaim memory used by the slow log with SLOWLOG RESET. -slowlog-max-len 128 - -################################ LATENCY MONITOR ############################## - -# The Redis latency monitoring subsystem samples different operations -# at runtime in order to collect data related to possible sources of -# latency of a Redis instance. -# -# Via the LATENCY command this information is available to the user that can -# print graphs and obtain reports. -# -# The system only logs operations that were performed in a time equal or -# greater than the amount of milliseconds specified via the -# latency-monitor-threshold configuration directive. When its value is set -# to zero, the latency monitor is turned off. -# -# By default latency monitoring is disabled since it is mostly not needed -# if you don't have latency issues, and collecting data has a performance -# impact, that while very small, can be measured under big load. Latency -# monitoring can easily be enabled at runtime using the command -# "CONFIG SET latency-monitor-threshold " if needed. -latency-monitor-threshold 0 - -############################# Event notification ############################## - -# Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at http://redis.io/topics/notifications -# -# For instance if keyspace events notification is enabled, and a client -# performs a DEL operation on key "foo" stored in the Database 0, two -# messages will be published via Pub/Sub: -# -# PUBLISH __keyspace@0__:foo del -# PUBLISH __keyevent@0__:del foo -# -# It is possible to select the events that Redis will notify among a set -# of classes. Every class is identified by a single character: -# -# K Keyspace events, published with __keyspace@__ prefix. -# E Keyevent events, published with __keyevent@__ prefix. -# g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ... -# $ String commands -# l List commands -# s Set commands -# h Hash commands -# z Sorted set commands -# x Expired events (events generated every time a key expires) -# e Evicted events (events generated when a key is evicted for maxmemory) -# A Alias for g$lshzxe, so that the "AKE" string means all the events. -# -# The "notify-keyspace-events" takes as argument a string that is composed -# of zero or multiple characters. The empty string means that notifications -# are disabled. -# -# Example: to enable list and generic events, from the point of view of the -# event name, use: -# -# notify-keyspace-events Elg -# -# Example 2: to get the stream of the expired keys subscribing to channel -# name __keyevent@0__:expired use: -# -# notify-keyspace-events Ex -# -# By default all notifications are disabled because most users don't need -# this feature and the feature has some overhead. Note that if you don't -# specify at least one of K or E, no events will be delivered. -notify-keyspace-events "" - -############################### ADVANCED CONFIG ############################### - -# Hashes are encoded using a memory efficient data structure when they have a -# small number of entries, and the biggest entry does not exceed a given -# threshold. These thresholds can be configured using the following directives. -hash-max-ziplist-entries 512 -hash-max-ziplist-value 64 - -# Similarly to hashes, small lists are also encoded in a special way in order -# to save a lot of space. The special representation is only used when -# you are under the following limits: -list-max-ziplist-entries 512 -list-max-ziplist-value 64 - -# Sets have a special encoding in just one case: when a set is composed -# of just strings that happen to be integers in radix 10 in the range -# of 64 bit signed integers. -# The following configuration setting sets the limit in the size of the -# set in order to use this special memory saving encoding. -set-max-intset-entries 512 - -# Similarly to hashes and lists, sorted sets are also specially encoded in -# order to save a lot of space. This encoding is only used when the length and -# elements of a sorted set are below the following limits: -zset-max-ziplist-entries 128 -zset-max-ziplist-value 64 - -# HyperLogLog sparse representation bytes limit. The limit includes the -# 16 bytes header. When an HyperLogLog using the sparse representation crosses -# this limit, it is converted into the dense representation. -# -# A value greater than 16000 is totally useless, since at that point the -# dense representation is more memory efficient. -# -# The suggested value is ~ 3000 in order to have the benefits of -# the space efficient encoding without slowing down too much PFADD, -# which is O(N) with the sparse encoding. The value can be raised to -# ~ 10000 when CPU is not a concern, but space is, and the data set is -# composed of many HyperLogLogs with cardinality in the 0 - 15000 range. -hll-sparse-max-bytes 3000 - -# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in -# order to help rehashing the main Redis hash table (the one mapping top-level -# keys to values). The hash table implementation Redis uses (see dict.c) -# performs a lazy rehashing: the more operation you run into a hash table -# that is rehashing, the more rehashing "steps" are performed, so if the -# server is idle the rehashing is never complete and some more memory is used -# by the hash table. -# -# The default is to use this millisecond 10 times every second in order to -# actively rehash the main dictionaries, freeing memory when possible. -# -# If unsure: -# use "activerehashing no" if you have hard latency requirements and it is -# not a good thing in your environment that Redis can reply from time to time -# to queries with 2 milliseconds delay. -# -# use "activerehashing yes" if you don't have such hard requirements but -# want to free memory asap when possible. -activerehashing yes - -# The client output buffer limits can be used to force disconnection of clients -# that are not reading data from the server fast enough for some reason (a -# common reason is that a Pub/Sub client can't consume messages as fast as the -# publisher can produce them). -# -# The limit can be set differently for the three different classes of clients: -# -# normal -> normal clients including MONITOR clients -# slave -> slave clients -# pubsub -> clients subscribed to at least one pubsub channel or pattern -# -# The syntax of every client-output-buffer-limit directive is the following: -# -# client-output-buffer-limit -# -# A client is immediately disconnected once the hard limit is reached, or if -# the soft limit is reached and remains reached for the specified number of -# seconds (continuously). -# So for instance if the hard limit is 32 megabytes and the soft limit is -# 16 megabytes / 10 seconds, the client will get disconnected immediately -# if the size of the output buffers reach 32 megabytes, but will also get -# disconnected if the client reaches 16 megabytes and continuously overcomes -# the limit for 10 seconds. -# -# By default normal clients are not limited because they don't receive data -# without asking (in a push way), but just after a request, so only -# asynchronous clients may create a scenario where data is requested faster -# than it can read. -# -# Instead there is a default limit for pubsub and slave clients, since -# subscribers and slaves receive data in a push fashion. -# -# Both the hard or the soft limit can be disabled by setting them to zero. -client-output-buffer-limit normal 0 0 0 -client-output-buffer-limit slave 256mb 64mb 60 -client-output-buffer-limit pubsub 32mb 8mb 60 - -# Redis calls an internal function to perform many background tasks, like -# closing connections of clients in timeout, purging expired keys that are -# never requested, and so forth. -# -# Not all tasks are performed with the same frequency, but Redis checks for -# tasks to perform according to the specified "hz" value. -# -# By default "hz" is set to 10. Raising the value will use more CPU when -# Redis is idle, but at the same time will make Redis more responsive when -# there are many keys expiring at the same time, and timeouts may be -# handled with more precision. -# -# The range is between 1 and 500, however a value over 100 is usually not -# a good idea. Most users should use the default of 10 and raise this up to -# 100 only in environments where very low latency is required. -hz 10 - -# When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful -# in order to commit the file to the disk more incrementally and avoid -# big latency spikes. -aof-rewrite-incremental-fsync yes diff --git a/examples/storage/redis/image/run.sh b/examples/storage/redis/image/run.sh deleted file mode 100755 index 6fed5af4a8..0000000000 --- a/examples/storage/redis/image/run.sh +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/bash - -# Copyright 2014 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -function launchmaster() { - if [[ ! -e /redis-master-data ]]; then - echo "Redis master data doesn't exist, data won't be persistent!" - mkdir /redis-master-data - fi - redis-server /redis-master/redis.conf --protected-mode no -} - -function launchsentinel() { - while true; do - master=$(redis-cli -h ${REDIS_SENTINEL_SERVICE_HOST} -p ${REDIS_SENTINEL_SERVICE_PORT} --csv SENTINEL get-master-addr-by-name mymaster | tr ',' ' ' | cut -d' ' -f1) - if [[ -n ${master} ]]; then - master="${master//\"}" - else - master=$(hostname -i) - fi - - redis-cli -h ${master} INFO - if [[ "$?" == "0" ]]; then - break - fi - echo "Connecting to master failed. Waiting..." - sleep 10 - done - - sentinel_conf=sentinel.conf - - echo "sentinel monitor mymaster ${master} 6379 2" > ${sentinel_conf} - echo "sentinel down-after-milliseconds mymaster 60000" >> ${sentinel_conf} - echo "sentinel failover-timeout mymaster 180000" >> ${sentinel_conf} - echo "sentinel parallel-syncs mymaster 1" >> ${sentinel_conf} - echo "bind 0.0.0.0" >> ${sentinel_conf} - - redis-sentinel ${sentinel_conf} --protected-mode no -} - -function launchslave() { - while true; do - master=$(redis-cli -h ${REDIS_SENTINEL_SERVICE_HOST} -p ${REDIS_SENTINEL_SERVICE_PORT} --csv SENTINEL get-master-addr-by-name mymaster | tr ',' ' ' | cut -d' ' -f1) - if [[ -n ${master} ]]; then - master="${master//\"}" - else - echo "Failed to find master." - sleep 60 - exit 1 - fi - redis-cli -h ${master} INFO - if [[ "$?" == "0" ]]; then - break - fi - echo "Connecting to master failed. Waiting..." - sleep 10 - done - sed -i "s/%master-ip%/${master}/" /redis-slave/redis.conf - sed -i "s/%master-port%/6379/" /redis-slave/redis.conf - redis-server /redis-slave/redis.conf --protected-mode no -} - -if [[ "${MASTER}" == "true" ]]; then - launchmaster - exit 0 -fi - -if [[ "${SENTINEL}" == "true" ]]; then - launchsentinel - exit 0 -fi - -launchslave diff --git a/examples/storage/redis/redis-controller.yaml b/examples/storage/redis/redis-controller.yaml deleted file mode 100644 index dab2f7f1ab..0000000000 --- a/examples/storage/redis/redis-controller.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - name: redis -spec: - replicas: 1 - selector: - name: redis - template: - metadata: - labels: - name: redis - spec: - containers: - - name: redis - image: k8s.gcr.io/redis:v1 - ports: - - containerPort: 6379 - resources: - limits: - cpu: "0.1" - volumeMounts: - - mountPath: /redis-master-data - name: data - volumes: - - name: data - emptyDir: {} - diff --git a/examples/storage/redis/redis-sentinel-controller.yaml b/examples/storage/redis/redis-sentinel-controller.yaml deleted file mode 100644 index 6c4b14347a..0000000000 --- a/examples/storage/redis/redis-sentinel-controller.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - name: redis-sentinel -spec: - replicas: 1 - selector: - redis-sentinel: "true" - template: - metadata: - labels: - name: redis-sentinel - redis-sentinel: "true" - role: sentinel - spec: - containers: - - name: sentinel - image: k8s.gcr.io/redis:v1 - env: - - name: SENTINEL - value: "true" - ports: - - containerPort: 26379 diff --git a/examples/storage/redis/redis-sentinel-service.yaml b/examples/storage/redis/redis-sentinel-service.yaml deleted file mode 100644 index c670a82415..0000000000 --- a/examples/storage/redis/redis-sentinel-service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - labels: - name: sentinel - role: service - name: redis-sentinel -spec: - ports: - - port: 26379 - targetPort: 26379 - selector: - redis-sentinel: "true" diff --git a/examples/storage/rethinkdb/README.md b/examples/storage/rethinkdb/README.md deleted file mode 100644 index f15a56838d..0000000000 --- a/examples/storage/rethinkdb/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/storage/rethinkdb/README.md](https://github.com/kubernetes/examples/blob/master/staging/storage/rethinkdb/README.md) diff --git a/examples/storage/rethinkdb/admin-pod.yaml b/examples/storage/rethinkdb/admin-pod.yaml deleted file mode 100644 index 12163909d6..0000000000 --- a/examples/storage/rethinkdb/admin-pod.yaml +++ /dev/null @@ -1,29 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - labels: - db: rethinkdb - role: admin - name: rethinkdb-admin -spec: - containers: - - image: k8s.gcr.io/rethinkdb:1.16.0_1 - name: rethinkdb - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: admin-port - - containerPort: 28015 - name: driver-port - - containerPort: 29015 - name: cluster-port - volumeMounts: - - mountPath: /data/rethinkdb_data - name: rethinkdb-storage - volumes: - - name: rethinkdb-storage - emptyDir: {} diff --git a/examples/storage/rethinkdb/admin-service.yaml b/examples/storage/rethinkdb/admin-service.yaml deleted file mode 100644 index 0ae37c0261..0000000000 --- a/examples/storage/rethinkdb/admin-service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - labels: - db: rethinkdb - name: rethinkdb-admin -spec: - ports: - - port: 8080 - targetPort: 8080 - type: LoadBalancer - selector: - db: rethinkdb - role: admin diff --git a/examples/storage/rethinkdb/driver-service.yaml b/examples/storage/rethinkdb/driver-service.yaml deleted file mode 100644 index c2c559adfb..0000000000 --- a/examples/storage/rethinkdb/driver-service.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - labels: - db: rethinkdb - name: rethinkdb-driver -spec: - ports: - - port: 28015 - targetPort: 28015 - selector: - db: rethinkdb diff --git a/examples/storage/rethinkdb/gen-pod.sh b/examples/storage/rethinkdb/gen-pod.sh deleted file mode 100755 index 90a44f2300..0000000000 --- a/examples/storage/rethinkdb/gen-pod.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -o errexit -set -o nounset -set -o pipefail - -: ${VERSION:=1.16.0} - -readonly NAME=${1-} -if [[ -z "${NAME}" ]]; then - echo -e "\033[1;31mName must be specified\033[0m" - exit 1 -fi - -ADMIN="" -if [[ ${NAME} == "admin" ]]; then - ADMIN="role: admin" -fi - -NODE="" -# One needs to label a node with the same key/value pair, -# i.e., 'kubectl label nodes name=${2}' -if [[ ! -z "${2-}" ]]; then - NODE="nodeSelector: { name: ${2} }" -fi - -cat << EOF -apiVersion: v1 -kind: Pod -metadata: - labels: - ${ADMIN} - db: rethinkdb - name: rethinkdb-${NAME}-${VERSION} - namespace: rethinkdb -spec: - containers: - - image: antmanler/rethinkdb:${VERSION} - name: rethinkdb - ports: - - containerPort: 8080 - name: admin-port - protocol: TCP - - containerPort: 28015 - name: driver-port - protocol: TCP - - containerPort: 29015 - name: cluster-port - protocol: TCP - volumeMounts: - - mountPath: /data/rethinkdb_data - name: rethinkdb-storage - ${NODE} - restartPolicy: Always - volumes: - - hostPath: - path: /data/db/rethinkdb - name: rethinkdb-storage -EOF diff --git a/examples/storage/rethinkdb/image/Dockerfile b/examples/storage/rethinkdb/image/Dockerfile deleted file mode 100644 index ff650cd249..0000000000 --- a/examples/storage/rethinkdb/image/Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM rethinkdb:1.16.0 - - -RUN apt-get update && \ - apt-get install -yq curl && \ - rm -rf /var/cache/apt/* && rm -rf /var/lib/apt/lists/* && \ - curl -L http://stedolan.github.io/jq/download/linux64/jq > /usr/bin/jq && \ - chmod u+x /usr/bin/jq - -COPY ./run.sh /usr/bin/run.sh -RUN chmod u+x /usr/bin/run.sh - -CMD "/usr/bin/run.sh" diff --git a/examples/storage/rethinkdb/image/run.sh b/examples/storage/rethinkdb/image/run.sh deleted file mode 100644 index 607eb59edc..0000000000 --- a/examples/storage/rethinkdb/image/run.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -o pipefail - -echo Checking for other nodes -IP="" -if [[ -n "${KUBERNETES_SERVICE_HOST}" ]]; then - - POD_NAMESPACE=${POD_NAMESPACE:-default} - MYHOST=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/') - echo My host: ${MYHOST} - - URL="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}/api/v1/namespaces/${POD_NAMESPACE}/endpoints/rethinkdb-driver" - echo "Endpont url: ${URL}" - echo "Looking for IPs..." - token=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token) - # try to pick up first different ip from endpoints - IP=$(curl -s ${URL} --cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt --header "Authorization: Bearer ${token}" \ - | jq -s -r --arg h "${MYHOST}" '.[0].subsets | .[].addresses | [ .[].ip ] | map(select(. != $h)) | .[0]') || exit 1 - [[ "${IP}" == null ]] && IP="" -fi - -if [[ -n "${IP}" ]]; then - ENDPOINT="${IP}:29015" - echo "Join to ${ENDPOINT}" - exec rethinkdb --bind all --join ${ENDPOINT} -else - echo "Start single instance" - exec rethinkdb --bind all -fi diff --git a/examples/storage/rethinkdb/rc.yaml b/examples/storage/rethinkdb/rc.yaml deleted file mode 100644 index 23becb6e88..0000000000 --- a/examples/storage/rethinkdb/rc.yaml +++ /dev/null @@ -1,38 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - labels: - db: rethinkdb - name: rethinkdb-rc -spec: - replicas: 1 - selector: - db: rethinkdb - role: replicas - template: - metadata: - labels: - db: rethinkdb - role: replicas - spec: - containers: - - image: k8s.gcr.io/rethinkdb:1.16.0_1 - name: rethinkdb - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: admin-port - - containerPort: 28015 - name: driver-port - - containerPort: 29015 - name: cluster-port - volumeMounts: - - mountPath: /data/rethinkdb_data - name: rethinkdb-storage - volumes: - - name: rethinkdb-storage - emptyDir: {} diff --git a/examples/storage/vitess/README.md b/examples/storage/vitess/README.md deleted file mode 100644 index 6b350d8e51..0000000000 --- a/examples/storage/vitess/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/storage/vitess/README.md](https://github.com/kubernetes/examples/blob/master/staging/storage/vitess/README.md) diff --git a/examples/storage/vitess/configure.sh b/examples/storage/vitess/configure.sh deleted file mode 100755 index 7166c7fbb9..0000000000 --- a/examples/storage/vitess/configure.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This script generates config.sh, which is a site-local config file that is not -# checked into source control. - -# Select and configure Backup Storage Implementation. -storage=gcs -read -p "Backup Storage (file, gcs) [gcs]: " -if [ -n "$REPLY" ]; then storage="$REPLY"; fi - -case "$storage" in -gcs) - # Google Cloud Storage - project=$(gcloud config list project | grep 'project\s*=' | sed -r 's/^.*=\s*(.*)$/\1/') - read -p "Google Developers Console Project [$project]: " - if [ -n "$REPLY" ]; then project="$REPLY"; fi - if [ -z "$project" ]; then - echo "ERROR: Project name must not be empty." - exit 1 - fi - - read -p "Google Cloud Storage bucket for Vitess backups: " bucket - if [ -z "$bucket" ]; then - echo "ERROR: Bucket name must not be empty." - exit 1 - fi - echo - echo "NOTE: If you haven't already created this bucket, you can do so by running:" - echo " gsutil mb gs://$bucket" - echo - - backup_flags=$(echo -backup_storage_implementation gcs \ - -gcs_backup_storage_project "'$project'" \ - -gcs_backup_storage_bucket "'$bucket'") - ;; -file) - # Mounted volume (e.g. NFS) - read -p "Root directory for backups (usually an NFS mount): " file_root - if [ -z "$file_root" ]; then - echo "ERROR: Root directory must not be empty." - exit 1 - fi - echo - echo "NOTE: You must add your NFS mount to the vtctld-controller-template" - echo " and vttablet-pod-template as described in the Kubernetes docs:" - echo " http://kubernetes.io/v1.0/docs/user-guide/volumes.html#nfs" - echo - - backup_flags=$(echo -backup_storage_implementation file \ - -file_backup_storage_root "'$file_root'") - ;; -*) - echo "ERROR: Unsupported backup storage implementation: $storage" - exit 1 -esac - -echo "Saving config.sh..." -echo "backup_flags=\"$backup_flags\"" > config.sh - diff --git a/examples/storage/vitess/create_test_table.sql b/examples/storage/vitess/create_test_table.sql deleted file mode 100644 index 0a6ef36090..0000000000 --- a/examples/storage/vitess/create_test_table.sql +++ /dev/null @@ -1,8 +0,0 @@ -CREATE TABLE messages ( - page BIGINT(20) UNSIGNED, - time_created_ns BIGINT(20) UNSIGNED, - keyspace_id BIGINT(20) UNSIGNED, - message VARCHAR(10000), - PRIMARY KEY (page, time_created_ns) -) ENGINE=InnoDB - diff --git a/examples/storage/vitess/env.sh b/examples/storage/vitess/env.sh deleted file mode 100644 index 49b06c8007..0000000000 --- a/examples/storage/vitess/env.sh +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This is an include file used by the other scripts in this directory. - -# Most clusters will just be accessed with 'kubectl' on $PATH. -# However, some might require a different command. For example, GKE required -# KUBECTL='gcloud beta container kubectl' for a while. Now that most of our -# use cases just need KUBECTL=kubectl, we'll make that the default. -KUBECTL=${KUBECTL:-kubectl} - -# This should match the nodePort in vtctld-service.yaml -VTCTLD_PORT=${VTCTLD_PORT:-30001} - -# Customizable parameters -SHARDS=${SHARDS:-'-80,80-'} -TABLETS_PER_SHARD=${TABLETS_PER_SHARD:-2} -RDONLY_COUNT=${RDONLY_COUNT:-0} -MAX_TASK_WAIT_RETRIES=${MAX_TASK_WAIT_RETRIES:-300} -MAX_VTTABLET_TOPO_WAIT_RETRIES=${MAX_VTTABLET_TOPO_WAIT_RETRIES:-180} -VTTABLET_TEMPLATE=${VTTABLET_TEMPLATE:-'vttablet-pod-template.yaml'} -VTGATE_TEMPLATE=${VTGATE_TEMPLATE:-'vtgate-controller-template.yaml'} -VTGATE_COUNT=${VTGATE_COUNT:-1} -CELLS=${CELLS:-'test'} -ETCD_REPLICAS=3 - -VTGATE_REPLICAS=$VTGATE_COUNT - -# Get the ExternalIP of any node. -get_node_ip() { - $KUBECTL get -o template -t '{{range (index .items 0).status.addresses}}{{if eq .type "ExternalIP"}}{{.address}}{{end}}{{end}}' nodes -} - -# Try to find vtctld address if not provided. -get_vtctld_addr() { - if [ -z "$VTCTLD_ADDR" ]; then - node_ip=$(get_node_ip) - if [ -n "$node_ip" ]; then - VTCTLD_ADDR="$node_ip:$VTCTLD_PORT" - fi - fi - echo "$VTCTLD_ADDR" -} - -config_file=`dirname "${BASH_SOURCE}"`/config.sh -if [ ! -f $config_file ]; then - echo "Please run ./configure.sh first to generate config.sh file." - exit 1 -fi - -source $config_file - diff --git a/examples/storage/vitess/etcd-controller-template.yaml b/examples/storage/vitess/etcd-controller-template.yaml deleted file mode 100644 index dcd7980bd9..0000000000 --- a/examples/storage/vitess/etcd-controller-template.yaml +++ /dev/null @@ -1,54 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - name: etcd-{{cell}} -spec: - replicas: {{replicas}} - template: - metadata: - labels: - component: etcd - cell: {{cell}} - app: vitess - spec: - volumes: - - name: certs - hostPath: {path: /etc/ssl/certs} - containers: - - name: etcd - image: vitess/etcd:v2.0.13-lite - volumeMounts: - - name: certs - readOnly: true - mountPath: /etc/ssl/certs - resources: - limits: - memory: "128Mi" - cpu: "100m" - command: - - bash - - "-c" - - >- - ipaddr=$(hostname -i) - - global_etcd=$ETCD_GLOBAL_SERVICE_HOST:$ETCD_GLOBAL_SERVICE_PORT - - cell="{{cell}}" && - local_etcd_host_var="ETCD_${cell^^}_SERVICE_HOST" && - local_etcd_port_var="ETCD_${cell^^}_SERVICE_PORT" && - local_etcd=${!local_etcd_host_var}:${!local_etcd_port_var} - - if [ "{{cell}}" != "global" ]; then - until etcdctl -C "http://$global_etcd" - set "/vt/cells/{{cell}}" "http://$local_etcd"; do - echo "[$(date)] waiting for global etcd to register cell '{{cell}}'"; - sleep 1; - done; - fi - - etcd -name $HOSTNAME -discovery {{discovery}} - -advertise-client-urls http://$ipaddr:4001 - -initial-advertise-peer-urls http://$ipaddr:7001 - -listen-client-urls http://$ipaddr:4001 - -listen-peer-urls http://$ipaddr:7001 - diff --git a/examples/storage/vitess/etcd-down.sh b/examples/storage/vitess/etcd-down.sh deleted file mode 100755 index 1f3ca258cb..0000000000 --- a/examples/storage/vitess/etcd-down.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This is an example script that tears down the etcd servers started by -# etcd-up.sh. - -set -e - -script_root=`dirname "${BASH_SOURCE}"` -source $script_root/env.sh - -CELLS=${CELLS:-'test'} -cells=`echo $CELLS | tr ',' ' '` - -# Delete replication controllers -for cell in 'global' $cells; do - echo "Deleting etcd replicationcontroller for $cell cell..." - $KUBECTL delete replicationcontroller etcd-$cell - - echo "Deleting etcd service for $cell cell..." - $KUBECTL delete service etcd-$cell -done - diff --git a/examples/storage/vitess/etcd-service-template.yaml b/examples/storage/vitess/etcd-service-template.yaml deleted file mode 100644 index 817c3e1323..0000000000 --- a/examples/storage/vitess/etcd-service-template.yaml +++ /dev/null @@ -1,16 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: etcd-{{cell}} - labels: - component: etcd - cell: {{cell}} - app: vitess -spec: - ports: - - port: 4001 - selector: - component: etcd - cell: {{cell}} - app: vitess - diff --git a/examples/storage/vitess/etcd-up.sh b/examples/storage/vitess/etcd-up.sh deleted file mode 100755 index b97e369007..0000000000 --- a/examples/storage/vitess/etcd-up.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This is an example script that creates etcd clusters. -# Vitess requires a global cluster, as well as one for each cell. -# -# For automatic discovery, an etcd cluster can be bootstrapped from an -# existing cluster. In this example, we use an externally-run discovery -# service, but you can use your own. See the etcd docs for more: -# https://github.com/coreos/etcd/blob/v2.0.13/Documentation/clustering.md - -set -e - -script_root=`dirname "${BASH_SOURCE}"` -source $script_root/env.sh - -replicas=${ETCD_REPLICAS:-3} - -CELLS=${CELLS:-'test'} -cells=`echo $CELLS | tr ',' ' '` - -for cell in 'global' $cells; do - # Generate a discovery token. - echo "Generating discovery token for $cell cell..." - discovery=$(curl -sL https://discovery.etcd.io/new?size=$replicas) - if [ -z "$discovery" ]; then - echo "Failed to get etcd discovery token for cell '$cell'." - exit 1 - fi - - # Create the client service, which will load-balance across all replicas. - echo "Creating etcd service for $cell cell..." - cat etcd-service-template.yaml | \ - sed -e "s/{{cell}}/$cell/g" | \ - $KUBECTL create -f - - - # Expand template variables - sed_script="" - for var in cell discovery replicas; do - sed_script+="s,{{$var}},${!var},g;" - done - - # Create the replication controller. - echo "Creating etcd replicationcontroller for $cell cell..." - cat etcd-controller-template.yaml | sed -e "$sed_script" | $KUBECTL create -f - -done - diff --git a/examples/storage/vitess/guestbook-controller.yaml b/examples/storage/vitess/guestbook-controller.yaml deleted file mode 100644 index 1c5ca5a18b..0000000000 --- a/examples/storage/vitess/guestbook-controller.yaml +++ /dev/null @@ -1,23 +0,0 @@ -kind: ReplicationController -apiVersion: v1 -metadata: - name: guestbook -spec: - replicas: 3 - template: - metadata: - labels: - component: guestbook - app: vitess - spec: - containers: - - name: guestbook - image: vitess/guestbook:v2.0.0-alpha5 - ports: - - name: http-server - containerPort: 8080 - resources: - limits: - memory: "128Mi" - cpu: "100m" - diff --git a/examples/storage/vitess/guestbook-down.sh b/examples/storage/vitess/guestbook-down.sh deleted file mode 100755 index bac48ed321..0000000000 --- a/examples/storage/vitess/guestbook-down.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This is an example script that stops guestbook. - -set -e - -script_root=`dirname "${BASH_SOURCE}"` -source $script_root/env.sh - -echo "Deleting guestbook replicationcontroller..." -$KUBECTL delete replicationcontroller guestbook - -echo "Deleting guestbook service..." -$KUBECTL delete service guestbook diff --git a/examples/storage/vitess/guestbook-service.yaml b/examples/storage/vitess/guestbook-service.yaml deleted file mode 100644 index 5435f7fa80..0000000000 --- a/examples/storage/vitess/guestbook-service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: guestbook - labels: - component: guestbook - app: vitess -spec: - ports: - - port: 80 - targetPort: http-server - selector: - component: guestbook - app: vitess - type: LoadBalancer - diff --git a/examples/storage/vitess/guestbook-up.sh b/examples/storage/vitess/guestbook-up.sh deleted file mode 100755 index b3afe9f059..0000000000 --- a/examples/storage/vitess/guestbook-up.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This is an example script that starts a guestbook replicationcontroller. - -set -e - -script_root=`dirname "${BASH_SOURCE}"` -source $script_root/env.sh - -echo "Creating guestbook service..." -$KUBECTL create -f guestbook-service.yaml - -echo "Creating guestbook replicationcontroller..." -$KUBECTL create -f guestbook-controller.yaml diff --git a/examples/storage/vitess/vitess-down.sh b/examples/storage/vitess/vitess-down.sh deleted file mode 100755 index dc3884a35d..0000000000 --- a/examples/storage/vitess/vitess-down.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -script_root=`dirname "${BASH_SOURCE}"` -source $script_root/env.sh - -./vtgate-down.sh -SHARDS=$SHARDS CELLS=$CELLS TABLETS_PER_SHARD=$TABLETS_PER_SHARD ./vttablet-down.sh -./vtctld-down.sh -./etcd-down.sh diff --git a/examples/storage/vitess/vitess-up.sh b/examples/storage/vitess/vitess-up.sh deleted file mode 100755 index 4add4ee7e1..0000000000 --- a/examples/storage/vitess/vitess-up.sh +++ /dev/null @@ -1,165 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This is an example script that creates a fully functional vitess cluster. -# It performs the following steps: -# - Create etcd clusters -# - Create vtctld pod -# - Create vttablet pods -# - Perform vtctl initialization: -# SetKeyspaceShardingInfo, Rebuild Keyspace, Reparent Shard, Apply Schema -# - Create vtgate pods - -script_root=`dirname "${BASH_SOURCE}"` -source $script_root/env.sh - -cells=`echo $CELLS | tr ',' ' '` -num_cells=`echo $cells | wc -w` - -function update_spinner_value () { - spinner='-\|/' - cur_spinner=${spinner:$(($1%${#spinner})):1} -} - -function wait_for_running_tasks () { - # This function waits for pods to be in the "Running" state - # 1. task_name: Name that the desired task begins with - # 2. num_tasks: Number of tasks to wait for - # Returns: - # 0 if successful, -1 if timed out - task_name=$1 - num_tasks=$2 - counter=0 - - echo "Waiting for ${num_tasks}x $task_name to enter state Running" - - while [ $counter -lt $MAX_TASK_WAIT_RETRIES ]; do - # Get status column of pods with name starting with $task_name, - # count how many are in state Running - num_running=`$KUBECTL get pods | grep ^$task_name | grep Running | wc -l` - - echo -en "\r$task_name: $num_running out of $num_tasks in state Running..." - if [ $num_running -eq $num_tasks ] - then - echo Complete - return 0 - fi - update_spinner_value $counter - echo -n $cur_spinner - let counter=counter+1 - sleep 1 - done - echo Timed out - return -1 -} - -if [ -z "$GOPATH" ]; then - echo "ERROR: GOPATH undefined, can't obtain vtctlclient" - exit -1 -fi - -export KUBECTL='kubectl' - -echo "Downloading and installing vtctlclient..." -go get -u github.com/youtube/vitess/go/cmd/vtctlclient -num_shards=`echo $SHARDS | tr "," " " | wc -w` -total_tablet_count=$(($num_shards*$TABLETS_PER_SHARD*$num_cells)) -vtgate_count=$VTGATE_COUNT -if [ $vtgate_count -eq 0 ]; then - vtgate_count=$(($total_tablet_count/4>3?$total_tablet_count/4:3)) -fi - -echo "****************************" -echo "*Creating vitess cluster:" -echo "* Shards: $SHARDS" -echo "* Tablets per shard: $TABLETS_PER_SHARD" -echo "* Rdonly per shard: $RDONLY_COUNT" -echo "* VTGate count: $vtgate_count" -echo "* Cells: $cells" -echo "****************************" - -echo 'Running etcd-up.sh' && CELLS=$CELLS ./etcd-up.sh -wait_for_running_tasks etcd-global 3 -for cell in $cells; do - wait_for_running_tasks etcd-$cell 3 -done - -echo 'Running vtctld-up.sh' && ./vtctld-up.sh -echo 'Running vttablet-up.sh' && CELLS=$CELLS ./vttablet-up.sh -echo 'Running vtgate-up.sh' && ./vtgate-up.sh - -wait_for_running_tasks vtctld 1 -wait_for_running_tasks vttablet $total_tablet_count -wait_for_running_tasks vtgate $vtgate_count - -vtctld_port=30001 -vtctld_ip=`kubectl get -o yaml nodes | grep 'type: ExternalIP' -B 1 | head -1 | awk '{print $NF}'` -vtctl_server="$vtctld_ip:$vtctld_port" -kvtctl="$GOPATH/bin/vtctlclient -server $vtctl_server" - -echo Waiting for tablets to be visible in the topology -counter=0 -while [ $counter -lt $MAX_VTTABLET_TOPO_WAIT_RETRIES ]; do - num_tablets=0 - for cell in $cells; do - num_tablets=$(($num_tablets+`$kvtctl ListAllTablets $cell | wc -l`)) - done - echo -en "\r$num_tablets out of $total_tablet_count in topology..." - if [ $num_tablets -eq $total_tablet_count ] - then - echo Complete - break - fi - update_spinner_value $counter - echo -n $cur_spinner - let counter=counter+1 - sleep 1 - if [ $counter -eq $MAX_VTTABLET_TOPO_WAIT_RETRIES ] - then - echo Timed out - fi -done - -# split_shard_count = num_shards for sharded keyspace, 0 for unsharded -split_shard_count=$num_shards -if [ $split_shard_count -eq 1 ]; then - split_shard_count=0 -fi - -echo -n Setting Keyspace Sharding Info... -$kvtctl SetKeyspaceShardingInfo -force -split_shard_count $split_shard_count test_keyspace keyspace_id uint64 -echo Done -echo -n Rebuilding Keyspace Graph... -$kvtctl RebuildKeyspaceGraph test_keyspace -echo Done -echo -n Reparenting... -shard_num=1 -for shard in $(echo $SHARDS | tr "," " "); do - $kvtctl InitShardMaster -force test_keyspace/$shard `echo $cells | awk '{print $1}'`-0000000${shard_num}00 - let shard_num=shard_num+1 -done -echo Done -echo -n Applying Schema... -$kvtctl ApplySchema -sql "$(cat create_test_table.sql)" test_keyspace -echo Done - -echo "****************************" -echo "* Complete!" -echo "* Use the following line to make an alias to kvtctl:" -echo "* alias kvtctl='\$GOPATH/bin/vtctlclient -server $vtctl_server'" -echo "* See the vtctld UI at: http://${vtctld_ip}:30000" -echo "****************************" - diff --git a/examples/storage/vitess/vtctld-controller-template.yaml b/examples/storage/vitess/vtctld-controller-template.yaml deleted file mode 100644 index 72fe245a21..0000000000 --- a/examples/storage/vitess/vtctld-controller-template.yaml +++ /dev/null @@ -1,55 +0,0 @@ -kind: ReplicationController -apiVersion: v1 -metadata: - name: vtctld -spec: - replicas: 1 - template: - metadata: - labels: - component: vtctld - app: vitess - spec: - containers: - - name: vtctld - image: vitess/lite:v2.0.0-alpha5 - volumeMounts: - - name: syslog - mountPath: /dev/log - - name: vtdataroot - mountPath: /vt/vtdataroot - - name: certs - readOnly: true - mountPath: /etc/ssl/certs - resources: - limits: - memory: "128Mi" - cpu: "100m" - command: - - sh - - "-c" - - >- - mkdir -p $VTDATAROOT/tmp && - chown -R vitess /vt && - su -p -c "/vt/bin/vtctld - -debug - -templates $VTTOP/go/cmd/vtctld/templates - -web_dir $VTTOP/web/vtctld - -log_dir $VTDATAROOT/tmp - -alsologtostderr - -port 15000 - -grpc_port 15001 - -service_map 'grpc-vtctl' - -topo_implementation etcd - -tablet_protocol grpc - -tablet_manager_protocol grpc - -etcd_global_addrs http://$ETCD_GLOBAL_SERVICE_HOST:$ETCD_GLOBAL_SERVICE_PORT - {{backup_flags}}" vitess - volumes: - - name: syslog - hostPath: {path: /dev/log} - - name: vtdataroot - emptyDir: {} - - name: certs - hostPath: {path: /etc/ssl/certs} - diff --git a/examples/storage/vitess/vtctld-down.sh b/examples/storage/vitess/vtctld-down.sh deleted file mode 100755 index d5a0dfb186..0000000000 --- a/examples/storage/vitess/vtctld-down.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This is an example script that stops vtctld. - -set -e - -script_root=`dirname "${BASH_SOURCE}"` -source $script_root/env.sh - -echo "Deleting vtctld replicationcontroller..." -$KUBECTL delete replicationcontroller vtctld - -echo "Deleting vtctld service..." -$KUBECTL delete service vtctld diff --git a/examples/storage/vitess/vtctld-service.yaml b/examples/storage/vitess/vtctld-service.yaml deleted file mode 100644 index 70d619a873..0000000000 --- a/examples/storage/vitess/vtctld-service.yaml +++ /dev/null @@ -1,22 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: vtctld - labels: - component: vtctld - app: vitess -spec: - ports: - - port: 15000 - name: web - targetPort: 15000 - nodePort: 30000 - - port: 15001 - name: grpc - targetPort: 15001 - nodePort: 30001 - selector: - component: vtctld - app: vitess - type: NodePort - diff --git a/examples/storage/vitess/vtctld-up.sh b/examples/storage/vitess/vtctld-up.sh deleted file mode 100755 index 257b2d7730..0000000000 --- a/examples/storage/vitess/vtctld-up.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This is an example script that starts vtctld. - -set -e - -script_root=`dirname "${BASH_SOURCE}"` -source $script_root/env.sh - -echo "Creating vtctld service..." -$KUBECTL create -f vtctld-service.yaml - -echo "Creating vtctld replicationcontroller..." -# Expand template variables -sed_script="" -for var in backup_flags; do - sed_script+="s,{{$var}},${!var},g;" -done - -# Instantiate template and send to kubectl. -cat vtctld-controller-template.yaml | sed -e "$sed_script" | $KUBECTL create -f - - -server=$(get_vtctld_addr) -echo -echo "vtctld address: http://$server" - diff --git a/examples/storage/vitess/vtgate-controller-template.yaml b/examples/storage/vitess/vtgate-controller-template.yaml deleted file mode 100644 index 03c9665b2d..0000000000 --- a/examples/storage/vitess/vtgate-controller-template.yaml +++ /dev/null @@ -1,45 +0,0 @@ -kind: ReplicationController -apiVersion: v1 -metadata: - name: vtgate -spec: - replicas: {{replicas}} - template: - metadata: - labels: - component: vtgate - app: vitess - spec: - containers: - - name: vtgate - image: vitess/lite:v2.0.0-alpha5 - volumeMounts: - - name: syslog - mountPath: /dev/log - - name: vtdataroot - mountPath: /vt/vtdataroot - resources: - limits: - memory: "512Mi" - cpu: "500m" - command: - - sh - - "-c" - - >- - mkdir -p $VTDATAROOT/tmp && - chown -R vitess /vt && - su -p -c "/vt/bin/vtgate - -topo_implementation etcd - -etcd_global_addrs http://$ETCD_GLOBAL_SERVICE_HOST:$ETCD_GLOBAL_SERVICE_PORT - -log_dir $VTDATAROOT/tmp - -alsologtostderr - -port 15001 - -tablet_protocol grpc - -service_map 'bsonrpc-vt-vtgateservice' - -cell test" vitess - volumes: - - name: syslog - hostPath: {path: /dev/log} - - name: vtdataroot - emptyDir: {} - diff --git a/examples/storage/vitess/vtgate-down.sh b/examples/storage/vitess/vtgate-down.sh deleted file mode 100755 index cf72e840b4..0000000000 --- a/examples/storage/vitess/vtgate-down.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This is an example script that stops vtgate. - -set -e - -script_root=`dirname "${BASH_SOURCE}"` -source $script_root/env.sh - -echo "Deleting vtgate replicationcontroller..." -$KUBECTL delete replicationcontroller vtgate - -echo "Deleting vtgate service..." -$KUBECTL delete service vtgate diff --git a/examples/storage/vitess/vtgate-service.yaml b/examples/storage/vitess/vtgate-service.yaml deleted file mode 100644 index 192968aa2d..0000000000 --- a/examples/storage/vitess/vtgate-service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: vtgate - labels: - component: vtgate - app: vitess -spec: - ports: - - port: 15001 - selector: - component: vtgate - app: vitess - type: LoadBalancer - diff --git a/examples/storage/vitess/vtgate-up.sh b/examples/storage/vitess/vtgate-up.sh deleted file mode 100755 index b7e327cc60..0000000000 --- a/examples/storage/vitess/vtgate-up.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This is an example script that starts a vtgate replicationcontroller. - -set -e - -script_root=`dirname "${BASH_SOURCE}"` -source $script_root/env.sh - -VTGATE_REPLICAS=${VTGATE_REPLICAS:-3} -VTGATE_TEMPLATE=${VTGATE_TEMPLATE:-'vtgate-controller-template.yaml'} - -replicas=$VTGATE_REPLICAS - -echo "Creating vtgate service..." -$KUBECTL create -f vtgate-service.yaml - -sed_script="" -for var in replicas; do - sed_script+="s,{{$var}},${!var},g;" -done - -echo "Creating vtgate replicationcontroller..." -cat $VTGATE_TEMPLATE | sed -e "$sed_script" | $KUBECTL create -f - diff --git a/examples/storage/vitess/vttablet-down.sh b/examples/storage/vitess/vttablet-down.sh deleted file mode 100755 index 0683f1f7de..0000000000 --- a/examples/storage/vitess/vttablet-down.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This is an example script that tears down the vttablet pods started by -# vttablet-up.sh. - -set -e - -script_root=`dirname "${BASH_SOURCE}"` -source $script_root/env.sh - -server=$(get_vtctld_addr) - -# Delete the pods for all shards -CELLS=${CELLS:-'test'} -keyspace='test_keyspace' -SHARDS=${SHARDS:-'0'} -TABLETS_PER_SHARD=${TABLETS_PER_SHARD:-5} -UID_BASE=${UID_BASE:-100} - -num_shards=`echo $SHARDS | tr "," " " | wc -w` -uid_base=$UID_BASE - -for shard in `seq 1 $num_shards`; do - cell_index=0 - for cell in `echo $CELLS | tr "," " "`; do - for uid_index in `seq 0 $(($TABLETS_PER_SHARD-1))`; do - uid=$[$uid_base + $uid_index + $cell_index] - printf -v alias '%s-%010d' $cell $uid - - echo "Deleting pod for tablet $alias..." - $KUBECTL delete pod vttablet-$uid - done - let cell_index=cell_index+100000000 - done - let uid_base=uid_base+100 -done - diff --git a/examples/storage/vitess/vttablet-pod-template.yaml b/examples/storage/vitess/vttablet-pod-template.yaml deleted file mode 100644 index d3d097e8fc..0000000000 --- a/examples/storage/vitess/vttablet-pod-template.yaml +++ /dev/null @@ -1,128 +0,0 @@ -kind: Pod -apiVersion: v1 -metadata: - name: vttablet-{{uid}} - labels: - component: vttablet - keyspace: "{{keyspace}}" - shard: "{{shard_label}}" - tablet: "{{alias}}" - app: vitess -spec: - containers: - - name: vttablet - image: vitess/lite:v2.0.0-alpha5 - volumeMounts: - - name: syslog - mountPath: /dev/log - - name: vtdataroot - mountPath: /vt/vtdataroot - - name: certs - readOnly: true - mountPath: /etc/ssl/certs - resources: - limits: - memory: "1Gi" - cpu: "500m" - command: - - bash - - "-c" - - >- - set -e - - mysql_socket="$VTDATAROOT/{{tablet_subdir}}/mysql.sock" - - mkdir -p $VTDATAROOT/tmp - - chown -R vitess /vt - - while [ ! -e $mysql_socket ]; do - echo "[$(date)] waiting for $mysql_socket" ; - sleep 1 ; - done - - su -p -s /bin/bash -c "mysql -u vt_dba -S $mysql_socket - -e 'CREATE DATABASE IF NOT EXISTS vt_{{keyspace}}'" vitess - - su -p -s /bin/bash -c "/vt/bin/vttablet - -topo_implementation etcd - -etcd_global_addrs http://$ETCD_GLOBAL_SERVICE_HOST:$ETCD_GLOBAL_SERVICE_PORT - -log_dir $VTDATAROOT/tmp - -alsologtostderr - -port {{port}} - -grpc_port {{grpc_port}} - -service_map 'grpc-queryservice,grpc-tabletmanager,grpc-updatestream' - -binlog_player_protocol grpc - -tablet-path {{alias}} - -tablet_hostname $(hostname -i) - -init_keyspace {{keyspace}} - -init_shard {{shard}} - -target_tablet_type {{tablet_type}} - -mysqlctl_socket $VTDATAROOT/mysqlctl.sock - -db-config-app-uname vt_app - -db-config-app-dbname vt_{{keyspace}} - -db-config-app-charset utf8 - -db-config-dba-uname vt_dba - -db-config-dba-dbname vt_{{keyspace}} - -db-config-dba-charset utf8 - -db-config-repl-uname vt_repl - -db-config-repl-dbname vt_{{keyspace}} - -db-config-repl-charset utf8 - -db-config-filtered-uname vt_filtered - -db-config-filtered-dbname vt_{{keyspace}} - -db-config-filtered-charset utf8 - -enable-rowcache - -rowcache-bin /usr/bin/memcached - -rowcache-socket $VTDATAROOT/{{tablet_subdir}}/memcache.sock - -health_check_interval 5s - -restore_from_backup {{backup_flags}}" vitess - - name: mysql - image: vitess/lite:v2.0.0-alpha5 - volumeMounts: - - name: syslog - mountPath: /dev/log - - name: vtdataroot - mountPath: /vt/vtdataroot - resources: - limits: - memory: "1Gi" - cpu: "500m" - command: - - sh - - "-c" - - >- - mkdir -p $VTDATAROOT/tmp && - chown -R vitess /vt - - su -p -c "/vt/bin/mysqlctld - -log_dir $VTDATAROOT/tmp - -alsologtostderr - -tablet_uid {{uid}} - -socket_file $VTDATAROOT/mysqlctl.sock - -db-config-app-uname vt_app - -db-config-app-dbname vt_{{keyspace}} - -db-config-app-charset utf8 - -db-config-dba-uname vt_dba - -db-config-dba-dbname vt_{{keyspace}} - -db-config-dba-charset utf8 - -db-config-repl-uname vt_repl - -db-config-repl-dbname vt_{{keyspace}} - -db-config-repl-charset utf8 - -db-config-filtered-uname vt_filtered - -db-config-filtered-dbname vt_{{keyspace}} - -db-config-filtered-charset utf8 - -bootstrap_archive mysql-db-dir_10.0.13-MariaDB.tbz" vitess - # The bootstrap archive above contains an empty mysql data dir - # with user permissions set up as required by Vitess. The archive is - # included in the Docker image. - env: - - name: EXTRA_MY_CNF - value: /vt/config/mycnf/master_mariadb.cnf - volumes: - - name: syslog - hostPath: {path: /dev/log} - - name: vtdataroot - emptyDir: {} - - name: certs - hostPath: {path: /etc/ssl/certs} - diff --git a/examples/storage/vitess/vttablet-up.sh b/examples/storage/vitess/vttablet-up.sh deleted file mode 100755 index 231b7589bc..0000000000 --- a/examples/storage/vitess/vttablet-up.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This is an example script that creates a vttablet deployment. - -set -e - -script_root=`dirname "${BASH_SOURCE}"` -source $script_root/env.sh - -# Create the pods for shard-0 -CELLS=${CELLS:-'test'} -keyspace='test_keyspace' -SHARDS=${SHARDS:-'0'} -TABLETS_PER_SHARD=${TABLETS_PER_SHARD:-5} -port=15002 -grpc_port=16002 -UID_BASE=${UID_BASE:-100} -VTTABLET_TEMPLATE=${VTTABLET_TEMPLATE:-'vttablet-pod-template.yaml'} -RDONLY_COUNT=${RDONLY_COUNT:-2} - -uid_base=$UID_BASE -for shard in $(echo $SHARDS | tr "," " "); do - cell_index=0 - for cell in `echo $CELLS | tr ',' ' '`; do - echo "Creating $keyspace.shard-$shard pods in cell $CELL..." - for uid_index in `seq 0 $(($TABLETS_PER_SHARD-1))`; do - uid=$[$uid_base + $uid_index + $cell_index] - printf -v alias '%s-%010d' $cell $uid - printf -v tablet_subdir 'vt_%010d' $uid - - echo "Creating pod for tablet $alias..." - - # Add xx to beginning or end if there is a dash. K8s does not allow for - # leading or trailing dashes for labels - shard_label=`echo $shard | sed s'/[-]$/-xx/' | sed s'/^-/xx-/'` - - tablet_type=replica - if [ $uid_index -gt $(($TABLETS_PER_SHARD-$RDONLY_COUNT-1)) ]; then - tablet_type=rdonly - fi - - # Expand template variables - sed_script="" - for var in alias cell uid keyspace shard shard_label port grpc_port tablet_subdir tablet_type backup_flags; do - sed_script+="s,{{$var}},${!var},g;" - done - - # Instantiate template and send to kubectl. - cat $VTTABLET_TEMPLATE | sed -e "$sed_script" | $KUBECTL create -f - - done - let cell_index=cell_index+100000000 - done - let uid_base=uid_base+100 -done diff --git a/examples/storm/README.md b/examples/storm/README.md deleted file mode 100644 index 0867b35f18..0000000000 --- a/examples/storm/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/storm/README.md](https://github.com/kubernetes/examples/blob/master/staging/storm/README.md) diff --git a/examples/storm/storm-nimbus-service.json b/examples/storm/storm-nimbus-service.json deleted file mode 100644 index 2a8f71349f..0000000000 --- a/examples/storm/storm-nimbus-service.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "kind": "Service", - "apiVersion": "v1", - "metadata": { - "name": "nimbus", - "labels": { - "name": "nimbus" - } - }, - "spec": { - "ports": [ - { - "port": 6627 - } - ], - "selector": { - "name": "nimbus" - } - } -} diff --git a/examples/storm/storm-nimbus.json b/examples/storm/storm-nimbus.json deleted file mode 100644 index e9a2f927a8..0000000000 --- a/examples/storm/storm-nimbus.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "kind": "Pod", - "apiVersion": "v1", - "metadata": { - "name": "nimbus", - "labels": { - "name": "nimbus" - } - }, - "spec": { - "containers": [ - { - "name": "nimbus", - "image": "mattf/storm-nimbus", - "ports": [ - { - "containerPort": 6627 - } - ], - "resources": { - "limits": { - "cpu": "100m" - } - } - } - ] - } -} diff --git a/examples/storm/storm-worker-controller.json b/examples/storm/storm-worker-controller.json deleted file mode 100644 index 0806b27454..0000000000 --- a/examples/storm/storm-worker-controller.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "kind": "ReplicationController", - "apiVersion": "v1", - "metadata": { - "name": "storm-worker-controller", - "labels": { - "name": "storm-worker" - } - }, - "spec": { - "replicas": 2, - "selector": { - "name": "storm-worker" - }, - "template": { - "metadata": { - "labels": { - "name": "storm-worker", - "uses": "nimbus" - } - }, - "spec": { - "containers": [ - { - "name": "storm-worker", - "image": "mattf/storm-worker", - "ports": [ - { - "hostPort": 6700, - "containerPort": 6700 - }, - { - "hostPort": 6701, - "containerPort": 6701 - }, - { - "hostPort": 6702, - "containerPort": 6702 - }, - { - "hostPort": 6703, - "containerPort": 6703 - } - ], - "resources": { - "limits": { - "cpu": "200m" - } - } - } - ] - } - } - } -} diff --git a/examples/storm/zookeeper-service.json b/examples/storm/zookeeper-service.json deleted file mode 100644 index bbfc515bd7..0000000000 --- a/examples/storm/zookeeper-service.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "kind": "Service", - "apiVersion": "v1", - "metadata": { - "name": "zookeeper", - "labels": { - "name": "zookeeper" - } - }, - "spec": { - "ports": [ - { - "port": 2181 - } - ], - "selector": { - "name": "zookeeper" - } - } -} diff --git a/examples/storm/zookeeper.json b/examples/storm/zookeeper.json deleted file mode 100644 index 89b82b7bca..0000000000 --- a/examples/storm/zookeeper.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "kind": "Pod", - "apiVersion": "v1", - "metadata": { - "name": "zookeeper", - "labels": { - "name": "zookeeper" - } - }, - "spec": { - "containers": [ - { - "name": "zookeeper", - "image": "mattf/zookeeper", - "ports": [ - { - "containerPort": 2181 - } - ], - "resources": { - "limits": { - "cpu": "100m" - } - } - } - ] - } -} diff --git a/examples/sysdig-cloud/README.md b/examples/sysdig-cloud/README.md deleted file mode 100644 index 23678fe16a..0000000000 --- a/examples/sysdig-cloud/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/sysdig-cloud/README.md](https://github.com/kubernetes/examples/blob/master/staging/sysdig-cloud/README.md) diff --git a/examples/sysdig-cloud/sysdig-daemonset.yaml b/examples/sysdig-cloud/sysdig-daemonset.yaml deleted file mode 100644 index 3cfd4a54f8..0000000000 --- a/examples/sysdig-cloud/sysdig-daemonset.yaml +++ /dev/null @@ -1,73 +0,0 @@ -#Use this sysdig.yaml when Daemon Sets are enabled on Kubernetes (minimum version 1.1.1). Otherwise use the RC method. - -apiVersion: extensions/v1beta1 -kind: DaemonSet -metadata: - name: sysdig-agent - labels: - app: sysdig-agent -spec: - template: - metadata: - labels: - name: sysdig-agent - spec: - volumes: - - name: docker-sock - hostPath: - path: /var/run/docker.sock - type: Socket - - name: dev-vol - hostPath: - path: /dev - - name: proc-vol - hostPath: - path: /proc - - name: boot-vol - hostPath: - path: /boot - - name: modules-vol - hostPath: - path: /lib/modules - - name: usr-vol - hostPath: - path: /usr - hostNetwork: true - hostPID: true - containers: - - name: sysdig-agent - image: sysdig/agent - securityContext: - privileged: true - env: - - name: ACCESS_KEY #REQUIRED - replace with your Sysdig Cloud access key - value: 8312341g-5678-abcd-4a2b2c-33bcsd655 -# - name: TAGS #OPTIONAL -# value: linux:ubuntu,dept:dev,local:nyc -# - name: COLLECTOR #OPTIONAL - on-prem install only -# value: 192.168.183.200 -# - name: SECURE #OPTIONAL - on-prem install only -# value: false -# - name: CHECK_CERTIFICATE #OPTIONAL - on-prem install only -# value: false -# - name: ADDITIONAL_CONF #OPTIONAL pass additional parameters to the agent such as authentication example provided here -# value: "k8s_uri: https://myacct:mypass@localhost:4430\nk8s_ca_certificate: k8s-ca.crt\nk8s_ssl_verify_certificate: true" - volumeMounts: - - mountPath: /host/var/run/docker.sock - name: docker-sock - readOnly: false - - mountPath: /host/dev - name: dev-vol - readOnly: false - - mountPath: /host/proc - name: proc-vol - readOnly: true - - mountPath: /host/boot - name: boot-vol - readOnly: true - - mountPath: /host/lib/modules - name: modules-vol - readOnly: true - - mountPath: /host/usr - name: usr-vol - readOnly: true diff --git a/examples/sysdig-cloud/sysdig-rc.yaml b/examples/sysdig-cloud/sysdig-rc.yaml deleted file mode 100644 index dfef08de1a..0000000000 --- a/examples/sysdig-cloud/sysdig-rc.yaml +++ /dev/null @@ -1,78 +0,0 @@ -#Use this sysdig.yaml when Daemon Sets are NOT enabled on Kubernetes (minimum version 1.1.1). If Daemon Sets are available, use the other example sysdig.yaml - that is the recommended method. - -apiVersion: v1 -kind: ReplicationController -metadata: - name: sysdig-agent - labels: - app: sysdig-agent -spec: - replicas: 100 #REQUIRED - replace with the maximum number of slave nodes in the cluster - template: - spec: - volumes: - - name: docker-sock - hostPath: - path: /var/run/docker.sock - type: Socket - - name: dev-vol - hostPath: - path: /dev - - name: proc-vol - hostPath: - path: /proc - - name: boot-vol - hostPath: - path: /boot - - name: modules-vol - hostPath: - path: /lib/modules - - name: usr-vol - hostPath: - path: /usr - hostNetwork: true - hostPID: true - containers: - - name: sysdig-agent - image: sysdig/agent - ports: - - containerPort: 6666 - hostPort: 6666 - securityContext: - privileged: true - env: - - name: ACCESS_KEY #REQUIRED - replace with your Sysdig Cloud access key - value: 8312341g-5678-abcd-4a2b2c-33bcsd655 -# - name: K8S_DELEGATED_NODE #OPTIONAL - only necessary when connecting remotely to API server -# value: -# - name: K8S_API_URI #OPTIONAL - only necessary when connecting remotely to API server -# value: "http[s]://[username:passwd@]host[:port]" -# - name: TAGS #OPTIONAL -# value: linux:ubuntu,dept:dev,local:nyc -# - name: COLLECTOR #OPTIONAL -# value: 192.168.183.200 -# - name: SECURE #OPTIONAL -# value: false -# - name: CHECK_CERTIFICATE #OPTIONAL -# value: false -# - name: ADDITIONAL_CONF #OPTIONAL -# value: "app_checks:\n - name: nginx\n check_module: nginx\n pattern:\n comm: nginx\n conf:\n nginx_status_url: "http://localhost:{port}/nginx_status\"" - volumeMounts: - - mountPath: /host/var/run/docker.sock - name: docker-sock - readOnly: false - - mountPath: /host/dev - name: dev-vol - readOnly: false - - mountPath: /host/proc - name: proc-vol - readOnly: true - - mountPath: /host/boot - name: boot-vol - readOnly: true - - mountPath: /host/lib/modules - name: modules-vol - readOnly: true - - mountPath: /host/usr - name: usr-vol - readOnly: true diff --git a/examples/volumes/aws_ebs/README.md b/examples/volumes/aws_ebs/README.md deleted file mode 100644 index 3edf78fef4..0000000000 --- a/examples/volumes/aws_ebs/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/aws_ebs/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/aws_ebs/README.md) diff --git a/examples/volumes/aws_ebs/aws-ebs-web.yaml b/examples/volumes/aws_ebs/aws-ebs-web.yaml deleted file mode 100644 index 56667f5383..0000000000 --- a/examples/volumes/aws_ebs/aws-ebs-web.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: aws-web -spec: - containers: - - name: web - image: nginx - ports: - - name: web - containerPort: 80 - protocol: tcp - volumeMounts: - - name: html-volume - mountPath: "/usr/share/nginx/html" - volumes: - - name: html-volume - awsElasticBlockStore: - # Enter the volume ID below - volumeID: volume_ID - fsType: ext4 diff --git a/examples/volumes/azure_disk/README.md b/examples/volumes/azure_disk/README.md deleted file mode 100644 index f495261e3d..0000000000 --- a/examples/volumes/azure_disk/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/azure_disk/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/azure_disk/README.md) diff --git a/examples/volumes/azure_disk/azure.yaml b/examples/volumes/azure_disk/azure.yaml deleted file mode 100644 index 04df7fb9b4..0000000000 --- a/examples/volumes/azure_disk/azure.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: azure -spec: - containers: - - image: kubernetes/pause - name: azure - volumeMounts: - - name: azure - mountPath: /mnt/azure - volumes: - - name: azure - azureDisk: - diskName: test.vhd - diskURI: https://someaccount.blob.microsoft.net/vhds/test.vhd diff --git a/examples/volumes/azure_file/README.md b/examples/volumes/azure_file/README.md deleted file mode 100644 index 007a6841bd..0000000000 --- a/examples/volumes/azure_file/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/azure_file/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/azure_file/README.md) diff --git a/examples/volumes/azure_file/azure.yaml b/examples/volumes/azure_file/azure.yaml deleted file mode 100644 index 6567f30799..0000000000 --- a/examples/volumes/azure_file/azure.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: azure -spec: - containers: - - image: kubernetes/pause - name: azure - volumeMounts: - - name: azure - mountPath: /mnt/azure - volumes: - - name: azure - azureFile: - secretName: azure-secret - shareName: k8stest - readOnly: false diff --git a/examples/volumes/azure_file/secret/azure-secret.yaml b/examples/volumes/azure_file/secret/azure-secret.yaml deleted file mode 100644 index bf448bd9ce..0000000000 --- a/examples/volumes/azure_file/secret/azure-secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: azure-secret -type: Opaque -data: - azurestorageaccountname: azhzdGVzdA== - azurestorageaccountkey: eElGMXpKYm5ub2pGTE1Ta0JwNTBteDAyckhzTUsyc2pVN21GdDRMMTNob0I3ZHJBYUo4akQ2K0E0NDNqSm9nVjd5MkZVT2hRQ1dQbU02WWFOSHk3cWc9PQ== diff --git a/examples/volumes/cephfs/README.md b/examples/volumes/cephfs/README.md deleted file mode 100644 index 851e01c571..0000000000 --- a/examples/volumes/cephfs/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/cephfs/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/cephfs/README.md) diff --git a/examples/volumes/cephfs/cephfs-with-secret.yaml b/examples/volumes/cephfs/cephfs-with-secret.yaml deleted file mode 100644 index c3d7a02cb0..0000000000 --- a/examples/volumes/cephfs/cephfs-with-secret.yaml +++ /dev/null @@ -1,22 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: cephfs2 -spec: - containers: - - name: cephfs-rw - image: kubernetes/pause - volumeMounts: - - mountPath: "/mnt/cephfs" - name: cephfs - volumes: - - name: cephfs - cephfs: - monitors: - - 10.16.154.78:6789 - - 10.16.154.82:6789 - - 10.16.154.83:6789 - user: admin - secretRef: - name: ceph-secret - readOnly: true diff --git a/examples/volumes/cephfs/cephfs.yaml b/examples/volumes/cephfs/cephfs.yaml deleted file mode 100644 index e4eb395b62..0000000000 --- a/examples/volumes/cephfs/cephfs.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: cephfs -spec: - containers: - - name: cephfs-rw - image: kubernetes/pause - volumeMounts: - - mountPath: "/mnt/cephfs" - name: cephfs - volumes: - - name: cephfs - cephfs: - monitors: - - 10.16.154.78:6789 - - 10.16.154.82:6789 - - 10.16.154.83:6789 - # by default the path is /, but you can override and mount a specific path of the filesystem by using the path attribute - # path: /some/path/in/side/cephfs - user: admin - secretFile: "/etc/ceph/admin.secret" - readOnly: true diff --git a/examples/volumes/cephfs/secret/ceph-secret.yaml b/examples/volumes/cephfs/secret/ceph-secret.yaml deleted file mode 100644 index e29a5535ab..0000000000 --- a/examples/volumes/cephfs/secret/ceph-secret.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: ceph-secret -data: - key: QVFCMTZWMVZvRjVtRXhBQTVrQ1FzN2JCajhWVUxSdzI2Qzg0SEE9PQ== diff --git a/examples/volumes/cinder/README.md b/examples/volumes/cinder/README.md deleted file mode 100644 index 4d008c58e1..0000000000 --- a/examples/volumes/cinder/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/cinder/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/cinder/README.md) diff --git a/examples/volumes/cinder/cinder-web.yaml b/examples/volumes/cinder/cinder-web.yaml deleted file mode 100644 index 4692ac868a..0000000000 --- a/examples/volumes/cinder/cinder-web.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: cinder-web -spec: - containers: - - name: web - image: nginx - ports: - - name: web - containerPort: 80 - protocol: tcp - volumeMounts: - - name: html-volume - mountPath: "/usr/share/nginx/html" - volumes: - - name: html-volume - cinder: - # Enter the volume ID below - volumeID: volume_ID - fsType: ext4 diff --git a/examples/volumes/fibre_channel/README.md b/examples/volumes/fibre_channel/README.md deleted file mode 100644 index 308bae6026..0000000000 --- a/examples/volumes/fibre_channel/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/fibre_channel/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/fibre_channel/README.md) diff --git a/examples/volumes/fibre_channel/fc.yaml b/examples/volumes/fibre_channel/fc.yaml deleted file mode 100644 index ac28bee4a3..0000000000 --- a/examples/volumes/fibre_channel/fc.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: fc -spec: - containers: - - image: kubernetes/pause - name: fc - volumeMounts: - - name: fc-vol - mountPath: /mnt/fc - volumes: - - name: fc-vol - fc: - targetWWNs: ['500a0982991b8dc5', '500a0982891b8dc5'] - lun: 2 - fsType: ext4 - readOnly: true diff --git a/examples/volumes/flexvolume/README.md b/examples/volumes/flexvolume/README.md deleted file mode 100644 index a872b65248..0000000000 --- a/examples/volumes/flexvolume/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/community/blob/master/contributors/devel/flexvolume.md](https://github.com/kubernetes/community/blob/master/contributors/devel/flexvolume.md) diff --git a/examples/volumes/flexvolume/deploy/Dockerfile b/examples/volumes/flexvolume/deploy/Dockerfile deleted file mode 100644 index 55ef6011a4..0000000000 --- a/examples/volumes/flexvolume/deploy/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 2018 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM busybox -WORKDIR . - -# TODO Change to your desired driver. -COPY ./drivers/dummy /dummy - -COPY deploy.sh /deploy.sh -CMD /bin/sh /deploy.sh diff --git a/examples/volumes/flexvolume/deploy/README.md b/examples/volumes/flexvolume/deploy/README.md deleted file mode 100644 index f9b0480a37..0000000000 --- a/examples/volumes/flexvolume/deploy/README.md +++ /dev/null @@ -1,7 +0,0 @@ -This directory contains an example of the DaemonSet Flexvolume driver deployment method. See documentation [here](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/flexvolume-deployment.md#recommended-driver-deployment-method). - -Steps to use the DaemonSet deployment method: -1. Copy the Flexvolume driver to `drivers` directory. To get a basic example running, copy the `dummy` driver from the parent directory. -1. If you'd like to just get a basic example running, you could skip this step. Otherwise, change the places marked with `TODO` in all files. -1. Build the deployment Docker image and upload to your container registry. -1. Create the DaemonSet. diff --git a/examples/volumes/flexvolume/deploy/deploy.sh b/examples/volumes/flexvolume/deploy/deploy.sh deleted file mode 100755 index ee8ae0ee2a..0000000000 --- a/examples/volumes/flexvolume/deploy/deploy.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -# Copyright 2018 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -o errexit -set -o pipefail - -# TODO change to your desired driver. -VENDOR=${VENDOR:-k8s} -DRIVER=${DRIVER:-dummy} - -# Assuming the single driver file is located at /$DRIVER inside the DaemonSet image. - -driver_dir=$VENDOR${VENDOR:+"~"}${DRIVER} -if [ ! -d "/flexmnt/$driver_dir" ]; then - mkdir "/flexmnt/$driver_dir" -fi - -tmp_driver=.tmp_$DRIVER -cp "/$DRIVER" "/flexmnt/$driver_dir/$tmp_driver" -mv -f "/flexmnt/$driver_dir/$tmp_driver" "/flexmnt/$driver_dir/$DRIVER" - -while : ; do - sleep 3600 -done diff --git a/examples/volumes/flexvolume/deploy/ds.yaml b/examples/volumes/flexvolume/deploy/ds.yaml deleted file mode 100644 index 9089bd19fc..0000000000 --- a/examples/volumes/flexvolume/deploy/ds.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: DaemonSet -metadata: - name: flex-ds -spec: - template: - metadata: - name: flex-deploy - labels: - app: flex-deploy - spec: - containers: - # TODO Change to your container registry. - - image: "" - name: flex-deploy - securityContext: - privileged: true - volumeMounts: - - mountPath: /flexmnt - name: flexvolume-mount - volumes: - - name: flexvolume-mount - hostPath: - # TODO Change to the Flexvolume plugin directory of your cluster. - path: /usr/libexec/kubernetes/kubelet-plugins/volume/exec/ diff --git a/examples/volumes/flexvolume/dummy b/examples/volumes/flexvolume/dummy deleted file mode 100755 index 4b4012ceda..0000000000 --- a/examples/volumes/flexvolume/dummy +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/sh - -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This driver implements a tmpfs with a pre-populated file index.html. - -FLEX_DUMMY_LOG=${FLEX_DUMMY_LOG:-"/tmp/flex-dummy.log"} - -log() { - printf "$*" >&1 -} - -debug() { - echo "$(date) $*" >> "${FLEX_DUMMY_LOG}" -} - -domount() { - debug "domount $@" - MNTPATH=$1 - mkdir -p ${MNTPATH} >/dev/null 2>&1 - mount -t tmpfs none ${MNTPATH} >/dev/null 2>&1 - echo "Hello from flexvolume!" >> "${MNTPATH}/index.html" - log "{\"status\":\"Success\"}" - exit 0 -} - -unmount() { - debug "unmount $@" - MNTPATH=$1 - rm ${MNTPATH}/index.html >/dev/null 2>&1 - umount ${MNTPATH} >/dev/null 2>&1 - log "{\"status\":\"Success\"}" - exit 0 -} - -op=$1 - -if [ "$op" = "init" ]; then - debug "init $@" - log "{\"status\":\"Success\",\"capabilities\":{\"attach\":false}}" - exit 0 -fi - -shift - -case "$op" in - mount) - domount $* - ;; - unmount) - unmount $* - ;; - *) - log "{\"status\":\"Not supported\"}" - exit 0 -esac - -exit 1 diff --git a/examples/volumes/flexvolume/dummy-attachable b/examples/volumes/flexvolume/dummy-attachable deleted file mode 100755 index 8afd6b4bfa..0000000000 --- a/examples/volumes/flexvolume/dummy-attachable +++ /dev/null @@ -1,126 +0,0 @@ -#!/bin/sh - -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This driver implements a tmpfs with a pre-populated file index.html. -# Attach is required, but it is a no-op that always returns success. - -FLEX_DUMMY_LOG=${FLEX_DUMMY_LOG:-"/tmp/flex-dummy.log"} - -VALID_MNTDEVICE=foo - -# attach always returns one valid mount device so a different device -# showing up in a subsequent driver call implies a bug -validateMountDeviceOrDie() { - MNTDEVICE=$1 - CALL=$2 - if [ "$MNTDEVICE" != "$VALID_MNTDEVICE" ]; then - log "{\"status\":\"Failure\",\"message\":\"call "${CALL}" expected device "${VALID_MNTDEVICE}", got device "${MNTDEVICE}"\"}" - exit 0 - fi -} - -log() { - printf "$*" >&1 -} - -debug() { - echo "$(date) $*" >> "${FLEX_DUMMY_LOG}" -} - -attach() { - debug "attach $@" - log "{\"status\":\"Success\",\"device\":\""${VALID_MNTDEVICE}"\"}" - exit 0 -} - -detach() { - debug "detach $@" - log "{\"status\":\"Success\"}" - exit 0 -} - -waitforattach() { - debug "waitforattach $@" - MNTDEVICE=$1 - validateMountDeviceOrDie "$MNTDEVICE" "waitforattach" - log "{\"status\":\"Success\",\"device\":\""${MNTDEVICE}"\"}" - exit 0 -} - -isattached() { - debug "isattached $@" - log "{\"status\":\"Success\",\"attached\":true}" - exit 0 -} - -domountdevice() { - debug "domountdevice $@" - MNTDEVICE=$2 - validateMountDeviceOrDie "$MNTDEVICE" "domountdevice" - MNTPATH=$1 - mkdir -p ${MNTPATH} >/dev/null 2>&1 - mount -t tmpfs none ${MNTPATH} >/dev/null 2>&1 - echo "Hello from flexvolume!" >> "${MNTPATH}/index.html" - log "{\"status\":\"Success\"}" - exit 0 -} - -unmountdevice() { - debug "unmountdevice $@" - MNTDEVICE=$2 - validateMountDeviceOrDie "$MNTDEVICE" "unmountdevice" - MNTPATH=$1 - rm "${MNTPATH}/index.html" >/dev/null 2>&1 - umount ${MNTPATH} >/dev/null 2>&1 - log "{\"status\":\"Success\"}" - exit 0 -} - -op=$1 - -if [ "$op" = "init" ]; then - debug "init $@" - log "{\"status\":\"Success\",\"capabilities\":{\"attach\":true}}" - exit 0 -fi - -shift - -case "$op" in - attach) - attach $* - ;; - detach) - detach $* - ;; - waitforattach) - waitforattach $* - ;; - isattached) - isattached $* - ;; - mountdevice) - domountdevice $* - ;; - unmountdevice) - unmountdevice $* - ;; - *) - log "{\"status\":\"Not supported\"}" - exit 0 -esac - -exit 1 diff --git a/examples/volumes/flexvolume/lvm b/examples/volumes/flexvolume/lvm deleted file mode 100755 index f60af48404..0000000000 --- a/examples/volumes/flexvolume/lvm +++ /dev/null @@ -1,182 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Notes: -# - Please install "jq" package before using this driver. -usage() { - err "Invalid usage. Usage: " - err "\t$0 init" - err "\t$0 attach " - err "\t$0 detach " - err "\t$0 waitforattach " - err "\t$0 mountdevice " - err "\t$0 unmountdevice " - err "\t$0 isattached " - exit 1 -} - -err() { - echo -ne $* 1>&2 -} - -log() { - echo -ne $* >&1 -} - -ismounted() { - MOUNT=`findmnt -n ${MNTPATH} 2>/dev/null | cut -d' ' -f1` - if [ "${MOUNT}" == "${MNTPATH}" ]; then - echo "1" - else - echo "0" - fi -} - -getdevice() { - VOLUMEID=$(echo ${JSON_PARAMS} | jq -r '.volumeID') - VG=$(echo ${JSON_PARAMS}|jq -r '.volumegroup') - - # LVM substitutes - with -- - VOLUMEID=`echo $VOLUMEID|sed s/-/--/g` - VG=`echo $VG|sed s/-/--/g` - - DMDEV="/dev/mapper/${VG}-${VOLUMEID}" - echo ${DMDEV} -} - -attach() { - JSON_PARAMS=$1 - SIZE=$(echo $1 | jq -r '.size') - - DMDEV=$(getdevice) - if [ ! -b "${DMDEV}" ]; then - err "{\"status\": \"Failure\", \"message\": \"Volume ${VOLUMEID} does not exist\"}" - exit 1 - fi - log "{\"status\": \"Success\", \"device\":\"${DMDEV}\"}" - exit 0 -} - -detach() { - log "{\"status\": \"Success\"}" - exit 0 -} - -waitforattach() { - shift - attach $* -} - -domountdevice() { - MNTPATH=$1 - DMDEV=$2 - FSTYPE=$(echo $3|jq -r '.["kubernetes.io/fsType"]') - - if [ ! -b "${DMDEV}" ]; then - err "{\"status\": \"Failure\", \"message\": \"${DMDEV} does not exist\"}" - exit 1 - fi - - if [ $(ismounted) -eq 1 ] ; then - log "{\"status\": \"Success\"}" - exit 0 - fi - - VOLFSTYPE=`blkid -o udev ${DMDEV} 2>/dev/null|grep "ID_FS_TYPE"|cut -d"=" -f2` - if [ "${VOLFSTYPE}" == "" ]; then - mkfs -t ${FSTYPE} ${DMDEV} >/dev/null 2>&1 - if [ $? -ne 0 ]; then - err "{ \"status\": \"Failure\", \"message\": \"Failed to create fs ${FSTYPE} on device ${DMDEV}\"}" - exit 1 - fi - fi - - mkdir -p ${MNTPATH} &> /dev/null - - mount ${DMDEV} ${MNTPATH} &> /dev/null - if [ $? -ne 0 ]; then - err "{ \"status\": \"Failure\", \"message\": \"Failed to mount device ${DMDEV} at ${MNTPATH}\"}" - exit 1 - fi - log "{\"status\": \"Success\"}" - exit 0 -} - -unmountdevice() { - MNTPATH=$1 - if [ ! -d ${MNTPATH} ]; then - log "{\"status\": \"Success\"}" - exit 0 - fi - - if [ $(ismounted) -eq 0 ] ; then - log "{\"status\": \"Success\"}" - exit 0 - fi - - umount ${MNTPATH} &> /dev/null - if [ $? -ne 0 ]; then - err "{ \"status\": \"Failed\", \"message\": \"Failed to unmount volume at ${MNTPATH}\"}" - exit 1 - fi - - log "{\"status\": \"Success\"}" - exit 0 -} - -isattached() { - log "{\"status\": \"Success\", \"attached\":true}" - exit 0 -} - -op=$1 - -if [ "$op" = "init" ]; then - log "{\"status\": \"Success\"}" - exit 0 -fi - -if [ $# -lt 2 ]; then - usage -fi - -shift - -case "$op" in - attach) - attach $* - ;; - detach) - detach $* - ;; - waitforattach) - waitforattach $* - ;; - mountdevice) - domountdevice $* - ;; - unmountdevice) - unmountdevice $* - ;; - isattached) - isattached $* - ;; - *) - log "{ \"status\": \"Not supported\" }" - exit 0 -esac - -exit 1 diff --git a/examples/volumes/flexvolume/nfs b/examples/volumes/flexvolume/nfs deleted file mode 100755 index 4d0977cec8..0000000000 --- a/examples/volumes/flexvolume/nfs +++ /dev/null @@ -1,113 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Notes: -# - Please install "jq" package before using this driver. -usage() { - err "Invalid usage. Usage: " - err "\t$0 init" - err "\t$0 mount " - err "\t$0 unmount " - exit 1 -} - -err() { - echo -ne $* 1>&2 -} - -log() { - echo -ne $* >&1 -} - -ismounted() { - MOUNT=`findmnt -n ${MNTPATH} 2>/dev/null | cut -d' ' -f1` - if [ "${MOUNT}" == "${MNTPATH}" ]; then - echo "1" - else - echo "0" - fi -} - -domount() { - MNTPATH=$1 - - NFS_SERVER=$(echo $2 | jq -r '.server') - SHARE=$(echo $2 | jq -r '.share') - - if [ $(ismounted) -eq 1 ] ; then - log '{"status": "Success"}' - exit 0 - fi - - mkdir -p ${MNTPATH} &> /dev/null - - mount -t nfs ${NFS_SERVER}:/${SHARE} ${MNTPATH} &> /dev/null - if [ $? -ne 0 ]; then - err "{ \"status\": \"Failure\", \"message\": \"Failed to mount ${NFS_SERVER}:${SHARE} at ${MNTPATH}\"}" - exit 1 - fi - log '{"status": "Success"}' - exit 0 -} - -unmount() { - MNTPATH=$1 - if [ $(ismounted) -eq 0 ] ; then - log '{"status": "Success"}' - exit 0 - fi - - umount ${MNTPATH} &> /dev/null - if [ $? -ne 0 ]; then - err "{ \"status\": \"Failed\", \"message\": \"Failed to unmount volume at ${MNTPATH}\"}" - exit 1 - fi - - log '{"status": "Success"}' - exit 0 -} - -op=$1 - -if ! command -v jq >/dev/null 2>&1; then - err "{ \"status\": \"Failure\", \"message\": \"'jq' binary not found. Please install jq package before using this driver\"}" - exit 1 -fi - -if [ "$op" = "init" ]; then - log '{"status": "Success", "capabilities": {"attach": false}}' - exit 0 -fi - -if [ $# -lt 2 ]; then - usage -fi - -shift - -case "$op" in - mount) - domount $* - ;; - unmount) - unmount $* - ;; - *) - log '{"status": "Not supported"}' - exit 0 -esac - -exit 1 diff --git a/examples/volumes/flexvolume/nginx-dummy-attachable.yaml b/examples/volumes/flexvolume/nginx-dummy-attachable.yaml deleted file mode 100644 index 80b322c986..0000000000 --- a/examples/volumes/flexvolume/nginx-dummy-attachable.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: nginx-dummy-attachable - namespace: default -spec: - containers: - - name: nginx-dummy-attachable - image: nginx - volumeMounts: - - name: dummy-attachable - mountPath: /data - ports: - - containerPort: 80 - volumes: - - name: dummy-attachable - flexVolume: - driver: "k8s/dummy-attachable" diff --git a/examples/volumes/flexvolume/nginx-dummy.yaml b/examples/volumes/flexvolume/nginx-dummy.yaml deleted file mode 100644 index 33ee34251a..0000000000 --- a/examples/volumes/flexvolume/nginx-dummy.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: nginx-dummy - namespace: default -spec: - containers: - - name: nginx-dummy - image: nginx - volumeMounts: - - name: dummy - mountPath: /data - ports: - - containerPort: 80 - volumes: - - name: dummy - flexVolume: - driver: "k8s/dummy" diff --git a/examples/volumes/flexvolume/nginx-lvm.yaml b/examples/volumes/flexvolume/nginx-lvm.yaml deleted file mode 100644 index c7d7859cc5..0000000000 --- a/examples/volumes/flexvolume/nginx-lvm.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: nginx - namespace: default -spec: - containers: - - name: nginx - image: nginx - volumeMounts: - - name: test - mountPath: /data - ports: - - containerPort: 80 - volumes: - - name: test - flexVolume: - driver: "kubernetes.io/lvm" - fsType: "ext4" - options: - volumeID: "vol1" - size: "1000m" - volumegroup: "kube_vg" diff --git a/examples/volumes/flexvolume/nginx-nfs.yaml b/examples/volumes/flexvolume/nginx-nfs.yaml deleted file mode 100644 index 177c1e8f41..0000000000 --- a/examples/volumes/flexvolume/nginx-nfs.yaml +++ /dev/null @@ -1,22 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: nginx-nfs - namespace: default -spec: - containers: - - name: nginx-nfs - image: nginx - volumeMounts: - - name: test - mountPath: /data - ports: - - containerPort: 80 - volumes: - - name: test - flexVolume: - driver: "k8s/nfs" - fsType: "nfs" - options: - server: "172.16.0.25" - share: "dws_nas_scratch" diff --git a/examples/volumes/flocker/README.md b/examples/volumes/flocker/README.md deleted file mode 100644 index 906446f4cc..0000000000 --- a/examples/volumes/flocker/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/flocker/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/flocker/README.md) diff --git a/examples/volumes/flocker/flocker-pod-with-rc.yml b/examples/volumes/flocker/flocker-pod-with-rc.yml deleted file mode 100644 index 01a40f8811..0000000000 --- a/examples/volumes/flocker/flocker-pod-with-rc.yml +++ /dev/null @@ -1,47 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: flocker-ghost - labels: - app: flocker-ghost -spec: - ports: - # the port that this service should serve on - - port: 80 - targetPort: 80 - selector: - app: flocker-ghost ---- -apiVersion: v1 -kind: ReplicationController -metadata: - name: flocker-ghost - # these labels can be applied automatically - # from the labels in the pod template if not set - labels: - purpose: demo -spec: - replicas: 1 - template: - metadata: - labels: - app: flocker-ghost - spec: - containers: - - name: flocker-ghost - image: ghost:0.7.1 - env: - - name: GET_HOSTS_FROM - value: dns - ports: - - containerPort: 2368 - hostPort: 80 - protocol: TCP - volumeMounts: - # name must match the volume name below - - name: ghost-data - mountPath: "/var/lib/ghost" - volumes: - - name: ghost-data - flocker: - datasetName: my-flocker-vol diff --git a/examples/volumes/flocker/flocker-pod.yml b/examples/volumes/flocker/flocker-pod.yml deleted file mode 100644 index fb923cd49f..0000000000 --- a/examples/volumes/flocker/flocker-pod.yml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: flocker-web -spec: - containers: - - name: web - image: nginx - ports: - - name: web - containerPort: 80 - volumeMounts: - # name must match the volume name below - - name: www-root - mountPath: "/usr/share/nginx/html" - volumes: - - name: www-root - flocker: - datasetName: my-flocker-vol diff --git a/examples/volumes/glusterfs/README.md b/examples/volumes/glusterfs/README.md deleted file mode 100644 index ae7d23c5f1..0000000000 --- a/examples/volumes/glusterfs/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/glusterfs/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/glusterfs/README.md) diff --git a/examples/volumes/glusterfs/glusterfs-endpoints.json b/examples/volumes/glusterfs/glusterfs-endpoints.json deleted file mode 100644 index 740ce42586..0000000000 --- a/examples/volumes/glusterfs/glusterfs-endpoints.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "kind": "Endpoints", - "apiVersion": "v1", - "metadata": { - "name": "glusterfs-cluster" - }, - "subsets": [ - { - "addresses": [ - { - "ip": "10.240.106.152" - } - ], - "ports": [ - { - "port": 1 - } - ] - }, - { - "addresses": [ - { - "ip": "10.240.79.157" - } - ], - "ports": [ - { - "port": 1 - } - ] - } - ] -} diff --git a/examples/volumes/glusterfs/glusterfs-pod.json b/examples/volumes/glusterfs/glusterfs-pod.json deleted file mode 100644 index 63c075be66..0000000000 --- a/examples/volumes/glusterfs/glusterfs-pod.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "apiVersion": "v1", - "kind": "Pod", - "metadata": { - "name": "glusterfs" - }, - "spec": { - "containers": [ - { - "name": "glusterfs", - "image": "nginx", - "volumeMounts": [ - { - "mountPath": "/mnt/glusterfs", - "name": "glusterfsvol" - } - ] - } - ], - "volumes": [ - { - "name": "glusterfsvol", - "glusterfs": { - "endpoints": "glusterfs-cluster", - "path": "kube_vol", - "readOnly": true - } - } - ] - } -} diff --git a/examples/volumes/glusterfs/glusterfs-service.json b/examples/volumes/glusterfs/glusterfs-service.json deleted file mode 100644 index 79139febd8..0000000000 --- a/examples/volumes/glusterfs/glusterfs-service.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "kind": "Service", - "apiVersion": "v1", - "metadata": { - "name": "glusterfs-cluster" - }, - "spec": { - "ports": [ - {"port": 1} - ] - } -} diff --git a/examples/volumes/iscsi/README.md b/examples/volumes/iscsi/README.md deleted file mode 100644 index 6b8ca9a854..0000000000 --- a/examples/volumes/iscsi/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/iscsi/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/iscsi/README.md) diff --git a/examples/volumes/iscsi/chap-secret.yaml b/examples/volumes/iscsi/chap-secret.yaml deleted file mode 100644 index 5bc9cc8747..0000000000 --- a/examples/volumes/iscsi/chap-secret.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -apiVersion: v1 -kind: Secret -metadata: - name: chap-secret -type: "kubernetes.io/iscsi-chap" -data: - discovery.sendtargets.auth.username: dXNlcg== - discovery.sendtargets.auth.password: ZGVtbw== - discovery.sendtargets.auth.username_in: bXVzZXI= - discovery.sendtargets.auth.password_in: bXBhc3M= - node.session.auth.username: dXNlcm5hbWU= - node.session.auth.password: cGFzc3dvcmQ= - node.session.auth.username_in: bXVzZXIy - node.session.auth.password_in: bXBhc3My diff --git a/examples/volumes/iscsi/iscsi-chap.yaml b/examples/volumes/iscsi/iscsi-chap.yaml deleted file mode 100644 index 1ddc2f02ca..0000000000 --- a/examples/volumes/iscsi/iscsi-chap.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- -apiVersion: v1 -kind: Pod -metadata: - name: iscsipd -spec: - containers: - - name: iscsipd-ro - image: kubernetes/pause - volumeMounts: - - mountPath: "/mnt/iscsipd" - name: iscsivol - volumes: - - name: iscsivol - iscsi: - targetPortal: 127.0.0.1 - iqn: iqn.2015-02.example.com:test - lun: 0 - fsType: ext4 - readOnly: true - chapAuthDiscovery: true - chapAuthSession: true - secretRef: - name: chap-secret diff --git a/examples/volumes/iscsi/iscsi.yaml b/examples/volumes/iscsi/iscsi.yaml deleted file mode 100644 index 46736eda8f..0000000000 --- a/examples/volumes/iscsi/iscsi.yaml +++ /dev/null @@ -1,21 +0,0 @@ ---- -apiVersion: v1 -kind: Pod -metadata: - name: iscsipd -spec: - containers: - - name: iscsipd-rw - image: kubernetes/pause - volumeMounts: - - mountPath: "/mnt/iscsipd" - name: iscsipd-rw - volumes: - - name: iscsipd-rw - iscsi: - targetPortal: 10.0.2.15:3260 - portals: ['10.0.2.16:3260', '10.0.2.17:3260'] - iqn: iqn.2001-04.com.example:storage.kube.sys1.xyz - lun: 0 - fsType: ext4 - readOnly: true diff --git a/examples/volumes/nfs/README.md b/examples/volumes/nfs/README.md deleted file mode 100644 index acd56f937d..0000000000 --- a/examples/volumes/nfs/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/nfs/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/nfs/README.md) diff --git a/examples/volumes/nfs/nfs-busybox-rc.yaml b/examples/volumes/nfs/nfs-busybox-rc.yaml deleted file mode 100644 index 617d027558..0000000000 --- a/examples/volumes/nfs/nfs-busybox-rc.yaml +++ /dev/null @@ -1,32 +0,0 @@ -# This mounts the nfs volume claim into /mnt and continuously -# overwrites /mnt/index.html with the time and hostname of the pod. - -apiVersion: v1 -kind: ReplicationController -metadata: - name: nfs-busybox -spec: - replicas: 2 - selector: - name: nfs-busybox - template: - metadata: - labels: - name: nfs-busybox - spec: - containers: - - image: busybox - command: - - sh - - -c - - 'while true; do date > /mnt/index.html; hostname >> /mnt/index.html; sleep $(($RANDOM % 5 + 5)); done' - imagePullPolicy: IfNotPresent - name: busybox - volumeMounts: - # name must match the volume name below - - name: nfs - mountPath: "/mnt" - volumes: - - name: nfs - persistentVolumeClaim: - claimName: nfs diff --git a/examples/volumes/nfs/nfs-data/Dockerfile b/examples/volumes/nfs/nfs-data/Dockerfile deleted file mode 100644 index 96986bd801..0000000000 --- a/examples/volumes/nfs/nfs-data/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM centos -RUN yum -y install /usr/bin/ps nfs-utils && yum clean all -RUN mkdir -p /exports -ADD run_nfs.sh /usr/local/bin/ -ADD index.html /tmp/index.html -RUN chmod 644 /tmp/index.html - -# expose mountd 20048/tcp and nfsd 2049/tcp and rpcbind 111/tcp -EXPOSE 2049/tcp 20048/tcp 111/tcp 111/udp - -ENTRYPOINT ["/usr/local/bin/run_nfs.sh", "/exports"] diff --git a/examples/volumes/nfs/nfs-data/README.md b/examples/volumes/nfs/nfs-data/README.md deleted file mode 100644 index 0b3a8b3198..0000000000 --- a/examples/volumes/nfs/nfs-data/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/nfs/nfs-data/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/nfs/nfs-data/README.md) diff --git a/examples/volumes/nfs/nfs-data/index.html b/examples/volumes/nfs/nfs-data/index.html deleted file mode 100644 index cd0875583a..0000000000 --- a/examples/volumes/nfs/nfs-data/index.html +++ /dev/null @@ -1 +0,0 @@ -Hello world! diff --git a/examples/volumes/nfs/nfs-data/run_nfs.sh b/examples/volumes/nfs/nfs-data/run_nfs.sh deleted file mode 100755 index fa7b165c01..0000000000 --- a/examples/volumes/nfs/nfs-data/run_nfs.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash - -# Copyright 2015 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -function start() -{ - - # prepare /etc/exports - for i in "$@"; do - # fsid=0: needed for NFSv4 - echo "$i *(rw,fsid=0,insecure,no_root_squash)" >> /etc/exports - # move index.html to here - /bin/cp /tmp/index.html $i/ - chmod 644 $i/index.html - echo "Serving $i" - done - - # start rpcbind if it is not started yet - /usr/sbin/rpcinfo 127.0.0.1 > /dev/null; s=$? - if [ $s -ne 0 ]; then - echo "Starting rpcbind" - /usr/sbin/rpcbind -w - fi - - mount -t nfsd nfds /proc/fs/nfsd - - # -N 4.x: disable NFSv4 - # -V 3: enable NFSv3 - /usr/sbin/rpc.mountd -N 2 -V 3 -N 4 -N 4.1 - - /usr/sbin/exportfs -r - # -G 10 to reduce grace time to 10 seconds (the lowest allowed) - /usr/sbin/rpc.nfsd -G 10 -N 2 -V 3 -N 4 -N 4.1 2 - /usr/sbin/rpc.statd --no-notify - echo "NFS started" -} - -function stop() -{ - echo "Stopping NFS" - - /usr/sbin/rpc.nfsd 0 - /usr/sbin/exportfs -au - /usr/sbin/exportfs -f - - kill $( pidof rpc.mountd ) - umount /proc/fs/nfsd - echo > /etc/exports - exit 0 -} - - -trap stop TERM - -start "$@" - -# Ugly hack to do nothing and wait for SIGTERM -while true; do - sleep 5 -done diff --git a/examples/volumes/nfs/nfs-pv.png b/examples/volumes/nfs/nfs-pv.png deleted file mode 100644 index 1ac5fc0d1ac3a2c380236195a358c9f0f3ff6386..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9379 zcmcJV3pmsN|Mw@AbTE~o9M(Z!9UMC7OJeIlQqfm(Hj;##a+o=6rt&2brJBCNI-z89 zh+)H&qO8bqGBa`*#%RZ@b=~*ngX^=yXP@o!em!5$=i{}M zzwE5nt=_sC0)ecvIc<3X0#U$$U*AKTqolA3z}6AU2lA zFGlA~vx3W?n={En52|=E_jHtJPhYybyytYn{o6Yaq$i4+BXT1@Jbn5p`FmB7V>j`{ zd&cp#>z|XjW(ttyqw-*+0;EB_3I|!GIs}C%>{wFRb}Uhz^n7<8Wi@2k9F4fI)H!f@ z1Oo*#N`B`7!Q5OUf9*|m@{gzF)EO8hU>8~hIJM|!fA@Ed`sONlABkMZSh3mrF#83n zDMeucp1cZoBHlgX{MsP(OY*2Kvc_ZE&&|`Tf=#zWBvq*by(t>~;l^c5jozL=hR&-d z`c>cku9Of=+$`h0YrTcZebyMLlfF0rx&>I=r>ZG7wnc#ooy)J zyawkMxUig+)k{n8t<#oOd?{U7zYapbcGYMGB2>J3Dlqz9#Nn{i@olJ<_EY zyWQq4z2Umem}ilL`2%lz&g5|};71z+h?NiMbfL#2CH^(3D43Z%Cw8LrNA!p`^an08 zhbcUM_T;oBWed#f!$jnylWAP|5GbE#PqQYhoS@jjZTC4jd9;as2fnrU15$_(@v10&Flk^F&fkclIXPeBI zgyyXkIw&Mfy6&=JAaO}1Be{(YjKf<@AcHl9L$uKwSJLk5+Kj~34WRTYg7>-N=j2fn zex1fr%&xMtIgo^Aog}%AVL?Cwb%;&=eay~_<@yf_0zwMfAKcKC#oj$8NxFLgTB5Gu zBW@dukyYgRy3Pyf!dk*9ud1GTVI=pTf(hH)B(_FN`IMxC)m9MDSF%yG^_Kg5jxXUt z>rt+sZ7!!u0kTqOPT3+RZc`uMOU+8|X0L|D)t8hUvB`Ww@iNRZOdkdtY4;scQIYIW z2)lNP;Z-ua$*LV^Xp@;dS6oy?FE1weIXYsInYt5n#!O@l1{I#wo$G`sq{EuSyvRq1 zcniPpg%5{GaZ(R^HECqybZMo<6s^JYu8wy3i&VcxLHE;13QpaX)i8_oJipm+T_6^j z6{B%UT;um{e%#Wy7E*lUNO7m&L%tlX$Z|#-#0AB-;jw3q@Kyw8)z>!**mU^XsjrP8 zgb+QS!Uwwdg^T@iIR-95nl)*p3|I3ff1(z1+WbC)i~XY{%DI}c_J?Ub)#)ixm+$cb zMRlFM8JWjPDs#L=mP2b)gYt38-}TTlniS7-W%w_)4MfV~{y z;vcX2@15zqm|d_waGLeeGxwCF4%-h8W?NmhcvowdWRX7nM74WyVOc-=?#}e#td?Br zR9j0-=dq>EC3D?@wJ?xf;`-c!n4bjDmE?@8U##C*)(NR@OvH?z;O*?F|M6Arz z{X8xSW)9Sr4B-nVUV5?8D|x8M_Dqbgh1h97qu-ZchS07Vag$`#IqdIK(lF_pVV@kQ zRoS99}XE^>C!!{{4oU^U2bvx9CfYyS=s)fm!;{}q9#A2Vsqqe0ql_IrNBS?TUl#Dsg~JN zv-#>bug^z|@eON&V-(H_9}USrb=`9xK9GQ9U~9EbXeXS%K7{Dr`t0+@LP*f)gkrw} zgqwjPRo&wk49n)d)yX< zoD5x?9l^|4P9foQd73~;pvr2w6BBl;D!+>vhX_3UG(xN zj85axE095zA(~I$55|Lp+rJK1=gAjKn<QsqYlI02smtS#!CD`DENHF*|^S@gaKR5M}AAxtJPba=vrnSr@s&U9QaFoxc_4lhh zz9DEHnz(g+*02zg_kyYPYfZr}y5ciAH7Y#mabpMJhO)7Vy`huMSO`Z&HxBLa=s zmg~hNn-IF;v*r2{#@z!ip!eH^O9fh9u%)i#mh-Mn;O2uf=Crtxe5!suN-^Iu6GC0aTB?=(`mzO_50(eU1o|CU@vX=;;b3KHxKWp|2e zP|>rP%LG5VsWGOZZZG`;h4jSnPXSS5I^t587DAd9^$3(ok6T&K873L5Kt0qsSPQ8XCtDf{%WA;+FXE2W^}g8||1h+o^-VwTnT7OykGA6#;-hl?{D5qkJ4E%M zo6PH+yV$IyxpL&5wNKiIu&FxoUyMpi`-;g`n%bnvyup6&!nLC1tK=mGH`wH0ShSgL z#Dt#&@4JU1tbwWQoe6#Xntx(O54JZn?LK!dHlobkT_%RBno+Rzj}M%>^L$)FeKh~h z#J1B*H9kwCnNScQW?s!jl{$l@ofyjy zYC?tkmCySl=?9yFVoS8OSugcWyhQ4%d*9*GgYUn+w&mz2{4*7s(eKcSFH z=pS*;O!5<1c$_kC`1DDu1;xktq(ENA?21)##l7_KiqU+ik#paf)L&&lp?3d#Y~EI< z6b-6hXhgp-W6lqKQ9SC8h;_wFx%K696J8Km210=G1db`@e5 z3!YqVnRURsa{Y#^xYKc<-9n?C#j3MI z6=7OvM@QDfXV8?Aq9Q_T?tFO7Y^Ms>1hWv!K%qM&)pPAJ*S=HI93AJNH`>aJy)r_+ z^CIi#_B+kLohUSXOTtNuTO(Sca8)_hTz3YmKRgl(+@tJpZfic%Mr4nU=f&o{4VCn~ zkbKW4%iC3Dnz5XIE^`mc&mz|jROr#_enk>jHa)_Vvz2jGUq}-5Q;jhy+(K{`oHeU+ z`GU&rxt#sml7(H{x+x3Gx`@KJ;e~bx)IZI3Hyy~54Wr`+7Yopg>73wKcNN&NVOjk4 z`8Z$pya6Eumn&mU<19fW8c@brXn2I2J%helwdrM&!KYnrvXdDqrWOg!C#>C3jgZHe zqXkf|#b%is0qqv!P(Yx3X*0jyq=f_J7w8Me`zp5fkly9TO?L`=~>`h+bOF zMz&eL{}|iuv{$pq)Rn%CXN_viqf?itDlm%*xu^Y+b^wrI_=~&SZ`Z zRpxHTUVJ6NB)yi*ca1(Nm(rBgG0?rXolgp{O#DrH0e$Bnt|&VUJYQj_O}Rcdd6^8f zQN!NZ9nWMn(B^**N+0i`*M5k?p;)cjqr#Nnh0iPLR3_iwe-Y-AU4Y$JN($t^8$0Tv zQ<;loEfn2dOw@m+Rjc19;QBLXKajoxqe)=e3uhVB~^&j?M%%9lDE?Y)5yT62hTmv@ie7+7)k>}>R?EL zw&y)f&nw;XKxsb%Bkc0UUMYsR87@$EKI~^CalOBEfyFHB4PVRn*z1Si-Hc?r;w@?$ z#Kk#7<1pv1R>?c-Aov-+O87cWtVpruP zg*&RFEp4(3-ik8{?Qj(+$<$^3g;7g;ApSO>xNJo_U-`M=SRoEAfhiBso>jhwnXWcj z`swN+Sn+TEuxU}T_bz>OrV=|9cak7a8W$>+ZlYiz044kKEUG{3WvAJGL z%Ul!LIZo$5SdXN_$23(LDCV>xOr?1lr{dzWHH zhR7K1li+1qoxDc&I`x~rxFlxc^a`y;-g^Rmq^yRS8mv6UFnmww`GNl7u2AY_Uo~WZ zS|c%KS|uoS4v$cRH&K#$VF`1^Ju{qb%{!-H4HPFJGNnge{ahtTfJ`Cf2fG8K++mDe_=iFQCPrq_q_Gpkc{wAX zxKbJzkUfC8dMAHu<5m%wk+VEuRKJfy8#|uOsR8N{rgfG{zMQs2`eihHy-ynO4xoGP z*s-Cx3|-%(0emTGt;IV)7#Q3+@0yHBaVzFTlQP7`rAl@E#O5591E>|>tFH5cLs|5E zE`{`_sA%JTko60Nj5hHYk-y8Pybn_fc^1&?(GWX7?(dCZ3hT;;AiJ5rvH^V||Y z$qnLM@t294eA2)=^>t16RNUeTi>XXAK*2DxyHqo)8gWpi%dU9ffz&M&{7;X?@aj(I zfE+yI`A*a&Z3c)vt@rq#c-%NaBRw!G18aK24wgL1QP#=p_BXU!vsY9$lDb z(c2iWq}4~2o?7$e$F4@%lCF)}`U$(j&T+qr43O3V%%IY|X|-|4<1+3OqdPwe(vF~V z&0xsQMA2JcogQ~{#`-(Yt6dR%d|4%N{^+1P#&!WTICyU}T&TZNY#L7D{qpQrYa`V_Tx~|2bX)o`bq3`hfMonO*`Te=GdAOQ`#={IGz63? z@scQNa5M(Iflquse|$yH>mC9bqe z3N?L*rkUyQPt96OjeHm-_lMO-Q?LbT!Yn;$zgz3udO?k_U9N8Rvm)Ilvp;gQx}QWa zO%I(cy|~4_?;1_9{^RA77NYkWJFVVy?PSgkwH1${XB@^yG z_wNV~K&OZ5c3tod@;xunyzX)~=lJIAulha)xJ}JrIQzLrc$()z+Hf^kdO)aIz-a@= zjR?PbCUxP_Vl{2`JhIrS&25yTf+4sTr5Oa3(G=KM+nGm;CtMc-$LqJs%%CFOAF^FG z2V<6h*(Yq@cuNAV!B;=Rinpyk#c_Tq2YXHl6zMKgO(AT|FcIKFUejXBiuM{|SC#)3;ENq;3h}ttn7Jw*R4U@jM+=4Pr9Y5U)(w7` zsRQZS=P$k2{9V-Jiv7u~V_Ki0ldvmXnxCs-MgiwGOu(= z6E;2nGYooNWodsI>&7&3U`FJ0bN{Mk%q_hc-R?5D4|`=2f5@d5-w;2&V+q-q@U${o zKgeiMBT8L%60@(@gscom0Tjo05xT;M@GcyPn8@_v0(9}F-&FmH#IDHVlYxyU9<`wMG zQ-qkTlIM1ArsXZSv;?dcBp(JJ(K8wWCyZj?I8r7=CAl4b)SFnR93jPZ8gFR+Y5SBD zV`$rX8pLA*F@>}Xl)95_G<-2=R6$GS1@=#4t?A(hx+z^KZ0C%64PWK*LukSg|3$tf z-WSa}-1M0G%{eBI&gX}+#eTo;0VG5 z#SykaRJ~tu3jS*V;qZR|gm4#M*H%wl$+<&}t-fELN&0$+FJ>fYQit}r{2No?*)}RI z$6m{}z#mAibjmIO*WMcEN<$|i>Tf398W>e8iOEORol3==C(1&PFDQ=Jh5zsvzCu^V z#>@iG>WatGe6kBRSltJ01a!(dtI5uW*+by7ktj?o^^xlqi^&v#z`abG(%_bGKrX{E zMDlCsBSLvv2=00w2c1zHnf0+M1T(8}q;YPnm8wr~_x&Wqbj;Z9X-1v`eD|(+_6D41 zhOYXW6RW}?)X)2Ciwk0$^r}J}=7+quM9gE^vf{ZXG)|zHt*;C5!!r4IGcCJA`F6Ythk0+Wx-p(ayd@XRIDq53E~ysk-}wIB7F$C@C2)sQsoY>|939KVLA}X<5YTVNKSAMvg@bQPDHgv0QG0cb`Fz`EL!Mc}A zQAvJhUTMb*Y$Nk~Z6>})x~XRwGTurr1+meEIA1wVWcuW7JnR{hvt}Vr%Izqrfj5@a zHMSo#EAg(n5t`Vzh{5aAc?17BO}QAQ)jYsczmKD5`u+pB-IKO1lto}y`@`_0lGG)3 z`9ve8si!7tMeT()=boV)v&8{Ty!6Y939x8?mF)E8wEOz>yjFKcUFdJ#gYc8%=1k*I zQt|b7qQM`g@!~B$X}=I=U|G+dN-|=9!MR_E1|2jloQ*-9o9!}F@pb(JRJEE_rf$m1 zfY^v{{ie z-`rjp@D0SjU}g)SUjoSD8N4r+JKnvyP;+gVmIxsR;7W0r6+UpdGVi2A&yYzpN^-99 zqfEYb2$nz~z`*PZR{0cf9?dEt#%+BtoxZoc=Zq`9!`PO66MK-Kj%oN#O-$5*+f5zNB&Zo%I}V?r>JncCLYYb4*_GiP~D32@h$ao zfAP@Ai2E@T`O(epvir;H0_v@VSOP+gdHX;hIiLUy3^tY(w1jCb*szd$1Dphk=!R|8+pO&p5 zoPFe*<~kiHb3x9Y|G<`xg7${9cW@sexZv|!7Dvo*C~aNzXL8W8P#NBN5T`f0}=-wM%>@}e>HKaE@Pf) z%5yu6$z@tV{=X*3)FxiX5o-o2^{WzOY}*nnTJ6i(6}$~X*B5z^`ZYsxm{)?%E>l>y z@DqK-V8qRJ^1pPR|8OV$h1YJVzVx2ZAn~i7D%RX)?xigYd9~huSSNR_OK1aHOcCf+ z4{%5(J$i!N`W;KkuiAzzA(+CG$+V>P$17CWDG4a3R_FFc!r=EjQXF~3^>fLqaW}8x zOqJ&Y`2+}L`MF=;1%NcGp_EMBCIaCr$s4b00lVk+u(|P1#raSMdQR6eJ)n2f@=LfV zCI@D<{u%BPPdQ@j)5V`z*w-r|1IS7j&i_9lLCPZ6Cw>X-cN3YG3h?lI3Zq0rGtx^+vcrt}j z7*$zbDgOI#HEiyqrq9cwy*8Z{I9mjwM?~TSNr~U(*Rip;>w#T%0T5@<9URYJWSz($ zE*I1zJq6O2!bN?XO!L}?z2WS=AxtNr_NK_}0u#NoO8->(_k%SZ#?y_s)<{Twqv3lT z(TPS5$9fm;L?;=4DPg?PwVAn41EOqv=l-U1Ti3rtMN*??L8v>e)%=zcHWu&ha)&Hq z^bSCpfWH_05^t%rE>0S0Hg~)RwWbD)k+R2lsJeIsh{JlBd`tQxFv!=tg?9h!>uMMt zc9>pHT^#SlLLTpYB`|3M2OY3K&z?EHupUlw94?qh#2KOgd#S~0)W{vnmu?Q z9nlmJGbKMYe1PZPL%%>`yt(LzaxNG^_c8cE?E}$BzBEg!-9#_|5RZ z=6BKve%#JHck}8hYYjV-+T5FQ8M)TDdgh;Nxn`pg4lTBsBhyUV+G~DPP1Opd#TVaH zLxsAdg`cD=x~&ljvBug<<1-5LKF&i%CyrtEk@tb&Dp$zQNu?!z{8?sj1Kan}pRoPr z4{E8!4e56z-RtMN!QS4ehWhF9(Gp|R>UDxL)ujg6H1B3fhNevERY+;CT|=1Gj-^co zEz-+ONOL(8jw5)Rs2+c7@oz=@(dJTIaok|9$`)A*`uOAhVy&J-0t*#wSuCL9QTZy3o2*v14xwPOp?qYH*y50;#yJKsP2u^rLLF9Um1+dttg97Z> z?Rr!Vq*kw20GnCy;|24~)ShD*7tTW@#}^QS-KJU9?0a!S3Ywz`iBOdpx$U?f)1aI{ poD!4r*y)1+)%_3i-EVTGcZK6Ki5It2gKr%{Y^>}oNhdDd{BNvlm2?0A diff --git a/examples/volumes/nfs/nfs-pv.yaml b/examples/volumes/nfs/nfs-pv.yaml deleted file mode 100644 index 258f4d4c9d..0000000000 --- a/examples/volumes/nfs/nfs-pv.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: nfs -spec: - capacity: - storage: 1Mi - accessModes: - - ReadWriteMany - nfs: - # FIXME: use the right IP - server: 10.244.1.4 - path: "/exports" diff --git a/examples/volumes/nfs/nfs-pvc.yaml b/examples/volumes/nfs/nfs-pvc.yaml deleted file mode 100644 index 9c1821f7c4..0000000000 --- a/examples/volumes/nfs/nfs-pvc.yaml +++ /dev/null @@ -1,10 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: nfs -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 1Mi diff --git a/examples/volumes/nfs/nfs-server-rc.yaml b/examples/volumes/nfs/nfs-server-rc.yaml deleted file mode 100644 index c83ed1db87..0000000000 --- a/examples/volumes/nfs/nfs-server-rc.yaml +++ /dev/null @@ -1,32 +0,0 @@ -apiVersion: v1 -kind: ReplicationController -metadata: - name: nfs-server -spec: - replicas: 1 - selector: - role: nfs-server - template: - metadata: - labels: - role: nfs-server - spec: - containers: - - name: nfs-server - image: gcr.io/google-samples/nfs-server:1.1 - ports: - - name: nfs - containerPort: 2049 - - name: mountd - containerPort: 20048 - - name: rpcbind - containerPort: 111 - securityContext: - privileged: true - volumeMounts: - - mountPath: /exports - name: mypvc - volumes: - - name: mypvc - persistentVolumeClaim: - claimName: nfs-pv-provisioning-demo diff --git a/examples/volumes/nfs/nfs-server-service.yaml b/examples/volumes/nfs/nfs-server-service.yaml deleted file mode 100644 index 9654d15838..0000000000 --- a/examples/volumes/nfs/nfs-server-service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: nfs-server -spec: - ports: - - name: nfs - port: 2049 - - name: mountd - port: 20048 - - name: rpcbind - port: 111 - selector: - role: nfs-server diff --git a/examples/volumes/nfs/nfs-web-rc.yaml b/examples/volumes/nfs/nfs-web-rc.yaml deleted file mode 100644 index 6c96682cb1..0000000000 --- a/examples/volumes/nfs/nfs-web-rc.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# This pod mounts the nfs volume claim into /usr/share/nginx/html and -# serves a simple web page. - -apiVersion: v1 -kind: ReplicationController -metadata: - name: nfs-web -spec: - replicas: 2 - selector: - role: web-frontend - template: - metadata: - labels: - role: web-frontend - spec: - containers: - - name: web - image: nginx - ports: - - name: web - containerPort: 80 - volumeMounts: - # name must match the volume name below - - name: nfs - mountPath: "/usr/share/nginx/html" - volumes: - - name: nfs - persistentVolumeClaim: - claimName: nfs diff --git a/examples/volumes/nfs/nfs-web-service.yaml b/examples/volumes/nfs/nfs-web-service.yaml deleted file mode 100644 index b73cac2bc9..0000000000 --- a/examples/volumes/nfs/nfs-web-service.yaml +++ /dev/null @@ -1,9 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: nfs-web -spec: - ports: - - port: 80 - selector: - role: web-frontend diff --git a/examples/volumes/nfs/provisioner/nfs-server-gce-pv.yaml b/examples/volumes/nfs/provisioner/nfs-server-gce-pv.yaml deleted file mode 100644 index cccb9a42a4..0000000000 --- a/examples/volumes/nfs/provisioner/nfs-server-gce-pv.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: nfs-pv-provisioning-demo - labels: - demo: nfs-pv-provisioning -spec: - accessModes: [ "ReadWriteOnce" ] - resources: - requests: - storage: 200Gi diff --git a/examples/volumes/portworx/README.md b/examples/volumes/portworx/README.md deleted file mode 100644 index d1ab62468e..0000000000 --- a/examples/volumes/portworx/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/portworx/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/portworx/README.md) diff --git a/examples/volumes/portworx/portworx-volume-pod.yaml b/examples/volumes/portworx/portworx-volume-pod.yaml deleted file mode 100644 index f44302f59e..0000000000 --- a/examples/volumes/portworx/portworx-volume-pod.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: test-portworx-volume-pod -spec: - containers: - - image: k8s.gcr.io/test-webserver - name: test-container - volumeMounts: - - mountPath: /test-portworx-volume - name: test-volume - volumes: - - name: test-volume - # This Portworx volume must already exist. - portworxVolume: - volumeID: "vol1" diff --git a/examples/volumes/portworx/portworx-volume-pv.yaml b/examples/volumes/portworx/portworx-volume-pv.yaml deleted file mode 100644 index af4e0114fa..0000000000 --- a/examples/volumes/portworx/portworx-volume-pv.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: pv0001 -spec: - capacity: - storage: 2Gi - accessModes: - - ReadWriteOnce - persistentVolumeReclaimPolicy: Retain - portworxVolume: - volumeID: "pv0001" diff --git a/examples/volumes/portworx/portworx-volume-pvc.yaml b/examples/volumes/portworx/portworx-volume-pvc.yaml deleted file mode 100644 index 181a3848d8..0000000000 --- a/examples/volumes/portworx/portworx-volume-pvc.yaml +++ /dev/null @@ -1,10 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: pvc0001 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi \ No newline at end of file diff --git a/examples/volumes/portworx/portworx-volume-pvcpod.yaml b/examples/volumes/portworx/portworx-volume-pvcpod.yaml deleted file mode 100644 index bef2d49656..0000000000 --- a/examples/volumes/portworx/portworx-volume-pvcpod.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: pvpod -spec: - containers: - - name: test-container - image: k8s.gcr.io/test-webserver - volumeMounts: - - name: test-volume - mountPath: /test-portworx-volume - volumes: - - name: test-volume - persistentVolumeClaim: - claimName: pvc0001 diff --git a/examples/volumes/portworx/portworx-volume-pvcsc.yaml b/examples/volumes/portworx/portworx-volume-pvcsc.yaml deleted file mode 100644 index 736e67feea..0000000000 --- a/examples/volumes/portworx/portworx-volume-pvcsc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: pvcsc001 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi - storageClassName: portworx-io-priority-high diff --git a/examples/volumes/portworx/portworx-volume-pvcscpod.yaml b/examples/volumes/portworx/portworx-volume-pvcscpod.yaml deleted file mode 100644 index 8bdd513192..0000000000 --- a/examples/volumes/portworx/portworx-volume-pvcscpod.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: pvpod -spec: - containers: - - name: test-container - image: k8s.gcr.io/test-webserver - volumeMounts: - - name: test-volume - mountPath: /test-portworx-volume - volumes: - - name: test-volume - persistentVolumeClaim: - claimName: pvcsc001 diff --git a/examples/volumes/portworx/portworx-volume-sc-high.yaml b/examples/volumes/portworx/portworx-volume-sc-high.yaml deleted file mode 100644 index 8fc7323778..0000000000 --- a/examples/volumes/portworx/portworx-volume-sc-high.yaml +++ /dev/null @@ -1,9 +0,0 @@ -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: portworx-io-priority-high -provisioner: kubernetes.io/portworx-volume -parameters: - repl: "1" - snap_interval: "70" - io_priority: "high" diff --git a/examples/volumes/quobyte/Readme.md b/examples/volumes/quobyte/Readme.md deleted file mode 100644 index fe41c8e595..0000000000 --- a/examples/volumes/quobyte/Readme.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/quobyte/Readme.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/quobyte/Readme.md) diff --git a/examples/volumes/quobyte/quobyte-pod.yaml b/examples/volumes/quobyte/quobyte-pod.yaml deleted file mode 100644 index f731a53ea5..0000000000 --- a/examples/volumes/quobyte/quobyte-pod.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: quobyte -spec: - containers: - - name: quobyte - image: kubernetes/pause - volumeMounts: - - mountPath: /mnt - name: quobytevolume - volumes: - - name: quobytevolume - quobyte: - registry: registry:7861 - volume: testVolume - readOnly: false - user: root - group: root diff --git a/examples/volumes/rbd/README.md b/examples/volumes/rbd/README.md deleted file mode 100644 index 46b19d8d36..0000000000 --- a/examples/volumes/rbd/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/rbd/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/rbd/README.md) diff --git a/examples/volumes/rbd/rbd-with-secret.json b/examples/volumes/rbd/rbd-with-secret.json deleted file mode 100644 index 30375583d0..0000000000 --- a/examples/volumes/rbd/rbd-with-secret.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "apiVersion": "v1", - "kind": "Pod", - "metadata": { - "name": "rbd2" - }, - "spec": { - "containers": [ - { - "name": "rbd-rw", - "image": "kubernetes/pause", - "volumeMounts": [ - { - "mountPath": "/mnt/rbd", - "name": "rbdpd" - } - ] - } - ], - "volumes": [ - { - "name": "rbdpd", - "rbd": { - "monitors": [ - "10.16.154.78:6789", - "10.16.154.82:6789", - "10.16.154.83:6789" - ], - "pool": "kube", - "image": "foo", - "user": "admin", - "secretRef": { - "name": "ceph-secret" - }, - "fsType": "ext4", - "readOnly": true - } - } - ] - } -} diff --git a/examples/volumes/rbd/rbd.json b/examples/volumes/rbd/rbd.json deleted file mode 100644 index 68033bffd8..0000000000 --- a/examples/volumes/rbd/rbd.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "apiVersion": "v1", - "kind": "Pod", - "metadata": { - "name": "rbd" - }, - "spec": { - "containers": [ - { - "name": "rbd-rw", - "image": "kubernetes/pause", - "volumeMounts": [ - { - "mountPath": "/mnt/rbd", - "name": "rbdpd" - } - ] - } - ], - "volumes": [ - { - "name": "rbdpd", - "rbd": { - "monitors": [ - "10.16.154.78:6789", - "10.16.154.82:6789", - "10.16.154.83:6789" - ], - "pool": "kube", - "image": "foo", - "user": "admin", - "keyring": "/etc/ceph/keyring", - "fsType": "ext4", - "readOnly": true - } - } - ] - } -} diff --git a/examples/volumes/rbd/secret/ceph-secret.yaml b/examples/volumes/rbd/secret/ceph-secret.yaml deleted file mode 100644 index f717f9005e..0000000000 --- a/examples/volumes/rbd/secret/ceph-secret.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: ceph-secret -type: "kubernetes.io/rbd" -data: - key: QVFCMTZWMVZvRjVtRXhBQTVrQ1FzN2JCajhWVUxSdzI2Qzg0SEE9PQ== diff --git a/examples/volumes/scaleio/README.md b/examples/volumes/scaleio/README.md deleted file mode 100644 index fb7f9a6fac..0000000000 --- a/examples/volumes/scaleio/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/scaleio/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/scaleio/README.md) diff --git a/examples/volumes/scaleio/pod-sc-pvc.yaml b/examples/volumes/scaleio/pod-sc-pvc.yaml deleted file mode 100644 index c94e7bc393..0000000000 --- a/examples/volumes/scaleio/pod-sc-pvc.yaml +++ /dev/null @@ -1,15 +0,0 @@ -kind: Pod -apiVersion: v1 -metadata: - name: pod-sio-small -spec: - containers: - - name: pod-sio-small-container - image: k8s.gcr.io/test-webserver - volumeMounts: - - mountPath: /test - name: test-data - volumes: - - name: test-data - persistentVolumeClaim: - claimName: pvc-sio-small diff --git a/examples/volumes/scaleio/pod.yaml b/examples/volumes/scaleio/pod.yaml deleted file mode 100644 index b13ec668c7..0000000000 --- a/examples/volumes/scaleio/pod.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: pod-0 -spec: - containers: - - image: k8s.gcr.io/test-webserver - name: pod-0 - volumeMounts: - - mountPath: /test-pd - name: vol-0 - volumes: - - name: vol-0 - scaleIO: - gateway: https://localhost:443/api - system: scaleio - volumeName: vol-0 - secretRef: - name: sio-secret - fsType: xfs diff --git a/examples/volumes/scaleio/sc-pvc.yaml b/examples/volumes/scaleio/sc-pvc.yaml deleted file mode 100644 index 078fb63548..0000000000 --- a/examples/volumes/scaleio/sc-pvc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: pvc-sio-small -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi - storageClassName: sio-small diff --git a/examples/volumes/scaleio/sc.yaml b/examples/volumes/scaleio/sc.yaml deleted file mode 100644 index 2ff4c028f5..0000000000 --- a/examples/volumes/scaleio/sc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: sio-small -provisioner: kubernetes.io/scaleio -parameters: - gateway: https://localhost:443/api - system: scaleio - protectionDomain: default - secretRef: sio-secret - fsType: xfs diff --git a/examples/volumes/scaleio/secret.yaml b/examples/volumes/scaleio/secret.yaml deleted file mode 100644 index b2fad68afa..0000000000 --- a/examples/volumes/scaleio/secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: sio-secret -type: kubernetes.io/scaleio -data: - username: YWRtaW4= - password: c0NhbGVpbzEyMw== diff --git a/examples/volumes/storageos/README.md b/examples/volumes/storageos/README.md deleted file mode 100644 index c2d6f74dbb..0000000000 --- a/examples/volumes/storageos/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/storageos/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/storageos/README.md) diff --git a/examples/volumes/storageos/storageos-pod.yaml b/examples/volumes/storageos/storageos-pod.yaml deleted file mode 100644 index 8225c5481b..0000000000 --- a/examples/volumes/storageos/storageos-pod.yaml +++ /dev/null @@ -1,37 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - labels: - name: redis - role: master - name: test-storageos-redis -spec: - containers: - - name: master - image: kubernetes/redis:v1 - env: - - name: MASTER - value: "true" - ports: - - containerPort: 6379 - resources: - limits: - cpu: "0.1" - volumeMounts: - - mountPath: /redis-master-data - name: redis-data - volumes: - - name: redis-data - storageos: - # This volume must already exist within StorageOS - volumeName: redis-vol01 - # Namespace is optional, and specifies the volume scope within - # StorageOS. If no namespace is provided, it will use the namespace - # of the pod. Set to `default` or leave blank if you are not using - # namespaces. - #namespace: test-storageos - # The name of the storageos pool to use. Will use `default` if not - # specified, which should be available on most StorageOS clusters. - pool: default - # The filesystem type to create on the volume, if required. - fsType: ext4 diff --git a/examples/volumes/storageos/storageos-pv.yaml b/examples/volumes/storageos/storageos-pv.yaml deleted file mode 100644 index 3afe090947..0000000000 --- a/examples/volumes/storageos/storageos-pv.yaml +++ /dev/null @@ -1,22 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: pv0001 -spec: - capacity: - storage: 5Gi - accessModes: - - ReadWriteOnce - persistentVolumeReclaimPolicy: Delete - storageClassName: fast - storageos: - # This volume must already exist within StorageOS - volumeName: pv0001 - # volumeNamespace is optional, and specifies the volume scope within - # StorageOS. Set to `default` or leave blank if you are not using - # namespaces. - #volumeNamespace: default - # The filesystem type to create on the volume, if required. - fsType: ext4 - # The secret name for API credentials - secretName: storageos-secret diff --git a/examples/volumes/storageos/storageos-pvc.yaml b/examples/volumes/storageos/storageos-pvc.yaml deleted file mode 100644 index 4eecf36442..0000000000 --- a/examples/volumes/storageos/storageos-pvc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: pvc0001 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 5Gi - storageClassName: fast diff --git a/examples/volumes/storageos/storageos-pvcpod.yaml b/examples/volumes/storageos/storageos-pvcpod.yaml deleted file mode 100644 index dbea02c2c6..0000000000 --- a/examples/volumes/storageos/storageos-pvcpod.yaml +++ /dev/null @@ -1,26 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - labels: - name: redis - role: master - name: test-storageos-redis-pvc -spec: - containers: - - name: master - image: kubernetes/redis:v1 - env: - - name: MASTER - value: "true" - ports: - - containerPort: 6379 - resources: - limits: - cpu: "0.1" - volumeMounts: - - mountPath: /redis-master-data - name: redis-data - volumes: - - name: redis-data - persistentVolumeClaim: - claimName: pvc0001 diff --git a/examples/volumes/storageos/storageos-sc-pvc.yaml b/examples/volumes/storageos/storageos-sc-pvc.yaml deleted file mode 100644 index 96d7b13412..0000000000 --- a/examples/volumes/storageos/storageos-sc-pvc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: fast0001 -spec: - accessModes: - - ReadWriteOnce - storageClassName: fast - resources: - requests: - storage: 5Gi diff --git a/examples/volumes/storageos/storageos-sc-pvcpod.yaml b/examples/volumes/storageos/storageos-sc-pvcpod.yaml deleted file mode 100644 index a75a6c51a0..0000000000 --- a/examples/volumes/storageos/storageos-sc-pvcpod.yaml +++ /dev/null @@ -1,26 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - labels: - name: redis - role: master - name: test-storageos-redis-sc-pvc -spec: - containers: - - name: master - image: kubernetes/redis:v1 - env: - - name: MASTER - value: "true" - ports: - - containerPort: 6379 - resources: - limits: - cpu: "0.1" - volumeMounts: - - mountPath: /redis-master-data - name: redis-data - volumes: - - name: redis-data - persistentVolumeClaim: - claimName: fast0001 diff --git a/examples/volumes/storageos/storageos-sc.yaml b/examples/volumes/storageos/storageos-sc.yaml deleted file mode 100644 index 4f7bd60387..0000000000 --- a/examples/volumes/storageos/storageos-sc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: sc-fast -provisioner: kubernetes.io/storageos -parameters: - pool: default - description: Kubernetes volume - fsType: ext4 - adminSecretNamespace: default - adminSecretName: storageos-secret \ No newline at end of file diff --git a/examples/volumes/storageos/storageos-secret.yaml b/examples/volumes/storageos/storageos-secret.yaml deleted file mode 100644 index f837eb1380..0000000000 --- a/examples/volumes/storageos/storageos-secret.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: storageos-secret -type: "kubernetes.io/storageos" -data: - apiAddress: dGNwOi8vMTI3LjAuMC4xOjU3MDU= - apiUsername: c3RvcmFnZW9z - apiPassword: c3RvcmFnZW9z diff --git a/examples/volumes/vsphere/README.md b/examples/volumes/vsphere/README.md deleted file mode 100644 index 11c6e1abea..0000000000 --- a/examples/volumes/vsphere/README.md +++ /dev/null @@ -1 +0,0 @@ -This file has moved to [https://github.com/kubernetes/examples/blob/master/staging/volumes/vsphere/README.md](https://github.com/kubernetes/examples/blob/master/staging/volumes/vsphere/README.md) diff --git a/examples/volumes/vsphere/deployment.yaml b/examples/volumes/vsphere/deployment.yaml deleted file mode 100644 index 1ea779b8aa..0000000000 --- a/examples/volumes/vsphere/deployment.yaml +++ /dev/null @@ -1,22 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: deployment -spec: - replicas: 1 - template: - metadata: - labels: - app: redis - spec: - containers: - - name: redis - image: redis - volumeMounts: - - name: vmfs-vmdk-storage - mountPath: /data/ - volumes: - - name: vmfs-vmdk-storage - vsphereVolume: - volumePath: "[Datastore] volumes/testdir" - fsType: ext4 \ No newline at end of file diff --git a/examples/volumes/vsphere/simple-statefulset.yaml b/examples/volumes/vsphere/simple-statefulset.yaml deleted file mode 100644 index d9de93c257..0000000000 --- a/examples/volumes/vsphere/simple-statefulset.yaml +++ /dev/null @@ -1,45 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: nginx - labels: - app: nginx -spec: - ports: - - port: 80 - name: web - clusterIP: None - selector: - app: nginx ---- -apiVersion: apps/v1beta1 -kind: StatefulSet -metadata: - name: web -spec: - serviceName: "nginx" - replicas: 14 - template: - metadata: - labels: - app: nginx - spec: - containers: - - name: nginx - image: k8s.gcr.io/nginx-slim:0.8 - ports: - - containerPort: 80 - name: web - volumeMounts: - - name: www - mountPath: /usr/share/nginx/html - volumeClaimTemplates: - - metadata: - name: www - spec: - accessModes: [ "ReadWriteOnce" ] - resources: - requests: - storage: 1Gi - storageClassName: thin-disk diff --git a/examples/volumes/vsphere/simple-storageclass.yaml b/examples/volumes/vsphere/simple-storageclass.yaml deleted file mode 100644 index 87327836f0..0000000000 --- a/examples/volumes/vsphere/simple-storageclass.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: thin-disk -provisioner: kubernetes.io/vsphere-volume -parameters: - diskformat: thin diff --git a/examples/volumes/vsphere/vsphere-volume-pod.yaml b/examples/volumes/vsphere/vsphere-volume-pod.yaml deleted file mode 100644 index 0204ad3a59..0000000000 --- a/examples/volumes/vsphere/vsphere-volume-pod.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: test-vmdk -spec: - containers: - - image: k8s.gcr.io/test-webserver - name: test-container - volumeMounts: - - mountPath: /test-vmdk - name: test-volume - volumes: - - name: test-volume - # This VMDK volume must already exist. - vsphereVolume: - volumePath: "[DatastoreName] volumes/myDisk" - fsType: ext4 \ No newline at end of file diff --git a/examples/volumes/vsphere/vsphere-volume-pv.yaml b/examples/volumes/vsphere/vsphere-volume-pv.yaml deleted file mode 100644 index 5bc2782881..0000000000 --- a/examples/volumes/vsphere/vsphere-volume-pv.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: pv0001 -spec: - capacity: - storage: 2Gi - accessModes: - - ReadWriteOnce - persistentVolumeReclaimPolicy: Retain - vsphereVolume: - volumePath: "[DatastoreName] volumes/myDisk" - fsType: ext4 \ No newline at end of file diff --git a/examples/volumes/vsphere/vsphere-volume-pvc.yaml b/examples/volumes/vsphere/vsphere-volume-pvc.yaml deleted file mode 100644 index 181a3848d8..0000000000 --- a/examples/volumes/vsphere/vsphere-volume-pvc.yaml +++ /dev/null @@ -1,10 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: pvc0001 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi \ No newline at end of file diff --git a/examples/volumes/vsphere/vsphere-volume-pvcpod.yaml b/examples/volumes/vsphere/vsphere-volume-pvcpod.yaml deleted file mode 100644 index 326c0031f3..0000000000 --- a/examples/volumes/vsphere/vsphere-volume-pvcpod.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: pvpod -spec: - containers: - - name: test-container - image: k8s.gcr.io/test-webserver - volumeMounts: - - name: test-volume - mountPath: /test-vmdk - volumes: - - name: test-volume - persistentVolumeClaim: - claimName: pvc0001 diff --git a/examples/volumes/vsphere/vsphere-volume-pvcsc.yaml b/examples/volumes/vsphere/vsphere-volume-pvcsc.yaml deleted file mode 100644 index 03f3f8f8fe..0000000000 --- a/examples/volumes/vsphere/vsphere-volume-pvcsc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: pvcsc001 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi - storageClassName: fast diff --git a/examples/volumes/vsphere/vsphere-volume-pvcscpod.yaml b/examples/volumes/vsphere/vsphere-volume-pvcscpod.yaml deleted file mode 100644 index c569a0b36d..0000000000 --- a/examples/volumes/vsphere/vsphere-volume-pvcscpod.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: pvpod -spec: - containers: - - name: test-container - image: k8s.gcr.io/test-webserver - volumeMounts: - - name: test-volume - mountPath: /test-vmdk - volumes: - - name: test-volume - persistentVolumeClaim: - claimName: pvcsc001 diff --git a/examples/volumes/vsphere/vsphere-volume-sc-fast.yaml b/examples/volumes/vsphere/vsphere-volume-sc-fast.yaml deleted file mode 100644 index 959e28e883..0000000000 --- a/examples/volumes/vsphere/vsphere-volume-sc-fast.yaml +++ /dev/null @@ -1,8 +0,0 @@ -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: fast -provisioner: kubernetes.io/vsphere-volume -parameters: - diskformat: zeroedthick - fstype: ext3 \ No newline at end of file diff --git a/examples/volumes/vsphere/vsphere-volume-sc-vsancapabilities-with-datastore.yaml b/examples/volumes/vsphere/vsphere-volume-sc-vsancapabilities-with-datastore.yaml deleted file mode 100644 index 5c4a9a6652..0000000000 --- a/examples/volumes/vsphere/vsphere-volume-sc-vsancapabilities-with-datastore.yaml +++ /dev/null @@ -1,10 +0,0 @@ -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: fast -provisioner: kubernetes.io/vsphere-volume -parameters: - diskformat: zeroedthick - datastore: vsanDatastore - hostFailuresToTolerate: "2" - cachereservation: "20" diff --git a/examples/volumes/vsphere/vsphere-volume-sc-vsancapabilities.yaml b/examples/volumes/vsphere/vsphere-volume-sc-vsancapabilities.yaml deleted file mode 100644 index 5f8f9f2fc1..0000000000 --- a/examples/volumes/vsphere/vsphere-volume-sc-vsancapabilities.yaml +++ /dev/null @@ -1,9 +0,0 @@ -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: fast -provisioner: kubernetes.io/vsphere-volume -parameters: - diskformat: zeroedthick - hostFailuresToTolerate: "2" - cachereservation: "20" diff --git a/examples/volumes/vsphere/vsphere-volume-sc-with-datastore.yaml b/examples/volumes/vsphere/vsphere-volume-sc-with-datastore.yaml deleted file mode 100644 index 3fb56bf1ab..0000000000 --- a/examples/volumes/vsphere/vsphere-volume-sc-with-datastore.yaml +++ /dev/null @@ -1,8 +0,0 @@ -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: fast -provisioner: kubernetes.io/vsphere-volume -parameters: - diskformat: zeroedthick - datastore: vsanDatastore diff --git a/examples/volumes/vsphere/vsphere-volume-spbm-policy-with-datastore.yaml b/examples/volumes/vsphere/vsphere-volume-spbm-policy-with-datastore.yaml deleted file mode 100644 index 43e22c506f..0000000000 --- a/examples/volumes/vsphere/vsphere-volume-spbm-policy-with-datastore.yaml +++ /dev/null @@ -1,9 +0,0 @@ -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: fast -provisioner: kubernetes.io/vsphere-volume -parameters: - diskformat: zeroedthick - storagePolicyName: gold - datastore: VSANDatastore diff --git a/examples/volumes/vsphere/vsphere-volume-spbm-policy.yaml b/examples/volumes/vsphere/vsphere-volume-spbm-policy.yaml deleted file mode 100644 index 0d68f680c2..0000000000 --- a/examples/volumes/vsphere/vsphere-volume-spbm-policy.yaml +++ /dev/null @@ -1,8 +0,0 @@ -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: fast -provisioner: kubernetes.io/vsphere-volume -parameters: - diskformat: zeroedthick - storagePolicyName: gold diff --git a/hack/.golint_failures b/hack/.golint_failures index e6c0102f40..9b5904c4b0 100644 --- a/hack/.golint_failures +++ b/hack/.golint_failures @@ -9,7 +9,6 @@ cmd/kubeadm/app/apis/kubeadm/v1alpha1 cmd/kubelet/app cmd/kubelet/app/options cmd/kubemark -examples/guestbook-go pkg/api/endpoints pkg/api/ref pkg/api/testapi diff --git a/hack/generate-bindata.sh b/hack/generate-bindata.sh index a0545d11cf..1f54570dcb 100755 --- a/hack/generate-bindata.sh +++ b/hack/generate-bindata.sh @@ -22,8 +22,8 @@ export KUBE_ROOT=$(dirname "${BASH_SOURCE}")/.. source "${KUBE_ROOT}/hack/lib/init.sh" source "${KUBE_ROOT}/hack/lib/logging.sh" -if [[ ! -d "${KUBE_ROOT}/examples" ]]; then - echo "${KUBE_ROOT}/examples not detected. This script should be run from a location where the source dirs are available." +if [[ ! -d "${KUBE_ROOT}/pkg" ]]; then + echo "${KUBE_ROOT}/pkg not detected. This script should be run from a location where the source dirs are available." exit 1 fi @@ -43,7 +43,6 @@ pushd "${KUBE_ROOT}" >/dev/null BINDATA_OUTPUT="test/e2e/generated/bindata.go" go-bindata -nometadata -o "${BINDATA_OUTPUT}.tmp" -pkg generated \ -ignore .jpg -ignore .png -ignore .md \ - "examples/..." \ "test/e2e/testing-manifests/..." \ "test/images/..." \ "test/fixtures/..." diff --git a/hack/make-rules/helpers/cache_go_dirs.sh b/hack/make-rules/helpers/cache_go_dirs.sh index 82402c6676..6de1e5b25c 100755 --- a/hack/make-rules/helpers/cache_go_dirs.sh +++ b/hack/make-rules/helpers/cache_go_dirs.sh @@ -47,8 +47,7 @@ function kfind() { -path ./staging -o \ -path ./_\* -o \ -path ./.\* -o \ - -path ./docs -o \ - -path ./examples \ + -path ./docs \ \) -prune \ \) \ \) \ diff --git a/hack/make-rules/test-cmd-util.sh b/hack/make-rules/test-cmd-util.sh index efce34f330..e88f1ea912 100755 --- a/hack/make-rules/test-cmd-util.sh +++ b/hack/make-rules/test-cmd-util.sh @@ -533,7 +533,7 @@ run_pod_tests() { kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" '' # Command kubectl create -f test/fixtures/doc-yaml/admin/limitrange/valid-pod.yaml "${kube_flags[@]}" - kubectl create -f examples/storage/redis/redis-master.yaml "${kube_flags[@]}" + kubectl create -f test/e2e/testing-manifests/kubectl/redis-master-pod.yaml "${kube_flags[@]}" # Post-condition: valid-pod and redis-master PODs are created kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" 'redis-master:valid-pod:' @@ -2534,7 +2534,7 @@ run_service_tests() { # Pre-condition: Only the default kubernetes services exist kube::test::get_object_assert services "{{range.items}}{{$id_field}}:{{end}}" 'kubernetes:' # Command - kubectl create -f examples/guestbook/redis-master-service.yaml "${kube_flags[@]}" + kubectl create -f test/e2e/testing-manifests/guestbook/redis-master-service.yaml "${kube_flags[@]}" # Post-condition: redis-master service exists kube::test::get_object_assert services "{{range.items}}{{$id_field}}:{{end}}" 'kubernetes:redis-master:' # Describe command should print detailed information @@ -2559,14 +2559,14 @@ run_service_tests() { kube::test::get_object_assert 'services redis-master' "{{range$service_selector_field}}{{.}}:{{end}}" "redis:master:backend:" # Set selector of a local file without talking to the server - kubectl set selector -f examples/guestbook/redis-master-service.yaml role=padawan --local -o yaml "${kube_flags[@]}" - ! kubectl set selector -f examples/guestbook/redis-master-service.yaml role=padawan --dry-run -o yaml "${kube_flags[@]}" + kubectl set selector -f test/e2e/testing-manifests/guestbook/redis-master-service.yaml role=padawan --local -o yaml "${kube_flags[@]}" + ! kubectl set selector -f test/e2e/testing-manifests/guestbook/redis-master-service.yaml role=padawan --dry-run -o yaml "${kube_flags[@]}" # Set command to change the selector. - kubectl set selector -f examples/guestbook/redis-master-service.yaml role=padawan + kubectl set selector -f test/e2e/testing-manifests/guestbook/redis-master-service.yaml role=padawan # prove role=padawan kube::test::get_object_assert 'services redis-master' "{{range$service_selector_field}}{{.}}:{{end}}" "padawan:" # Set command to reset the selector back to the original one. - kubectl set selector -f examples/guestbook/redis-master-service.yaml app=redis,role=master,tier=backend + kubectl set selector -f test/e2e/testing-manifests/guestbook/redis-master-service.yaml app=redis,role=master,tier=backend # prove role=master kube::test::get_object_assert 'services redis-master' "{{range$service_selector_field}}{{.}}:{{end}}" "redis:master:backend:" # Show dry-run works on running selector @@ -2640,8 +2640,8 @@ __EOF__ # Pre-condition: Only the default kubernetes services exist kube::test::get_object_assert services "{{range.items}}{{$id_field}}:{{end}}" 'kubernetes:' # Command - kubectl create -f examples/guestbook/redis-master-service.yaml "${kube_flags[@]}" - kubectl create -f examples/guestbook/redis-slave-service.yaml "${kube_flags[@]}" + kubectl create -f test/e2e/testing-manifests/guestbook/redis-master-service.yaml "${kube_flags[@]}" + kubectl create -f test/e2e/testing-manifests/guestbook/redis-slave-service.yaml "${kube_flags[@]}" # Post-condition: redis-master and redis-slave services are created kube::test::get_object_assert services "{{range.items}}{{$id_field}}:{{end}}" 'kubernetes:redis-master:redis-slave:' @@ -2760,8 +2760,8 @@ run_rc_tests() { kubectl delete rc frontend "${kube_flags[@]}" ### Scale multiple replication controllers - kubectl create -f examples/guestbook/legacy/redis-master-controller.yaml "${kube_flags[@]}" - kubectl create -f examples/guestbook/legacy/redis-slave-controller.yaml "${kube_flags[@]}" + kubectl create -f test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml "${kube_flags[@]}" + kubectl create -f test/e2e/testing-manifests/guestbook/legacy/redis-slave-controller.yaml "${kube_flags[@]}" # Command kubectl scale rc/redis-master rc/redis-slave --replicas=4 "${kube_flags[@]}" # Post-condition: 4 replicas each @@ -2871,7 +2871,7 @@ run_rc_tests() { kube::test::get_object_assert rc "{{range.items}}{{$id_field}}:{{end}}" '' # Command kubectl create -f hack/testdata/frontend-controller.yaml "${kube_flags[@]}" - kubectl create -f examples/guestbook/legacy/redis-slave-controller.yaml "${kube_flags[@]}" + kubectl create -f test/e2e/testing-manifests/guestbook/legacy/redis-slave-controller.yaml "${kube_flags[@]}" # Post-condition: frontend and redis-slave kube::test::get_object_assert rc "{{range.items}}{{$id_field}}:{{end}}" 'frontend:redis-slave:' diff --git a/hack/test-update-storage-objects.sh b/hack/test-update-storage-objects.sh index 4c5cc2d745..aca9c48e2a 100755 --- a/hack/test-update-storage-objects.sh +++ b/hack/test-update-storage-objects.sh @@ -105,7 +105,7 @@ echo "${ETCD_VERSION}" > "${ETCD_DIR}/version.txt" # source_file,resource,namespace,name,old_version,new_version tests=( -examples/persistent-volume-provisioning/rbd/rbd-storage-class.yaml,storageclasses,,slow,v1beta1,v1 +test/e2e/testing-manifests/rbd-storage-class.yaml,storageclasses,,slow,v1beta1,v1 ) KUBE_OLD_API_VERSION="networking.k8s.io/v1,storage.k8s.io/v1beta1,extensions/v1beta1" diff --git a/pkg/kubectl/cmd/BUILD b/pkg/kubectl/cmd/BUILD index 3ddfebab56..594808e1b8 100644 --- a/pkg/kubectl/cmd/BUILD +++ b/pkg/kubectl/cmd/BUILD @@ -178,7 +178,6 @@ go_test( data = [ "testdata", "//api/openapi-spec:swagger-spec", - "//examples:config", "//test/e2e/testing-manifests:all-srcs", "//test/fixtures", ], diff --git a/pkg/kubectl/cmd/create/BUILD b/pkg/kubectl/cmd/create/BUILD index 27a4928ab7..6a6445ce08 100644 --- a/pkg/kubectl/cmd/create/BUILD +++ b/pkg/kubectl/cmd/create/BUILD @@ -67,7 +67,7 @@ go_test( "create_test.go", ], data = [ - "//examples:config", + "//test/e2e/testing-manifests:all-srcs", ], embed = [":go_default_library"], deps = [ diff --git a/pkg/kubectl/cmd/create/create_test.go b/pkg/kubectl/cmd/create/create_test.go index 91ff4f840b..f83a51c6e5 100644 --- a/pkg/kubectl/cmd/create/create_test.go +++ b/pkg/kubectl/cmd/create/create_test.go @@ -73,7 +73,7 @@ func TestCreateObject(t *testing.T) { ioStreams, _, buf, _ := genericclioptions.NewTestIOStreams() cmd := NewCmdCreate(tf, ioStreams) - cmd.Flags().Set("filename", "../../../../examples/guestbook/legacy/redis-master-controller.yaml") + cmd.Flags().Set("filename", "../../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml") cmd.Flags().Set("output", "name") cmd.Run(cmd, []string{}) @@ -111,8 +111,8 @@ func TestCreateMultipleObject(t *testing.T) { ioStreams, _, buf, _ := genericclioptions.NewTestIOStreams() cmd := NewCmdCreate(tf, ioStreams) - cmd.Flags().Set("filename", "../../../../examples/guestbook/legacy/redis-master-controller.yaml") - cmd.Flags().Set("filename", "../../../../examples/guestbook/frontend-service.yaml") + cmd.Flags().Set("filename", "../../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml") + cmd.Flags().Set("filename", "../../../../test/e2e/testing-manifests/guestbook/frontend-service.yaml") cmd.Flags().Set("output", "name") cmd.Run(cmd, []string{}) @@ -149,7 +149,7 @@ func TestCreateDirectory(t *testing.T) { ioStreams, _, buf, _ := genericclioptions.NewTestIOStreams() cmd := NewCmdCreate(tf, ioStreams) - cmd.Flags().Set("filename", "../../../../examples/guestbook/legacy") + cmd.Flags().Set("filename", "../../../../test/e2e/testing-manifests/guestbook/legacy") cmd.Flags().Set("output", "name") cmd.Run(cmd, []string{}) diff --git a/pkg/kubectl/cmd/delete_test.go b/pkg/kubectl/cmd/delete_test.go index a7a1f60788..9e7da6b21a 100644 --- a/pkg/kubectl/cmd/delete_test.go +++ b/pkg/kubectl/cmd/delete_test.go @@ -253,7 +253,7 @@ func TestDeleteObject(t *testing.T) { buf, errBuf := bytes.NewBuffer([]byte{}), bytes.NewBuffer([]byte{}) cmd := NewCmdDelete(tf, buf, errBuf) - cmd.Flags().Set("filename", "../../../examples/guestbook/legacy/redis-master-controller.yaml") + cmd.Flags().Set("filename", "../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml") cmd.Flags().Set("cascade", "false") cmd.Flags().Set("output", "name") cmd.Run(cmd, []string{}) @@ -365,7 +365,7 @@ func TestDeleteObjectNotFound(t *testing.T) { options := &DeleteOptions{ FilenameOptions: resource.FilenameOptions{ - Filenames: []string{"../../../examples/guestbook/legacy/redis-master-controller.yaml"}, + Filenames: []string{"../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml"}, }, GracePeriod: -1, Cascade: false, @@ -402,7 +402,7 @@ func TestDeleteObjectIgnoreNotFound(t *testing.T) { buf, errBuf := bytes.NewBuffer([]byte{}), bytes.NewBuffer([]byte{}) cmd := NewCmdDelete(tf, buf, errBuf) - cmd.Flags().Set("filename", "../../../examples/guestbook/legacy/redis-master-controller.yaml") + cmd.Flags().Set("filename", "../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml") cmd.Flags().Set("cascade", "false") cmd.Flags().Set("ignore-not-found", "true") cmd.Flags().Set("output", "name") @@ -533,8 +533,8 @@ func TestDeleteMultipleObject(t *testing.T) { buf, errBuf := bytes.NewBuffer([]byte{}), bytes.NewBuffer([]byte{}) cmd := NewCmdDelete(tf, buf, errBuf) - cmd.Flags().Set("filename", "../../../examples/guestbook/legacy/redis-master-controller.yaml") - cmd.Flags().Set("filename", "../../../examples/guestbook/frontend-service.yaml") + cmd.Flags().Set("filename", "../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml") + cmd.Flags().Set("filename", "../../../test/e2e/testing-manifests/guestbook/frontend-service.yaml") cmd.Flags().Set("cascade", "false") cmd.Flags().Set("output", "name") cmd.Run(cmd, []string{}) @@ -572,7 +572,7 @@ func TestDeleteMultipleObjectContinueOnMissing(t *testing.T) { options := &DeleteOptions{ FilenameOptions: resource.FilenameOptions{ - Filenames: []string{"../../../examples/guestbook/legacy/redis-master-controller.yaml", "../../../examples/guestbook/frontend-service.yaml"}, + Filenames: []string{"../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml", "../../../test/e2e/testing-manifests/guestbook/frontend-service.yaml"}, }, GracePeriod: -1, Cascade: false, @@ -657,7 +657,7 @@ func TestDeleteDirectory(t *testing.T) { buf, errBuf := bytes.NewBuffer([]byte{}), bytes.NewBuffer([]byte{}) cmd := NewCmdDelete(tf, buf, errBuf) - cmd.Flags().Set("filename", "../../../examples/guestbook/legacy") + cmd.Flags().Set("filename", "../../../test/e2e/testing-manifests/guestbook/legacy") cmd.Flags().Set("cascade", "false") cmd.Flags().Set("output", "name") cmd.Run(cmd, []string{}) diff --git a/pkg/kubectl/cmd/describe_test.go b/pkg/kubectl/cmd/describe_test.go index 6e029f3d68..85424e97ec 100644 --- a/pkg/kubectl/cmd/describe_test.go +++ b/pkg/kubectl/cmd/describe_test.go @@ -106,7 +106,7 @@ func TestDescribeObject(t *testing.T) { buf := bytes.NewBuffer([]byte{}) buferr := bytes.NewBuffer([]byte{}) cmd := NewCmdDescribe(tf, buf, buferr) - cmd.Flags().Set("filename", "../../../examples/guestbook/legacy/redis-master-controller.yaml") + cmd.Flags().Set("filename", "../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml") cmd.Run(cmd, []string{}) if d.Name != "redis-master" || d.Namespace != "test" { diff --git a/pkg/kubectl/cmd/expose_test.go b/pkg/kubectl/cmd/expose_test.go index 7097d67940..6cfe5f6085 100644 --- a/pkg/kubectl/cmd/expose_test.go +++ b/pkg/kubectl/cmd/expose_test.go @@ -312,7 +312,7 @@ func TestRunExposeService(t *testing.T) { Selector: map[string]string{"app": "go"}, }, }, - flags: map[string]string{"filename": "../../../examples/guestbook/redis-master-service.yaml", "selector": "func=stream", "protocol": "UDP", "port": "14", "name": "foo", "labels": "svc=test", "dry-run": "true"}, + flags: map[string]string{"filename": "../../../test/e2e/testing-manifests/guestbook/redis-master-service.yaml", "selector": "func=stream", "protocol": "UDP", "port": "14", "name": "foo", "labels": "svc=test", "dry-run": "true"}, output: &api.Service{ ObjectMeta: metav1.ObjectMeta{Name: "foo", Labels: map[string]string{"svc": "test"}}, Spec: api.ServiceSpec{ diff --git a/pkg/kubectl/cmd/patch_test.go b/pkg/kubectl/cmd/patch_test.go index 6d9757eb5c..e4737f6353 100644 --- a/pkg/kubectl/cmd/patch_test.go +++ b/pkg/kubectl/cmd/patch_test.go @@ -97,7 +97,7 @@ func TestPatchObjectFromFile(t *testing.T) { cmd.Flags().Set("namespace", "test") cmd.Flags().Set("patch", `{"spec":{"type":"NodePort"}}`) cmd.Flags().Set("output", "name") - cmd.Flags().Set("filename", "../../../examples/guestbook/frontend-service.yaml") + cmd.Flags().Set("filename", "../../../test/e2e/testing-manifests/guestbook/frontend-service.yaml") cmd.Run(cmd, []string{}) // uses the name from the response @@ -185,7 +185,7 @@ func TestPatchObjectFromFileOutput(t *testing.T) { cmd.Flags().Set("namespace", "test") cmd.Flags().Set("patch", `{"spec":{"type":"NodePort"}}`) cmd.Flags().Set("output", "yaml") - cmd.Flags().Set("filename", "../../../examples/guestbook/frontend-service.yaml") + cmd.Flags().Set("filename", "../../../test/e2e/testing-manifests/guestbook/frontend-service.yaml") cmd.Run(cmd, []string{}) t.Log(buf.String()) diff --git a/pkg/kubectl/cmd/replace_test.go b/pkg/kubectl/cmd/replace_test.go index 300696e59d..2789967784 100644 --- a/pkg/kubectl/cmd/replace_test.go +++ b/pkg/kubectl/cmd/replace_test.go @@ -66,7 +66,7 @@ func TestReplaceObject(t *testing.T) { buf := bytes.NewBuffer([]byte{}) cmd := NewCmdReplace(tf, buf, buf) - cmd.Flags().Set("filename", "../../../examples/guestbook/legacy/redis-master-controller.yaml") + cmd.Flags().Set("filename", "../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml") cmd.Flags().Set("output", "name") cmd.Run(cmd, []string{}) @@ -137,8 +137,8 @@ func TestReplaceMultipleObject(t *testing.T) { buf := bytes.NewBuffer([]byte{}) cmd := NewCmdReplace(tf, buf, buf) - cmd.Flags().Set("filename", "../../../examples/guestbook/legacy/redis-master-controller.yaml") - cmd.Flags().Set("filename", "../../../examples/guestbook/frontend-service.yaml") + cmd.Flags().Set("filename", "../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml") + cmd.Flags().Set("filename", "../../../test/e2e/testing-manifests/guestbook/frontend-service.yaml") cmd.Flags().Set("output", "name") cmd.Run(cmd, []string{}) @@ -195,7 +195,7 @@ func TestReplaceDirectory(t *testing.T) { buf := bytes.NewBuffer([]byte{}) cmd := NewCmdReplace(tf, buf, buf) - cmd.Flags().Set("filename", "../../../examples/guestbook/legacy") + cmd.Flags().Set("filename", "../../../test/e2e/testing-manifests/guestbook/legacy") cmd.Flags().Set("namespace", "test") cmd.Flags().Set("output", "name") cmd.Run(cmd, []string{}) @@ -242,7 +242,7 @@ func TestForceReplaceObjectNotFound(t *testing.T) { buf := bytes.NewBuffer([]byte{}) cmd := NewCmdReplace(tf, buf, buf) - cmd.Flags().Set("filename", "../../../examples/guestbook/legacy/redis-master-controller.yaml") + cmd.Flags().Set("filename", "../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml") cmd.Flags().Set("force", "true") cmd.Flags().Set("cascade", "false") cmd.Flags().Set("output", "name") diff --git a/pkg/kubectl/cmd/resource/BUILD b/pkg/kubectl/cmd/resource/BUILD index 0f65660c25..78ac12bae5 100644 --- a/pkg/kubectl/cmd/resource/BUILD +++ b/pkg/kubectl/cmd/resource/BUILD @@ -36,7 +36,6 @@ go_test( srcs = ["get_test.go"], data = [ "//api/openapi-spec:swagger-spec", - "//examples:config", "//test/e2e/testing-manifests:all-srcs", "//test/fixtures", ], diff --git a/pkg/kubectl/cmd/set/BUILD b/pkg/kubectl/cmd/set/BUILD index 60d517199c..0181e2d0f5 100644 --- a/pkg/kubectl/cmd/set/BUILD +++ b/pkg/kubectl/cmd/set/BUILD @@ -56,7 +56,6 @@ go_test( "set_test.go", ], data = [ - "//examples:config", "//test/e2e/testing-manifests:all-srcs", "//test/fixtures", ], diff --git a/pkg/kubectl/resource/BUILD b/pkg/kubectl/resource/BUILD index fc5d020538..142fc8ce1e 100644 --- a/pkg/kubectl/resource/BUILD +++ b/pkg/kubectl/resource/BUILD @@ -51,7 +51,7 @@ go_test( "visitor_test.go", ], data = [ - "//examples:config", + "//test/e2e/testing-manifests:all-srcs", "//test/fixtures", ], embed = [":go_default_library"], diff --git a/pkg/kubectl/resource/builder_test.go b/pkg/kubectl/resource/builder_test.go index c728a359f3..a70a384680 100644 --- a/pkg/kubectl/resource/builder_test.go +++ b/pkg/kubectl/resource/builder_test.go @@ -375,9 +375,9 @@ func TestPathBuilderWithMultiple(t *testing.T) { directory string expectedNames []string }{ - {"pod", &v1.Pod{}, false, "../../../examples/pod", []string{"nginx"}}, + {"pod", &v1.Pod{}, false, "../../../test/e2e/testing-manifests/pod", []string{"nginx"}}, {"recursive-pod", &v1.Pod{}, true, fmt.Sprintf("%s/recursive/pod", tmpDir), []string{"busybox0", "busybox1"}}, - {"rc", &v1.ReplicationController{}, false, "../../../examples/guestbook/legacy/redis-master-controller.yaml", []string{"redis-master"}}, + {"rc", &v1.ReplicationController{}, false, "../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml", []string{"redis-master"}}, {"recursive-rc", &v1.ReplicationController{}, true, fmt.Sprintf("%s/recursive/rc", tmpDir), []string{"busybox0", "busybox1"}}, {"hardlink", &v1.Pod{}, false, fmt.Sprintf("%s/inode/hardlink/busybox-link.json", tmpDir), []string{"busybox0"}}, {"hardlink", &v1.Pod{}, true, fmt.Sprintf("%s/inode/hardlink/busybox-link.json", tmpDir), []string{"busybox0"}}, @@ -459,7 +459,7 @@ func TestPathBuilderWithMultipleInvalid(t *testing.T) { func TestDirectoryBuilder(t *testing.T) { b := newDefaultBuilder(). - FilenameParam(false, &FilenameOptions{Recursive: false, Filenames: []string{"../../../examples/guestbook/legacy"}}). + FilenameParam(false, &FilenameOptions{Recursive: false, Filenames: []string{"../../../test/e2e/testing-manifests/guestbook/legacy"}}). NamespaceParam("test").DefaultNamespace() test := &testVisitor{} @@ -1029,7 +1029,7 @@ func TestContinueOnErrorVisitor(t *testing.T) { func TestSingleItemImpliedObject(t *testing.T) { obj, err := newDefaultBuilder(). NamespaceParam("test").DefaultNamespace(). - FilenameParam(false, &FilenameOptions{Recursive: false, Filenames: []string{"../../../examples/guestbook/legacy/redis-master-controller.yaml"}}). + FilenameParam(false, &FilenameOptions{Recursive: false, Filenames: []string{"../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml"}}). Flatten(). Do().Object() @@ -1049,7 +1049,7 @@ func TestSingleItemImpliedObject(t *testing.T) { func TestSingleItemImpliedObjectNoExtension(t *testing.T) { obj, err := newDefaultBuilder(). NamespaceParam("test").DefaultNamespace(). - FilenameParam(false, &FilenameOptions{Recursive: false, Filenames: []string{"../../../examples/pod"}}). + FilenameParam(false, &FilenameOptions{Recursive: false, Filenames: []string{"../../../test/e2e/testing-manifests/pod"}}). Flatten(). Do().Object() @@ -1160,7 +1160,7 @@ func TestWatch(t *testing.T) { }), })). NamespaceParam("test").DefaultNamespace(). - FilenameParam(false, &FilenameOptions{Recursive: false, Filenames: []string{"../../../examples/guestbook/redis-master-service.yaml"}}).Flatten(). + FilenameParam(false, &FilenameOptions{Recursive: false, Filenames: []string{"../../../test/e2e/testing-manifests/guestbook/redis-master-service.yaml"}}).Flatten(). Do().Watch("12") if err != nil { @@ -1187,8 +1187,8 @@ func TestWatch(t *testing.T) { func TestWatchMultipleError(t *testing.T) { _, err := newDefaultBuilder(). NamespaceParam("test").DefaultNamespace(). - FilenameParam(false, &FilenameOptions{Recursive: false, Filenames: []string{"../../../examples/guestbook/legacy/redis-master-controller.yaml"}}).Flatten(). - FilenameParam(false, &FilenameOptions{Recursive: false, Filenames: []string{"../../../examples/guestbook/legacy/redis-master-controller.yaml"}}).Flatten(). + FilenameParam(false, &FilenameOptions{Recursive: false, Filenames: []string{"../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml"}}).Flatten(). + FilenameParam(false, &FilenameOptions{Recursive: false, Filenames: []string{"../../../test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml"}}).Flatten(). Do().Watch("") if err == nil { diff --git a/test/e2e/generated/BUILD b/test/e2e/generated/BUILD index 5ad22c808b..1b92341380 100644 --- a/test/e2e/generated/BUILD +++ b/test/e2e/generated/BUILD @@ -21,7 +21,6 @@ go_library( genrule( name = "bindata", srcs = [ - "//examples:all-srcs", "//test/images:all-srcs", "//test/fixtures:all-srcs", "//test/e2e/testing-manifests:all-srcs", diff --git a/examples/guestbook/legacy/frontend-controller.yaml b/test/e2e/testing-manifests/guestbook/legacy/frontend-controller.yaml similarity index 100% rename from examples/guestbook/legacy/frontend-controller.yaml rename to test/e2e/testing-manifests/guestbook/legacy/frontend-controller.yaml diff --git a/examples/guestbook/legacy/redis-master-controller.yaml b/test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml similarity index 100% rename from examples/guestbook/legacy/redis-master-controller.yaml rename to test/e2e/testing-manifests/guestbook/legacy/redis-master-controller.yaml diff --git a/examples/guestbook/legacy/redis-slave-controller.yaml b/test/e2e/testing-manifests/guestbook/legacy/redis-slave-controller.yaml similarity index 100% rename from examples/guestbook/legacy/redis-slave-controller.yaml rename to test/e2e/testing-manifests/guestbook/legacy/redis-slave-controller.yaml diff --git a/examples/storage/redis/redis-master.yaml b/test/e2e/testing-manifests/kubectl/redis-master-pod.yaml similarity index 100% rename from examples/storage/redis/redis-master.yaml rename to test/e2e/testing-manifests/kubectl/redis-master-pod.yaml diff --git a/examples/pod b/test/e2e/testing-manifests/pod similarity index 100% rename from examples/pod rename to test/e2e/testing-manifests/pod diff --git a/examples/persistent-volume-provisioning/rbd/rbd-storage-class.yaml b/test/e2e/testing-manifests/rbd-storage-class.yaml similarity index 100% rename from examples/persistent-volume-provisioning/rbd/rbd-storage-class.yaml rename to test/e2e/testing-manifests/rbd-storage-class.yaml