diff --git a/tutorials/ai-platform-batch-prediction-keras/index.md b/archived/ai-platform-batch-prediction-keras/index.md similarity index 100% rename from tutorials/ai-platform-batch-prediction-keras/index.md rename to archived/ai-platform-batch-prediction-keras/index.md diff --git a/tutorials/ai-platform-batch-prediction-keras/notebooks/decorator_example.ipynb b/archived/ai-platform-batch-prediction-keras/notebooks/decorator_example.ipynb similarity index 100% rename from tutorials/ai-platform-batch-prediction-keras/notebooks/decorator_example.ipynb rename to archived/ai-platform-batch-prediction-keras/notebooks/decorator_example.ipynb diff --git a/tutorials/ai-platform-batch-prediction-keras/notebooks/functional_API_example.ipynb b/archived/ai-platform-batch-prediction-keras/notebooks/functional_API_example.ipynb similarity index 100% rename from tutorials/ai-platform-batch-prediction-keras/notebooks/functional_API_example.ipynb rename to archived/ai-platform-batch-prediction-keras/notebooks/functional_API_example.ipynb diff --git a/tutorials/appengine-angular-nginx-docker/.gitignore b/archived/appengine-angular-nginx-docker/.gitignore similarity index 100% rename from tutorials/appengine-angular-nginx-docker/.gitignore rename to archived/appengine-angular-nginx-docker/.gitignore diff --git a/tutorials/appengine-angular-nginx-docker/Dockerfile b/archived/appengine-angular-nginx-docker/Dockerfile similarity index 100% rename from tutorials/appengine-angular-nginx-docker/Dockerfile rename to archived/appengine-angular-nginx-docker/Dockerfile diff --git a/tutorials/appengine-angular-nginx-docker/app.yaml b/archived/appengine-angular-nginx-docker/app.yaml similarity index 100% rename from tutorials/appengine-angular-nginx-docker/app.yaml rename to archived/appengine-angular-nginx-docker/app.yaml diff --git a/tutorials/appengine-angular-nginx-docker/cloudbuild.yaml b/archived/appengine-angular-nginx-docker/cloudbuild.yaml similarity index 100% rename from tutorials/appengine-angular-nginx-docker/cloudbuild.yaml rename to archived/appengine-angular-nginx-docker/cloudbuild.yaml diff --git a/tutorials/appengine-angular-nginx-docker/index.md b/archived/appengine-angular-nginx-docker/index.md similarity index 100% rename from tutorials/appengine-angular-nginx-docker/index.md rename to archived/appengine-angular-nginx-docker/index.md diff --git a/tutorials/appengine-angular-nginx-docker/nginx.conf b/archived/appengine-angular-nginx-docker/nginx.conf similarity index 100% rename from tutorials/appengine-angular-nginx-docker/nginx.conf rename to archived/appengine-angular-nginx-docker/nginx.conf diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/.browserslistrc b/archived/appengine-angular-nginx-docker/sample-app/.browserslistrc similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/.browserslistrc rename to archived/appengine-angular-nginx-docker/sample-app/.browserslistrc diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/.editorconfig b/archived/appengine-angular-nginx-docker/sample-app/.editorconfig similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/.editorconfig rename to archived/appengine-angular-nginx-docker/sample-app/.editorconfig diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/.gitignore b/archived/appengine-angular-nginx-docker/sample-app/.gitignore similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/.gitignore rename to archived/appengine-angular-nginx-docker/sample-app/.gitignore diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/README.md b/archived/appengine-angular-nginx-docker/sample-app/README.md similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/README.md rename to archived/appengine-angular-nginx-docker/sample-app/README.md diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/angular.json b/archived/appengine-angular-nginx-docker/sample-app/angular.json similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/angular.json rename to archived/appengine-angular-nginx-docker/sample-app/angular.json diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/e2e/protractor.conf.js b/archived/appengine-angular-nginx-docker/sample-app/e2e/protractor.conf.js similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/e2e/protractor.conf.js rename to archived/appengine-angular-nginx-docker/sample-app/e2e/protractor.conf.js diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/e2e/src/app.e2e-spec.ts b/archived/appengine-angular-nginx-docker/sample-app/e2e/src/app.e2e-spec.ts similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/e2e/src/app.e2e-spec.ts rename to archived/appengine-angular-nginx-docker/sample-app/e2e/src/app.e2e-spec.ts diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/e2e/src/app.po.ts b/archived/appengine-angular-nginx-docker/sample-app/e2e/src/app.po.ts similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/e2e/src/app.po.ts rename to archived/appengine-angular-nginx-docker/sample-app/e2e/src/app.po.ts diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/e2e/tsconfig.json b/archived/appengine-angular-nginx-docker/sample-app/e2e/tsconfig.json similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/e2e/tsconfig.json rename to archived/appengine-angular-nginx-docker/sample-app/e2e/tsconfig.json diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/karma.conf.js b/archived/appengine-angular-nginx-docker/sample-app/karma.conf.js similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/karma.conf.js rename to archived/appengine-angular-nginx-docker/sample-app/karma.conf.js diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/package.json b/archived/appengine-angular-nginx-docker/sample-app/package.json similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/package.json rename to archived/appengine-angular-nginx-docker/sample-app/package.json diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/app/app-routing.module.ts b/archived/appengine-angular-nginx-docker/sample-app/src/app/app-routing.module.ts similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/app/app-routing.module.ts rename to archived/appengine-angular-nginx-docker/sample-app/src/app/app-routing.module.ts diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/app/app.component.html b/archived/appengine-angular-nginx-docker/sample-app/src/app/app.component.html similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/app/app.component.html rename to archived/appengine-angular-nginx-docker/sample-app/src/app/app.component.html diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/app/app.component.scss b/archived/appengine-angular-nginx-docker/sample-app/src/app/app.component.scss similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/app/app.component.scss rename to archived/appengine-angular-nginx-docker/sample-app/src/app/app.component.scss diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/app/app.component.spec.ts b/archived/appengine-angular-nginx-docker/sample-app/src/app/app.component.spec.ts similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/app/app.component.spec.ts rename to archived/appengine-angular-nginx-docker/sample-app/src/app/app.component.spec.ts diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/app/app.component.ts b/archived/appengine-angular-nginx-docker/sample-app/src/app/app.component.ts similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/app/app.component.ts rename to archived/appengine-angular-nginx-docker/sample-app/src/app/app.component.ts diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/app/app.module.ts b/archived/appengine-angular-nginx-docker/sample-app/src/app/app.module.ts similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/app/app.module.ts rename to archived/appengine-angular-nginx-docker/sample-app/src/app/app.module.ts diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/assets/envconfig.js b/archived/appengine-angular-nginx-docker/sample-app/src/assets/envconfig.js similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/assets/envconfig.js rename to archived/appengine-angular-nginx-docker/sample-app/src/assets/envconfig.js diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/assets/envconfig.template.js b/archived/appengine-angular-nginx-docker/sample-app/src/assets/envconfig.template.js similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/assets/envconfig.template.js rename to archived/appengine-angular-nginx-docker/sample-app/src/assets/envconfig.template.js diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/environments/environment.prod.ts b/archived/appengine-angular-nginx-docker/sample-app/src/environments/environment.prod.ts similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/environments/environment.prod.ts rename to archived/appengine-angular-nginx-docker/sample-app/src/environments/environment.prod.ts diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/environments/environment.ts b/archived/appengine-angular-nginx-docker/sample-app/src/environments/environment.ts similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/environments/environment.ts rename to archived/appengine-angular-nginx-docker/sample-app/src/environments/environment.ts diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/favicon.ico b/archived/appengine-angular-nginx-docker/sample-app/src/favicon.ico similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/favicon.ico rename to archived/appengine-angular-nginx-docker/sample-app/src/favicon.ico diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/index.html b/archived/appengine-angular-nginx-docker/sample-app/src/index.html similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/index.html rename to archived/appengine-angular-nginx-docker/sample-app/src/index.html diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/main.ts b/archived/appengine-angular-nginx-docker/sample-app/src/main.ts similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/main.ts rename to archived/appengine-angular-nginx-docker/sample-app/src/main.ts diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/polyfills.ts b/archived/appengine-angular-nginx-docker/sample-app/src/polyfills.ts similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/polyfills.ts rename to archived/appengine-angular-nginx-docker/sample-app/src/polyfills.ts diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/styles.scss b/archived/appengine-angular-nginx-docker/sample-app/src/styles.scss similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/styles.scss rename to archived/appengine-angular-nginx-docker/sample-app/src/styles.scss diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/src/test.ts b/archived/appengine-angular-nginx-docker/sample-app/src/test.ts similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/src/test.ts rename to archived/appengine-angular-nginx-docker/sample-app/src/test.ts diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/tsconfig.app.json b/archived/appengine-angular-nginx-docker/sample-app/tsconfig.app.json similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/tsconfig.app.json rename to archived/appengine-angular-nginx-docker/sample-app/tsconfig.app.json diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/tsconfig.json b/archived/appengine-angular-nginx-docker/sample-app/tsconfig.json similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/tsconfig.json rename to archived/appengine-angular-nginx-docker/sample-app/tsconfig.json diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/tsconfig.spec.json b/archived/appengine-angular-nginx-docker/sample-app/tsconfig.spec.json similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/tsconfig.spec.json rename to archived/appengine-angular-nginx-docker/sample-app/tsconfig.spec.json diff --git a/tutorials/appengine-angular-nginx-docker/sample-app/tslint.json b/archived/appengine-angular-nginx-docker/sample-app/tslint.json similarity index 100% rename from tutorials/appengine-angular-nginx-docker/sample-app/tslint.json rename to archived/appengine-angular-nginx-docker/sample-app/tslint.json diff --git a/tutorials/artifactory-gcs-setup/binarystore-example.xml b/archived/artifactory-gcs-setup/binarystore-example.xml similarity index 100% rename from tutorials/artifactory-gcs-setup/binarystore-example.xml rename to archived/artifactory-gcs-setup/binarystore-example.xml diff --git a/tutorials/artifactory-gcs-setup/index.md b/archived/artifactory-gcs-setup/index.md similarity index 100% rename from tutorials/artifactory-gcs-setup/index.md rename to archived/artifactory-gcs-setup/index.md diff --git a/tutorials/auto-bigquery-tokenize/index.md b/archived/auto-bigquery-tokenize/index.md similarity index 100% rename from tutorials/auto-bigquery-tokenize/index.md rename to archived/auto-bigquery-tokenize/index.md diff --git a/tutorials/auto-data-tokenize/index.md b/archived/auto-data-tokenize/index.md similarity index 100% rename from tutorials/auto-data-tokenize/index.md rename to archived/auto-data-tokenize/index.md diff --git a/tutorials/automated-publishing-cloud-build/index.md b/archived/automated-publishing-cloud-build/index.md similarity index 100% rename from tutorials/automated-publishing-cloud-build/index.md rename to archived/automated-publishing-cloud-build/index.md diff --git a/tutorials/azure-mirroring-tutorial/index.md b/archived/azure-mirroring-tutorial/index.md similarity index 100% rename from tutorials/azure-mirroring-tutorial/index.md rename to archived/azure-mirroring-tutorial/index.md diff --git a/tutorials/bigquery-from-excel/index.md b/archived/bigquery-from-excel/index.md similarity index 100% rename from tutorials/bigquery-from-excel/index.md rename to archived/bigquery-from-excel/index.md diff --git a/tutorials/bigquery-ibis/ibis_bigquery_sample.py b/archived/bigquery-ibis/ibis_bigquery_sample.py similarity index 100% rename from tutorials/bigquery-ibis/ibis_bigquery_sample.py rename to archived/bigquery-ibis/ibis_bigquery_sample.py diff --git a/tutorials/bigquery-ibis/index.md b/archived/bigquery-ibis/index.md similarity index 100% rename from tutorials/bigquery-ibis/index.md rename to archived/bigquery-ibis/index.md diff --git a/tutorials/bigquery-ibis/requirements.txt b/archived/bigquery-ibis/requirements.txt similarity index 100% rename from tutorials/bigquery-ibis/requirements.txt rename to archived/bigquery-ibis/requirements.txt diff --git a/tutorials/cicd-datalake-part-1/index.md b/archived/cicd-datalake-part-1/index.md similarity index 100% rename from tutorials/cicd-datalake-part-1/index.md rename to archived/cicd-datalake-part-1/index.md diff --git a/tutorials/cleaning-up-at-scale/index.js b/archived/cleaning-up-at-scale/index.js similarity index 100% rename from tutorials/cleaning-up-at-scale/index.js rename to archived/cleaning-up-at-scale/index.js diff --git a/tutorials/cleaning-up-at-scale/index.md b/archived/cleaning-up-at-scale/index.md similarity index 100% rename from tutorials/cleaning-up-at-scale/index.md rename to archived/cleaning-up-at-scale/index.md diff --git a/tutorials/cleaning-up-at-scale/package.json b/archived/cleaning-up-at-scale/package.json similarity index 100% rename from tutorials/cleaning-up-at-scale/package.json rename to archived/cleaning-up-at-scale/package.json diff --git a/tutorials/cloud-asset-inventory-auto-label-resources/cloud-function-auto-resource-labeler/main.py b/archived/cloud-asset-inventory-auto-label-resources/cloud-function-auto-resource-labeler/main.py similarity index 100% rename from tutorials/cloud-asset-inventory-auto-label-resources/cloud-function-auto-resource-labeler/main.py rename to archived/cloud-asset-inventory-auto-label-resources/cloud-function-auto-resource-labeler/main.py diff --git a/tutorials/cloud-asset-inventory-auto-label-resources/cloud-function-auto-resource-labeler/requirements.txt b/archived/cloud-asset-inventory-auto-label-resources/cloud-function-auto-resource-labeler/requirements.txt similarity index 100% rename from tutorials/cloud-asset-inventory-auto-label-resources/cloud-function-auto-resource-labeler/requirements.txt rename to archived/cloud-asset-inventory-auto-label-resources/cloud-function-auto-resource-labeler/requirements.txt diff --git a/tutorials/cloud-asset-inventory-auto-label-resources/diagram/cloud-asset-inventory-auto-label-resources.drawio b/archived/cloud-asset-inventory-auto-label-resources/diagram/cloud-asset-inventory-auto-label-resources.drawio similarity index 100% rename from tutorials/cloud-asset-inventory-auto-label-resources/diagram/cloud-asset-inventory-auto-label-resources.drawio rename to archived/cloud-asset-inventory-auto-label-resources/diagram/cloud-asset-inventory-auto-label-resources.drawio diff --git a/tutorials/cloud-asset-inventory-auto-label-resources/index.md b/archived/cloud-asset-inventory-auto-label-resources/index.md similarity index 100% rename from tutorials/cloud-asset-inventory-auto-label-resources/index.md rename to archived/cloud-asset-inventory-auto-label-resources/index.md diff --git a/tutorials/cloud-functions-avro-import-bq/gcf_gcs.zip b/archived/cloud-functions-avro-import-bq/gcf_gcs.zip similarity index 100% rename from tutorials/cloud-functions-avro-import-bq/gcf_gcs.zip rename to archived/cloud-functions-avro-import-bq/gcf_gcs.zip diff --git a/tutorials/cloud-functions-avro-import-bq/index.js b/archived/cloud-functions-avro-import-bq/index.js similarity index 100% rename from tutorials/cloud-functions-avro-import-bq/index.js rename to archived/cloud-functions-avro-import-bq/index.js diff --git a/tutorials/cloud-functions-avro-import-bq/index.md b/archived/cloud-functions-avro-import-bq/index.md similarity index 100% rename from tutorials/cloud-functions-avro-import-bq/index.md rename to archived/cloud-functions-avro-import-bq/index.md diff --git a/tutorials/cloud-functions-avro-import-bq/install.sh b/archived/cloud-functions-avro-import-bq/install.sh similarity index 100% rename from tutorials/cloud-functions-avro-import-bq/install.sh rename to archived/cloud-functions-avro-import-bq/install.sh diff --git a/tutorials/cloud-functions-avro-import-bq/package.json b/archived/cloud-functions-avro-import-bq/package.json similarity index 100% rename from tutorials/cloud-functions-avro-import-bq/package.json rename to archived/cloud-functions-avro-import-bq/package.json diff --git a/tutorials/cloud-functions-callable/index.md b/archived/cloud-functions-callable/index.md similarity index 100% rename from tutorials/cloud-functions-callable/index.md rename to archived/cloud-functions-callable/index.md diff --git a/tutorials/cloud-functions-cloudbuild/cloudbuild.yaml b/archived/cloud-functions-cloudbuild/cloudbuild.yaml similarity index 100% rename from tutorials/cloud-functions-cloudbuild/cloudbuild.yaml rename to archived/cloud-functions-cloudbuild/cloudbuild.yaml diff --git a/tutorials/cloud-functions-cloudbuild/code/function.go b/archived/cloud-functions-cloudbuild/code/function.go similarity index 100% rename from tutorials/cloud-functions-cloudbuild/code/function.go rename to archived/cloud-functions-cloudbuild/code/function.go diff --git a/tutorials/cloud-functions-cloudbuild/index.md b/archived/cloud-functions-cloudbuild/index.md similarity index 100% rename from tutorials/cloud-functions-cloudbuild/index.md rename to archived/cloud-functions-cloudbuild/index.md diff --git a/tutorials/cloud-functions-firestore/.gitignore b/archived/cloud-functions-firestore/.gitignore similarity index 100% rename from tutorials/cloud-functions-firestore/.gitignore rename to archived/cloud-functions-firestore/.gitignore diff --git a/tutorials/cloud-functions-firestore/index.js b/archived/cloud-functions-firestore/index.js similarity index 100% rename from tutorials/cloud-functions-firestore/index.js rename to archived/cloud-functions-firestore/index.js diff --git a/tutorials/cloud-functions-firestore/index.md b/archived/cloud-functions-firestore/index.md similarity index 100% rename from tutorials/cloud-functions-firestore/index.md rename to archived/cloud-functions-firestore/index.md diff --git a/tutorials/cloud-functions-firestore/package.json b/archived/cloud-functions-firestore/package.json similarity index 100% rename from tutorials/cloud-functions-firestore/package.json rename to archived/cloud-functions-firestore/package.json diff --git a/tutorials/cloud-functions-rate-limiting/index.md b/archived/cloud-functions-rate-limiting/index.md similarity index 100% rename from tutorials/cloud-functions-rate-limiting/index.md rename to archived/cloud-functions-rate-limiting/index.md diff --git a/tutorials/cloud-functions-sns-pubsub/index.js b/archived/cloud-functions-sns-pubsub/index.js similarity index 100% rename from tutorials/cloud-functions-sns-pubsub/index.js rename to archived/cloud-functions-sns-pubsub/index.js diff --git a/tutorials/cloud-functions-sns-pubsub/index.md b/archived/cloud-functions-sns-pubsub/index.md similarity index 100% rename from tutorials/cloud-functions-sns-pubsub/index.md rename to archived/cloud-functions-sns-pubsub/index.md diff --git a/tutorials/cloud-run-conditional-iam/index.md b/archived/cloud-run-conditional-iam/index.md similarity index 100% rename from tutorials/cloud-run-conditional-iam/index.md rename to archived/cloud-run-conditional-iam/index.md diff --git a/tutorials/cloud-run-golang-gcs-proxy/.prettierrc b/archived/cloud-run-golang-gcs-proxy/.prettierrc similarity index 100% rename from tutorials/cloud-run-golang-gcs-proxy/.prettierrc rename to archived/cloud-run-golang-gcs-proxy/.prettierrc diff --git a/tutorials/cloud-run-golang-gcs-proxy/index.md b/archived/cloud-run-golang-gcs-proxy/index.md similarity index 100% rename from tutorials/cloud-run-golang-gcs-proxy/index.md rename to archived/cloud-run-golang-gcs-proxy/index.md diff --git a/tutorials/cloud-run-local-dev-docker-compose/index.md b/archived/cloud-run-local-dev-docker-compose/index.md similarity index 100% rename from tutorials/cloud-run-local-dev-docker-compose/index.md rename to archived/cloud-run-local-dev-docker-compose/index.md diff --git a/tutorials/cloud-run-with-pomerium-for-end-user-access/index.md b/archived/cloud-run-with-pomerium-for-end-user-access/index.md similarity index 100% rename from tutorials/cloud-run-with-pomerium-for-end-user-access/index.md rename to archived/cloud-run-with-pomerium-for-end-user-access/index.md diff --git a/tutorials/cloud-spanner-commit-timestamp-change-log/index.md b/archived/cloud-spanner-commit-timestamp-change-log/index.md similarity index 100% rename from tutorials/cloud-spanner-commit-timestamp-change-log/index.md rename to archived/cloud-spanner-commit-timestamp-change-log/index.md diff --git a/tutorials/cloud-storage-infinite-compose/index.md b/archived/cloud-storage-infinite-compose/index.md similarity index 100% rename from tutorials/cloud-storage-infinite-compose/index.md rename to archived/cloud-storage-infinite-compose/index.md diff --git a/tutorials/cloudbuild-angular-universal/index.md b/archived/cloudbuild-angular-universal/index.md similarity index 100% rename from tutorials/cloudbuild-angular-universal/index.md rename to archived/cloudbuild-angular-universal/index.md diff --git a/tutorials/cloudbuild-angular-universal/prerender.ts b/archived/cloudbuild-angular-universal/prerender.ts similarity index 100% rename from tutorials/cloudbuild-angular-universal/prerender.ts rename to archived/cloudbuild-angular-universal/prerender.ts diff --git a/tutorials/cloudbuild-angular-universal/prerender.tsconfig.json b/archived/cloudbuild-angular-universal/prerender.tsconfig.json similarity index 100% rename from tutorials/cloudbuild-angular-universal/prerender.tsconfig.json rename to archived/cloudbuild-angular-universal/prerender.tsconfig.json diff --git a/tutorials/cloudbuild-angular-universal/webpack.prerender.config.js b/archived/cloudbuild-angular-universal/webpack.prerender.config.js similarity index 100% rename from tutorials/cloudbuild-angular-universal/webpack.prerender.config.js rename to archived/cloudbuild-angular-universal/webpack.prerender.config.js diff --git a/tutorials/container-image-management-with-harbor/index.md b/archived/container-image-management-with-harbor/index.md similarity index 100% rename from tutorials/container-image-management-with-harbor/index.md rename to archived/container-image-management-with-harbor/index.md diff --git a/tutorials/continuous-deployment-pipeline-google-container-engine-with-codeship/index.md b/archived/continuous-deployment-pipeline-google-container-engine-with-codeship/index.md similarity index 100% rename from tutorials/continuous-deployment-pipeline-google-container-engine-with-codeship/index.md rename to archived/continuous-deployment-pipeline-google-container-engine-with-codeship/index.md diff --git a/tutorials/coral-talk-on-cloud-run/index.md b/archived/coral-talk-on-cloud-run/index.md similarity index 100% rename from tutorials/coral-talk-on-cloud-run/index.md rename to archived/coral-talk-on-cloud-run/index.md diff --git a/tutorials/crashlytics-logs-to-datadog/index.md b/archived/crashlytics-logs-to-datadog/index.md similarity index 100% rename from tutorials/crashlytics-logs-to-datadog/index.md rename to archived/crashlytics-logs-to-datadog/index.md diff --git a/tutorials/customize-anthos-multicloud-logs-with-fluentbit/index.md b/archived/customize-anthos-multicloud-logs-with-fluentbit/index.md similarity index 100% rename from tutorials/customize-anthos-multicloud-logs-with-fluentbit/index.md rename to archived/customize-anthos-multicloud-logs-with-fluentbit/index.md diff --git a/tutorials/datacatalog-tag-history/index.md b/archived/datacatalog-tag-history/index.md similarity index 100% rename from tutorials/datacatalog-tag-history/index.md rename to archived/datacatalog-tag-history/index.md diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/bq_dlp_and_dc_worker.yaml b/archived/dataflow-dlp-to-datacatalog-tags/bq_dlp_and_dc_worker.yaml similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/bq_dlp_and_dc_worker.yaml rename to archived/dataflow-dlp-to-datacatalog-tags/bq_dlp_and_dc_worker.yaml diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/env.sh b/archived/dataflow-dlp-to-datacatalog-tags/env.sh similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/env.sh rename to archived/dataflow-dlp-to-datacatalog-tags/env.sh diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/index.md b/archived/dataflow-dlp-to-datacatalog-tags/index.md similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/index.md rename to archived/dataflow-dlp-to-datacatalog-tags/index.md diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/pom.xml b/archived/dataflow-dlp-to-datacatalog-tags/pom.xml similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/pom.xml rename to archived/dataflow-dlp-to-datacatalog-tags/pom.xml diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/BigQueryInspectionPipelineOptions.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/BigQueryInspectionPipelineOptions.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/BigQueryInspectionPipelineOptions.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/BigQueryInspectionPipelineOptions.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/BigQueryRowsDLPBatchTransformer.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/BigQueryRowsDLPBatchTransformer.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/BigQueryRowsDLPBatchTransformer.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/BigQueryRowsDLPBatchTransformer.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLP2DatacatalogTagsAllBigQueryInspection.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLP2DatacatalogTagsAllBigQueryInspection.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLP2DatacatalogTagsAllBigQueryInspection.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLP2DatacatalogTagsAllBigQueryInspection.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLP2DatacatalogTagsBigQueryInspection.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLP2DatacatalogTagsBigQueryInspection.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLP2DatacatalogTagsBigQueryInspection.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLP2DatacatalogTagsBigQueryInspection.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLP2DatacatalogTagsBigQueryPipeline.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLP2DatacatalogTagsBigQueryPipeline.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLP2DatacatalogTagsBigQueryPipeline.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLP2DatacatalogTagsBigQueryPipeline.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPColumnAggregatorFn.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPColumnAggregatorFn.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPColumnAggregatorFn.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPColumnAggregatorFn.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPGetInfoTypes.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPGetInfoTypes.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPGetInfoTypes.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPGetInfoTypes.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPInspectionAggregatorFn.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPInspectionAggregatorFn.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPInspectionAggregatorFn.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPInspectionAggregatorFn.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPInspectionDoFn.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPInspectionDoFn.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPInspectionDoFn.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DLPInspectionDoFn.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogColumnFinding.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogColumnFinding.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogColumnFinding.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogColumnFinding.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogFindingsCombiner.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogFindingsCombiner.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogFindingsCombiner.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogFindingsCombiner.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogInitTemplatesDoFn.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogInitTemplatesDoFn.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogInitTemplatesDoFn.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogInitTemplatesDoFn.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogTagIngestionDoFn.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogTagIngestionDoFn.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogTagIngestionDoFn.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/DataCatalogTagIngestionDoFn.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/EntryNameInitializer.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/EntryNameInitializer.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/EntryNameInitializer.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/EntryNameInitializer.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/LoggingPrefix.java b/archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/LoggingPrefix.java similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/LoggingPrefix.java rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/java/com/google_cloud/datacatalog/dlp/snippets/LoggingPrefix.java diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/resources/checkstyle/checkstyle.xml b/archived/dataflow-dlp-to-datacatalog-tags/src/main/resources/checkstyle/checkstyle.xml similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/resources/checkstyle/checkstyle.xml rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/resources/checkstyle/checkstyle.xml diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/resources/checkstyle/suppressions.xml b/archived/dataflow-dlp-to-datacatalog-tags/src/main/resources/checkstyle/suppressions.xml similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/resources/checkstyle/suppressions.xml rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/resources/checkstyle/suppressions.xml diff --git a/tutorials/dataflow-dlp-to-datacatalog-tags/src/main/resources/config.properties b/archived/dataflow-dlp-to-datacatalog-tags/src/main/resources/config.properties similarity index 100% rename from tutorials/dataflow-dlp-to-datacatalog-tags/src/main/resources/config.properties rename to archived/dataflow-dlp-to-datacatalog-tags/src/main/resources/config.properties diff --git a/tutorials/dataflow-notification-slack/index.md b/archived/dataflow-notification-slack/index.md similarity index 100% rename from tutorials/dataflow-notification-slack/index.md rename to archived/dataflow-notification-slack/index.md diff --git a/tutorials/db-migration-spanner-handle-increasing-pks/index.md b/archived/db-migration-spanner-handle-increasing-pks/index.md similarity index 100% rename from tutorials/db-migration-spanner-handle-increasing-pks/index.md rename to archived/db-migration-spanner-handle-increasing-pks/index.md diff --git a/tutorials/delete-idle-instances/index.js b/archived/delete-idle-instances/index.js similarity index 100% rename from tutorials/delete-idle-instances/index.js rename to archived/delete-idle-instances/index.js diff --git a/tutorials/delete-idle-instances/index.md b/archived/delete-idle-instances/index.md similarity index 100% rename from tutorials/delete-idle-instances/index.md rename to archived/delete-idle-instances/index.md diff --git a/tutorials/delete-idle-instances/package.json b/archived/delete-idle-instances/package.json similarity index 100% rename from tutorials/delete-idle-instances/package.json rename to archived/delete-idle-instances/package.json diff --git a/tutorials/delivering-cloud-monitoring-notifications-to-third-party-services/index.md b/archived/delivering-cloud-monitoring-notifications-to-third-party-services/index.md similarity index 100% rename from tutorials/delivering-cloud-monitoring-notifications-to-third-party-services/index.md rename to archived/delivering-cloud-monitoring-notifications-to-third-party-services/index.md diff --git a/tutorials/deploy-dependency-track/.gitignore b/archived/deploy-dependency-track/.gitignore similarity index 100% rename from tutorials/deploy-dependency-track/.gitignore rename to archived/deploy-dependency-track/.gitignore diff --git a/tutorials/deploy-dependency-track/demo-project/.gcloudignore b/archived/deploy-dependency-track/demo-project/.gcloudignore similarity index 100% rename from tutorials/deploy-dependency-track/demo-project/.gcloudignore rename to archived/deploy-dependency-track/demo-project/.gcloudignore diff --git a/tutorials/deploy-dependency-track/demo-project/.gitignore b/archived/deploy-dependency-track/demo-project/.gitignore similarity index 100% rename from tutorials/deploy-dependency-track/demo-project/.gitignore rename to archived/deploy-dependency-track/demo-project/.gitignore diff --git a/tutorials/deploy-dependency-track/demo-project/bom-loader.py b/archived/deploy-dependency-track/demo-project/bom-loader.py similarity index 100% rename from tutorials/deploy-dependency-track/demo-project/bom-loader.py rename to archived/deploy-dependency-track/demo-project/bom-loader.py diff --git a/tutorials/deploy-dependency-track/demo-project/cloudbuild.yaml b/archived/deploy-dependency-track/demo-project/cloudbuild.yaml similarity index 100% rename from tutorials/deploy-dependency-track/demo-project/cloudbuild.yaml rename to archived/deploy-dependency-track/demo-project/cloudbuild.yaml diff --git a/tutorials/deploy-dependency-track/demo-project/create-bom.sh b/archived/deploy-dependency-track/demo-project/create-bom.sh similarity index 100% rename from tutorials/deploy-dependency-track/demo-project/create-bom.sh rename to archived/deploy-dependency-track/demo-project/create-bom.sh diff --git a/tutorials/deploy-dependency-track/demo-project/pyproject.toml b/archived/deploy-dependency-track/demo-project/pyproject.toml similarity index 100% rename from tutorials/deploy-dependency-track/demo-project/pyproject.toml rename to archived/deploy-dependency-track/demo-project/pyproject.toml diff --git a/tutorials/deploy-dependency-track/demo-project/support/poetry-image/Dockerfile b/archived/deploy-dependency-track/demo-project/support/poetry-image/Dockerfile similarity index 100% rename from tutorials/deploy-dependency-track/demo-project/support/poetry-image/Dockerfile rename to archived/deploy-dependency-track/demo-project/support/poetry-image/Dockerfile diff --git a/tutorials/deploy-dependency-track/deploy/.gitignore b/archived/deploy-dependency-track/deploy/.gitignore similarity index 100% rename from tutorials/deploy-dependency-track/deploy/.gitignore rename to archived/deploy-dependency-track/deploy/.gitignore diff --git a/tutorials/deploy-dependency-track/deploy/api.yaml b/archived/deploy-dependency-track/deploy/api.yaml similarity index 100% rename from tutorials/deploy-dependency-track/deploy/api.yaml rename to archived/deploy-dependency-track/deploy/api.yaml diff --git a/tutorials/deploy-dependency-track/deploy/frontend.yaml b/archived/deploy-dependency-track/deploy/frontend.yaml similarity index 100% rename from tutorials/deploy-dependency-track/deploy/frontend.yaml rename to archived/deploy-dependency-track/deploy/frontend.yaml diff --git a/tutorials/deploy-dependency-track/deploy/ingress.yaml b/archived/deploy-dependency-track/deploy/ingress.yaml similarity index 100% rename from tutorials/deploy-dependency-track/deploy/ingress.yaml rename to archived/deploy-dependency-track/deploy/ingress.yaml diff --git a/tutorials/deploy-dependency-track/deploy/kustomization.base.yaml b/archived/deploy-dependency-track/deploy/kustomization.base.yaml similarity index 100% rename from tutorials/deploy-dependency-track/deploy/kustomization.base.yaml rename to archived/deploy-dependency-track/deploy/kustomization.base.yaml diff --git a/tutorials/deploy-dependency-track/index.md b/archived/deploy-dependency-track/index.md similarity index 100% rename from tutorials/deploy-dependency-track/index.md rename to archived/deploy-dependency-track/index.md diff --git a/tutorials/deploy-react-nginx-cloud-run/.dockerignore b/archived/deploy-react-nginx-cloud-run/.dockerignore similarity index 100% rename from tutorials/deploy-react-nginx-cloud-run/.dockerignore rename to archived/deploy-react-nginx-cloud-run/.dockerignore diff --git a/tutorials/deploy-react-nginx-cloud-run/.gitignore b/archived/deploy-react-nginx-cloud-run/.gitignore similarity index 100% rename from tutorials/deploy-react-nginx-cloud-run/.gitignore rename to archived/deploy-react-nginx-cloud-run/.gitignore diff --git a/tutorials/deploy-react-nginx-cloud-run/Dockerfile b/archived/deploy-react-nginx-cloud-run/Dockerfile similarity index 100% rename from tutorials/deploy-react-nginx-cloud-run/Dockerfile rename to archived/deploy-react-nginx-cloud-run/Dockerfile diff --git a/tutorials/deploy-react-nginx-cloud-run/index.md b/archived/deploy-react-nginx-cloud-run/index.md similarity index 100% rename from tutorials/deploy-react-nginx-cloud-run/index.md rename to archived/deploy-react-nginx-cloud-run/index.md diff --git a/tutorials/deploy-react-nginx-cloud-run/nginx.conf b/archived/deploy-react-nginx-cloud-run/nginx.conf similarity index 100% rename from tutorials/deploy-react-nginx-cloud-run/nginx.conf rename to archived/deploy-react-nginx-cloud-run/nginx.conf diff --git a/tutorials/deploy-react-nginx-cloud-run/package.json b/archived/deploy-react-nginx-cloud-run/package.json similarity index 100% rename from tutorials/deploy-react-nginx-cloud-run/package.json rename to archived/deploy-react-nginx-cloud-run/package.json diff --git a/tutorials/deploy-react-nginx-cloud-run/public/favicon.ico b/archived/deploy-react-nginx-cloud-run/public/favicon.ico similarity index 100% rename from tutorials/deploy-react-nginx-cloud-run/public/favicon.ico rename to archived/deploy-react-nginx-cloud-run/public/favicon.ico diff --git a/tutorials/deploy-react-nginx-cloud-run/public/index.html b/archived/deploy-react-nginx-cloud-run/public/index.html similarity index 100% rename from tutorials/deploy-react-nginx-cloud-run/public/index.html rename to archived/deploy-react-nginx-cloud-run/public/index.html diff --git a/tutorials/deploy-react-nginx-cloud-run/public/manifest.json b/archived/deploy-react-nginx-cloud-run/public/manifest.json similarity index 100% rename from tutorials/deploy-react-nginx-cloud-run/public/manifest.json rename to archived/deploy-react-nginx-cloud-run/public/manifest.json diff --git a/tutorials/deploy-react-nginx-cloud-run/public/robots.txt b/archived/deploy-react-nginx-cloud-run/public/robots.txt similarity index 100% rename from tutorials/deploy-react-nginx-cloud-run/public/robots.txt rename to archived/deploy-react-nginx-cloud-run/public/robots.txt diff --git a/tutorials/deploy-react-nginx-cloud-run/src/App.js b/archived/deploy-react-nginx-cloud-run/src/App.js similarity index 100% rename from tutorials/deploy-react-nginx-cloud-run/src/App.js rename to archived/deploy-react-nginx-cloud-run/src/App.js diff --git a/tutorials/deploy-react-nginx-cloud-run/src/index.js b/archived/deploy-react-nginx-cloud-run/src/index.js similarity index 100% rename from tutorials/deploy-react-nginx-cloud-run/src/index.js rename to archived/deploy-react-nginx-cloud-run/src/index.js diff --git a/tutorials/dlp-hybrid-inspect/example_database_list.json b/archived/dlp-hybrid-inspect/example_database_list.json similarity index 100% rename from tutorials/dlp-hybrid-inspect/example_database_list.json rename to archived/dlp-hybrid-inspect/example_database_list.json diff --git a/tutorials/dlp-hybrid-inspect/index.md b/archived/dlp-hybrid-inspect/index.md similarity index 100% rename from tutorials/dlp-hybrid-inspect/index.md rename to archived/dlp-hybrid-inspect/index.md diff --git a/tutorials/dlp-hybrid-inspect/pom.xml b/archived/dlp-hybrid-inspect/pom.xml similarity index 100% rename from tutorials/dlp-hybrid-inspect/pom.xml rename to archived/dlp-hybrid-inspect/pom.xml diff --git a/tutorials/dlp-hybrid-inspect/src/main/java/com/example/dlp/HybridInspectSql.java b/archived/dlp-hybrid-inspect/src/main/java/com/example/dlp/HybridInspectSql.java similarity index 100% rename from tutorials/dlp-hybrid-inspect/src/main/java/com/example/dlp/HybridInspectSql.java rename to archived/dlp-hybrid-inspect/src/main/java/com/example/dlp/HybridInspectSql.java diff --git a/tutorials/dlp-to-datacatalog-tags/index.md b/archived/dlp-to-datacatalog-tags/index.md similarity index 100% rename from tutorials/dlp-to-datacatalog-tags/index.md rename to archived/dlp-to-datacatalog-tags/index.md diff --git a/tutorials/dlp-to-datacatalog-tags/pom.xml b/archived/dlp-to-datacatalog-tags/pom.xml similarity index 100% rename from tutorials/dlp-to-datacatalog-tags/pom.xml rename to archived/dlp-to-datacatalog-tags/pom.xml diff --git a/tutorials/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/BigQueryPartitionHelper.java b/archived/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/BigQueryPartitionHelper.java similarity index 100% rename from tutorials/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/BigQueryPartitionHelper.java rename to archived/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/BigQueryPartitionHelper.java diff --git a/tutorials/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/DataCatalogBatchClient.java b/archived/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/DataCatalogBatchClient.java similarity index 100% rename from tutorials/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/DataCatalogBatchClient.java rename to archived/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/DataCatalogBatchClient.java diff --git a/tutorials/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/DlpDataCatalogTagsTutorial.java b/archived/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/DlpDataCatalogTagsTutorial.java similarity index 100% rename from tutorials/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/DlpDataCatalogTagsTutorial.java rename to archived/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/DlpDataCatalogTagsTutorial.java diff --git a/tutorials/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/ParseArgs.java b/archived/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/ParseArgs.java similarity index 100% rename from tutorials/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/ParseArgs.java rename to archived/dlp-to-datacatalog-tags/src/main/java/com/example/dlp/ParseArgs.java diff --git a/tutorials/dnssec-cloud-dns-domains/checkremoved.sh b/archived/dnssec-cloud-dns-domains/checkremoved.sh similarity index 100% rename from tutorials/dnssec-cloud-dns-domains/checkremoved.sh rename to archived/dnssec-cloud-dns-domains/checkremoved.sh diff --git a/tutorials/dnssec-cloud-dns-domains/checksigned.sh b/archived/dnssec-cloud-dns-domains/checksigned.sh similarity index 100% rename from tutorials/dnssec-cloud-dns-domains/checksigned.sh rename to archived/dnssec-cloud-dns-domains/checksigned.sh diff --git a/tutorials/dnssec-cloud-dns-domains/index.md b/archived/dnssec-cloud-dns-domains/index.md similarity index 100% rename from tutorials/dnssec-cloud-dns-domains/index.md rename to archived/dnssec-cloud-dns-domains/index.md diff --git a/tutorials/docker-gcplogs-driver/index.md b/archived/docker-gcplogs-driver/index.md similarity index 100% rename from tutorials/docker-gcplogs-driver/index.md rename to archived/docker-gcplogs-driver/index.md diff --git a/tutorials/earthengine-to-bigquery/download_ee_image_to_gcs.py b/archived/earthengine-to-bigquery/download_ee_image_to_gcs.py similarity index 100% rename from tutorials/earthengine-to-bigquery/download_ee_image_to_gcs.py rename to archived/earthengine-to-bigquery/download_ee_image_to_gcs.py diff --git a/tutorials/earthengine-to-bigquery/index.md b/archived/earthengine-to-bigquery/index.md similarity index 100% rename from tutorials/earthengine-to-bigquery/index.md rename to archived/earthengine-to-bigquery/index.md diff --git a/tutorials/elixir-phoenix-on-google-compute-engine/index.md b/archived/elixir-phoenix-on-google-compute-engine/index.md similarity index 100% rename from tutorials/elixir-phoenix-on-google-compute-engine/index.md rename to archived/elixir-phoenix-on-google-compute-engine/index.md diff --git a/tutorials/elixir-phoenix-on-kubernetes-google-container-engine/.dockerignore b/archived/elixir-phoenix-on-kubernetes-google-container-engine/.dockerignore similarity index 100% rename from tutorials/elixir-phoenix-on-kubernetes-google-container-engine/.dockerignore rename to archived/elixir-phoenix-on-kubernetes-google-container-engine/.dockerignore diff --git a/tutorials/elixir-phoenix-on-kubernetes-google-container-engine/Dockerfile b/archived/elixir-phoenix-on-kubernetes-google-container-engine/Dockerfile similarity index 100% rename from tutorials/elixir-phoenix-on-kubernetes-google-container-engine/Dockerfile rename to archived/elixir-phoenix-on-kubernetes-google-container-engine/Dockerfile diff --git a/tutorials/elixir-phoenix-on-kubernetes-google-container-engine/cloudbuild.yaml b/archived/elixir-phoenix-on-kubernetes-google-container-engine/cloudbuild.yaml similarity index 100% rename from tutorials/elixir-phoenix-on-kubernetes-google-container-engine/cloudbuild.yaml rename to archived/elixir-phoenix-on-kubernetes-google-container-engine/cloudbuild.yaml diff --git a/tutorials/elixir-phoenix-on-kubernetes-google-container-engine/index.md b/archived/elixir-phoenix-on-kubernetes-google-container-engine/index.md similarity index 100% rename from tutorials/elixir-phoenix-on-kubernetes-google-container-engine/index.md rename to archived/elixir-phoenix-on-kubernetes-google-container-engine/index.md diff --git a/tutorials/enforce-an-identity-root-of-trust-in-your-gcp-environment/index.md b/archived/enforce-an-identity-root-of-trust-in-your-gcp-environment/index.md similarity index 100% rename from tutorials/enforce-an-identity-root-of-trust-in-your-gcp-environment/index.md rename to archived/enforce-an-identity-root-of-trust-in-your-gcp-environment/index.md diff --git a/tutorials/event-driven-serverless-scheduling-framework-dlp/index.md b/archived/event-driven-serverless-scheduling-framework-dlp/index.md similarity index 100% rename from tutorials/event-driven-serverless-scheduling-framework-dlp/index.md rename to archived/event-driven-serverless-scheduling-framework-dlp/index.md diff --git a/tutorials/event-driven-serverless-scheduling-framework-dlp/main-function/main.py b/archived/event-driven-serverless-scheduling-framework-dlp/main-function/main.py similarity index 100% rename from tutorials/event-driven-serverless-scheduling-framework-dlp/main-function/main.py rename to archived/event-driven-serverless-scheduling-framework-dlp/main-function/main.py diff --git a/tutorials/event-driven-serverless-scheduling-framework-dlp/main-function/requirements.txt b/archived/event-driven-serverless-scheduling-framework-dlp/main-function/requirements.txt similarity index 100% rename from tutorials/event-driven-serverless-scheduling-framework-dlp/main-function/requirements.txt rename to archived/event-driven-serverless-scheduling-framework-dlp/main-function/requirements.txt diff --git a/tutorials/event-driven-serverless-scheduling-framework-dlp/payload.json b/archived/event-driven-serverless-scheduling-framework-dlp/payload.json similarity index 100% rename from tutorials/event-driven-serverless-scheduling-framework-dlp/payload.json rename to archived/event-driven-serverless-scheduling-framework-dlp/payload.json diff --git a/tutorials/exporting-security-data-to-your-siem/index.md b/archived/exporting-security-data-to-your-siem/index.md similarity index 100% rename from tutorials/exporting-security-data-to-your-siem/index.md rename to archived/exporting-security-data-to-your-siem/index.md diff --git a/tutorials/exporting-stackdriver-elasticcloud/index.md b/archived/exporting-stackdriver-elasticcloud/index.md similarity index 100% rename from tutorials/exporting-stackdriver-elasticcloud/index.md rename to archived/exporting-stackdriver-elasticcloud/index.md diff --git a/tutorials/gcds-use-cases-common-and-complex/index.md b/archived/gcds-use-cases-common-and-complex/index.md similarity index 100% rename from tutorials/gcds-use-cases-common-and-complex/index.md rename to archived/gcds-use-cases-common-and-complex/index.md diff --git a/tutorials/gcp-cos-basic-fim/Dockerfile b/archived/gcp-cos-basic-fim/Dockerfile similarity index 100% rename from tutorials/gcp-cos-basic-fim/Dockerfile rename to archived/gcp-cos-basic-fim/Dockerfile diff --git a/tutorials/gcp-cos-basic-fim/LICENSE b/archived/gcp-cos-basic-fim/LICENSE similarity index 100% rename from tutorials/gcp-cos-basic-fim/LICENSE rename to archived/gcp-cos-basic-fim/LICENSE diff --git a/tutorials/gcp-cos-basic-fim/basic-fim-daemonset.yaml b/archived/gcp-cos-basic-fim/basic-fim-daemonset.yaml similarity index 100% rename from tutorials/gcp-cos-basic-fim/basic-fim-daemonset.yaml rename to archived/gcp-cos-basic-fim/basic-fim-daemonset.yaml diff --git a/tutorials/gcp-cos-basic-fim/build b/archived/gcp-cos-basic-fim/build similarity index 100% rename from tutorials/gcp-cos-basic-fim/build rename to archived/gcp-cos-basic-fim/build diff --git a/tutorials/gcp-cos-basic-fim/dupefinder.sh b/archived/gcp-cos-basic-fim/dupefinder.sh similarity index 100% rename from tutorials/gcp-cos-basic-fim/dupefinder.sh rename to archived/gcp-cos-basic-fim/dupefinder.sh diff --git a/tutorials/gcp-cos-basic-fim/index.md b/archived/gcp-cos-basic-fim/index.md similarity index 100% rename from tutorials/gcp-cos-basic-fim/index.md rename to archived/gcp-cos-basic-fim/index.md diff --git a/tutorials/gcp-cos-basic-fim/scan.sh b/archived/gcp-cos-basic-fim/scan.sh similarity index 100% rename from tutorials/gcp-cos-basic-fim/scan.sh rename to archived/gcp-cos-basic-fim/scan.sh diff --git a/tutorials/gcp-cos-basic-fim/start.py b/archived/gcp-cos-basic-fim/start.py similarity index 100% rename from tutorials/gcp-cos-basic-fim/start.py rename to archived/gcp-cos-basic-fim/start.py diff --git a/tutorials/generate-logs-scale/index.md b/archived/generate-logs-scale/index.md similarity index 100% rename from tutorials/generate-logs-scale/index.md rename to archived/generate-logs-scale/index.md diff --git a/tutorials/generate-logs-scale/kubernetes-config/locust-master-controller.yaml b/archived/generate-logs-scale/kubernetes-config/locust-master-controller.yaml similarity index 100% rename from tutorials/generate-logs-scale/kubernetes-config/locust-master-controller.yaml rename to archived/generate-logs-scale/kubernetes-config/locust-master-controller.yaml diff --git a/tutorials/generate-logs-scale/kubernetes-config/locust-master-service.yaml b/archived/generate-logs-scale/kubernetes-config/locust-master-service.yaml similarity index 100% rename from tutorials/generate-logs-scale/kubernetes-config/locust-master-service.yaml rename to archived/generate-logs-scale/kubernetes-config/locust-master-service.yaml diff --git a/tutorials/generate-logs-scale/kubernetes-config/locust-worker-controller.yaml b/archived/generate-logs-scale/kubernetes-config/locust-worker-controller.yaml similarity index 100% rename from tutorials/generate-logs-scale/kubernetes-config/locust-worker-controller.yaml rename to archived/generate-logs-scale/kubernetes-config/locust-worker-controller.yaml diff --git a/tutorials/generate-logs-scale/kubernetes-config/webapp-cip.yaml b/archived/generate-logs-scale/kubernetes-config/webapp-cip.yaml similarity index 100% rename from tutorials/generate-logs-scale/kubernetes-config/webapp-cip.yaml rename to archived/generate-logs-scale/kubernetes-config/webapp-cip.yaml diff --git a/tutorials/generate-logs-scale/kubernetes-config/webapp-controller.yaml b/archived/generate-logs-scale/kubernetes-config/webapp-controller.yaml similarity index 100% rename from tutorials/generate-logs-scale/kubernetes-config/webapp-controller.yaml rename to archived/generate-logs-scale/kubernetes-config/webapp-controller.yaml diff --git a/tutorials/generate-logs-scale/locust-docker-image/Dockerfile b/archived/generate-logs-scale/locust-docker-image/Dockerfile similarity index 100% rename from tutorials/generate-logs-scale/locust-docker-image/Dockerfile rename to archived/generate-logs-scale/locust-docker-image/Dockerfile diff --git a/tutorials/generate-logs-scale/locust-docker-image/locust-tasks/requirements.txt b/archived/generate-logs-scale/locust-docker-image/locust-tasks/requirements.txt similarity index 100% rename from tutorials/generate-logs-scale/locust-docker-image/locust-tasks/requirements.txt rename to archived/generate-logs-scale/locust-docker-image/locust-tasks/requirements.txt diff --git a/tutorials/generate-logs-scale/locust-docker-image/locust-tasks/run.sh b/archived/generate-logs-scale/locust-docker-image/locust-tasks/run.sh similarity index 100% rename from tutorials/generate-logs-scale/locust-docker-image/locust-tasks/run.sh rename to archived/generate-logs-scale/locust-docker-image/locust-tasks/run.sh diff --git a/tutorials/generate-logs-scale/locust-docker-image/locust-tasks/tasks.py b/archived/generate-logs-scale/locust-docker-image/locust-tasks/tasks.py similarity index 100% rename from tutorials/generate-logs-scale/locust-docker-image/locust-tasks/tasks.py rename to archived/generate-logs-scale/locust-docker-image/locust-tasks/tasks.py diff --git a/tutorials/generate-logs-scale/webapp-docker-image/Dockerfile b/archived/generate-logs-scale/webapp-docker-image/Dockerfile similarity index 100% rename from tutorials/generate-logs-scale/webapp-docker-image/Dockerfile rename to archived/generate-logs-scale/webapp-docker-image/Dockerfile diff --git a/tutorials/generate-logs-scale/webapp-docker-image/webapp/app.py b/archived/generate-logs-scale/webapp-docker-image/webapp/app.py similarity index 100% rename from tutorials/generate-logs-scale/webapp-docker-image/webapp/app.py rename to archived/generate-logs-scale/webapp-docker-image/webapp/app.py diff --git a/tutorials/generate-logs-scale/webapp-docker-image/webapp/requirements.txt b/archived/generate-logs-scale/webapp-docker-image/webapp/requirements.txt similarity index 100% rename from tutorials/generate-logs-scale/webapp-docker-image/webapp/requirements.txt rename to archived/generate-logs-scale/webapp-docker-image/webapp/requirements.txt diff --git a/tutorials/github-auto-assign-reviewers-cloud-functions/index.md b/archived/github-auto-assign-reviewers-cloud-functions/index.md similarity index 100% rename from tutorials/github-auto-assign-reviewers-cloud-functions/index.md rename to archived/github-auto-assign-reviewers-cloud-functions/index.md diff --git a/tutorials/gke-filestore-dynamic-provisioning/index.md b/archived/gke-filestore-dynamic-provisioning/index.md similarity index 100% rename from tutorials/gke-filestore-dynamic-provisioning/index.md rename to archived/gke-filestore-dynamic-provisioning/index.md diff --git a/tutorials/gke-less-disruptive-node-upgrades/generate_load.sh b/archived/gke-less-disruptive-node-upgrades/generate_load.sh similarity index 100% rename from tutorials/gke-less-disruptive-node-upgrades/generate_load.sh rename to archived/gke-less-disruptive-node-upgrades/generate_load.sh diff --git a/tutorials/gke-less-disruptive-node-upgrades/hello_server_with_resource_pool.yaml b/archived/gke-less-disruptive-node-upgrades/hello_server_with_resource_pool.yaml similarity index 100% rename from tutorials/gke-less-disruptive-node-upgrades/hello_server_with_resource_pool.yaml rename to archived/gke-less-disruptive-node-upgrades/hello_server_with_resource_pool.yaml diff --git a/tutorials/gke-less-disruptive-node-upgrades/index.md b/archived/gke-less-disruptive-node-upgrades/index.md similarity index 100% rename from tutorials/gke-less-disruptive-node-upgrades/index.md rename to archived/gke-less-disruptive-node-upgrades/index.md diff --git a/tutorials/gke-less-disruptive-node-upgrades/main.go b/archived/gke-less-disruptive-node-upgrades/main.go similarity index 100% rename from tutorials/gke-less-disruptive-node-upgrades/main.go rename to archived/gke-less-disruptive-node-upgrades/main.go diff --git a/tutorials/gke-less-disruptive-node-upgrades/print_error_rate.sh b/archived/gke-less-disruptive-node-upgrades/print_error_rate.sh similarity index 100% rename from tutorials/gke-less-disruptive-node-upgrades/print_error_rate.sh rename to archived/gke-less-disruptive-node-upgrades/print_error_rate.sh diff --git a/tutorials/gke-networking-fundamentals/index.md b/archived/gke-networking-fundamentals/index.md similarity index 100% rename from tutorials/gke-networking-fundamentals/index.md rename to archived/gke-networking-fundamentals/index.md diff --git a/tutorials/grails3-send-push-notification-using-firebase-cloud-messaging/index.gsp b/archived/grails3-send-push-notification-using-firebase-cloud-messaging/index.gsp similarity index 100% rename from tutorials/grails3-send-push-notification-using-firebase-cloud-messaging/index.gsp rename to archived/grails3-send-push-notification-using-firebase-cloud-messaging/index.gsp diff --git a/tutorials/grails3-send-push-notification-using-firebase-cloud-messaging/index.md b/archived/grails3-send-push-notification-using-firebase-cloud-messaging/index.md similarity index 100% rename from tutorials/grails3-send-push-notification-using-firebase-cloud-messaging/index.md rename to archived/grails3-send-push-notification-using-firebase-cloud-messaging/index.md diff --git a/tutorials/horizontally-scale-mysql-database-backend-with-google-cloud-sql-and-proxysql/index.md b/archived/horizontally-scale-mysql-database-backend-with-google-cloud-sql-and-proxysql/index.md similarity index 100% rename from tutorials/horizontally-scale-mysql-database-backend-with-google-cloud-sql-and-proxysql/index.md rename to archived/horizontally-scale-mysql-database-backend-with-google-cloud-sql-and-proxysql/index.md diff --git a/tutorials/https-load-balancing-nginx/index.md b/archived/https-load-balancing-nginx/index.md similarity index 100% rename from tutorials/https-load-balancing-nginx/index.md rename to archived/https-load-balancing-nginx/index.md diff --git a/tutorials/influxdb-google-cloud-monitoring-templates/index.md b/archived/influxdb-google-cloud-monitoring-templates/index.md similarity index 100% rename from tutorials/influxdb-google-cloud-monitoring-templates/index.md rename to archived/influxdb-google-cloud-monitoring-templates/index.md diff --git a/tutorials/influxdb-google-data-studio/index.md b/archived/influxdb-google-data-studio/index.md similarity index 100% rename from tutorials/influxdb-google-data-studio/index.md rename to archived/influxdb-google-data-studio/index.md diff --git a/tutorials/infra-automation-kcc-config-sync-gatekeeper/index.md b/archived/infra-automation-kcc-config-sync-gatekeeper/index.md similarity index 100% rename from tutorials/infra-automation-kcc-config-sync-gatekeeper/index.md rename to archived/infra-automation-kcc-config-sync-gatekeeper/index.md diff --git a/tutorials/interconnect-usage-using-vpc-flow-logs/index.md b/archived/interconnect-usage-using-vpc-flow-logs/index.md similarity index 100% rename from tutorials/interconnect-usage-using-vpc-flow-logs/index.md rename to archived/interconnect-usage-using-vpc-flow-logs/index.md diff --git a/tutorials/jmeter-spanner-performance-test-using-mutation/Spanner-Performance-Test-Plan.jmx b/archived/jmeter-spanner-performance-test-using-mutation/Spanner-Performance-Test-Plan.jmx similarity index 100% rename from tutorials/jmeter-spanner-performance-test-using-mutation/Spanner-Performance-Test-Plan.jmx rename to archived/jmeter-spanner-performance-test-using-mutation/Spanner-Performance-Test-Plan.jmx diff --git a/tutorials/jmeter-spanner-performance-test-using-mutation/Spanner-init-load.jmx b/archived/jmeter-spanner-performance-test-using-mutation/Spanner-init-load.jmx similarity index 100% rename from tutorials/jmeter-spanner-performance-test-using-mutation/Spanner-init-load.jmx rename to archived/jmeter-spanner-performance-test-using-mutation/Spanner-init-load.jmx diff --git a/tutorials/jmeter-spanner-performance-test-using-mutation/index.md b/archived/jmeter-spanner-performance-test-using-mutation/index.md similarity index 100% rename from tutorials/jmeter-spanner-performance-test-using-mutation/index.md rename to archived/jmeter-spanner-performance-test-using-mutation/index.md diff --git a/tutorials/jmeter-spanner-performance-test/Spanner-Initial-Load.jmx b/archived/jmeter-spanner-performance-test/Spanner-Initial-Load.jmx similarity index 100% rename from tutorials/jmeter-spanner-performance-test/Spanner-Initial-Load.jmx rename to archived/jmeter-spanner-performance-test/Spanner-Initial-Load.jmx diff --git a/tutorials/jmeter-spanner-performance-test/Spanner-Perf-Test.jmx b/archived/jmeter-spanner-performance-test/Spanner-Perf-Test.jmx similarity index 100% rename from tutorials/jmeter-spanner-performance-test/Spanner-Perf-Test.jmx rename to archived/jmeter-spanner-performance-test/Spanner-Perf-Test.jmx diff --git a/tutorials/jmeter-spanner-performance-test/index.md b/archived/jmeter-spanner-performance-test/index.md similarity index 100% rename from tutorials/jmeter-spanner-performance-test/index.md rename to archived/jmeter-spanner-performance-test/index.md diff --git a/tutorials/julia-jupyter-notebook-server/acme-cert.sh b/archived/julia-jupyter-notebook-server/acme-cert.sh similarity index 100% rename from tutorials/julia-jupyter-notebook-server/acme-cert.sh rename to archived/julia-jupyter-notebook-server/acme-cert.sh diff --git a/tutorials/julia-jupyter-notebook-server/index.md b/archived/julia-jupyter-notebook-server/index.md similarity index 100% rename from tutorials/julia-jupyter-notebook-server/index.md rename to archived/julia-jupyter-notebook-server/index.md diff --git a/tutorials/julia-jupyter-notebook-server/install-julia.sh b/archived/julia-jupyter-notebook-server/install-julia.sh similarity index 100% rename from tutorials/julia-jupyter-notebook-server/install-julia.sh rename to archived/julia-jupyter-notebook-server/install-julia.sh diff --git a/tutorials/julia-jupyter-notebook-server/jupyter-config.sh b/archived/julia-jupyter-notebook-server/jupyter-config.sh similarity index 100% rename from tutorials/julia-jupyter-notebook-server/jupyter-config.sh rename to archived/julia-jupyter-notebook-server/jupyter-config.sh diff --git a/tutorials/julia-jupyter-notebook-server/main.tf b/archived/julia-jupyter-notebook-server/main.tf similarity index 100% rename from tutorials/julia-jupyter-notebook-server/main.tf rename to archived/julia-jupyter-notebook-server/main.tf diff --git a/tutorials/julia-jupyter-notebook-server/self-signed-cert.sh b/archived/julia-jupyter-notebook-server/self-signed-cert.sh similarity index 100% rename from tutorials/julia-jupyter-notebook-server/self-signed-cert.sh rename to archived/julia-jupyter-notebook-server/self-signed-cert.sh diff --git a/tutorials/julia-jupyter-notebook-server/setup.sh b/archived/julia-jupyter-notebook-server/setup.sh similarity index 100% rename from tutorials/julia-jupyter-notebook-server/setup.sh rename to archived/julia-jupyter-notebook-server/setup.sh diff --git a/tutorials/julia-jupyter-notebook-server/start-jupyter.sh b/archived/julia-jupyter-notebook-server/start-jupyter.sh similarity index 100% rename from tutorials/julia-jupyter-notebook-server/start-jupyter.sh rename to archived/julia-jupyter-notebook-server/start-jupyter.sh diff --git a/tutorials/julia-jupyter-notebook-server/variables.tf b/archived/julia-jupyter-notebook-server/variables.tf similarity index 100% rename from tutorials/julia-jupyter-notebook-server/variables.tf rename to archived/julia-jupyter-notebook-server/variables.tf diff --git a/tutorials/kubernetes-engine-customize-fluentbit/index.md b/archived/kubernetes-engine-customize-fluentbit/index.md similarity index 100% rename from tutorials/kubernetes-engine-customize-fluentbit/index.md rename to archived/kubernetes-engine-customize-fluentbit/index.md diff --git a/tutorials/kubernetes-engine-customize-fluentbit/kubernetes/fluentbit-configmap.yaml b/archived/kubernetes-engine-customize-fluentbit/kubernetes/fluentbit-configmap.yaml similarity index 100% rename from tutorials/kubernetes-engine-customize-fluentbit/kubernetes/fluentbit-configmap.yaml rename to archived/kubernetes-engine-customize-fluentbit/kubernetes/fluentbit-configmap.yaml diff --git a/tutorials/kubernetes-engine-customize-fluentbit/kubernetes/fluentbit-daemonset.yaml b/archived/kubernetes-engine-customize-fluentbit/kubernetes/fluentbit-daemonset.yaml similarity index 100% rename from tutorials/kubernetes-engine-customize-fluentbit/kubernetes/fluentbit-daemonset.yaml rename to archived/kubernetes-engine-customize-fluentbit/kubernetes/fluentbit-daemonset.yaml diff --git a/tutorials/kubernetes-engine-customize-fluentbit/kubernetes/fluentbit-rbac.yaml b/archived/kubernetes-engine-customize-fluentbit/kubernetes/fluentbit-rbac.yaml similarity index 100% rename from tutorials/kubernetes-engine-customize-fluentbit/kubernetes/fluentbit-rbac.yaml rename to archived/kubernetes-engine-customize-fluentbit/kubernetes/fluentbit-rbac.yaml diff --git a/tutorials/kubernetes-engine-customize-fluentbit/kubernetes/test-logger.yaml b/archived/kubernetes-engine-customize-fluentbit/kubernetes/test-logger.yaml similarity index 100% rename from tutorials/kubernetes-engine-customize-fluentbit/kubernetes/test-logger.yaml rename to archived/kubernetes-engine-customize-fluentbit/kubernetes/test-logger.yaml diff --git a/tutorials/kubernetes-engine-customize-fluentbit/test-logger/Dockerfile b/archived/kubernetes-engine-customize-fluentbit/test-logger/Dockerfile similarity index 100% rename from tutorials/kubernetes-engine-customize-fluentbit/test-logger/Dockerfile rename to archived/kubernetes-engine-customize-fluentbit/test-logger/Dockerfile diff --git a/tutorials/kubernetes-engine-customize-fluentbit/test-logger/go.mod b/archived/kubernetes-engine-customize-fluentbit/test-logger/go.mod similarity index 100% rename from tutorials/kubernetes-engine-customize-fluentbit/test-logger/go.mod rename to archived/kubernetes-engine-customize-fluentbit/test-logger/go.mod diff --git a/tutorials/kubernetes-engine-customize-fluentbit/test-logger/logger.go b/archived/kubernetes-engine-customize-fluentbit/test-logger/logger.go similarity index 100% rename from tutorials/kubernetes-engine-customize-fluentbit/test-logger/logger.go rename to archived/kubernetes-engine-customize-fluentbit/test-logger/logger.go diff --git a/tutorials/metrics-export-with-mql/.gcloudignore b/archived/metrics-export-with-mql/.gcloudignore similarity index 100% rename from tutorials/metrics-export-with-mql/.gcloudignore rename to archived/metrics-export-with-mql/.gcloudignore diff --git a/tutorials/metrics-export-with-mql/bigquery_schema.json b/archived/metrics-export-with-mql/bigquery_schema.json similarity index 100% rename from tutorials/metrics-export-with-mql/bigquery_schema.json rename to archived/metrics-export-with-mql/bigquery_schema.json diff --git a/tutorials/metrics-export-with-mql/config-template.py b/archived/metrics-export-with-mql/config-template.py similarity index 100% rename from tutorials/metrics-export-with-mql/config-template.py rename to archived/metrics-export-with-mql/config-template.py diff --git a/tutorials/metrics-export-with-mql/index.md b/archived/metrics-export-with-mql/index.md similarity index 100% rename from tutorials/metrics-export-with-mql/index.md rename to archived/metrics-export-with-mql/index.md diff --git a/tutorials/metrics-export-with-mql/main.py b/archived/metrics-export-with-mql/main.py similarity index 100% rename from tutorials/metrics-export-with-mql/main.py rename to archived/metrics-export-with-mql/main.py diff --git a/tutorials/metrics-export-with-mql/requirements.txt b/archived/metrics-export-with-mql/requirements.txt similarity index 100% rename from tutorials/metrics-export-with-mql/requirements.txt rename to archived/metrics-export-with-mql/requirements.txt diff --git a/tutorials/migrate-oracle-postgres-using-datastream/.gitignore b/archived/migrate-oracle-postgres-using-datastream/.gitignore similarity index 100% rename from tutorials/migrate-oracle-postgres-using-datastream/.gitignore rename to archived/migrate-oracle-postgres-using-datastream/.gitignore diff --git a/tutorials/migrate-oracle-postgres-using-datastream/index.md b/archived/migrate-oracle-postgres-using-datastream/index.md similarity index 100% rename from tutorials/migrate-oracle-postgres-using-datastream/index.md rename to archived/migrate-oracle-postgres-using-datastream/index.md diff --git a/tutorials/migrate-oracle-postgres-using-datastream/ora2pg/DataValidationDockerfile b/archived/migrate-oracle-postgres-using-datastream/ora2pg/DataValidationDockerfile similarity index 100% rename from tutorials/migrate-oracle-postgres-using-datastream/ora2pg/DataValidationDockerfile rename to archived/migrate-oracle-postgres-using-datastream/ora2pg/DataValidationDockerfile diff --git a/tutorials/migrate-oracle-postgres-using-datastream/ora2pg/Ora2PGDockerfile b/archived/migrate-oracle-postgres-using-datastream/ora2pg/Ora2PGDockerfile similarity index 100% rename from tutorials/migrate-oracle-postgres-using-datastream/ora2pg/Ora2PGDockerfile rename to archived/migrate-oracle-postgres-using-datastream/ora2pg/Ora2PGDockerfile diff --git a/tutorials/migrate-oracle-postgres-using-datastream/ora2pg/data_validation/.gitignore b/archived/migrate-oracle-postgres-using-datastream/ora2pg/data_validation/.gitignore similarity index 100% rename from tutorials/migrate-oracle-postgres-using-datastream/ora2pg/data_validation/.gitignore rename to archived/migrate-oracle-postgres-using-datastream/ora2pg/data_validation/.gitignore diff --git a/tutorials/migrate-oracle-postgres-using-datastream/ora2pg/ora2pg.sh b/archived/migrate-oracle-postgres-using-datastream/ora2pg/ora2pg.sh similarity index 100% rename from tutorials/migrate-oracle-postgres-using-datastream/ora2pg/ora2pg.sh rename to archived/migrate-oracle-postgres-using-datastream/ora2pg/ora2pg.sh diff --git a/tutorials/migrate-oracle-postgres-using-datastream/ora2pg/ora2pg/config/ora2pg.conf b/archived/migrate-oracle-postgres-using-datastream/ora2pg/ora2pg/config/ora2pg.conf similarity index 100% rename from tutorials/migrate-oracle-postgres-using-datastream/ora2pg/ora2pg/config/ora2pg.conf rename to archived/migrate-oracle-postgres-using-datastream/ora2pg/ora2pg/config/ora2pg.conf diff --git a/tutorials/migrate-oracle-postgres-using-datastream/ora2pg/ora2pg/data/.gitignore b/archived/migrate-oracle-postgres-using-datastream/ora2pg/ora2pg/data/.gitignore similarity index 100% rename from tutorials/migrate-oracle-postgres-using-datastream/ora2pg/ora2pg/data/.gitignore rename to archived/migrate-oracle-postgres-using-datastream/ora2pg/ora2pg/data/.gitignore diff --git a/tutorials/migrate-oracle-postgres-using-datastream/ora2pg/oracle/.gitignore b/archived/migrate-oracle-postgres-using-datastream/ora2pg/oracle/.gitignore similarity index 100% rename from tutorials/migrate-oracle-postgres-using-datastream/ora2pg/oracle/.gitignore rename to archived/migrate-oracle-postgres-using-datastream/ora2pg/oracle/.gitignore diff --git a/tutorials/migrate-oracle-postgres-using-ora2pg/index.md b/archived/migrate-oracle-postgres-using-ora2pg/index.md similarity index 100% rename from tutorials/migrate-oracle-postgres-using-ora2pg/index.md rename to archived/migrate-oracle-postgres-using-ora2pg/index.md diff --git a/tutorials/ml-pipeline-with-workflows/babyweight_model/setup.py b/archived/ml-pipeline-with-workflows/babyweight_model/setup.py similarity index 100% rename from tutorials/ml-pipeline-with-workflows/babyweight_model/setup.py rename to archived/ml-pipeline-with-workflows/babyweight_model/setup.py diff --git a/tutorials/ml-pipeline-with-workflows/babyweight_model/trainer/__init__.py b/archived/ml-pipeline-with-workflows/babyweight_model/trainer/__init__.py similarity index 100% rename from tutorials/ml-pipeline-with-workflows/babyweight_model/trainer/__init__.py rename to archived/ml-pipeline-with-workflows/babyweight_model/trainer/__init__.py diff --git a/tutorials/ml-pipeline-with-workflows/babyweight_model/trainer/model.py b/archived/ml-pipeline-with-workflows/babyweight_model/trainer/model.py similarity index 100% rename from tutorials/ml-pipeline-with-workflows/babyweight_model/trainer/model.py rename to archived/ml-pipeline-with-workflows/babyweight_model/trainer/model.py diff --git a/tutorials/ml-pipeline-with-workflows/babyweight_model/trainer/task.py b/archived/ml-pipeline-with-workflows/babyweight_model/trainer/task.py similarity index 100% rename from tutorials/ml-pipeline-with-workflows/babyweight_model/trainer/task.py rename to archived/ml-pipeline-with-workflows/babyweight_model/trainer/task.py diff --git a/tutorials/ml-pipeline-with-workflows/index.md b/archived/ml-pipeline-with-workflows/index.md similarity index 100% rename from tutorials/ml-pipeline-with-workflows/index.md rename to archived/ml-pipeline-with-workflows/index.md diff --git a/tutorials/ml-pipeline-with-workflows/services/preprocess/Dockerfile b/archived/ml-pipeline-with-workflows/services/preprocess/Dockerfile similarity index 100% rename from tutorials/ml-pipeline-with-workflows/services/preprocess/Dockerfile rename to archived/ml-pipeline-with-workflows/services/preprocess/Dockerfile diff --git a/tutorials/ml-pipeline-with-workflows/services/preprocess/df_pipeline/__init__.py b/archived/ml-pipeline-with-workflows/services/preprocess/df_pipeline/__init__.py similarity index 100% rename from tutorials/ml-pipeline-with-workflows/services/preprocess/df_pipeline/__init__.py rename to archived/ml-pipeline-with-workflows/services/preprocess/df_pipeline/__init__.py diff --git a/tutorials/ml-pipeline-with-workflows/services/preprocess/df_pipeline/pipe.py b/archived/ml-pipeline-with-workflows/services/preprocess/df_pipeline/pipe.py similarity index 100% rename from tutorials/ml-pipeline-with-workflows/services/preprocess/df_pipeline/pipe.py rename to archived/ml-pipeline-with-workflows/services/preprocess/df_pipeline/pipe.py diff --git a/tutorials/ml-pipeline-with-workflows/services/preprocess/main.py b/archived/ml-pipeline-with-workflows/services/preprocess/main.py similarity index 100% rename from tutorials/ml-pipeline-with-workflows/services/preprocess/main.py rename to archived/ml-pipeline-with-workflows/services/preprocess/main.py diff --git a/tutorials/ml-pipeline-with-workflows/services/preprocess/requirements.txt b/archived/ml-pipeline-with-workflows/services/preprocess/requirements.txt similarity index 100% rename from tutorials/ml-pipeline-with-workflows/services/preprocess/requirements.txt rename to archived/ml-pipeline-with-workflows/services/preprocess/requirements.txt diff --git a/tutorials/ml-pipeline-with-workflows/services/preprocess/setup.py b/archived/ml-pipeline-with-workflows/services/preprocess/setup.py similarity index 100% rename from tutorials/ml-pipeline-with-workflows/services/preprocess/setup.py rename to archived/ml-pipeline-with-workflows/services/preprocess/setup.py diff --git a/tutorials/ml-pipeline-with-workflows/services/train/Dockerfile b/archived/ml-pipeline-with-workflows/services/train/Dockerfile similarity index 100% rename from tutorials/ml-pipeline-with-workflows/services/train/Dockerfile rename to archived/ml-pipeline-with-workflows/services/train/Dockerfile diff --git a/tutorials/ml-pipeline-with-workflows/services/train/main.py b/archived/ml-pipeline-with-workflows/services/train/main.py similarity index 100% rename from tutorials/ml-pipeline-with-workflows/services/train/main.py rename to archived/ml-pipeline-with-workflows/services/train/main.py diff --git a/tutorials/ml-pipeline-with-workflows/services/train/requirements.txt b/archived/ml-pipeline-with-workflows/services/train/requirements.txt similarity index 100% rename from tutorials/ml-pipeline-with-workflows/services/train/requirements.txt rename to archived/ml-pipeline-with-workflows/services/train/requirements.txt diff --git a/tutorials/ml-pipeline-with-workflows/workflows/.gitignore b/archived/ml-pipeline-with-workflows/workflows/.gitignore similarity index 100% rename from tutorials/ml-pipeline-with-workflows/workflows/.gitignore rename to archived/ml-pipeline-with-workflows/workflows/.gitignore diff --git a/tutorials/ml-pipeline-with-workflows/workflows/ml_workflow.yaml.template b/archived/ml-pipeline-with-workflows/workflows/ml_workflow.yaml.template similarity index 100% rename from tutorials/ml-pipeline-with-workflows/workflows/ml_workflow.yaml.template rename to archived/ml-pipeline-with-workflows/workflows/ml_workflow.yaml.template diff --git a/tutorials/modular-load-balancing-with-terraform/index.md b/archived/modular-load-balancing-with-terraform/index.md similarity index 100% rename from tutorials/modular-load-balancing-with-terraform/index.md rename to archived/modular-load-balancing-with-terraform/index.md diff --git a/tutorials/monitoring-dashboard-from-bq/Dockerfile b/archived/monitoring-dashboard-from-bq/Dockerfile similarity index 100% rename from tutorials/monitoring-dashboard-from-bq/Dockerfile rename to archived/monitoring-dashboard-from-bq/Dockerfile diff --git a/tutorials/monitoring-dashboard-from-bq/bigquery_schema.json b/archived/monitoring-dashboard-from-bq/bigquery_schema.json similarity index 100% rename from tutorials/monitoring-dashboard-from-bq/bigquery_schema.json rename to archived/monitoring-dashboard-from-bq/bigquery_schema.json diff --git a/tutorials/monitoring-dashboard-from-bq/index.md b/archived/monitoring-dashboard-from-bq/index.md similarity index 100% rename from tutorials/monitoring-dashboard-from-bq/index.md rename to archived/monitoring-dashboard-from-bq/index.md diff --git a/tutorials/monitoring-dashboard-from-bq/main.py b/archived/monitoring-dashboard-from-bq/main.py similarity index 100% rename from tutorials/monitoring-dashboard-from-bq/main.py rename to archived/monitoring-dashboard-from-bq/main.py diff --git a/tutorials/monitoring-jvm-metrics-gke/.gitignore b/archived/monitoring-jvm-metrics-gke/.gitignore similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/.gitignore rename to archived/monitoring-jvm-metrics-gke/.gitignore diff --git a/tutorials/monitoring-jvm-metrics-gke/index.md b/archived/monitoring-jvm-metrics-gke/index.md similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/index.md rename to archived/monitoring-jvm-metrics-gke/index.md diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/.gitignore b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/.gitignore similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/.gitignore rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/.gitignore diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/Dockerfile b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/Dockerfile similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/Dockerfile rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/Dockerfile diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/README.md b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/README.md similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/README.md rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/README.md diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/build.gradle b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/build.gradle similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/build.gradle rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/build.gradle diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/deployment.yml b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/deployment.yml similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/deployment.yml rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/deployment.yml diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradle.properties b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradle.properties similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradle.properties rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradle.properties diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradle/wrapper/gradle-wrapper.jar b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradle/wrapper/gradle-wrapper.jar rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradle/wrapper/gradle-wrapper.jar diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradle/wrapper/gradle-wrapper.properties b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradle/wrapper/gradle-wrapper.properties rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradle/wrapper/gradle-wrapper.properties diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradlew b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradlew similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradlew rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradlew diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradlew.bat b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradlew.bat similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradlew.bat rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/gradlew.bat diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/micronaut-cli.yml b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/micronaut-cli.yml similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/micronaut-cli.yml rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/micronaut-cli.yml diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/settings.gradle b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/settings.gradle similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/settings.gradle rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/settings.gradle diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/java/com/google/example/Application.java b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/java/com/google/example/Application.java similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/java/com/google/example/Application.java rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/java/com/google/example/Application.java diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/java/com/google/example/ApplicationMeterRegistryConfigurer.java b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/java/com/google/example/ApplicationMeterRegistryConfigurer.java similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/java/com/google/example/ApplicationMeterRegistryConfigurer.java rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/java/com/google/example/ApplicationMeterRegistryConfigurer.java diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/resources/application.yml b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/resources/application.yml similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/resources/application.yml rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/resources/application.yml diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/resources/logback.xml b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/resources/logback.xml similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/resources/logback.xml rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/main/resources/logback.xml diff --git a/tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/test/java/com/google/example/MicronautJvmMetricsTest.java b/archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/test/java/com/google/example/MicronautJvmMetricsTest.java similarity index 100% rename from tutorials/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/test/java/com/google/example/MicronautJvmMetricsTest.java rename to archived/monitoring-jvm-metrics-gke/micronaut-jvm-metrics/src/test/java/com/google/example/MicronautJvmMetricsTest.java diff --git a/tutorials/nginx-ingress-gke/index.md b/archived/nginx-ingress-gke/index.md similarity index 100% rename from tutorials/nginx-ingress-gke/index.md rename to archived/nginx-ingress-gke/index.md diff --git a/tutorials/partial-redaction-with-dlp-and-gcf/app/config.json b/archived/partial-redaction-with-dlp-and-gcf/app/config.json similarity index 100% rename from tutorials/partial-redaction-with-dlp-and-gcf/app/config.json rename to archived/partial-redaction-with-dlp-and-gcf/app/config.json diff --git a/tutorials/partial-redaction-with-dlp-and-gcf/app/main.py b/archived/partial-redaction-with-dlp-and-gcf/app/main.py similarity index 100% rename from tutorials/partial-redaction-with-dlp-and-gcf/app/main.py rename to archived/partial-redaction-with-dlp-and-gcf/app/main.py diff --git a/tutorials/partial-redaction-with-dlp-and-gcf/app/requirements.txt b/archived/partial-redaction-with-dlp-and-gcf/app/requirements.txt similarity index 100% rename from tutorials/partial-redaction-with-dlp-and-gcf/app/requirements.txt rename to archived/partial-redaction-with-dlp-and-gcf/app/requirements.txt diff --git a/tutorials/partial-redaction-with-dlp-and-gcf/index.md b/archived/partial-redaction-with-dlp-and-gcf/index.md similarity index 100% rename from tutorials/partial-redaction-with-dlp-and-gcf/index.md rename to archived/partial-redaction-with-dlp-and-gcf/index.md diff --git a/tutorials/pci-tokenizer/.gcloudignore b/archived/pci-tokenizer/.gcloudignore similarity index 100% rename from tutorials/pci-tokenizer/.gcloudignore rename to archived/pci-tokenizer/.gcloudignore diff --git a/tutorials/pci-tokenizer/.gitignore b/archived/pci-tokenizer/.gitignore similarity index 100% rename from tutorials/pci-tokenizer/.gitignore rename to archived/pci-tokenizer/.gitignore diff --git a/tutorials/pci-tokenizer/Dockerfile b/archived/pci-tokenizer/Dockerfile similarity index 100% rename from tutorials/pci-tokenizer/Dockerfile rename to archived/pci-tokenizer/Dockerfile diff --git a/tutorials/pci-tokenizer/config/default.json b/archived/pci-tokenizer/config/default.json similarity index 100% rename from tutorials/pci-tokenizer/config/default.json rename to archived/pci-tokenizer/config/default.json diff --git a/tutorials/pci-tokenizer/examples/README.md b/archived/pci-tokenizer/examples/README.md similarity index 100% rename from tutorials/pci-tokenizer/examples/README.md rename to archived/pci-tokenizer/examples/README.md diff --git a/tutorials/pci-tokenizer/examples/batch_detokenize.sh b/archived/pci-tokenizer/examples/batch_detokenize.sh similarity index 100% rename from tutorials/pci-tokenizer/examples/batch_detokenize.sh rename to archived/pci-tokenizer/examples/batch_detokenize.sh diff --git a/tutorials/pci-tokenizer/examples/batch_tokenize.sh b/archived/pci-tokenizer/examples/batch_tokenize.sh similarity index 100% rename from tutorials/pci-tokenizer/examples/batch_tokenize.sh rename to archived/pci-tokenizer/examples/batch_tokenize.sh diff --git a/tutorials/pci-tokenizer/examples/batch_tokenize_and_detokenize.py b/archived/pci-tokenizer/examples/batch_tokenize_and_detokenize.py similarity index 100% rename from tutorials/pci-tokenizer/examples/batch_tokenize_and_detokenize.py rename to archived/pci-tokenizer/examples/batch_tokenize_and_detokenize.py diff --git a/tutorials/pci-tokenizer/examples/csv_files/batch_detokenize_sample_csv.csv b/archived/pci-tokenizer/examples/csv_files/batch_detokenize_sample_csv.csv similarity index 100% rename from tutorials/pci-tokenizer/examples/csv_files/batch_detokenize_sample_csv.csv rename to archived/pci-tokenizer/examples/csv_files/batch_detokenize_sample_csv.csv diff --git a/tutorials/pci-tokenizer/examples/csv_files/batch_detokenize_sample_csv_output.csv b/archived/pci-tokenizer/examples/csv_files/batch_detokenize_sample_csv_output.csv similarity index 100% rename from tutorials/pci-tokenizer/examples/csv_files/batch_detokenize_sample_csv_output.csv rename to archived/pci-tokenizer/examples/csv_files/batch_detokenize_sample_csv_output.csv diff --git a/tutorials/pci-tokenizer/examples/csv_files/batch_tokenize_sample_csv.csv b/archived/pci-tokenizer/examples/csv_files/batch_tokenize_sample_csv.csv similarity index 100% rename from tutorials/pci-tokenizer/examples/csv_files/batch_tokenize_sample_csv.csv rename to archived/pci-tokenizer/examples/csv_files/batch_tokenize_sample_csv.csv diff --git a/tutorials/pci-tokenizer/examples/csv_files/batch_tokenize_sample_csv_output.csv b/archived/pci-tokenizer/examples/csv_files/batch_tokenize_sample_csv_output.csv similarity index 100% rename from tutorials/pci-tokenizer/examples/csv_files/batch_tokenize_sample_csv_output.csv rename to archived/pci-tokenizer/examples/csv_files/batch_tokenize_sample_csv_output.csv diff --git a/tutorials/pci-tokenizer/examples/detokenize b/archived/pci-tokenizer/examples/detokenize similarity index 100% rename from tutorials/pci-tokenizer/examples/detokenize rename to archived/pci-tokenizer/examples/detokenize diff --git a/tutorials/pci-tokenizer/examples/envvars b/archived/pci-tokenizer/examples/envvars similarity index 100% rename from tutorials/pci-tokenizer/examples/envvars rename to archived/pci-tokenizer/examples/envvars diff --git a/tutorials/pci-tokenizer/examples/requirements.txt b/archived/pci-tokenizer/examples/requirements.txt similarity index 100% rename from tutorials/pci-tokenizer/examples/requirements.txt rename to archived/pci-tokenizer/examples/requirements.txt diff --git a/tutorials/pci-tokenizer/examples/tokenize b/archived/pci-tokenizer/examples/tokenize similarity index 100% rename from tutorials/pci-tokenizer/examples/tokenize rename to archived/pci-tokenizer/examples/tokenize diff --git a/tutorials/pci-tokenizer/examples/wrapkey b/archived/pci-tokenizer/examples/wrapkey similarity index 100% rename from tutorials/pci-tokenizer/examples/wrapkey rename to archived/pci-tokenizer/examples/wrapkey diff --git a/tutorials/pci-tokenizer/index.js b/archived/pci-tokenizer/index.js similarity index 100% rename from tutorials/pci-tokenizer/index.js rename to archived/pci-tokenizer/index.js diff --git a/tutorials/pci-tokenizer/index.md b/archived/pci-tokenizer/index.md similarity index 100% rename from tutorials/pci-tokenizer/index.md rename to archived/pci-tokenizer/index.md diff --git a/tutorials/pci-tokenizer/package.json b/archived/pci-tokenizer/package.json similarity index 100% rename from tutorials/pci-tokenizer/package.json rename to archived/pci-tokenizer/package.json diff --git a/tutorials/pci-tokenizer/src/app.js b/archived/pci-tokenizer/src/app.js similarity index 100% rename from tutorials/pci-tokenizer/src/app.js rename to archived/pci-tokenizer/src/app.js diff --git a/tutorials/pci-tokenizer/src/server.js b/archived/pci-tokenizer/src/server.js similarity index 100% rename from tutorials/pci-tokenizer/src/server.js rename to archived/pci-tokenizer/src/server.js diff --git a/tutorials/ping-a-google-compute-engine-vm/index.md b/archived/ping-a-google-compute-engine-vm/index.md similarity index 100% rename from tutorials/ping-a-google-compute-engine-vm/index.md rename to archived/ping-a-google-compute-engine-vm/index.md diff --git a/tutorials/prestashop-gke/cleanup.sh b/archived/prestashop-gke/cleanup.sh similarity index 100% rename from tutorials/prestashop-gke/cleanup.sh rename to archived/prestashop-gke/cleanup.sh diff --git a/tutorials/prestashop-gke/gke/ingress/ps-ingress.yaml b/archived/prestashop-gke/gke/ingress/ps-ingress.yaml similarity index 100% rename from tutorials/prestashop-gke/gke/ingress/ps-ingress.yaml rename to archived/prestashop-gke/gke/ingress/ps-ingress.yaml diff --git a/tutorials/prestashop-gke/gke/nfs/nfs-deployment.yaml b/archived/prestashop-gke/gke/nfs/nfs-deployment.yaml similarity index 100% rename from tutorials/prestashop-gke/gke/nfs/nfs-deployment.yaml rename to archived/prestashop-gke/gke/nfs/nfs-deployment.yaml diff --git a/tutorials/prestashop-gke/gke/nfs/nfs-persistent-volume-claim.yaml b/archived/prestashop-gke/gke/nfs/nfs-persistent-volume-claim.yaml similarity index 100% rename from tutorials/prestashop-gke/gke/nfs/nfs-persistent-volume-claim.yaml rename to archived/prestashop-gke/gke/nfs/nfs-persistent-volume-claim.yaml diff --git a/tutorials/prestashop-gke/gke/nfs/nfs-persistent-volume.yaml b/archived/prestashop-gke/gke/nfs/nfs-persistent-volume.yaml similarity index 100% rename from tutorials/prestashop-gke/gke/nfs/nfs-persistent-volume.yaml rename to archived/prestashop-gke/gke/nfs/nfs-persistent-volume.yaml diff --git a/tutorials/prestashop-gke/gke/nfs/nfs-service.yaml b/archived/prestashop-gke/gke/nfs/nfs-service.yaml similarity index 100% rename from tutorials/prestashop-gke/gke/nfs/nfs-service.yaml rename to archived/prestashop-gke/gke/nfs/nfs-service.yaml diff --git a/tutorials/prestashop-gke/gke/presta/ps-backend-config.yaml b/archived/prestashop-gke/gke/presta/ps-backend-config.yaml similarity index 100% rename from tutorials/prestashop-gke/gke/presta/ps-backend-config.yaml rename to archived/prestashop-gke/gke/presta/ps-backend-config.yaml diff --git a/tutorials/prestashop-gke/gke/presta/ps-deployment.yaml b/archived/prestashop-gke/gke/presta/ps-deployment.yaml similarity index 100% rename from tutorials/prestashop-gke/gke/presta/ps-deployment.yaml rename to archived/prestashop-gke/gke/presta/ps-deployment.yaml diff --git a/tutorials/prestashop-gke/gke/presta/ps-persistent-volume-claim.yaml b/archived/prestashop-gke/gke/presta/ps-persistent-volume-claim.yaml similarity index 100% rename from tutorials/prestashop-gke/gke/presta/ps-persistent-volume-claim.yaml rename to archived/prestashop-gke/gke/presta/ps-persistent-volume-claim.yaml diff --git a/tutorials/prestashop-gke/gke/presta/ps-persistent-volume.yaml b/archived/prestashop-gke/gke/presta/ps-persistent-volume.yaml similarity index 100% rename from tutorials/prestashop-gke/gke/presta/ps-persistent-volume.yaml rename to archived/prestashop-gke/gke/presta/ps-persistent-volume.yaml diff --git a/tutorials/prestashop-gke/gke/presta/ps-service.yaml b/archived/prestashop-gke/gke/presta/ps-service.yaml similarity index 100% rename from tutorials/prestashop-gke/gke/presta/ps-service.yaml rename to archived/prestashop-gke/gke/presta/ps-service.yaml diff --git a/tutorials/prestashop-gke/index.md b/archived/prestashop-gke/index.md similarity index 100% rename from tutorials/prestashop-gke/index.md rename to archived/prestashop-gke/index.md diff --git a/tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/Dockerfile b/archived/prestashop-gke/php-nginx/7.3-fpm-alpine/Dockerfile similarity index 100% rename from tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/Dockerfile rename to archived/prestashop-gke/php-nginx/7.3-fpm-alpine/Dockerfile diff --git a/tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/1 b/archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/1 similarity index 100% rename from tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/1 rename to archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/1 diff --git a/tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/2 b/archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/2 similarity index 100% rename from tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/2 rename to archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/2 diff --git a/tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/3 b/archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/3 similarity index 100% rename from tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/3 rename to archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/3 diff --git a/tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/ctrlaltdel.dist b/archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/ctrlaltdel.dist similarity index 100% rename from tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/ctrlaltdel.dist rename to archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/ctrlaltdel.dist diff --git a/tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/reboot b/archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/reboot similarity index 100% rename from tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/reboot rename to archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/reboot diff --git a/tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/stopit b/archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/stopit similarity index 100% rename from tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/stopit rename to archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/etc/runit/stopit diff --git a/tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/nginx/conf.d/default.conf b/archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/nginx/conf.d/default.conf similarity index 100% rename from tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/nginx/conf.d/default.conf rename to archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/nginx/conf.d/default.conf diff --git a/tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/nginx/nginx.conf b/archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/nginx/nginx.conf similarity index 100% rename from tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/nginx/nginx.conf rename to archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/nginx/nginx.conf diff --git a/tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/php-fpm/php-fpm.d/www.conf b/archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/php-fpm/php-fpm.d/www.conf similarity index 100% rename from tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/php-fpm/php-fpm.d/www.conf rename to archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/php-fpm/php-fpm.d/www.conf diff --git a/tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/php/php.ini b/archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/php/php.ini similarity index 100% rename from tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/config/php/php.ini rename to archived/prestashop-gke/php-nginx/7.3-fpm-alpine/config/php/php.ini diff --git a/tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/service/nginx/run b/archived/prestashop-gke/php-nginx/7.3-fpm-alpine/service/nginx/run similarity index 100% rename from tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/service/nginx/run rename to archived/prestashop-gke/php-nginx/7.3-fpm-alpine/service/nginx/run diff --git a/tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/service/php-fpm/run b/archived/prestashop-gke/php-nginx/7.3-fpm-alpine/service/php-fpm/run similarity index 100% rename from tutorials/prestashop-gke/php-nginx/7.3-fpm-alpine/service/php-fpm/run rename to archived/prestashop-gke/php-nginx/7.3-fpm-alpine/service/php-fpm/run diff --git a/tutorials/prestashop-gke/prestashop/Dockerfile b/archived/prestashop-gke/prestashop/Dockerfile similarity index 100% rename from tutorials/prestashop-gke/prestashop/Dockerfile rename to archived/prestashop-gke/prestashop/Dockerfile diff --git a/tutorials/prestashop-gke/prestashop/config/docker_run.sh b/archived/prestashop-gke/prestashop/config/docker_run.sh similarity index 100% rename from tutorials/prestashop-gke/prestashop/config/docker_run.sh rename to archived/prestashop-gke/prestashop/config/docker_run.sh diff --git a/tutorials/prestashop-gke/prestashop/config/nginx/conf.d/default.conf b/archived/prestashop-gke/prestashop/config/nginx/conf.d/default.conf similarity index 100% rename from tutorials/prestashop-gke/prestashop/config/nginx/conf.d/default.conf rename to archived/prestashop-gke/prestashop/config/nginx/conf.d/default.conf diff --git a/tutorials/private-forseti-with-scc-integration/index.md b/archived/private-forseti-with-scc-integration/index.md similarity index 100% rename from tutorials/private-forseti-with-scc-integration/index.md rename to archived/private-forseti-with-scc-integration/index.md diff --git a/tutorials/pubsub-spring-dedup-messages/index.md b/archived/pubsub-spring-dedup-messages/index.md similarity index 100% rename from tutorials/pubsub-spring-dedup-messages/index.md rename to archived/pubsub-spring-dedup-messages/index.md diff --git a/tutorials/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/pom.xml b/archived/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/pom.xml similarity index 100% rename from tutorials/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/pom.xml rename to archived/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/pom.xml diff --git a/tutorials/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/java/com/google/example/App.java b/archived/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/java/com/google/example/App.java similarity index 100% rename from tutorials/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/java/com/google/example/App.java rename to archived/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/java/com/google/example/App.java diff --git a/tutorials/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/java/com/google/example/DataEntryController.java b/archived/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/java/com/google/example/DataEntryController.java similarity index 100% rename from tutorials/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/java/com/google/example/DataEntryController.java rename to archived/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/java/com/google/example/DataEntryController.java diff --git a/tutorials/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/resources/application.properties b/archived/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/resources/application.properties similarity index 100% rename from tutorials/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/resources/application.properties rename to archived/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/resources/application.properties diff --git a/tutorials/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/resources/static/index.html b/archived/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/resources/static/index.html similarity index 100% rename from tutorials/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/resources/static/index.html rename to archived/pubsub-spring-dedup-messages/pubsub-spring-cloud-stream/src/main/resources/static/index.html diff --git a/tutorials/pubsub-spring-dedup-messages/pubsubio-dedup/pom.xml b/archived/pubsub-spring-dedup-messages/pubsubio-dedup/pom.xml similarity index 100% rename from tutorials/pubsub-spring-dedup-messages/pubsubio-dedup/pom.xml rename to archived/pubsub-spring-dedup-messages/pubsubio-dedup/pom.xml diff --git a/tutorials/pubsub-spring-dedup-messages/pubsubio-dedup/src/main/java/com/google/example/DedupPubSub.java b/archived/pubsub-spring-dedup-messages/pubsubio-dedup/src/main/java/com/google/example/DedupPubSub.java similarity index 100% rename from tutorials/pubsub-spring-dedup-messages/pubsubio-dedup/src/main/java/com/google/example/DedupPubSub.java rename to archived/pubsub-spring-dedup-messages/pubsubio-dedup/src/main/java/com/google/example/DedupPubSub.java diff --git a/tutorials/pubsub-workflow/config b/archived/pubsub-workflow/config similarity index 100% rename from tutorials/pubsub-workflow/config rename to archived/pubsub-workflow/config diff --git a/tutorials/pubsub-workflow/index.md b/archived/pubsub-workflow/index.md similarity index 100% rename from tutorials/pubsub-workflow/index.md rename to archived/pubsub-workflow/index.md diff --git a/tutorials/pubsub-workflow/requirements.txt b/archived/pubsub-workflow/requirements.txt similarity index 100% rename from tutorials/pubsub-workflow/requirements.txt rename to archived/pubsub-workflow/requirements.txt diff --git a/tutorials/pubsub-workflow/worker.py b/archived/pubsub-workflow/worker.py similarity index 100% rename from tutorials/pubsub-workflow/worker.py rename to archived/pubsub-workflow/worker.py diff --git a/tutorials/restrict-workload-identity-with-kyverno/index.md b/archived/restrict-workload-identity-with-kyverno/index.md similarity index 100% rename from tutorials/restrict-workload-identity-with-kyverno/index.md rename to archived/restrict-workload-identity-with-kyverno/index.md diff --git a/tutorials/restrict-workload-identity-with-kyverno/policy-staging-restrict-gcs-viewer-sa-annotation.yaml b/archived/restrict-workload-identity-with-kyverno/policy-staging-restrict-gcs-viewer-sa-annotation.yaml similarity index 100% rename from tutorials/restrict-workload-identity-with-kyverno/policy-staging-restrict-gcs-viewer-sa-annotation.yaml rename to archived/restrict-workload-identity-with-kyverno/policy-staging-restrict-gcs-viewer-sa-annotation.yaml diff --git a/tutorials/restrict-workload-identity-with-kyverno/policy-staging-restrict-gcs-viewer-sa.yaml b/archived/restrict-workload-identity-with-kyverno/policy-staging-restrict-gcs-viewer-sa.yaml similarity index 100% rename from tutorials/restrict-workload-identity-with-kyverno/policy-staging-restrict-gcs-viewer-sa.yaml rename to archived/restrict-workload-identity-with-kyverno/policy-staging-restrict-gcs-viewer-sa.yaml diff --git a/tutorials/restrict-workload-identity-with-kyverno/sa.yaml b/archived/restrict-workload-identity-with-kyverno/sa.yaml similarity index 100% rename from tutorials/restrict-workload-identity-with-kyverno/sa.yaml rename to archived/restrict-workload-identity-with-kyverno/sa.yaml diff --git a/tutorials/run-swift-perfect-on-google-cloud/Dockerfile b/archived/run-swift-perfect-on-google-cloud/Dockerfile similarity index 100% rename from tutorials/run-swift-perfect-on-google-cloud/Dockerfile rename to archived/run-swift-perfect-on-google-cloud/Dockerfile diff --git a/tutorials/run-swift-perfect-on-google-cloud/Package.swift b/archived/run-swift-perfect-on-google-cloud/Package.swift similarity index 100% rename from tutorials/run-swift-perfect-on-google-cloud/Package.swift rename to archived/run-swift-perfect-on-google-cloud/Package.swift diff --git a/tutorials/run-swift-perfect-on-google-cloud/app.yaml b/archived/run-swift-perfect-on-google-cloud/app.yaml similarity index 100% rename from tutorials/run-swift-perfect-on-google-cloud/app.yaml rename to archived/run-swift-perfect-on-google-cloud/app.yaml diff --git a/tutorials/run-swift-perfect-on-google-cloud/index.md b/archived/run-swift-perfect-on-google-cloud/index.md similarity index 100% rename from tutorials/run-swift-perfect-on-google-cloud/index.md rename to archived/run-swift-perfect-on-google-cloud/index.md diff --git a/tutorials/run-swift-perfect-on-google-cloud/main.swift b/archived/run-swift-perfect-on-google-cloud/main.swift similarity index 100% rename from tutorials/run-swift-perfect-on-google-cloud/main.swift rename to archived/run-swift-perfect-on-google-cloud/main.swift diff --git a/tutorials/run-swift-vapor-on-google-cloud/Dockerfile b/archived/run-swift-vapor-on-google-cloud/Dockerfile similarity index 100% rename from tutorials/run-swift-vapor-on-google-cloud/Dockerfile rename to archived/run-swift-vapor-on-google-cloud/Dockerfile diff --git a/tutorials/run-swift-vapor-on-google-cloud/Package.swift b/archived/run-swift-vapor-on-google-cloud/Package.swift similarity index 100% rename from tutorials/run-swift-vapor-on-google-cloud/Package.swift rename to archived/run-swift-vapor-on-google-cloud/Package.swift diff --git a/tutorials/run-swift-vapor-on-google-cloud/app.yaml b/archived/run-swift-vapor-on-google-cloud/app.yaml similarity index 100% rename from tutorials/run-swift-vapor-on-google-cloud/app.yaml rename to archived/run-swift-vapor-on-google-cloud/app.yaml diff --git a/tutorials/run-swift-vapor-on-google-cloud/index.md b/archived/run-swift-vapor-on-google-cloud/index.md similarity index 100% rename from tutorials/run-swift-vapor-on-google-cloud/index.md rename to archived/run-swift-vapor-on-google-cloud/index.md diff --git a/tutorials/run-swift-vapor-on-google-cloud/main.swift b/archived/run-swift-vapor-on-google-cloud/main.swift similarity index 100% rename from tutorials/run-swift-vapor-on-google-cloud/main.swift rename to archived/run-swift-vapor-on-google-cloud/main.swift diff --git a/tutorials/scc-inspec/.gcloudignore b/archived/scc-inspec/.gcloudignore similarity index 100% rename from tutorials/scc-inspec/.gcloudignore rename to archived/scc-inspec/.gcloudignore diff --git a/tutorials/scc-inspec/.gitignore b/archived/scc-inspec/.gitignore similarity index 100% rename from tutorials/scc-inspec/.gitignore rename to archived/scc-inspec/.gitignore diff --git a/tutorials/scc-inspec/cloudbuild.yaml b/archived/scc-inspec/cloudbuild.yaml similarity index 100% rename from tutorials/scc-inspec/cloudbuild.yaml rename to archived/scc-inspec/cloudbuild.yaml diff --git a/tutorials/scc-inspec/index.md b/archived/scc-inspec/index.md similarity index 100% rename from tutorials/scc-inspec/index.md rename to archived/scc-inspec/index.md diff --git a/tutorials/scc-inspec/inspec/controls/bucket_config.rb b/archived/scc-inspec/inspec/controls/bucket_config.rb similarity index 100% rename from tutorials/scc-inspec/inspec/controls/bucket_config.rb rename to archived/scc-inspec/inspec/controls/bucket_config.rb diff --git a/tutorials/scc-inspec/inspec/inspec.yml b/archived/scc-inspec/inspec/inspec.yml similarity index 100% rename from tutorials/scc-inspec/inspec/inspec.yml rename to archived/scc-inspec/inspec/inspec.yml diff --git a/tutorials/scc-inspec/reportParser/main.py b/archived/scc-inspec/reportParser/main.py similarity index 100% rename from tutorials/scc-inspec/reportParser/main.py rename to archived/scc-inspec/reportParser/main.py diff --git a/tutorials/scc-inspec/reportParser/requirements.txt b/archived/scc-inspec/reportParser/requirements.txt similarity index 100% rename from tutorials/scc-inspec/reportParser/requirements.txt rename to archived/scc-inspec/reportParser/requirements.txt diff --git a/tutorials/scc-inspec/scc/create_source.py b/archived/scc-inspec/scc/create_source.py similarity index 100% rename from tutorials/scc-inspec/scc/create_source.py rename to archived/scc-inspec/scc/create_source.py diff --git a/tutorials/scc-inspec/terraform/main.tf b/archived/scc-inspec/terraform/main.tf similarity index 100% rename from tutorials/scc-inspec/terraform/main.tf rename to archived/scc-inspec/terraform/main.tf diff --git a/tutorials/scc-inspec/terraform/terraform.tfvars.template b/archived/scc-inspec/terraform/terraform.tfvars.template similarity index 100% rename from tutorials/scc-inspec/terraform/terraform.tfvars.template rename to archived/scc-inspec/terraform/terraform.tfvars.template diff --git a/tutorials/scc-inspec/terraform/variables.tf b/archived/scc-inspec/terraform/variables.tf similarity index 100% rename from tutorials/scc-inspec/terraform/variables.tf rename to archived/scc-inspec/terraform/variables.tf diff --git a/tutorials/secrets-manager-python/.gitignore b/archived/secrets-manager-python/.gitignore similarity index 100% rename from tutorials/secrets-manager-python/.gitignore rename to archived/secrets-manager-python/.gitignore diff --git a/tutorials/secrets-manager-python/index.md b/archived/secrets-manager-python/index.md similarity index 100% rename from tutorials/secrets-manager-python/index.md rename to archived/secrets-manager-python/index.md diff --git a/tutorials/secrets-manager-python/py-secrets-manager/currencyapp/Dockerfile b/archived/secrets-manager-python/py-secrets-manager/currencyapp/Dockerfile similarity index 100% rename from tutorials/secrets-manager-python/py-secrets-manager/currencyapp/Dockerfile rename to archived/secrets-manager-python/py-secrets-manager/currencyapp/Dockerfile diff --git a/tutorials/secrets-manager-python/py-secrets-manager/currencyapp/app.py b/archived/secrets-manager-python/py-secrets-manager/currencyapp/app.py similarity index 100% rename from tutorials/secrets-manager-python/py-secrets-manager/currencyapp/app.py rename to archived/secrets-manager-python/py-secrets-manager/currencyapp/app.py diff --git a/tutorials/secrets-manager-python/py-secrets-manager/currencyapp/requirements.txt b/archived/secrets-manager-python/py-secrets-manager/currencyapp/requirements.txt similarity index 100% rename from tutorials/secrets-manager-python/py-secrets-manager/currencyapp/requirements.txt rename to archived/secrets-manager-python/py-secrets-manager/currencyapp/requirements.txt diff --git a/tutorials/securing-gcs-static-website/flask_login/.gcloudignore b/archived/securing-gcs-static-website/flask_login/.gcloudignore similarity index 100% rename from tutorials/securing-gcs-static-website/flask_login/.gcloudignore rename to archived/securing-gcs-static-website/flask_login/.gcloudignore diff --git a/tutorials/securing-gcs-static-website/flask_login/Dockerfile b/archived/securing-gcs-static-website/flask_login/Dockerfile similarity index 100% rename from tutorials/securing-gcs-static-website/flask_login/Dockerfile rename to archived/securing-gcs-static-website/flask_login/Dockerfile diff --git a/tutorials/securing-gcs-static-website/flask_login/main.py b/archived/securing-gcs-static-website/flask_login/main.py similarity index 100% rename from tutorials/securing-gcs-static-website/flask_login/main.py rename to archived/securing-gcs-static-website/flask_login/main.py diff --git a/tutorials/securing-gcs-static-website/flask_login/requirements.txt b/archived/securing-gcs-static-website/flask_login/requirements.txt similarity index 100% rename from tutorials/securing-gcs-static-website/flask_login/requirements.txt rename to archived/securing-gcs-static-website/flask_login/requirements.txt diff --git a/tutorials/securing-gcs-static-website/flask_login/static/style.css b/archived/securing-gcs-static-website/flask_login/static/style.css similarity index 100% rename from tutorials/securing-gcs-static-website/flask_login/static/style.css rename to archived/securing-gcs-static-website/flask_login/static/style.css diff --git a/tutorials/securing-gcs-static-website/flask_login/templates/login.html b/archived/securing-gcs-static-website/flask_login/templates/login.html similarity index 100% rename from tutorials/securing-gcs-static-website/flask_login/templates/login.html rename to archived/securing-gcs-static-website/flask_login/templates/login.html diff --git a/tutorials/securing-gcs-static-website/flask_login/web-map-http.yaml b/archived/securing-gcs-static-website/flask_login/web-map-http.yaml similarity index 100% rename from tutorials/securing-gcs-static-website/flask_login/web-map-http.yaml rename to archived/securing-gcs-static-website/flask_login/web-map-http.yaml diff --git a/tutorials/securing-gcs-static-website/index.md b/archived/securing-gcs-static-website/index.md similarity index 100% rename from tutorials/securing-gcs-static-website/index.md rename to archived/securing-gcs-static-website/index.md diff --git a/tutorials/securing-gcs-static-website/static-website/.eslintrc.js b/archived/securing-gcs-static-website/static-website/.eslintrc.js similarity index 100% rename from tutorials/securing-gcs-static-website/static-website/.eslintrc.js rename to archived/securing-gcs-static-website/static-website/.eslintrc.js diff --git a/tutorials/securing-gcs-static-website/static-website/.gitignore b/archived/securing-gcs-static-website/static-website/.gitignore similarity index 100% rename from tutorials/securing-gcs-static-website/static-website/.gitignore rename to archived/securing-gcs-static-website/static-website/.gitignore diff --git a/tutorials/securing-gcs-static-website/static-website/README.md b/archived/securing-gcs-static-website/static-website/README.md similarity index 100% rename from tutorials/securing-gcs-static-website/static-website/README.md rename to archived/securing-gcs-static-website/static-website/README.md diff --git a/tutorials/securing-gcs-static-website/static-website/babel.config.js b/archived/securing-gcs-static-website/static-website/babel.config.js similarity index 100% rename from tutorials/securing-gcs-static-website/static-website/babel.config.js rename to archived/securing-gcs-static-website/static-website/babel.config.js diff --git a/tutorials/securing-gcs-static-website/static-website/package.json b/archived/securing-gcs-static-website/static-website/package.json similarity index 100% rename from tutorials/securing-gcs-static-website/static-website/package.json rename to archived/securing-gcs-static-website/static-website/package.json diff --git a/tutorials/securing-gcs-static-website/static-website/public/favicon.ico b/archived/securing-gcs-static-website/static-website/public/favicon.ico similarity index 100% rename from tutorials/securing-gcs-static-website/static-website/public/favicon.ico rename to archived/securing-gcs-static-website/static-website/public/favicon.ico diff --git a/tutorials/securing-gcs-static-website/static-website/public/index.html b/archived/securing-gcs-static-website/static-website/public/index.html similarity index 100% rename from tutorials/securing-gcs-static-website/static-website/public/index.html rename to archived/securing-gcs-static-website/static-website/public/index.html diff --git a/tutorials/securing-gcs-static-website/static-website/src/App.vue b/archived/securing-gcs-static-website/static-website/src/App.vue similarity index 100% rename from tutorials/securing-gcs-static-website/static-website/src/App.vue rename to archived/securing-gcs-static-website/static-website/src/App.vue diff --git a/tutorials/securing-gcs-static-website/static-website/src/components/HelloWorld.vue b/archived/securing-gcs-static-website/static-website/src/components/HelloWorld.vue similarity index 100% rename from tutorials/securing-gcs-static-website/static-website/src/components/HelloWorld.vue rename to archived/securing-gcs-static-website/static-website/src/components/HelloWorld.vue diff --git a/tutorials/securing-gcs-static-website/static-website/src/main.js b/archived/securing-gcs-static-website/static-website/src/main.js similarity index 100% rename from tutorials/securing-gcs-static-website/static-website/src/main.js rename to archived/securing-gcs-static-website/static-website/src/main.js diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/data/startup.sh b/archived/serverless-backend-access-in-shared-vpc/code/data/startup.sh similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/data/startup.sh rename to archived/serverless-backend-access-in-shared-vpc/code/data/startup.sh diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/example_server.tf b/archived/serverless-backend-access-in-shared-vpc/code/example_server.tf similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/example_server.tf rename to archived/serverless-backend-access-in-shared-vpc/code/example_server.tf diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/main.tf b/archived/serverless-backend-access-in-shared-vpc/code/main.tf similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/main.tf rename to archived/serverless-backend-access-in-shared-vpc/code/main.tf diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/modules/serverless_endpoint/main.tf b/archived/serverless-backend-access-in-shared-vpc/code/modules/serverless_endpoint/main.tf similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/modules/serverless_endpoint/main.tf rename to archived/serverless-backend-access-in-shared-vpc/code/modules/serverless_endpoint/main.tf diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/modules/serverless_endpoint/outputs.tf b/archived/serverless-backend-access-in-shared-vpc/code/modules/serverless_endpoint/outputs.tf similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/modules/serverless_endpoint/outputs.tf rename to archived/serverless-backend-access-in-shared-vpc/code/modules/serverless_endpoint/outputs.tf diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/modules/serverless_endpoint/variables.tf b/archived/serverless-backend-access-in-shared-vpc/code/modules/serverless_endpoint/variables.tf similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/modules/serverless_endpoint/variables.tf rename to archived/serverless-backend-access-in-shared-vpc/code/modules/serverless_endpoint/variables.tf diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/networking.tf b/archived/serverless-backend-access-in-shared-vpc/code/networking.tf similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/networking.tf rename to archived/serverless-backend-access-in-shared-vpc/code/networking.tf diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/outputs.tf b/archived/serverless-backend-access-in-shared-vpc/code/outputs.tf similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/outputs.tf rename to archived/serverless-backend-access-in-shared-vpc/code/outputs.tf diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/provider.tf b/archived/serverless-backend-access-in-shared-vpc/code/provider.tf similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/provider.tf rename to archived/serverless-backend-access-in-shared-vpc/code/provider.tf diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/server/.dockerignore b/archived/serverless-backend-access-in-shared-vpc/code/server/.dockerignore similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/server/.dockerignore rename to archived/serverless-backend-access-in-shared-vpc/code/server/.dockerignore diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/server/.gcloudignore b/archived/serverless-backend-access-in-shared-vpc/code/server/.gcloudignore similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/server/.gcloudignore rename to archived/serverless-backend-access-in-shared-vpc/code/server/.gcloudignore diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/server/Dockerfile b/archived/serverless-backend-access-in-shared-vpc/code/server/Dockerfile similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/server/Dockerfile rename to archived/serverless-backend-access-in-shared-vpc/code/server/Dockerfile diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/server/index.js b/archived/serverless-backend-access-in-shared-vpc/code/server/index.js similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/server/index.js rename to archived/serverless-backend-access-in-shared-vpc/code/server/index.js diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/server/package.json b/archived/serverless-backend-access-in-shared-vpc/code/server/package.json similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/server/package.json rename to archived/serverless-backend-access-in-shared-vpc/code/server/package.json diff --git a/tutorials/serverless-backend-access-in-shared-vpc/code/variables.tf b/archived/serverless-backend-access-in-shared-vpc/code/variables.tf similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/code/variables.tf rename to archived/serverless-backend-access-in-shared-vpc/code/variables.tf diff --git a/tutorials/serverless-backend-access-in-shared-vpc/index.md b/archived/serverless-backend-access-in-shared-vpc/index.md similarity index 100% rename from tutorials/serverless-backend-access-in-shared-vpc/index.md rename to archived/serverless-backend-access-in-shared-vpc/index.md diff --git a/tutorials/serverless-grafana-with-iap/code/.gitignore b/archived/serverless-grafana-with-iap/code/.gitignore similarity index 100% rename from tutorials/serverless-grafana-with-iap/code/.gitignore rename to archived/serverless-grafana-with-iap/code/.gitignore diff --git a/tutorials/serverless-grafana-with-iap/code/cloudsql.tf b/archived/serverless-grafana-with-iap/code/cloudsql.tf similarity index 100% rename from tutorials/serverless-grafana-with-iap/code/cloudsql.tf rename to archived/serverless-grafana-with-iap/code/cloudsql.tf diff --git a/tutorials/serverless-grafana-with-iap/code/lb.tf b/archived/serverless-grafana-with-iap/code/lb.tf similarity index 100% rename from tutorials/serverless-grafana-with-iap/code/lb.tf rename to archived/serverless-grafana-with-iap/code/lb.tf diff --git a/tutorials/serverless-grafana-with-iap/code/main.tf b/archived/serverless-grafana-with-iap/code/main.tf similarity index 100% rename from tutorials/serverless-grafana-with-iap/code/main.tf rename to archived/serverless-grafana-with-iap/code/main.tf diff --git a/tutorials/serverless-grafana-with-iap/code/providers.tf b/archived/serverless-grafana-with-iap/code/providers.tf similarity index 100% rename from tutorials/serverless-grafana-with-iap/code/providers.tf rename to archived/serverless-grafana-with-iap/code/providers.tf diff --git a/tutorials/serverless-grafana-with-iap/code/provisioning/dashboards/gclb.json b/archived/serverless-grafana-with-iap/code/provisioning/dashboards/gclb.json similarity index 100% rename from tutorials/serverless-grafana-with-iap/code/provisioning/dashboards/gclb.json rename to archived/serverless-grafana-with-iap/code/provisioning/dashboards/gclb.json diff --git a/tutorials/serverless-grafana-with-iap/code/provisioning/dashboards/gclb.yaml b/archived/serverless-grafana-with-iap/code/provisioning/dashboards/gclb.yaml similarity index 100% rename from tutorials/serverless-grafana-with-iap/code/provisioning/dashboards/gclb.yaml rename to archived/serverless-grafana-with-iap/code/provisioning/dashboards/gclb.yaml diff --git a/tutorials/serverless-grafana-with-iap/code/provisioning/datasources/cloud-monitoring.yaml b/archived/serverless-grafana-with-iap/code/provisioning/datasources/cloud-monitoring.yaml similarity index 100% rename from tutorials/serverless-grafana-with-iap/code/provisioning/datasources/cloud-monitoring.yaml rename to archived/serverless-grafana-with-iap/code/provisioning/datasources/cloud-monitoring.yaml diff --git a/tutorials/serverless-grafana-with-iap/code/variables.tf b/archived/serverless-grafana-with-iap/code/variables.tf similarity index 100% rename from tutorials/serverless-grafana-with-iap/code/variables.tf rename to archived/serverless-grafana-with-iap/code/variables.tf diff --git a/tutorials/serverless-grafana-with-iap/index.md b/archived/serverless-grafana-with-iap/index.md similarity index 100% rename from tutorials/serverless-grafana-with-iap/index.md rename to archived/serverless-grafana-with-iap/index.md diff --git a/tutorials/serverless-static-ip/cloud-functions/index.js b/archived/serverless-static-ip/cloud-functions/index.js similarity index 100% rename from tutorials/serverless-static-ip/cloud-functions/index.js rename to archived/serverless-static-ip/cloud-functions/index.js diff --git a/tutorials/serverless-static-ip/cloud-run/.dockerignore b/archived/serverless-static-ip/cloud-run/.dockerignore similarity index 100% rename from tutorials/serverless-static-ip/cloud-run/.dockerignore rename to archived/serverless-static-ip/cloud-run/.dockerignore diff --git a/tutorials/serverless-static-ip/cloud-run/Dockerfile b/archived/serverless-static-ip/cloud-run/Dockerfile similarity index 100% rename from tutorials/serverless-static-ip/cloud-run/Dockerfile rename to archived/serverless-static-ip/cloud-run/Dockerfile diff --git a/tutorials/serverless-static-ip/cloud-run/main.py b/archived/serverless-static-ip/cloud-run/main.py similarity index 100% rename from tutorials/serverless-static-ip/cloud-run/main.py rename to archived/serverless-static-ip/cloud-run/main.py diff --git a/tutorials/serverless-static-ip/cloud-run/requirements.txt b/archived/serverless-static-ip/cloud-run/requirements.txt similarity index 100% rename from tutorials/serverless-static-ip/cloud-run/requirements.txt rename to archived/serverless-static-ip/cloud-run/requirements.txt diff --git a/tutorials/serverless-static-ip/index.md b/archived/serverless-static-ip/index.md similarity index 100% rename from tutorials/serverless-static-ip/index.md rename to archived/serverless-static-ip/index.md diff --git a/tutorials/serverless-vpc-access-private-mongodb-atlas/index.md b/archived/serverless-vpc-access-private-mongodb-atlas/index.md similarity index 100% rename from tutorials/serverless-vpc-access-private-mongodb-atlas/index.md rename to archived/serverless-vpc-access-private-mongodb-atlas/index.md diff --git a/tutorials/setting-up-an-android-development-environment-on-compute-engine/1-second-build.jpeg b/archived/setting-up-an-android-development-environment-on-compute-engine/1-second-build.jpeg similarity index 100% rename from tutorials/setting-up-an-android-development-environment-on-compute-engine/1-second-build.jpeg rename to archived/setting-up-an-android-development-environment-on-compute-engine/1-second-build.jpeg diff --git a/tutorials/setting-up-an-android-development-environment-on-compute-engine/index.md b/archived/setting-up-an-android-development-environment-on-compute-engine/index.md similarity index 100% rename from tutorials/setting-up-an-android-development-environment-on-compute-engine/index.md rename to archived/setting-up-an-android-development-environment-on-compute-engine/index.md diff --git a/tutorials/setting-up-lamp/index.md b/archived/setting-up-lamp/index.md similarity index 100% rename from tutorials/setting-up-lamp/index.md rename to archived/setting-up-lamp/index.md diff --git a/tutorials/shared-vpc-gke-cloud-memorystore/index.md b/archived/shared-vpc-gke-cloud-memorystore/index.md similarity index 100% rename from tutorials/shared-vpc-gke-cloud-memorystore/index.md rename to archived/shared-vpc-gke-cloud-memorystore/index.md diff --git a/tutorials/speech2srt/example.wav b/archived/speech2srt/example.wav similarity index 100% rename from tutorials/speech2srt/example.wav rename to archived/speech2srt/example.wav diff --git a/tutorials/speech2srt/index.md b/archived/speech2srt/index.md similarity index 100% rename from tutorials/speech2srt/index.md rename to archived/speech2srt/index.md diff --git a/tutorials/speech2srt/requirements.txt b/archived/speech2srt/requirements.txt similarity index 100% rename from tutorials/speech2srt/requirements.txt rename to archived/speech2srt/requirements.txt diff --git a/tutorials/speech2srt/speech2srt.py b/archived/speech2srt/speech2srt.py similarity index 100% rename from tutorials/speech2srt/speech2srt.py rename to archived/speech2srt/speech2srt.py diff --git a/tutorials/speech2srt/srt2txt.py b/archived/speech2srt/srt2txt.py similarity index 100% rename from tutorials/speech2srt/srt2txt.py rename to archived/speech2srt/srt2txt.py diff --git a/tutorials/speech2srt/translate_txt.py b/archived/speech2srt/translate_txt.py similarity index 100% rename from tutorials/speech2srt/translate_txt.py rename to archived/speech2srt/translate_txt.py diff --git a/tutorials/speech2srt/txt2srt.py b/archived/speech2srt/txt2srt.py similarity index 100% rename from tutorials/speech2srt/txt2srt.py rename to archived/speech2srt/txt2srt.py diff --git a/tutorials/spinnaker-binary-auth/index.md b/archived/spinnaker-binary-auth/index.md similarity index 100% rename from tutorials/spinnaker-binary-auth/index.md rename to archived/spinnaker-binary-auth/index.md diff --git a/tutorials/sql-server-ao-single-subnet/index.md b/archived/sql-server-ao-single-subnet/index.md similarity index 100% rename from tutorials/sql-server-ao-single-subnet/index.md rename to archived/sql-server-ao-single-subnet/index.md diff --git a/tutorials/ssh-port-forwarding-set-up-load-testing-on-compute-engine/firewalls.jpeg b/archived/ssh-port-forwarding-set-up-load-testing-on-compute-engine/firewalls.jpeg similarity index 100% rename from tutorials/ssh-port-forwarding-set-up-load-testing-on-compute-engine/firewalls.jpeg rename to archived/ssh-port-forwarding-set-up-load-testing-on-compute-engine/firewalls.jpeg diff --git a/tutorials/ssh-port-forwarding-set-up-load-testing-on-compute-engine/forw-connections.jpeg b/archived/ssh-port-forwarding-set-up-load-testing-on-compute-engine/forw-connections.jpeg similarity index 100% rename from tutorials/ssh-port-forwarding-set-up-load-testing-on-compute-engine/forw-connections.jpeg rename to archived/ssh-port-forwarding-set-up-load-testing-on-compute-engine/forw-connections.jpeg diff --git a/tutorials/ssh-port-forwarding-set-up-load-testing-on-compute-engine/index.md b/archived/ssh-port-forwarding-set-up-load-testing-on-compute-engine/index.md similarity index 100% rename from tutorials/ssh-port-forwarding-set-up-load-testing-on-compute-engine/index.md rename to archived/ssh-port-forwarding-set-up-load-testing-on-compute-engine/index.md diff --git a/tutorials/ssh-port-forwarding-set-up-load-testing-on-compute-engine/load-testing.jpeg b/archived/ssh-port-forwarding-set-up-load-testing-on-compute-engine/load-testing.jpeg similarity index 100% rename from tutorials/ssh-port-forwarding-set-up-load-testing-on-compute-engine/load-testing.jpeg rename to archived/ssh-port-forwarding-set-up-load-testing-on-compute-engine/load-testing.jpeg diff --git a/tutorials/ssh-via-iap/index.md b/archived/ssh-via-iap/index.md similarity index 100% rename from tutorials/ssh-via-iap/index.md rename to archived/ssh-via-iap/index.md diff --git a/tutorials/standalone-tensorflow-raspberry-pi/index.md b/archived/standalone-tensorflow-raspberry-pi/index.md similarity index 100% rename from tutorials/standalone-tensorflow-raspberry-pi/index.md rename to archived/standalone-tensorflow-raspberry-pi/index.md diff --git a/tutorials/standalone-tensorflow-raspberry-pi/tf_server.py b/archived/standalone-tensorflow-raspberry-pi/tf_server.py similarity index 100% rename from tutorials/standalone-tensorflow-raspberry-pi/tf_server.py rename to archived/standalone-tensorflow-raspberry-pi/tf_server.py diff --git a/tutorials/streaming-vr-content-from-a-virtual-workstation-using-nvidia-cloudxr/index.md b/archived/streaming-vr-content-from-a-virtual-workstation-using-nvidia-cloudxr/index.md similarity index 100% rename from tutorials/streaming-vr-content-from-a-virtual-workstation-using-nvidia-cloudxr/index.md rename to archived/streaming-vr-content-from-a-virtual-workstation-using-nvidia-cloudxr/index.md diff --git a/styleguide.md b/archived/styleguide.md similarity index 100% rename from styleguide.md rename to archived/styleguide.md diff --git a/tutorials/telepresence-and-gke/index.md b/archived/telepresence-and-gke/index.md similarity index 100% rename from tutorials/telepresence-and-gke/index.md rename to archived/telepresence-and-gke/index.md diff --git a/tutorials/transparent-proxy-and-filtering-on-k8s-with-initializers/index.md b/archived/transparent-proxy-and-filtering-on-k8s-with-initializers/index.md similarity index 100% rename from tutorials/transparent-proxy-and-filtering-on-k8s-with-initializers/index.md rename to archived/transparent-proxy-and-filtering-on-k8s-with-initializers/index.md diff --git a/tutorials/transparent-proxy-and-filtering-on-k8s/index.md b/archived/transparent-proxy-and-filtering-on-k8s/index.md similarity index 100% rename from tutorials/transparent-proxy-and-filtering-on-k8s/index.md rename to archived/transparent-proxy-and-filtering-on-k8s/index.md diff --git a/tutorials/using-cloudbuild-with-webhooks/index.md b/archived/using-cloudbuild-with-webhooks/index.md similarity index 100% rename from tutorials/using-cloudbuild-with-webhooks/index.md rename to archived/using-cloudbuild-with-webhooks/index.md diff --git a/tutorials/using-flask-login-with-cloud-datastore/index.md b/archived/using-flask-login-with-cloud-datastore/index.md similarity index 100% rename from tutorials/using-flask-login-with-cloud-datastore/index.md rename to archived/using-flask-login-with-cloud-datastore/index.md diff --git a/tutorials/using-prometheus-jmx-monitor-java/index.md b/archived/using-prometheus-jmx-monitor-java/index.md similarity index 100% rename from tutorials/using-prometheus-jmx-monitor-java/index.md rename to archived/using-prometheus-jmx-monitor-java/index.md diff --git a/tutorials/using-scheduler-invoke-private-functions-oidc/index.md b/archived/using-scheduler-invoke-private-functions-oidc/index.md similarity index 100% rename from tutorials/using-scheduler-invoke-private-functions-oidc/index.md rename to archived/using-scheduler-invoke-private-functions-oidc/index.md diff --git a/tutorials/using-slurm-to-host-jupyter-notebooks-review/anaconda3-5.3.1-modulefile b/archived/using-slurm-to-host-jupyter-notebooks-review/anaconda3-5.3.1-modulefile similarity index 100% rename from tutorials/using-slurm-to-host-jupyter-notebooks-review/anaconda3-5.3.1-modulefile rename to archived/using-slurm-to-host-jupyter-notebooks-review/anaconda3-5.3.1-modulefile diff --git a/tutorials/using-slurm-to-host-jupyter-notebooks-review/env.sh b/archived/using-slurm-to-host-jupyter-notebooks-review/env.sh similarity index 100% rename from tutorials/using-slurm-to-host-jupyter-notebooks-review/env.sh rename to archived/using-slurm-to-host-jupyter-notebooks-review/env.sh diff --git a/tutorials/using-slurm-to-host-jupyter-notebooks-review/index.md b/archived/using-slurm-to-host-jupyter-notebooks-review/index.md similarity index 100% rename from tutorials/using-slurm-to-host-jupyter-notebooks-review/index.md rename to archived/using-slurm-to-host-jupyter-notebooks-review/index.md diff --git a/tutorials/using-slurm-to-host-jupyter-notebooks-review/notebook.batch b/archived/using-slurm-to-host-jupyter-notebooks-review/notebook.batch similarity index 100% rename from tutorials/using-slurm-to-host-jupyter-notebooks-review/notebook.batch rename to archived/using-slurm-to-host-jupyter-notebooks-review/notebook.batch diff --git a/tutorials/using-slurm-to-host-jupyter-notebooks-review/startup-script.patch b/archived/using-slurm-to-host-jupyter-notebooks-review/startup-script.patch similarity index 100% rename from tutorials/using-slurm-to-host-jupyter-notebooks-review/startup-script.patch rename to archived/using-slurm-to-host-jupyter-notebooks-review/startup-script.patch diff --git a/tutorials/vault-injector-gke/index.md b/archived/vault-injector-gke/index.md similarity index 100% rename from tutorials/vault-injector-gke/index.md rename to archived/vault-injector-gke/index.md diff --git a/tutorials/visualizing-metrics-with-grafana/index.md b/archived/visualizing-metrics-with-grafana/index.md similarity index 100% rename from tutorials/visualizing-metrics-with-grafana/index.md rename to archived/visualizing-metrics-with-grafana/index.md diff --git a/tutorials/vm-migration-with-risc-networks/index.md b/archived/vm-migration-with-risc-networks/index.md similarity index 100% rename from tutorials/vm-migration-with-risc-networks/index.md rename to archived/vm-migration-with-risc-networks/index.md diff --git a/tutorials/web-instrumentation/index.md b/archived/web-instrumentation/index.md similarity index 100% rename from tutorials/web-instrumentation/index.md rename to archived/web-instrumentation/index.md diff --git a/tutorials/writing-prometheus-metrics-bigquery/bigquery_schema.json b/archived/writing-prometheus-metrics-bigquery/bigquery_schema.json similarity index 100% rename from tutorials/writing-prometheus-metrics-bigquery/bigquery_schema.json rename to archived/writing-prometheus-metrics-bigquery/bigquery_schema.json diff --git a/tutorials/writing-prometheus-metrics-bigquery/custom_prometheus_template.yaml b/archived/writing-prometheus-metrics-bigquery/custom_prometheus_template.yaml similarity index 100% rename from tutorials/writing-prometheus-metrics-bigquery/custom_prometheus_template.yaml rename to archived/writing-prometheus-metrics-bigquery/custom_prometheus_template.yaml diff --git a/tutorials/writing-prometheus-metrics-bigquery/index.md b/archived/writing-prometheus-metrics-bigquery/index.md similarity index 100% rename from tutorials/writing-prometheus-metrics-bigquery/index.md rename to archived/writing-prometheus-metrics-bigquery/index.md diff --git a/tutorials/writing-prometheus-metrics-bigquery/query_template.sql b/archived/writing-prometheus-metrics-bigquery/query_template.sql similarity index 100% rename from tutorials/writing-prometheus-metrics-bigquery/query_template.sql rename to archived/writing-prometheus-metrics-bigquery/query_template.sql diff --git a/tutorials/cicd-datalake-part-1/cloudbuild.yaml b/tutorials/cicd-datalake-part-1/cloudbuild.yaml deleted file mode 100644 index cad385e38d..0000000000 --- a/tutorials/cicd-datalake-part-1/cloudbuild.yaml +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright 2019 Google LLC -# -# 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 -# -# https://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. - - -steps: -- id: 'branch name' - name: 'alpine' - entrypoint: 'sh' - args: - - '-c' - - | - echo "***********************" - echo "$BRANCH_NAME" - echo "***********************" - -- id: 'tf init' - name: 'hashicorp/terraform:0.12.24' - entrypoint: 'sh' - args: - - '-c' - - | - if [ -d "environments/$BRANCH_NAME/" ]; then - cd environments/$BRANCH_NAME - terraform init - else - for dir in environments/*/ - do - cd ${dir} - env=${dir%*/} - env=${env#*/} - echo "" - echo "*************** TERRAFORM INIT ******************" - echo "******* At environment: ${env} ********" - echo "*************************************************" - terraform init || exit 1 - cd ../../ - done - fi - -# [START tf-plan] -- id: 'tf plan' - name: 'hashicorp/terraform:0.12.24' - entrypoint: 'sh' - args: - - '-c' - - | - if [ -d "environments/$BRANCH_NAME/" ]; then - cd environments/$BRANCH_NAME - terraform plan - else - for dir in environments/*/ - do - cd ${dir} - env=${dir%*/} - env=${env#*/} - echo "" - echo "*************** TERRAFOM PLAN ******************" - echo "******* At environment: ${env} ********" - echo "*************************************************" - terraform plan || exit 1 - cd ../../ - done - fi - env: - - 'TF_VAR_project_id=$_PROJECT_ID' - - 'TF_VAR_service_account_email=$_SERVICE_ACCOUNT_EMAIL' - - 'TF_VAR_source_gcs_bucket=$_SOURCE_GCS_BUCKET' - - 'TF_VAR_region=$_REGION' -# [END tf-plan] - -# [START tf-apply] -- id: 'tf apply' - name: 'hashicorp/terraform:0.12.24' - entrypoint: 'sh' - args: - - '-c' - - | - if [ -d "environments/$BRANCH_NAME/" ]; then - cd environments/$BRANCH_NAME - terraform apply -auto-approve - else - echo "***************************** SKIPPING APPLYING *******************************" - echo "Branch '$BRANCH_NAME' does not represent an official environment." - echo "*******************************************************************************" - fi - env: - - 'TF_VAR_project_id=$_PROJECT_ID' - - 'TF_VAR_service_account_email=$_SERVICE_ACCOUNT_EMAIL' - - 'TF_VAR_source_gcs_bucket=$_SOURCE_GCS_BUCKET' - - 'TF_VAR_region=$_REGION' -# [END tf-apply] diff --git a/tutorials/cicd-datalake-part-1/environments/dev/main.tf b/tutorials/cicd-datalake-part-1/environments/dev/main.tf deleted file mode 100644 index c3bfb31192..0000000000 --- a/tutorials/cicd-datalake-part-1/environments/dev/main.tf +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 2019 Google LLC -# -# 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 -# -# https://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. - -# cicd-datalake-part-1 - -terraform { - required_version = ">= 0.12.0" -} - - -locals { - env = "dev" -} - -provider "google" { - project = "${var.project_id}" - region = "${var.region}" - zone = "${var.region}-a" - version = "~> 2.18.0" -} - -resource "random_id" "random_suffix" { - byte_length = 4 -} - -locals { - gcs_bucket_name = "tmp-dir-bucket-${random_id.random_suffix.hex}-${local.env}" -} - -// [START gcs-buckets-block] -resource "google_storage_bucket" "tmp_dir_bucket" { - name = "${local.gcs_bucket_name}" - storage_class = "REGIONAL" - location = "${var.region}" - project = "${var.project_id}" - force_destroy = "true" -} - -resource "google_bigquery_dataset" "default" { - project = "${var.project_id}" - dataset_id = "${local.env}_datalake_demo" - friendly_name = "${local.env}_datalake_demo" - description = "This is the BQ dataset for running the datalake demo" - location = "US" - default_table_expiration_ms = 3600000 -} - -resource "google_dataflow_job" "dataflow_job" { - project = "${var.project_id}" - region = "${var.region}" - zone = "${var.region}-a" - name = "${local.env}_datalake_cicd_batch" - on_delete = "cancel" - max_workers = 8 - template_gcs_path = "gs://dataflow-templates/latest/GCS_Text_to_BigQuery" - temp_gcs_location = "gs://${local.gcs_bucket_name}/tmp_dir" - service_account_email = "${var.service_account_email}" - parameters = { - javascriptTextTransformFunctionName ="transform" - JSONPath = "gs://${var.source_gcs_bucket}/bq_schema.json" - javascriptTextTransformGcsPath = "gs://${var.source_gcs_bucket}/etl.js" - inputFilePattern = "gs://${var.source_gcs_bucket}/cc_records.csv" - outputTable = "${var.project_id}:${google_bigquery_dataset.default.dataset_id}.sample_userdata" - bigQueryLoadingTemporaryDirectory = "gs://${local.gcs_bucket_name}/tmp_dir1" - } - depends_on = [google_storage_bucket.tmp_dir_bucket] -} diff --git a/tutorials/cicd-datalake-part-1/environments/dev/outputs.tf b/tutorials/cicd-datalake-part-1/environments/dev/outputs.tf deleted file mode 100644 index 8fc9c1eac0..0000000000 --- a/tutorials/cicd-datalake-part-1/environments/dev/outputs.tf +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2019 Google LLC -# -# 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 -# -# https://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. - -output "project_id" { - value = var.project_id - description = "The project's ID" -} diff --git a/tutorials/cicd-datalake-part-1/environments/dev/variables.tf b/tutorials/cicd-datalake-part-1/environments/dev/variables.tf deleted file mode 100644 index 9fedcf0d89..0000000000 --- a/tutorials/cicd-datalake-part-1/environments/dev/variables.tf +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 2019 Google LLC -# -# 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 -# -# https://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. - -variable "project_id" { - type = string - description = "The project ID to deploy to" -} - -variable "region" { - type = string - description = "The region in which the bucket and the Dataflow job will be deployed" -} - -variable "service_account_email" { - type = string - description = "The Service Account email used to create the job." -} - -variable "source_gcs_bucket" { - type = string - description = "The source Cloud Storage bucket." -} diff --git a/tutorials/cicd-datalake-part-1/environments/dev/versions.tf b/tutorials/cicd-datalake-part-1/environments/dev/versions.tf deleted file mode 100644 index 0d556a3e02..0000000000 --- a/tutorials/cicd-datalake-part-1/environments/dev/versions.tf +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2019 Google LLC -# -# 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 -# -# https://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. - - -terraform { - required_version = "~> 0.12.0" -} \ No newline at end of file diff --git a/tutorials/cicd-datalake-part-1/environments/prod/main.tf b/tutorials/cicd-datalake-part-1/environments/prod/main.tf deleted file mode 100644 index 3dcb548370..0000000000 --- a/tutorials/cicd-datalake-part-1/environments/prod/main.tf +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 2019 Google LLC -# -# 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 -# -# https://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. - -# cicd-datalake-part-1 - -terraform { - required_version = ">= 0.12.0" -} - -locals { - env = "prod" -} - -provider "google" { - project = "${var.project_id}" - region = "${var.region}" - zone = "${var.region}-a" - version = "~> 2.18.0" -} - -resource "random_id" "random_suffix" { - byte_length = 4 -} - -locals { - gcs_bucket_name = "tmp-dir-bucket-${random_id.random_suffix.hex}-${local.env}" -} - -// [START gcs-buckets-block] -resource "google_storage_bucket" "tmp_dir_bucket" { - name = "${local.gcs_bucket_name}" - storage_class = "REGIONAL" - location = "${var.region}" - project = "${var.project_id}" - force_destroy = "true" -} - -resource "google_bigquery_dataset" "default" { - project = "${var.project_id}" - dataset_id = "${local.env}_datalake_demo" - friendly_name = "${local.env}_datalake_demo" - description = "This is the BQ dataset for running the datalake demo" - location = "US" - default_table_expiration_ms = 3600000 -} - -resource "google_dataflow_job" "dataflow_job" { - project = "${var.project_id}" - region = "${var.region}" - zone = "${var.region}-a" - name = "${local.env}_datalake_cicd_batch" - on_delete = "cancel" - max_workers = 8 - template_gcs_path = "gs://dataflow-templates/latest/GCS_Text_to_BigQuery" - temp_gcs_location = "gs://${local.gcs_bucket_name}/tmp_dir" - service_account_email = "${var.service_account_email}" - parameters = { - javascriptTextTransformFunctionName ="transform" - JSONPath = "gs://${var.source_gcs_bucket}/bq_schema.json" - javascriptTextTransformGcsPath = "gs://${var.source_gcs_bucket}/etl.js" - inputFilePattern = "gs://${var.source_gcs_bucket}/cc_records.csv" - outputTable = "${var.project_id}:${google_bigquery_dataset.default.dataset_id}.sample_userdata" - bigQueryLoadingTemporaryDirectory = "gs://${local.gcs_bucket_name}/tmp_dir1" - } - depends_on = [google_storage_bucket.tmp_dir_bucket] -} diff --git a/tutorials/cicd-datalake-part-1/environments/prod/outputs.tf b/tutorials/cicd-datalake-part-1/environments/prod/outputs.tf deleted file mode 100644 index 8fc9c1eac0..0000000000 --- a/tutorials/cicd-datalake-part-1/environments/prod/outputs.tf +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2019 Google LLC -# -# 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 -# -# https://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. - -output "project_id" { - value = var.project_id - description = "The project's ID" -} diff --git a/tutorials/cicd-datalake-part-1/environments/prod/variables.tf b/tutorials/cicd-datalake-part-1/environments/prod/variables.tf deleted file mode 100644 index 915174135e..0000000000 --- a/tutorials/cicd-datalake-part-1/environments/prod/variables.tf +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 2019 Google LLC -# -# 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 -# -# https://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. - -variable "project_id" { - type = string - description = "The project ID to deploy to" -} - -variable "region" { - type = string - description = "The region in which the bucket and the Dataflow job will be deployed" - default = "us-west1" -} - -variable "service_account_email" { - type = string - description = "The Service Account email used to create the job." -} - -variable "source_gcs_bucket" { - type = string - description = "The source Cloud Storage bucket." -} diff --git a/tutorials/cicd-datalake-part-1/environments/prod/versions.tf b/tutorials/cicd-datalake-part-1/environments/prod/versions.tf deleted file mode 100644 index 797b96c4fe..0000000000 --- a/tutorials/cicd-datalake-part-1/environments/prod/versions.tf +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2019 Google LLC -# -# 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 -# -# https://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. - - -terraform { - required_version = "~> 0.12.0" -} diff --git a/tutorials/cicd-datalake-part-1/testdata/bq_schema.json b/tutorials/cicd-datalake-part-1/testdata/bq_schema.json deleted file mode 100644 index 116781712e..0000000000 --- a/tutorials/cicd-datalake-part-1/testdata/bq_schema.json +++ /dev/null @@ -1,67 +0,0 @@ - {"BigQuery Schema":[{ - "description": "card_type_full_name", - "mode": "NULLABLE", - "name": "card_type_full_name", - "type": "STRING" - }, - { - "description": "issuing_bank", - "mode": "NULLABLE", - "name": "issuing_bank", - "type": "STRING" - }, - { - "description": "card_number", - "mode": "NULLABLE", - "name": "card_number", - "type": "STRING" - }, - { - "description": "card_holders_name ", - "mode": "NULLABLE", - "name": "card_holders_name", - "type": "STRING" - }, - { - "description": "cvvcvv2 ", - "mode": "NULLABLE", - "name": "cvvcvv2", - "type": "STRING" - }, - { - "description": "issue_date", - "mode": "NULLABLE", - "name": "issue_date", - "type": "STRING" - }, - { - "description": "expiry_date", - "mode": "NULLABLE", - "name": "expiry_date", - "type": "STRING" - }, - { - "description": "billing_date", - "mode": "NULLABLE", - "name": "billing_date", - "type": "STRING" - }, - { - "description": "card_pin", - "mode": "NULLABLE", - "name": "card_pin", - "type": "STRING" - }, - { - "description": "credit_limit", - "mode": "NULLABLE", - "name": "credit_limit", - "type": "STRING" - }, - { - "description": "card_type_code", - "mode": "NULLABLE", - "name": "card_type_code", - "type": "STRING" - } -]} \ No newline at end of file diff --git a/tutorials/cicd-datalake-part-1/testdata/cc_records.csv b/tutorials/cicd-datalake-part-1/testdata/cc_records.csv deleted file mode 100644 index 802397f04a..0000000000 --- a/tutorials/cicd-datalake-part-1/testdata/cc_records.csv +++ /dev/null @@ -1,100 +0,0 @@ -Card Type Code,Card Type Full Name,Issuing Bank,Card Number,Card Holder's Name,CVV/CVV2,Issue Date,Expiry Date,Billing Date,Card PIN,Credit Limit -JC,Japan Credit Bureau,JCB,3562833988864805,Fritz S Hillis,126,05/2016,05/2022,20,3557,137900 -VI,Visa,Barclays,4897500211521858,Joann Merrill,665,11/2015,11/2033,22,3964,72700 -VI,Visa,Bank of America,4601758078961321,Elvin Rochon,978,06/2011,06/2018,6,7993,157700 -DC,Diners Club International,Diners Club,30218563944281,Rebecca V Larson,964,02/2017,02/2023,8,4536,175600 -JC,Japan Credit Bureau,JCB,3537588813816261,Siobhan Riley,688,05/2010,05/2025,13,5891,52300 -AX,American Express,American Express,344934450023143,Erica Z Coffey,3300,11/2011,11/2013,19,8244,96200 -AX,American Express,American Express,344766908008924,Melissia P Cespedes,9124,05/2016,05/2036,19,3808,74900 -AX,American Express,U.S. Bancorp,377112713389078,Ida K Rodriquez,6823,01/2013,01/2014,26,3626,128200 -JC,Japan Credit Bureau,JCB,3562210529953746,Tena F Bloomberg,808,02/2010,02/2017,24,1516,177800 -DS,Discover,Discover,6447476775022825,Raymond Q Alford,120,05/2013,05/2020,16,5191,196600 -VI,Visa,Chase,4489431351564660,Arlene V Marone,187,05/2011,05/2026,23,4003,100500 -MC,Master Card,Capital One,5201679495241751,Troy S Wagner,318,03/2009,03/2015,3,2428,68700 -JC,Japan Credit Bureau,JCB,3551302220788506,Sanda O Toon,533,01/2014,01/2016,13,9447,162300 -JC,Japan Credit Bureau,JCB,3529006944241622,Thomas N Cantrell,359,02/2007,02/2018,15,0881,112400 -DS,Discover,Discover,6454121696008905,Efrain D Rue,397,06/2013,06/2033,23,0978,33500 -DS,Discover,Discover,6227769760508014,Laura W Franklin,439,02/2009,02/2021,19,1866,136100 -AX,American Express,American Express,372055424210742,Chang Kriner,9605,04/2014,04/2015,14,2541,28400 -VI,Visa,Bank of America,4219073021601139,Marjorie P Calhoun,127,03/2017,03/2034,13,9875,166900 -VI,Visa,Chase,4316313921390207,Erik I Tregre,520,11/2017,11/2036,11,1675,198400 -VI,Visa,USAA,4019514423873794,Shawn G Soto,203,08/2016,08/2028,9,9241,34200 -DS,Discover,Discover,6011264199906336,Kirby Story,152,07/2012,07/2022,19,4520,153500 -JC,Japan Credit Bureau,JCB,3533938399094268,Paul R Pollard,026,06/2011,06/2029,17,4126,190800 -DS,Discover,Discover,6011075613094131,Mirian W Manke,657,06/2016,06/2035,27,0857,117100 -DS,Discover,Discover,6228174587451663,Theodore Patterson,511,10/2008,10/2010,26,8387,163800 -DC,Diners Club International,Diners Club,36241749462758,Archie K Henton,981,03/2013,03/2019,10,9508,155300 -DS,Discover,Discover,6228199831135176,Jon P Padilla,475,02/2013,02/2017,19,4388,12100 -DC,Diners Club International,Diners Club,30307484758746,Seymour Fouch,628,04/2007,04/2013,19,6892,80300 -VI,Visa,GE Capital,4502282534656326,Frederick D Ray,275,07/2010,07/2026,28,2325,140000 -AX,American Express,American Express,343990070762198,Twila Huffaker,8641,07/2007,07/2010,16,4062,106900 -VI,Visa,Capital One,4294373923278053,Robert H Walton,327,05/2011,05/2029,1,4117,183500 -VI,Visa,Citibank,4633629996481712,Jillian D Motter,354,08/2010,08/2028,25,0032,104600 -AX,American Express,American Express,346131055348128,Frank D Cooley,9979,06/2008,06/2028,20,8426,19300 -AX,American Express,American Express,377827267760529,Georgette Heck,9623,10/2013,10/2028,19,1700,88500 -DC,Diners Club International,Diners Club,30958428208329,Victoria H Abbott,928,09/2011,09/2021,3,5882,96700 -AX,American Express,American Express,349223866798406,Rossie R Gasper,5284,08/2015,08/2023,18,3195,78800 -VI,Visa,Chase,4017296606768668,Jesse Riggs,319,01/2008,01/2022,24,6059,53100 -VI,Visa,Chase,4844764263298286,Aron U Loya,773,02/2015,02/2034,6,9936,166100 -JC,Japan Credit Bureau,JCB,3553852108491381,Emily Q Witt,410,11/2014,11/2021,1,0271,135400 -DC,Diners Club International,Diners Club,30216705177174,Lyman Q Nease,593,01/2013,01/2026,21,5246,146200 -DS,Discover,Discover,6527842431165048,Hazel Stafford,486,01/2011,01/2027,4,6754,108000 -JC,Japan Credit Bureau,JCB,3560933398778652,Myung Q Baltimore,295,01/2017,01/2024,18,9806,38300 -DC,Diners Club International,Diners Club,30340155425105,Kelly K Gordon,045,09/2013,09/2027,21,7293,75000 -AX,American Express,American Express,341085301750468,Brant B Session,0144,08/2013,08/2019,22,6779,185200 -JC,Japan Credit Bureau,JCB,3585174270399629,Cindy M Matthews,581,03/2014,03/2030,27,6854,85200 -MC,Master Card,Capital One,5162556238022796,Vito W Haven,153,05/2007,05/2022,26,7906,61400 -MC,Master Card,Citibank,5167195375583362,Sam P Fuller,245,11/2016,11/2030,2,0290,189600 -DC,Diners Club International,Diners Club,38239805170875,Benito Lafever,411,10/2011,10/2021,14,8398,97700 -DC,Diners Club International,Diners Club,36010259768197,Douglas M Murray,303,02/2011,02/2020,26,2674,196300 -VI,Visa,Citibank,4301475956069209,Cruz I Guiterrez,686,11/2016,11/2030,24,0919,39800 -MC,Master Card,Citibank,5466818530224493,Richard Y Levine,651,09/2008,09/2009,6,2337,127200 -MC,Master Card,Chase,5327767229532659,Odette J Mckain,881,12/2015,12/2021,17,1497,144200 -VI,Visa,Cabela�s WFB,4356531342061997,Martin D Forbes,462,08/2012,08/2028,5,8153,146800 -AX,American Express,American Express,347500964216387,Kiyoko Givan,8206,07/2010,07/2029,22,2647,156200 -MC,Master Card,USAA,5297253741880203,Sam A Good,609,09/2010,09/2019,15,5154,111900 -JC,Japan Credit Bureau,JCB,3544974744444400,Chung A Primm,672,12/2008,12/2022,12,1544,186600 -AX,American Express,U.S. Bancorp,374075110160520,Anthony Y Sawyer,5317,10/2014,10/2029,17,5017,77500 -JC,Japan Credit Bureau,JCB,3586005623512303,Lupita J Canas,380,02/2010,02/2025,24,3542,47600 -VI,Visa,Barclays,4371502020944797,Ruth P Cross,428,04/2013,04/2026,10,0510,103700 -DS,Discover,Discover,6011412537211212,Bella B Hellwig,679,11/2010,11/2018,7,3859,119100 -JC,Japan Credit Bureau,JCB,3588765156258685,Marjorie Andrews,295,12/2017,12/2020,15,5430,32800 -MC,Master Card,Citibank,5185800478235442,Leonard W Gainey,320,12/2010,12/2028,28,2737,20500 -DC,Diners Club International,Diners Club,36660102910352,Lillian U Alexander,920,11/2012,11/2024,7,4127,146200 -JC,Japan Credit Bureau,JCB,3579441032235385,Domenic Esparza,495,11/2012,11/2026,17,1896,156000 -DC,Diners Club International,Diners Club,30112119982913,Amy L Prince,456,09/2010,09/2011,12,7149,46900 -JC,Japan Credit Bureau,JCB,3538756875771463,Leopoldo J Kleiner,742,04/2007,04/2012,20,2580,31500 -VI,Visa,Chase,4496341936280636,Frances T Hurst,358,11/2009,11/2028,15,2090,190800 -DC,Diners Club International,Diners Club,30370335616380,Mel L Corby,055,08/2017,08/2029,27,8028,26900 -MC,Master Card,Capital One,5369307778723877,Ana Y Glover,909,08/2014,08/2022,27,1188,87400 -AX,American Express,American Express,343152472244313,Toccara O Waller,9350,04/2012,04/2022,15,5662,47300 -AX,American Express,American Express,341036925449284,Ann Head,6912,01/2012,01/2020,25,9752,159500 -DC,Diners Club International,Diners Club,30375819026493,Lore Pepper,678,07/2016,07/2017,15,6822,120300 -JC,Japan Credit Bureau,JCB,3549433504415253,Ida H Hughes,331,02/2010,02/2023,14,1965,46300 -JC,Japan Credit Bureau,JCB,3530104850552772,Ignacio M Walther,974,01/2014,01/2016,10,4349,71000 -AX,American Express,U.S. Bancorp,343500617922948,Jon Glover,8878,01/2017,01/2020,10,3138,54700 -AX,American Express,American Express,342608326925358,Kalyn Lagunas,8545,11/2017,11/2030,15,0827,13300 -AX,American Express,American Express,345738525584933,Martin W Newman,0433,11/2007,11/2026,15,9965,158800 -DC,Diners Club International,Diners Club,30564771195277,Dot M Litwin,700,01/2015,01/2028,14,2813,26500 -AX,American Express,American Express,343493963610137,Charlie Singleton,6518,01/2013,01/2023,16,2855,116500 -MC,Master Card,U.S. Bancorp,5272565286872678,Jessie U Ferraro,830,04/2015,04/2025,13,8847,90100 -MC,Master Card,Chase,5494640774773761,Christina N Macdonald,079,01/2010,01/2015,15,6892,139200 -VI,Visa,Capital One,4103087455158464,Oswaldo Rowell,090,08/2016,08/2019,7,1566,70300 -DS,Discover,Discover,6011593509935670,Randall F Barker,145,01/2009,01/2026,2,0494,77500 -JC,Japan Credit Bureau,JCB,3579118266652531,Cletus Norsworthy,482,06/2012,06/2019,24,6732,167400 -MC,Master Card,Bank of America,5255928414121767,Cheryl T Frazier,489,10/2015,10/2020,4,3327,74500 -VI,Visa,Chase,4975026681765465,Isreal P Fall,242,02/2016,02/2033,21,4488,190600 -VI,Visa,Chase,4530599519137105,Randy C Rasmussen,205,12/2014,12/2030,5,7541,175100 -MC,Master Card,Citibank,5478555080132645,Kim I Beckford,957,03/2011,03/2029,28,0651,66900 -JC,Japan Credit Bureau,JCB,3534727263058015,Dana P Velez,081,08/2017,08/2029,7,8887,35800 -JC,Japan Credit Bureau,JCB,3556605574675110,Julio Bellomy,838,08/2014,08/2020,22,8359,43800 -DS,Discover,Discover,6011758292316426,Tommy Brock,781,05/2008,05/2018,26,6780,121500 -JC,Japan Credit Bureau,JCB,3585546769687152,Dayle G Popham,942,08/2010,08/2016,9,2878,46700 -DS,Discover,Discover,6011410228334871,Dan K Fletcher,840,04/2010,04/2021,26,4874,116500 -JC,Japan Credit Bureau,JCB,3544382660071431,Rory V Gaiter,109,06/2014,06/2024,9,4891,169300 -VI,Visa,Chase,4668620932791999,Clyde D Parrish,546,01/2016,01/2027,4,6200,21000 -MC,Master Card,Citibank,5274379193385511,Omar Z Saez,539,09/2009,09/2014,15,0071,138500 -VI,Visa,Citibank,4368968931300319,Tom V Anderson,062,02/2010,02/2026,24,9440,138300 -AX,American Express,American Express,379941605209251,Kurtis B Urquhart,3219,12/2011,12/2018,22,5260,20400 -VI,Visa,Chase,4287795115053820,Jacob X Shields,980,04/2014,04/2029,28,5400,194800 -MC,Master Card,Citibank,5174547035759363,Tanika Malkin,104,09/2007,09/2027,13,4055,103000 diff --git a/tutorials/cicd-datalake-part-1/testdata/etl.js b/tutorials/cicd-datalake-part-1/testdata/etl.js deleted file mode 100644 index 3b82d9834d..0000000000 --- a/tutorials/cicd-datalake-part-1/testdata/etl.js +++ /dev/null @@ -1,19 +0,0 @@ -function transform(line) { -var values = line.split(','); - -var obj = new Object(); -obj.card_type_full_name = values[0]; -obj.issuing_bank = values[1]; -obj.card_number = values[2]; -obj.card_holders_name = values[3]; -obj.cvvcvv2 = values[4]; -obj.issue_date = values[5]; -obj.expiry_date = values[6]; -obj.billing_date = values[7]; -obj.card_pin = values[8]; -obj.credit_limit = values[9]; -obj.card_type_code = values[10]; -var jsonString = JSON.stringify(obj); - -return jsonString; -} \ No newline at end of file diff --git a/tutorials/cloud-functions-rate-limiting/basic-limit/build/index.d.ts b/tutorials/cloud-functions-rate-limiting/basic-limit/build/index.d.ts deleted file mode 100644 index ef07d0a594..0000000000 --- a/tutorials/cloud-functions-rate-limiting/basic-limit/build/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Request, Response } from "express"; -export declare function basicRateDemo(req: Request, res: Response): void; diff --git a/tutorials/cloud-functions-rate-limiting/basic-limit/build/index.js b/tutorials/cloud-functions-rate-limiting/basic-limit/build/index.js deleted file mode 100644 index 7a73de3000..0000000000 --- a/tutorials/cloud-functions-rate-limiting/basic-limit/build/index.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const redis = require("redis"); -const rateLimiter = require("redis-rate-limiter"); -const env = require('good-env'); -const redisAddress = env.get('REDIS_HOST', '127.0.0.1'); -// create the redis client as part of function initialization -// outside of function request scope -const client = redis.createClient(6379, redisAddress, { enable_offline_queue: true }); -function basicRateDemo(req, res) { - // const client = redis.createClient(6379, redisAddress, {enable_offline_queue: true}); - const limit = rateLimiter.create({ - redis: client, - key: function (requestObj) { return 'basicRate'; }, - rate: '10/second' - }); - limit(req, function (err, rate) { - if (err) { - console.warn('Rate limiting not available'); - // fail open - res.send("OK\n"); - } - else { - if (rate.over) { - console.error('Over the limit!'); - res.send(429); - } - else { - res.send("OK\n"); - } - } - }); -} -exports.basicRateDemo = basicRateDemo; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/tutorials/cloud-functions-rate-limiting/basic-limit/build/index.js.map b/tutorials/cloud-functions-rate-limiting/basic-limit/build/index.js.map deleted file mode 100644 index 730c942705..0000000000 --- a/tutorials/cloud-functions-rate-limiting/basic-limit/build/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA,+BAAgC;AAChC,kDAAmD;AAEnD,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEhC,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAExD,6DAA6D;AAC7D,oCAAoC;AACpC,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;AAGtF,SAAgB,aAAa,CAAC,GAAY,EAAE,GAAa;IACrD,uFAAuF;IACvF,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;QAC7B,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,UAAU,UAAe,IAAI,OAAO,WAAW,CAAA,CAAC,CAAC;QACtD,IAAI,EAAE,WAAW;KACpB,CAAC,CAAC;IACH,KAAK,CAAC,GAAG,EAAE,UAAU,GAAU,EAAE,IAAS;QACtC,IAAI,GAAG,EAAE;YACL,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC5C,YAAY;YACZ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpB;aAAM;YACH,IAAI,IAAI,CAAC,IAAI,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACjC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACjB;iBAAM;gBACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACpB;SACJ;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AArBD,sCAqBC"} \ No newline at end of file diff --git a/tutorials/cloud-functions-rate-limiting/basic-limit/build/package.json b/tutorials/cloud-functions-rate-limiting/basic-limit/build/package.json deleted file mode 100644 index 34480ba19b..0000000000 --- a/tutorials/cloud-functions-rate-limiting/basic-limit/build/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "function-starter", - "version": "1.0.0", - "description": "Boilerplate for TS cloud functions", - "main": "index.js", - "author": "Preston Holmes ", - "license": "Apache-2.0", - "dependencies": { - "@google-cloud/functions-framework": "^1.1.0", - "good-env": "^4.0.0", - "redis": "^3.1.1", - "redis-rate-limiter": "^1.2.0" - }, - "devDependencies": { - "@types/express": "^4.16.1", - "@types/node": "^11.13.6", - "express": "^4.16.4", - "gts": "^0.9.0", - "ts-node": "^8.1.0", - "tsc-watch": "^2.1.2", - "typescript": "^3.4.4" - }, - "scripts": { - "check": "gts check", - "clean": "gts clean", - "compile": "yarn tsc -p .", - "develop": "yarn tsc-watch --onSuccess 'yarn start'", - "fix": "gts fix", - "prepare": "yarn run compile", - "pretest": "yarn run compile", - "posttest": "yarn run check", - "deploy": "yarn run compile && gcloud functions deploy --runtime nodejs10 --trigger-http --source ./build ${FUNCTION_TARGET}", - "start": "foooo" - } -} diff --git a/tutorials/cloud-functions-rate-limiting/basic-limit/package.json b/tutorials/cloud-functions-rate-limiting/basic-limit/package.json deleted file mode 100644 index 6215b0f899..0000000000 --- a/tutorials/cloud-functions-rate-limiting/basic-limit/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "function-starter", - "version": "1.0.0", - "description": "Boilerplate for TS cloud functions", - "main": "index.js", - "author": "Preston Holmes ", - "license": "Apache-2.0", - "dependencies": { - "@google-cloud/functions-framework": "^1.1.0", - "@types/redis": "^3.1.1", - "@types/redis-rate-limiter": "^1.2.1", - "good-env": "^4.0.0", - "redis": "^3.1.1", - "redis-rate-limiter": "^1.2.0" - }, - "devDependencies": { - "@types/express": "^4.16.1", - "@types/node": "^11.13.6", - "express": "^4.16.4", - "gts": "^0.9.0", - "ts-node": "^8.1.0", - "tsc-watch": "^2.1.2", - "typescript": "^3.4.4" - }, - "scripts": { - "check": "gts check", - "clean": "gts clean", - "compile": "yarn tsc -p .", - "develop": "yarn tsc-watch --onSuccess 'yarn start'", - "fix": "gts fix", - "prepare": "yarn run compile", - "pretest": "yarn run compile", - "posttest": "yarn run check", - "deploy": "yarn run compile && gcloud functions deploy --runtime nodejs10 --trigger-http --source ./build ${FUNCTION_TARGET}", - "start": "cd build;functions-framework --target ${FUNCTION_TARGET};cd .." - } -} diff --git a/tutorials/cloud-functions-rate-limiting/basic-limit/src/index.ts b/tutorials/cloud-functions-rate-limiting/basic-limit/src/index.ts deleted file mode 100644 index 5d0bbdf151..0000000000 --- a/tutorials/cloud-functions-rate-limiting/basic-limit/src/index.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Request, Response } from "express" - -import redis = require('redis'); -import rateLimiter = require('redis-rate-limiter'); - -const env = require('good-env'); - -const redisAddress = env.get('REDIS_HOST', '127.0.0.1'); - -// create the redis client as part of function initialization -// outside of function request scope -const client = redis.createClient(6379, redisAddress, { enable_offline_queue: true }); - - -export function basicRateDemo(req: Request, res: Response) { - // const client = redis.createClient(6379, redisAddress, {enable_offline_queue: true}); - const limit = rateLimiter.create({ - redis: client, - key: function (requestObj: any) { return 'basicRate' }, - rate: '10/second' - }); - limit(req, function (err: Error, rate: any) { - if (err) { - console.warn('Rate limiting not available'); - // fail open - res.send("OK\n"); - } else { - if (rate.over) { - console.error('Over the limit!'); - res.send(429); - } else { - res.send("OK\n"); - } - } - }); -} - diff --git a/tutorials/cloud-functions-rate-limiting/basic-limit/tsconfig.json b/tutorials/cloud-functions-rate-limiting/basic-limit/tsconfig.json deleted file mode 100644 index adc32fc824..0000000000 --- a/tutorials/cloud-functions-rate-limiting/basic-limit/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "./node_modules/gts/tsconfig-google.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "build" - }, - "include": [ - "src/*.ts", - "src/**/*.ts", - "test/*.ts", - "test/**/*.ts" - ] -} diff --git a/tutorials/cloud-functions-rate-limiting/basic-limit/tslint.json b/tutorials/cloud-functions-rate-limiting/basic-limit/tslint.json deleted file mode 100644 index 617dc975ba..0000000000 --- a/tutorials/cloud-functions-rate-limiting/basic-limit/tslint.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "gts/tslint.json" -} diff --git a/tutorials/cloud-functions-rate-limiting/firestore-counter/build/index.d.ts b/tutorials/cloud-functions-rate-limiting/firestore-counter/build/index.d.ts deleted file mode 100644 index 81c46fc288..0000000000 --- a/tutorials/cloud-functions-rate-limiting/firestore-counter/build/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Request, Response } from "express"; -export declare function counterLimit(req: Request, res: Response): Promise; diff --git a/tutorials/cloud-functions-rate-limiting/firestore-counter/build/index.js b/tutorials/cloud-functions-rate-limiting/firestore-counter/build/index.js deleted file mode 100644 index 0f5bb2e9bf..0000000000 --- a/tutorials/cloud-functions-rate-limiting/firestore-counter/build/index.js +++ /dev/null @@ -1,86 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const winston_1 = require("winston"); -const logging_winston_1 = require("@google-cloud/logging-winston"); -const admin = require("firebase-admin"); -const redis = require("redis"); -const rateLimiter = require("redis-rate-limiter"); -const env = require('good-env'); -const redisAddress = env.get('REDIS_HOST', '127.0.0.1'); -// create the redis client as part of function initialization -// outside of function request scope -const client = redis.createClient(6379, redisAddress, { enable_offline_queue: true }); -admin.initializeApp({ - credential: admin.credential.applicationDefault() -}); -const db = admin.firestore(); -db.settings({ timestampsInSnapshots: true }); -const objectsRef = db.collection('demo'); -// set up logging (note FUNCTION_TARGET has replaced FUNCTION_NAME as reserved env var) -const loggingWinston = new logging_winston_1.LoggingWinston({ 'logName': process.env['FUNCTION_TARGET'] }); -const logger = winston_1.createLogger({ - level: 'info', - transports: [ - // goes to functions log - new winston_1.transports.Console(), - // goes to named log, under "Global" resource - loggingWinston, - ], -}); -function counterLimit(req, res) { - return __awaiter(this, void 0, void 0, function* () { - const counterLimiter = rateLimiter.create({ - redis: client, - key: function (x) { return 'counter-limit'; }, - window: 3, - limit: 1 - }); - // always increase a redis counter, then check if we are rate limited in - // writing that value to Firestore - client.incr('counter', (err, counter) => { - counterLimiter(req, (cterr, rate) => __awaiter(this, void 0, void 0, function* () { - if (cterr) { - console.warn('Rate limiting not available'); - console.warn(cterr); - } - else { - if (rate.over) { - res.send("counted ok"); - } - else { - try { - let doc = yield objectsRef.doc('counter').get(); - let data = yield doc.data(); - if (data == undefined) { - data = { 'count': 0 }; - yield objectsRef.doc('counter').set(data); - } - if (data['count'] < counter) { - yield objectsRef.doc('counter').set({ 'count': counter }); - console.log("doc updated"); - } - else { - console.warn("out of order counter write"); - } - res.send("ok"); - } - catch (err) { - console.warn(err); - res.sendStatus(500); - } - } - } - })); - }); - }); -} -exports.counterLimit = counterLimit; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/tutorials/cloud-functions-rate-limiting/firestore-counter/build/index.js.map b/tutorials/cloud-functions-rate-limiting/firestore-counter/build/index.js.map deleted file mode 100644 index b96a64e046..0000000000 --- a/tutorials/cloud-functions-rate-limiting/firestore-counter/build/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;AACA,qCAAmD;AACnD,mEAA+D;AAE/D,wCAAyC;AACzC,+BAAgC;AAChC,kDAAmD;AAEnD,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEhC,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAExD,6DAA6D;AAC7D,oCAAoC;AACpC,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;AAEtF,KAAK,CAAC,aAAa,CAAC;IAChB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE;CACpD,CAAC,CAAC;AAEH,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;AAC7B,EAAE,CAAC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;AAE7C,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;AAExC,uFAAuF;AACvF,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;AACzF,MAAM,MAAM,GAAG,sBAAY,CAAC;IACxB,KAAK,EAAE,MAAM;IACb,UAAU,EAAE;QACR,wBAAwB;QACxB,IAAI,oBAAU,CAAC,OAAO,EAAE;QACxB,6CAA6C;QAC7C,cAAc;KACjB;CACJ,CAAC,CAAC;AAEH,SAAsB,YAAY,CAAC,GAAY,EAAE,GAAa;;QAC1D,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC;YACtC,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,UAAU,CAAM,IAAI,OAAO,eAAe,CAAA,CAAC,CAAC;YACjD,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;SACX,CAAC,CAAC;QACH,wEAAwE;QACxE,kCAAkC;QAClC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,GAAiB,EAAE,OAAe,EAAE,EAAE;YAC1D,cAAc,CAAC,GAAG,EAAE,CAAO,KAAY,EAAE,IAAS,EAAE,EAAE;gBAClD,IAAI,KAAK,EAAE;oBACP,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBAC5C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACvB;qBAAM;oBACH,IAAI,IAAI,CAAC,IAAI,EAAE;wBACX,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;qBAC1B;yBAAM;wBACH,IAAI;4BACA,IAAI,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;4BAChD,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;4BAE5B,IAAI,IAAI,IAAI,SAAS,EAAE;gCACnB,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gCACtB,MAAM,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;6BAC7C;4BACD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,EAAE;gCACzB,MAAM,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;gCACzD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;6BAC9B;iCAAM;gCACH,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;6BAC9C;4BACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBAClB;wBACD,OAAO,GAAG,EAAE;4BACR,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BAClB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;yBACvB;qBACJ;iBACJ;YACL,CAAC,CAAA,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CAAA;AA1CD,oCA0CC"} \ No newline at end of file diff --git a/tutorials/cloud-functions-rate-limiting/firestore-counter/build/package.json b/tutorials/cloud-functions-rate-limiting/firestore-counter/build/package.json deleted file mode 100644 index d53bc59218..0000000000 --- a/tutorials/cloud-functions-rate-limiting/firestore-counter/build/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "function-starter", - "version": "1.0.0", - "description": "Boilerplate for TS cloud functions", - "main": "index.js", - "author": "Preston Holmes ", - "license": "Apache-2.0", - "dependencies": { - "@google-cloud/functions-framework": "^1.1.0", - "@google-cloud/logging-winston": "^0.11.1", - "@types/redis": "^3.1.1", - "@types/redis-rate-limiter": "^1.2.1", - "firebase-admin": "^7.3.0", - "good-env": "^4.0.0", - "redis": "^3.1.1", - "redis-rate-limiter": "^1.2.0", - "winston": "^3.2.1" - }, - "devDependencies": { - "@types/express": "^4.16.1", - "@types/node": "^11.13.6", - "express": "^4.16.4", - "gts": "^0.9.0", - "ts-node": "^8.1.0", - "tsc-watch": "^2.1.2", - "typescript": "^3.4.4" - }, - "scripts": { - "check": "gts check", - "clean": "gts clean", - "compile": "yarn tsc -p .", - "develop": "yarn tsc-watch --onSuccess 'yarn start'", - "fix": "gts fix", - "prepare": "yarn run compile", - "pretest": "yarn run compile", - "posttest": "yarn run check", - "deploy": "cp package.json build/ && yarn run compile && gcloud functions deploy --runtime nodejs10 --trigger-http --source ./build ${FUNCTION_TARGET}", - "start": "cd build;functions-framework --target ${FUNCTION_TARGET};cd .." - } -} diff --git a/tutorials/cloud-functions-rate-limiting/firestore-counter/package.json b/tutorials/cloud-functions-rate-limiting/firestore-counter/package.json deleted file mode 100644 index d53bc59218..0000000000 --- a/tutorials/cloud-functions-rate-limiting/firestore-counter/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "function-starter", - "version": "1.0.0", - "description": "Boilerplate for TS cloud functions", - "main": "index.js", - "author": "Preston Holmes ", - "license": "Apache-2.0", - "dependencies": { - "@google-cloud/functions-framework": "^1.1.0", - "@google-cloud/logging-winston": "^0.11.1", - "@types/redis": "^3.1.1", - "@types/redis-rate-limiter": "^1.2.1", - "firebase-admin": "^7.3.0", - "good-env": "^4.0.0", - "redis": "^3.1.1", - "redis-rate-limiter": "^1.2.0", - "winston": "^3.2.1" - }, - "devDependencies": { - "@types/express": "^4.16.1", - "@types/node": "^11.13.6", - "express": "^4.16.4", - "gts": "^0.9.0", - "ts-node": "^8.1.0", - "tsc-watch": "^2.1.2", - "typescript": "^3.4.4" - }, - "scripts": { - "check": "gts check", - "clean": "gts clean", - "compile": "yarn tsc -p .", - "develop": "yarn tsc-watch --onSuccess 'yarn start'", - "fix": "gts fix", - "prepare": "yarn run compile", - "pretest": "yarn run compile", - "posttest": "yarn run check", - "deploy": "cp package.json build/ && yarn run compile && gcloud functions deploy --runtime nodejs10 --trigger-http --source ./build ${FUNCTION_TARGET}", - "start": "cd build;functions-framework --target ${FUNCTION_TARGET};cd .." - } -} diff --git a/tutorials/cloud-functions-rate-limiting/firestore-counter/src/index.ts b/tutorials/cloud-functions-rate-limiting/firestore-counter/src/index.ts deleted file mode 100644 index cea889fedd..0000000000 --- a/tutorials/cloud-functions-rate-limiting/firestore-counter/src/index.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { Request, Response } from "express" -import { createLogger, transports } from 'winston'; -import { LoggingWinston } from '@google-cloud/logging-winston'; - -import admin = require('firebase-admin'); -import redis = require('redis'); -import rateLimiter = require('redis-rate-limiter'); - -const env = require('good-env'); - -const redisAddress = env.get('REDIS_HOST', '127.0.0.1'); - -// create the redis client as part of function initialization -// outside of function request scope -const client = redis.createClient(6379, redisAddress, { enable_offline_queue: true }); - -admin.initializeApp({ - credential: admin.credential.applicationDefault() -}); - -const db = admin.firestore(); -db.settings({ timestampsInSnapshots: true }); - -const objectsRef = db.collection('demo') - -// set up logging (note FUNCTION_TARGET has replaced FUNCTION_NAME as reserved env var) -const loggingWinston = new LoggingWinston({ 'logName': process.env['FUNCTION_TARGET'] }); -const logger = createLogger({ - level: 'info', - transports: [ - // goes to functions log - new transports.Console(), - // goes to named log, under "Global" resource - loggingWinston, - ], -}); - -export async function counterLimit(req: Request, res: Response) { - const counterLimiter = rateLimiter.create({ - redis: client, - key: function (x: any) { return 'counter-limit' }, - window: 3, - limit: 1 - }); - // always increase a redis counter, then check if we are rate limited in - // writing that value to Firestore - client.incr('counter', (err: Error | null, counter: number) => { - counterLimiter(req, async (cterr: Error, rate: any) => { - if (cterr) { - console.warn('Rate limiting not available'); - console.warn(cterr); - } else { - if (rate.over) { - res.send("counted ok"); - } else { - try { - let doc = await objectsRef.doc('counter').get(); - let data = await doc.data(); - - if (data == undefined) { - data = { 'count': 0 }; - await objectsRef.doc('counter').set(data); - } - if (data['count'] < counter) { - await objectsRef.doc('counter').set({ 'count': counter }) - console.log("doc updated"); - } else { - console.warn("out of order counter write"); - } - res.send("ok"); - } - catch (err) { - console.warn(err); - res.sendStatus(500); - } - } - } - }); - }); -} diff --git a/tutorials/cloud-functions-rate-limiting/firestore-counter/tsconfig.json b/tutorials/cloud-functions-rate-limiting/firestore-counter/tsconfig.json deleted file mode 100644 index adc32fc824..0000000000 --- a/tutorials/cloud-functions-rate-limiting/firestore-counter/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "./node_modules/gts/tsconfig-google.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "build" - }, - "include": [ - "src/*.ts", - "src/**/*.ts", - "test/*.ts", - "test/**/*.ts" - ] -} diff --git a/tutorials/cloud-functions-rate-limiting/firestore-counter/tslint.json b/tutorials/cloud-functions-rate-limiting/firestore-counter/tslint.json deleted file mode 100644 index 617dc975ba..0000000000 --- a/tutorials/cloud-functions-rate-limiting/firestore-counter/tslint.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "gts/tslint.json" -} diff --git a/tutorials/cloud-functions-rate-limiting/ip-limit/build/index.d.ts b/tutorials/cloud-functions-rate-limiting/ip-limit/build/index.d.ts deleted file mode 100644 index d2db649369..0000000000 --- a/tutorials/cloud-functions-rate-limiting/ip-limit/build/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Request, Response } from "express"; -export declare function IPRateDemo(req: Request, res: Response): void; diff --git a/tutorials/cloud-functions-rate-limiting/ip-limit/build/index.js b/tutorials/cloud-functions-rate-limiting/ip-limit/build/index.js deleted file mode 100644 index 41d8c4abef..0000000000 --- a/tutorials/cloud-functions-rate-limiting/ip-limit/build/index.js +++ /dev/null @@ -1,34 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const redis = require("redis"); -const rateLimiter = require("redis-rate-limiter"); -const env = require('good-env'); -const redisAddress = env.get('REDIS_HOST', '127.0.0.1'); -// create the redis client as part of function initialization -// outside of function request scope -const client = redis.createClient(6379, redisAddress, { enable_offline_queue: true }); -function IPRateDemo(req, res) { - const limit = rateLimiter.create({ - redis: client, - key: function (requestObj) { return requestObj.ip; }, - rate: '10/second' - }); - limit(req, function (err, rate) { - if (err) { - console.warn('Rate limiting not available'); - // fail open - res.send("OK\n"); - } - else { - if (rate.over) { - console.error('Over the limit for ' + req.ip); - res.send(429); - } - else { - res.send("OK\n"); - } - } - }); -} -exports.IPRateDemo = IPRateDemo; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/tutorials/cloud-functions-rate-limiting/ip-limit/build/index.js.map b/tutorials/cloud-functions-rate-limiting/ip-limit/build/index.js.map deleted file mode 100644 index 70dc6fa7f8..0000000000 --- a/tutorials/cloud-functions-rate-limiting/ip-limit/build/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA,+BAAgC;AAChC,kDAAmD;AAEnD,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAE/B,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAExD,6DAA6D;AAC7D,oCAAoC;AACpC,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;AAGtF,SAAgB,UAAU,CAAC,GAAY,EAAE,GAAa;IAElD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;QAC7B,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,UAAU,UAAe,IAAI,OAAO,UAAU,CAAC,EAAE,CAAA,CAAC,CAAC;QACxD,IAAI,EAAE,WAAW;KACpB,CAAC,CAAC;IACH,KAAK,CAAC,GAAG,EAAE,UAAU,GAAU,EAAE,IAAS;QACtC,IAAI,GAAG,EAAE;YACL,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC5C,YAAY;YACZ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpB;aAAM;YACH,IAAI,IAAI,CAAC,IAAI,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,qBAAqB,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9C,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACjB;iBAAM;gBACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACpB;SACJ;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AArBD,gCAqBC"} \ No newline at end of file diff --git a/tutorials/cloud-functions-rate-limiting/ip-limit/build/package.json b/tutorials/cloud-functions-rate-limiting/ip-limit/build/package.json deleted file mode 100644 index 34480ba19b..0000000000 --- a/tutorials/cloud-functions-rate-limiting/ip-limit/build/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "function-starter", - "version": "1.0.0", - "description": "Boilerplate for TS cloud functions", - "main": "index.js", - "author": "Preston Holmes ", - "license": "Apache-2.0", - "dependencies": { - "@google-cloud/functions-framework": "^1.1.0", - "good-env": "^4.0.0", - "redis": "^3.1.1", - "redis-rate-limiter": "^1.2.0" - }, - "devDependencies": { - "@types/express": "^4.16.1", - "@types/node": "^11.13.6", - "express": "^4.16.4", - "gts": "^0.9.0", - "ts-node": "^8.1.0", - "tsc-watch": "^2.1.2", - "typescript": "^3.4.4" - }, - "scripts": { - "check": "gts check", - "clean": "gts clean", - "compile": "yarn tsc -p .", - "develop": "yarn tsc-watch --onSuccess 'yarn start'", - "fix": "gts fix", - "prepare": "yarn run compile", - "pretest": "yarn run compile", - "posttest": "yarn run check", - "deploy": "yarn run compile && gcloud functions deploy --runtime nodejs10 --trigger-http --source ./build ${FUNCTION_TARGET}", - "start": "foooo" - } -} diff --git a/tutorials/cloud-functions-rate-limiting/ip-limit/package.json b/tutorials/cloud-functions-rate-limiting/ip-limit/package.json deleted file mode 100644 index 6215b0f899..0000000000 --- a/tutorials/cloud-functions-rate-limiting/ip-limit/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "function-starter", - "version": "1.0.0", - "description": "Boilerplate for TS cloud functions", - "main": "index.js", - "author": "Preston Holmes ", - "license": "Apache-2.0", - "dependencies": { - "@google-cloud/functions-framework": "^1.1.0", - "@types/redis": "^3.1.1", - "@types/redis-rate-limiter": "^1.2.1", - "good-env": "^4.0.0", - "redis": "^3.1.1", - "redis-rate-limiter": "^1.2.0" - }, - "devDependencies": { - "@types/express": "^4.16.1", - "@types/node": "^11.13.6", - "express": "^4.16.4", - "gts": "^0.9.0", - "ts-node": "^8.1.0", - "tsc-watch": "^2.1.2", - "typescript": "^3.4.4" - }, - "scripts": { - "check": "gts check", - "clean": "gts clean", - "compile": "yarn tsc -p .", - "develop": "yarn tsc-watch --onSuccess 'yarn start'", - "fix": "gts fix", - "prepare": "yarn run compile", - "pretest": "yarn run compile", - "posttest": "yarn run check", - "deploy": "yarn run compile && gcloud functions deploy --runtime nodejs10 --trigger-http --source ./build ${FUNCTION_TARGET}", - "start": "cd build;functions-framework --target ${FUNCTION_TARGET};cd .." - } -} diff --git a/tutorials/cloud-functions-rate-limiting/ip-limit/src/index.ts b/tutorials/cloud-functions-rate-limiting/ip-limit/src/index.ts deleted file mode 100644 index 958a20a3cb..0000000000 --- a/tutorials/cloud-functions-rate-limiting/ip-limit/src/index.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Request, Response } from "express" - -import redis = require('redis'); -import rateLimiter = require('redis-rate-limiter'); - -const env = require('good-env') - -const redisAddress = env.get('REDIS_HOST', '127.0.0.1'); - -// create the redis client as part of function initialization -// outside of function request scope -const client = redis.createClient(6379, redisAddress, { enable_offline_queue: true }); - - -export function IPRateDemo(req: Request, res: Response) { - - const limit = rateLimiter.create({ - redis: client, - key: function (requestObj: any) { return requestObj.ip }, - rate: '10/second' - }); - limit(req, function (err: Error, rate: any) { - if (err) { - console.warn('Rate limiting not available'); - // fail open - res.send("OK\n"); - } else { - if (rate.over) { - console.error('Over the limit for ' + req.ip); - res.send(429); - } else { - res.send("OK\n"); - } - } - }); -} - - diff --git a/tutorials/cloud-functions-rate-limiting/ip-limit/tsconfig.json b/tutorials/cloud-functions-rate-limiting/ip-limit/tsconfig.json deleted file mode 100644 index adc32fc824..0000000000 --- a/tutorials/cloud-functions-rate-limiting/ip-limit/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "./node_modules/gts/tsconfig-google.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "build" - }, - "include": [ - "src/*.ts", - "src/**/*.ts", - "test/*.ts", - "test/**/*.ts" - ] -} diff --git a/tutorials/cloud-functions-rate-limiting/ip-limit/tslint.json b/tutorials/cloud-functions-rate-limiting/ip-limit/tslint.json deleted file mode 100644 index 617dc975ba..0000000000 --- a/tutorials/cloud-functions-rate-limiting/ip-limit/tslint.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "gts/tslint.json" -} diff --git a/tutorials/readme.md b/tutorials/readme.md new file mode 100644 index 0000000000..b25e89d55a --- /dev/null +++ b/tutorials/readme.md @@ -0,0 +1,9 @@ +--- +title: This repository is archived +description: The documents are in the archived folder and are not being maintained. +author: kopriva +tags: arhived +date_published: 2023-07-31 +--- + +See the `/archived` folder for source documents. \ No newline at end of file