├── .devcontainer ├── Dockerfile ├── devcontainer.json └── scripts │ ├── awscli-debian.sh │ ├── awsiam-debian.sh │ ├── azcli-debian.sh │ ├── common-debian.sh │ ├── create-user.sh │ ├── docker-debian.sh │ ├── gcloud-debian.sh │ ├── go-debian.sh │ ├── kubectl-helm-debian.sh │ ├── pre-commit-debian.sh │ ├── setup-user.sh │ ├── sphinx-debian.sh │ ├── terraform-debian.sh │ ├── terraform-docs-debain.sh │ └── vesctl-debian.sh ├── .github └── stale.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .readthedocs.yaml ├── .talismanrc ├── CODEOWNERS ├── Gemfile ├── LICENSE ├── Makefile ├── README.md ├── SUPPORT.md ├── code_of_conduct.md ├── conf.py ├── docs ├── _themes │ └── f5_sphinx_theme │ │ ├── __init__.py │ │ ├── breadcrumb.html │ │ ├── extralinks.html │ │ ├── globaltoc.html │ │ ├── head.html │ │ ├── layout.html │ │ ├── localtoc.html │ │ ├── opensearch.xml │ │ ├── search.html │ │ ├── searchbox.html │ │ ├── searchresults.html │ │ ├── static │ │ ├── css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.min.css │ │ │ ├── custom.css │ │ │ ├── f5-theme.css │ │ │ └── f5.css │ │ ├── fonts │ │ │ ├── ProximaBold.woff │ │ │ ├── ProximaBold.woff2 │ │ │ ├── ProximaMedium.woff │ │ │ ├── ProximaMedium.woff2 │ │ │ ├── ProximaThin.woff │ │ │ ├── ProximaThin.woff2 │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ └── js │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.min.js │ │ │ └── clouddocs.js │ │ └── theme.conf ├── contributions │ ├── contributions.rst │ └── filing-issues.rst ├── development │ ├── codespaces.rst │ ├── development.rst │ ├── getting-involved.rst │ ├── getting-started.rst │ ├── guidelines.rst │ └── images │ │ ├── image01.png │ │ ├── image03.png │ │ ├── image04.png │ │ ├── image05.png │ │ ├── image06.png │ │ ├── image07.png │ │ ├── image08.png │ │ ├── image10.png │ │ └── image11.png ├── index │ ├── about.rst │ └── images │ │ └── image01.jpg ├── modules │ └── modules.rst ├── scratch │ ├── WorkingDiagram.pptx │ ├── aks.tf │ ├── eks.tf │ ├── gke.tf │ ├── issues.md │ ├── mydemo.tf │ ├── naming.md │ └── scratch_1209 ├── serviceportal │ ├── .DS_Store │ ├── LICENSE │ ├── delivery.html │ ├── forgot-password.html │ ├── index.html │ ├── kic.html │ ├── login.html │ ├── nginx-plus.html │ ├── register.html │ ├── security.html │ ├── telemetry.html │ └── template-page.html ├── solutions │ ├── delivery │ │ ├── application_delivery_controller │ │ │ ├── bigip │ │ │ │ └── upgrade │ │ │ │ │ └── aws │ │ │ │ │ ├── bigip_upgrade_index.rst │ │ │ │ │ ├── images │ │ │ │ │ ├── image01.png │ │ │ │ │ ├── image02.png │ │ │ │ │ ├── image03.png │ │ │ │ │ ├── image04.png │ │ │ │ │ ├── image05.png │ │ │ │ │ ├── image06.png │ │ │ │ │ ├── image07.png │ │ │ │ │ ├── image08.png │ │ │ │ │ ├── image09.png │ │ │ │ │ ├── image10.png │ │ │ │ │ ├── image11.png │ │ │ │ │ ├── image12.png │ │ │ │ │ ├── image13.png │ │ │ │ │ ├── image14.png │ │ │ │ │ ├── image15.png │ │ │ │ │ ├── image16.png │ │ │ │ │ ├── image17.png │ │ │ │ │ ├── image18.png │ │ │ │ │ ├── image19.png │ │ │ │ │ ├── image20.jpg │ │ │ │ │ ├── image21.gif │ │ │ │ │ └── image22.png │ │ │ │ │ ├── lab01.rst │ │ │ │ │ └── labSetupAWS.rst │ │ │ └── nginx │ │ │ │ └── kic │ │ │ │ ├── gke_lab01.rst │ │ │ │ ├── gke_lab02.rst │ │ │ │ ├── gke_lab03.rst │ │ │ │ ├── gke_lab04.rst │ │ │ │ ├── gke_labSetupGKE.rst │ │ │ │ ├── images │ │ │ │ ├── 5env.jpeg │ │ │ │ ├── image00.png │ │ │ │ ├── image01.png │ │ │ │ ├── image02.png │ │ │ │ ├── image03.png │ │ │ │ ├── image04.png │ │ │ │ ├── image05.png │ │ │ │ ├── image06.png │ │ │ │ ├── image07.png │ │ │ │ ├── image08.png │ │ │ │ ├── image09.png │ │ │ │ ├── image10.png │ │ │ │ ├── image100.png │ │ │ │ ├── image11.png │ │ │ │ ├── image12.png │ │ │ │ ├── image13.png │ │ │ │ ├── image14.png │ │ │ │ ├── image15.png │ │ │ │ ├── image16.png │ │ │ │ ├── image17.png │ │ │ │ ├── image18.png │ │ │ │ ├── image19.png │ │ │ │ ├── image20.png │ │ │ │ ├── image200.PNG │ │ │ │ ├── image201.PNG │ │ │ │ ├── image202.PNG │ │ │ │ ├── image203.PNG │ │ │ │ ├── image204.PNG │ │ │ │ ├── image21.png │ │ │ │ ├── image22.png │ │ │ │ ├── image23.png │ │ │ │ ├── image24.png │ │ │ │ ├── image25.png │ │ │ │ ├── image26.png │ │ │ │ ├── image27.png │ │ │ │ ├── image28.png │ │ │ │ ├── image29.png │ │ │ │ ├── image30.png │ │ │ │ ├── image31.png │ │ │ │ ├── image32.png │ │ │ │ ├── image33.png │ │ │ │ ├── image34.png │ │ │ │ ├── image35.png │ │ │ │ ├── image36.png │ │ │ │ ├── image37.png │ │ │ │ ├── image38.png │ │ │ │ ├── image39.png │ │ │ │ ├── image40.png │ │ │ │ ├── image41.png │ │ │ │ ├── image42.png │ │ │ │ ├── image43.png │ │ │ │ ├── image44.png │ │ │ │ ├── image45.png │ │ │ │ ├── image46.png │ │ │ │ ├── image47.png │ │ │ │ ├── image48.png │ │ │ │ ├── image49.png │ │ │ │ ├── image50.png │ │ │ │ ├── image51.png │ │ │ │ └── kic_gke │ │ │ │ │ ├── 10_nginx_deployment_edits.png │ │ │ │ │ ├── 11_nginx_install_apply_manifests.png │ │ │ │ │ ├── 12_kubectl_get_svc_ingress.png │ │ │ │ │ ├── 12b_kubectl_get_svc_ingress_dashboard.png │ │ │ │ │ ├── 13_exports_and_hosts_edit.png │ │ │ │ │ ├── 1a_gcloud_init.png │ │ │ │ │ ├── 1b_gcloud_init.png │ │ │ │ │ ├── 2a_kubernetes_engine_api.png │ │ │ │ │ ├── 3a_artifacts_registry_api.png │ │ │ │ │ ├── 4a_artifacts_registry_created.png │ │ │ │ │ ├── 5a_k8s_cluster_created.png │ │ │ │ │ ├── 5b_k8s_cluster_created.png │ │ │ │ │ ├── 5c_k8s_cluster_created.png │ │ │ │ │ ├── 5d_vpc_native.png │ │ │ │ │ ├── 6a_copy_paste_repository_path.png │ │ │ │ │ ├── 8_drag_and_drop_lic.png │ │ │ │ │ └── 9a_make_and_push_image.png │ │ │ │ ├── lab01.rst │ │ │ │ ├── lab02.rst │ │ │ │ ├── lab03.rst │ │ │ │ ├── lab04.rst │ │ │ │ ├── labSetupAWS.rst │ │ │ │ ├── labSetupAZURE.rst │ │ │ │ └── nginx_kic_index.rst │ │ └── delivery_index.rst │ └── security │ │ ├── ingress-fw-gwlb │ │ └── ingress_fw_gwlb_index.rst │ │ ├── kic-nap │ │ ├── images │ │ │ ├── image00.png │ │ │ ├── image01.png │ │ │ ├── image02.png │ │ │ ├── image03.png │ │ │ ├── image04.png │ │ │ ├── image05.png │ │ │ ├── image06.png │ │ │ ├── image07.png │ │ │ ├── image08.png │ │ │ ├── image09.png │ │ │ ├── image10.png │ │ │ ├── image11.png │ │ │ ├── image12.png │ │ │ ├── image13.png │ │ │ ├── image14.png │ │ │ ├── image15.png │ │ │ ├── image200.PNG │ │ │ ├── image201.PNG │ │ │ ├── image202.PNG │ │ │ ├── image203.PNG │ │ │ └── image204.PNG │ │ ├── labSetupAWS.rst │ │ ├── labSetupAZURE.rst │ │ └── nginx_kic_index.rst │ │ └── security_index.rst └── usage │ ├── f5_udf_blueprint.rst │ ├── f5_udf_course.rst │ ├── images │ ├── image01.png │ ├── image02.png │ ├── image03.png │ ├── image04.png │ ├── image05.png │ ├── image06.png │ ├── image07.png │ ├── image08.png │ ├── image09.png │ ├── image10.png │ ├── image11.png │ ├── image12.png │ ├── image13.png │ ├── image14.png │ ├── image15.png │ ├── image16.png │ ├── image17.png │ └── image18.png │ └── usage.rst ├── index.rst ├── kitchen.yml ├── make.bat ├── modules ├── aws │ └── terraform │ │ ├── .gitignore │ │ ├── backend │ │ ├── README.md │ │ ├── examples │ │ │ ├── admin.auto.tfvars.example │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ ├── files │ │ │ └── README.md │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── templates │ │ │ └── cloud-config.yml │ │ └── variables.tf │ │ ├── gwlb-bigip-vpc │ │ ├── .terraform.lock.hcl │ │ ├── README.md │ │ ├── examples │ │ │ ├── .terraform.lock.hcl │ │ │ ├── admin.auto.tfvars.example │ │ │ ├── f5_onboard.tmpl │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ ├── gwlb-bigip-vpc.png │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf │ │ ├── network │ │ └── min │ │ │ ├── README.md │ │ │ ├── examples │ │ │ ├── .terraform.lock.hcl │ │ │ ├── admin.auto.tfvars.example │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── singleVpc.png │ │ │ └── variables.tf │ │ ├── nginx-plus │ │ ├── iam.tf │ │ ├── main.tf │ │ ├── secrets.tf │ │ ├── templates │ │ │ └── startup.sh.tpl │ │ └── variables.tf │ │ ├── terraform-aws-bigip-module │ │ ├── .github │ │ │ └── workflows │ │ │ │ └── superlinter.yml │ │ ├── .gitignore │ │ ├── README.md │ │ ├── config │ │ │ ├── as3.json │ │ │ └── onboard_do.json │ │ ├── examples │ │ │ ├── README.md │ │ │ ├── bigip_aws_1nic_deploy │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── runtests.sh │ │ │ │ └── variables.tf │ │ │ ├── bigip_aws_2nic_deploy │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── runtests.sh │ │ │ │ └── variables.tf │ │ │ ├── bigip_aws_3nic_deploy │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── runtests.sh │ │ │ │ └── variables.tf │ │ │ ├── bigip_aws_4nic_deploy │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── runtests.sh │ │ │ │ └── variables.tf │ │ │ ├── bigip_aws_iam_profile │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── runtests.sh │ │ │ │ └── variables.tf │ │ │ └── inspec │ │ │ │ └── bigip-ready │ │ │ │ ├── controls │ │ │ │ └── atc.rb │ │ │ │ ├── files │ │ │ │ └── .gitkeep │ │ │ │ ├── inspec.lock │ │ │ │ └── inspec.yml │ │ ├── f5_onboard.tmpl │ │ ├── main.tf │ │ ├── onboard_do_1nic.tpl │ │ ├── onboard_do_2nic.tpl │ │ ├── onboard_do_3nic.tpl │ │ ├── outputs.tf │ │ └── variables.tf │ │ ├── webServer │ │ ├── README.md │ │ ├── examples │ │ │ ├── .terraform.lock.hcl │ │ │ ├── admin.auto.tfvars.example │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── startup.sh.tpl │ │ │ └── variables.tf │ │ ├── files │ │ │ ├── README.md │ │ │ ├── f5-logo-rgb.svg │ │ │ ├── install-server-tls-certs.sh │ │ │ └── styles.css │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── templates │ │ │ └── cloud-config.yml │ │ └── variables.tf │ │ └── workstation │ │ ├── README.md │ │ ├── examples │ │ ├── .terraform.lock.hcl │ │ ├── admin.auto.tfvars.example │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── templates │ │ ├── onboard.sh │ │ └── startup.sh.tpl │ │ └── variables.tf ├── azure │ └── terraform │ │ ├── .gitignore │ │ ├── backend │ │ ├── README.md │ │ ├── examples │ │ │ ├── count │ │ │ │ ├── README.md │ │ │ │ ├── admin.auto.tfvars.example │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── variables.tf │ │ │ └── single │ │ │ │ ├── README.md │ │ │ │ ├── admin.auto.tfvars.example │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── variables.tf │ │ ├── files │ │ │ └── README.md │ │ ├── images │ │ │ ├── webapp-bottom.png │ │ │ └── webapp-top.png │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── templates │ │ │ └── cloud-config.yml │ │ └── variables.tf │ │ ├── jumphost │ │ ├── README.md │ │ ├── examples │ │ │ ├── admin.auto.tfvars.example │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── templates │ │ │ └── startup.sh.tpl │ │ └── variables.tf │ │ ├── network │ │ └── min │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── azure-network.png │ │ │ ├── examples │ │ │ ├── admin.auto.tfvars.example │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ ├── nginx-plus │ │ ├── iam.tf │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── secrets.tf │ │ ├── templates │ │ │ └── startup.sh.tpl │ │ └── variables.tf │ │ ├── region-locations │ │ ├── README.md │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf │ │ └── webServer │ │ ├── README.md │ │ ├── examples │ │ ├── admin.auto.tfvars.example │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── templates │ │ └── startup.sh.tpl │ │ └── variables.tf ├── common │ └── files │ │ └── backend │ │ ├── README.md │ │ ├── examples.png │ │ ├── f5-logo-rgb.svg │ │ ├── index.html │ │ └── styles.css ├── google │ └── terraform │ │ ├── backend │ │ ├── README.md │ │ ├── example │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── terraform.tfvars.example │ │ │ └── variables.tf │ │ ├── files │ │ │ ├── README.md │ │ │ └── install-server-tls-certs.sh │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── templates │ │ │ ├── README.md │ │ │ └── cloud-config.yml │ │ └── variables.tf │ │ ├── infra │ │ ├── README.md │ │ ├── dns.tf │ │ ├── example │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── terraform.tfvars.example │ │ │ └── variables.tf │ │ ├── main.tf │ │ ├── network-min.png │ │ ├── outputs.tf │ │ ├── registries.tf │ │ ├── variables.tf │ │ └── vpcs.tf │ │ ├── network │ │ └── min │ │ │ ├── README.md │ │ │ ├── example │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── terraform.tfvars.example │ │ │ └── variables.tf │ │ │ ├── main.tf │ │ │ ├── network-min.png │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ ├── nginx-plus │ │ ├── iam.tf │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── readme.md │ │ ├── secrets.tf │ │ ├── templates │ │ │ └── startup.sh.tpl │ │ └── variables.tf │ │ ├── tls │ │ ├── README.md │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf │ │ └── workstation │ │ ├── README.md │ │ ├── example │ │ ├── README.md │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── terraform.tfvars.example │ │ ├── variables.tf │ │ └── workstation-example.png │ │ ├── files │ │ ├── README.md │ │ ├── install-code-server-extension.sh │ │ └── install-workstation-tls-certs.sh │ │ ├── images │ │ ├── F5-extension.png │ │ ├── accept_risk.png │ │ ├── bu23app.png │ │ ├── git-repos.png │ │ ├── installed-modules.png │ │ ├── open-folder.png │ │ ├── proxy_8888.png │ │ ├── self-signed-cert-warning.png │ │ ├── welcome-page.png │ │ └── workstation.png │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── templates │ │ ├── README.md │ │ └── cloud-config.yml │ │ └── variables.tf └── workstation │ └── azure │ ├── README.md │ ├── admin.auto.tfvars.example │ ├── cleanup.sh │ ├── demo.sh │ ├── main.tf │ ├── outputs.tf │ ├── setup.sh │ └── variables.tf ├── outline.md ├── solutions ├── delivery │ └── application_delivery_controller │ │ ├── big-ip │ │ └── upgrade │ │ │ └── aws │ │ │ ├── admin.auto.tfvars.example │ │ │ ├── ansible.cfg │ │ │ ├── ansible │ │ │ ├── playbooks │ │ │ │ ├── cluster.yml │ │ │ │ ├── demo.yml │ │ │ │ └── testVirtual.yml │ │ │ └── roles │ │ │ │ ├── cluster │ │ │ │ ├── defaults │ │ │ │ │ └── main.yml │ │ │ │ └── tasks │ │ │ │ │ └── main.yml │ │ │ │ └── testVirtual │ │ │ │ ├── defaults │ │ │ │ └── main.yml │ │ │ │ ├── files │ │ │ │ └── testingiRule.tcl │ │ │ │ └── tasks │ │ │ │ └── main.yml │ │ │ ├── bigip.tf │ │ │ ├── cleanup.sh │ │ │ ├── demo.sh │ │ │ ├── destroy.sh │ │ │ ├── firewall.tf │ │ │ ├── iam.tf │ │ │ ├── main.tf │ │ │ ├── onboard_f5vm01.tmpl │ │ │ ├── onboard_f5vm02.tmpl │ │ │ ├── outputs.tf │ │ │ ├── readme.md │ │ │ ├── setup.sh │ │ │ ├── storage.tf │ │ │ ├── taint.sh │ │ │ └── variables.tf │ │ └── nginx │ │ ├── .gitignore │ │ ├── kic │ │ ├── aws │ │ │ ├── README.md │ │ │ ├── admin.auto.tfvars.example │ │ │ ├── cleanup.sh │ │ │ ├── demo.sh │ │ │ ├── destroy.sh │ │ │ ├── firewall.tf │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup.sh │ │ │ ├── taint.sh │ │ │ └── variables.tf │ │ ├── azure │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── admin.auto.tfvars.example │ │ │ ├── cleanup.sh │ │ │ ├── demo.sh │ │ │ ├── destroy.sh │ │ │ ├── firewall.tf │ │ │ ├── iam.tf │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── secrets.tf │ │ │ ├── setup.sh │ │ │ ├── taint.sh │ │ │ └── variables.tf │ │ ├── google │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ └── templates │ │ │ ├── arcadia.yml │ │ │ ├── arcadiaMTLSPolicy.yml │ │ │ ├── arcadiaMTLSSecret.yml │ │ │ ├── arcadiaScale.yml │ │ │ ├── arcadiaSecret.yml │ │ │ ├── client-cert.pem │ │ │ ├── client-key.pem │ │ │ ├── ingress-arcadia-cache.yml │ │ │ ├── ingress-arcadia-https-monitor.yml │ │ │ ├── ingress-arcadia-https.yml │ │ │ ├── ingress-arcadia-mtls.yml │ │ │ ├── ingress-arcadia.yml │ │ │ ├── nginx-config-cache-gke.yml │ │ │ ├── nginx-config-cache.yml │ │ │ ├── nginx-ingress-dashboard.yml │ │ │ └── nginx-ingress-install.yml │ │ └── nginx-plus │ │ ├── aws │ │ ├── .terraform.lock.hcl │ │ ├── README.md │ │ ├── admin.auto.tfvars.example │ │ ├── cleanup.sh │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup.sh │ │ ├── sg.tf │ │ └── variables.tf │ │ ├── azure │ │ ├── .terraform.lock.hcl │ │ ├── admin.auto.tfvars.example │ │ ├── cleanup.sh │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── readme.md │ │ ├── setup.sh │ │ ├── sg.tf │ │ └── variables.tf │ │ ├── google │ │ ├── admin.auto.tfvars.example │ │ ├── cleanup.sh │ │ ├── firewall.tf │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── readme.md │ │ ├── setup.sh │ │ └── variables.tf │ │ └── readme.md ├── security │ ├── aws-cf-device-id │ │ ├── destroy.sh │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup.sh │ │ └── variables.tf │ ├── aws-inter-subnet-fw-gwlb │ │ ├── Egress-traffic-flow.png │ │ ├── README.md │ │ ├── admin.auto.tfvars.example │ │ ├── destroy.sh │ │ ├── f5_onboard.tmpl │ │ ├── gwlb-fw.png │ │ ├── ingress-traffic-flow.png │ │ ├── inter-subnet-traffic-flow.png │ │ ├── inter-subnet.png │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup.sh │ │ └── variables.tf │ ├── gateway-load-balancer │ │ └── azure │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── f5_onboard.tmpl │ │ │ ├── images │ │ │ └── Azure-GWLB.png │ │ │ ├── main.tf │ │ │ ├── modules │ │ │ ├── app_server │ │ │ │ ├── cloud_init.yaml │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── variables.tf │ │ │ ├── bigip │ │ │ │ ├── f5_onboard.tmpl │ │ │ │ ├── main.tf │ │ │ │ ├── onboard_do_1nic.tpl │ │ │ │ ├── onboard_do_2nic.tpl │ │ │ │ ├── onboard_do_3nic.tpl │ │ │ │ ├── outputs.tf │ │ │ │ └── variables.tf │ │ │ └── vnet │ │ │ │ ├── main.tf │ │ │ │ ├── providers.tf │ │ │ │ └── variables.tf │ │ │ ├── outputs.tf │ │ │ ├── providers.tf │ │ │ └── variables.tf │ ├── ingress-egress-fw │ │ ├── Egress-traffic-flow.png │ │ ├── README.md │ │ ├── admin.auto.tfvars.example │ │ ├── destroy.sh │ │ ├── f5_onboard.tmpl │ │ ├── gwlb-fw.png │ │ ├── ingress-traffic-flow.png │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup.sh │ │ └── variables.tf │ ├── ingress-egress-inter-vpc-fw-gwlb │ │ ├── README.md │ │ ├── admin.auto.tfvars.example │ │ ├── destroy.sh │ │ ├── f5_onboard.tmpl │ │ ├── ingress-egress-inter-vpc-WITH-sec.png │ │ ├── ingress-egress-inter-vpc-fw.png │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup.sh │ │ ├── spoke10-to-internet.png │ │ ├── spoke10-to-spoke20.png │ │ ├── user-to-spoke10-service.png │ │ ├── variables.tf │ │ └── versions.tf │ └── nginx │ │ └── kic │ │ ├── aws │ │ ├── README.md │ │ ├── admin.auto.tfvars.example │ │ ├── cleanup.sh │ │ ├── demo.sh │ │ ├── destroy.sh │ │ ├── firewall.tf │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup.sh │ │ ├── taint.sh │ │ └── variables.tf │ │ ├── azure │ │ ├── .gitignore │ │ ├── README.md │ │ ├── admin.auto.tfvars.example │ │ ├── cleanup.sh │ │ ├── demo.sh │ │ ├── destroy.sh │ │ ├── firewall.tf │ │ ├── iam.tf │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── secrets.tf │ │ ├── setup.sh │ │ ├── taint.sh │ │ └── variables.tf │ │ └── templates │ │ ├── .gitignore │ │ ├── arcadia │ │ ├── arcadia.yml │ │ ├── ingress-arcadia-demo.yml │ │ └── ingress-arcadia-demo.yml.source │ │ ├── arcadiaMTLSPolicy.yml │ │ ├── arcadiaMTLSSecret.yml │ │ ├── arcadiaScale.yml │ │ ├── arcadiaSecret.yml │ │ ├── ingress-arcadia-cache.yml │ │ ├── ingress-arcadia-https-monitor.yml │ │ ├── ingress-arcadia-https.yml │ │ ├── ingress-arcadia-mtls.yml │ │ ├── ingress-arcadia.yml │ │ ├── kic │ │ ├── nginx-ingress-dashboard.yml │ │ ├── nginx-ingress-install.yml │ │ └── nginx-ingress-install.yml.source │ │ └── nginx-config-cache.yml ├── solution_template │ ├── admin.auto.tfvars.example │ ├── cleanup.sh │ ├── demo.sh │ ├── destroy.sh │ ├── main.tf │ ├── outputs.tf │ ├── readme.md │ ├── setup.sh │ ├── taint.sh │ └── variables.tf └── volterra │ ├── aws-tgw │ ├── README.md │ ├── admin.auto.tfvars.example │ ├── destroy.sh │ ├── dns.tf │ ├── images │ │ ├── aws-tgw-ip-overlap.png │ │ ├── bu1app.png │ │ ├── httplb-client-ip.png │ │ ├── httplb-requests.png │ │ ├── httplb-tab.png │ │ └── proxy-socks.png │ ├── main.tf │ ├── outputs.tf │ ├── setup.sh │ ├── variables.tf │ ├── volterraServicesAcme.tf │ ├── volterraServicesBu1.tf │ ├── volterraServicesBu2.tf │ └── volterraSites.tf │ └── multi-cloud-connectivity │ ├── README.md │ ├── SCENARIO.md │ ├── TROUBLESHOOTING.md │ ├── admin.auto.tfvars.example │ ├── aws-destroy.sh │ ├── aws-setup.sh │ ├── aws │ ├── README.md │ ├── dns.tf │ ├── externalServices.tf │ ├── images │ │ ├── bu1app.png │ │ ├── httplb-client-ip.png │ │ ├── httplb-requests.png │ │ ├── httplb-tab.png │ │ └── proxy-socks.png │ ├── main.tf │ ├── outputs.tf │ ├── variables.tf │ ├── volterraServices.tf │ └── volterraSites.tf │ ├── azure-destroy.sh │ ├── azure-setup.sh │ ├── azure │ ├── README.md │ ├── dns.tf │ ├── images │ │ ├── httplb-client-ip.png │ │ ├── httplb-requests.png │ │ ├── httplb-tab.png │ │ └── proxy-socks.png │ ├── main.tf │ ├── outputs.tf │ ├── variables.tf │ ├── versions.tf │ ├── volterraServices.tf │ └── volterraSites.tf │ ├── destroy.sh │ ├── gcp-destroy.sh │ ├── gcp-setup.sh │ ├── gcp │ ├── README.md │ ├── dns.tf │ ├── files │ │ └── inside_ips_for_tag.sh │ ├── images │ │ ├── bu23app.png │ │ ├── proxy_8888.png │ │ ├── svc-acct-key1.png │ │ └── svc-acct-key2.png │ ├── main.tf │ ├── outputs.tf │ └── variables.tf │ ├── images │ ├── 1-multi-cloud-volterra.png │ ├── 2-multi-cloud-volterra.png │ ├── 3-multi-cloud-volterra.png │ ├── 4-multi-cloud-volterra.png │ ├── 5-multi-cloud-volterra.png │ ├── 6-multi-cloud-volterra.png │ ├── 7-multi-cloud-volterra.png │ ├── 8-multi-cloud-volterra.png │ ├── aws-multi-cloud-volterra-hla.png │ ├── azure-multi-cloud-volterra-hla.png │ ├── google-multi-cloud-volterra-hla.png │ └── summary-multi-cloud-volterra.png │ ├── main.tf │ ├── outputs.tf │ ├── setup.sh │ └── variables.tf └── test ├── fixtures └── google │ ├── infra │ ├── README.md │ ├── example │ │ ├── README.md │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf │ ├── main.tf │ ├── outputs.tf │ └── variables.tf │ ├── network │ └── min │ │ ├── README.md │ │ ├── example │ │ ├── README.md │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf │ └── workstation │ ├── README.md │ ├── example │ ├── README.md │ ├── main.tf │ ├── outputs.tf │ └── variables.tf │ ├── main.tf │ ├── outputs.tf │ └── variables.tf ├── integration ├── gcp-infra │ ├── controls │ │ ├── apis.rb │ │ ├── dns.rb │ │ ├── nat.rb │ │ ├── registries.rb │ │ ├── routes.rb │ │ ├── subnets.rb │ │ ├── vpcs.rb │ │ ├── workstation.rb │ │ └── workstation_iap.rb │ └── inspec.yml ├── gcp-network-min │ ├── controls │ │ ├── nat.rb │ │ ├── subnets.rb │ │ └── vpcs.rb │ └── inspec.yml └── gcp-workstation │ ├── controls │ ├── workstation.rb │ └── workstation_iap.rb │ └── inspec.yml ├── reports └── .gitkeep └── setup ├── README.md ├── main.tf ├── outputs.tf ├── terraform.tfvars.example └── variables.tf /.devcontainer/scripts/awscli-debian.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "---installing awscli---" 3 | export DEBIAN_FRONTEND=noninteractive 4 | apt-get install -y --no-install-recommends python3-setuptools 5 | python3 -m pip install --upgrade pip 6 | pip3 install awscli 7 | echo "---installing awscli done---" 8 | -------------------------------------------------------------------------------- /.devcontainer/scripts/create-user.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "---create user---" 3 | USERNAME=${1:-codespace} 4 | USER_UID=${2:-1000} 5 | 6 | set -e 7 | 8 | if [ "$(id -u)" -ne 0 ]; then 9 | echo -e 'Script must be run as root. Use sudo, su, or add "USER root" to your Dockerfile before running this script.' 10 | exit 1 11 | fi 12 | # create user 13 | adduser --disabled-password --gecos "" --uid ${USER_UID} ${USERNAME} 14 | # add to sudoers 15 | cat > /etc/sudoers.d/${USERNAME}-user < 13 | This issue has been automatically marked as stale because it has not had 14 | recent activity. It will be closed if no further activity occurs. Thank you 15 | for your contributions. 16 | # Comment to post when closing a stale issue. Set to `false` to disable 17 | closeComment: false 18 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | # This file defines the ownership of modules in the repo for PR reviewing purposes. 2 | 3 | * @jmcalalang @vinnie357 @yossi-r @memes @GlenWillms 4 | 5 | # solution owners 6 | /solutions/security/gwlb-ingress-fw @yossi-r 7 | /solutions/security/gateway-load-balancer/azure @mikeoleary 8 | /solutions/delivery/application_delivery_controller/nginx/kic/aws @jmcalalang 9 | /solutions/volterra @yossi-r @memes 10 | /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws @jmcalalang 11 | /solutions/delivery/application_delivery_controller/nginx/nginx-for-azure @jmcalalang 12 | 13 | 14 | # modules owners 15 | /modules/aws @yossi-r 16 | /modules/google @memes 17 | /modules/azure @jmcalalang 18 | /modules/common/files/backend @yossi-r @memes 19 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | ruby '2.7.2' 4 | 5 | source 'https://rubygems.org/' do 6 | gem 'kitchen-terraform', '~> 5.7.2' 7 | gem 'reek', '~> 6.0.3', require: false 8 | gem 'rubocop', '~> 1.12.0', require: false 9 | end 10 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /SUPPORT.md: -------------------------------------------------------------------------------- 1 | ## Support Information 2 | 3 | Maintenance and F5 Technical Support of this F5 code is provided only if the 4 | software (i) is unmodified; and (ii) has been marked as F5 Supported in 5 | SOL80012344, (https://support.f5.com/csp/article/K80012344). 6 | 7 | Support will only be provided to customers who have an existing BIG-IP support contract associated with a valid BIG-IP serial number. 8 | For information about support policies, see http://www.f5.com/about/guidelines-policies/ and http://askf5.com. 9 | -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/breadcrumb.html: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/extralinks.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/globaltoc.html: -------------------------------------------------------------------------------- 1 | {# 2 | Copyright 2017 F5 Networks 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | #} 16 | 17 | {{ toctree(includehidden=True) }} 18 | -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/localtoc.html: -------------------------------------------------------------------------------- 1 | {# 2 | Copyright 2017 F5 Networks 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | #} 16 | 17 | {%- if display_toc %} 18 |

19 | Current Page 20 |

21 | {{ toc }} 22 | {%- endif %} 23 | -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/opensearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ project|e }} 4 | {% trans docstitle=docstitle|e %}Search {{ docstitle }}{% endtrans %} 5 | utf-8 6 | 8 | {{ docstitle|e }} 9 | {% block extra %} {# Put e.g. an image element here. #} {% endblock %} 10 | 11 | -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/searchbox.html: -------------------------------------------------------------------------------- 1 | {%- if pagename != "search" and builder != "singlehtml" %} 2 | 10 | 11 | {%- endif %} 12 | -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/static/css/custom.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 F5 Networks 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /* This file is a placeholder. You can add a custom.css file to the docs/_static/css 18 | * directory in your project to define custom styles. 19 | */ 20 | -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/static/fonts/ProximaBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/_themes/f5_sphinx_theme/static/fonts/ProximaBold.woff -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/static/fonts/ProximaBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/_themes/f5_sphinx_theme/static/fonts/ProximaBold.woff2 -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/static/fonts/ProximaMedium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/_themes/f5_sphinx_theme/static/fonts/ProximaMedium.woff -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/static/fonts/ProximaMedium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/_themes/f5_sphinx_theme/static/fonts/ProximaMedium.woff2 -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/static/fonts/ProximaThin.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/_themes/f5_sphinx_theme/static/fonts/ProximaThin.woff -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/static/fonts/ProximaThin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/_themes/f5_sphinx_theme/static/fonts/ProximaThin.woff2 -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/_themes/f5_sphinx_theme/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/_themes/f5_sphinx_theme/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/_themes/f5_sphinx_theme/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/_themes/f5_sphinx_theme/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /docs/_themes/f5_sphinx_theme/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = basic 3 | stylesheet = css/bootstrap.min.css 4 | 5 | [options] 6 | site_name = CloudDocs Home 7 | next_prev_link = False 8 | version_selector = False 9 | base_url = / 10 | -------------------------------------------------------------------------------- /docs/development/development.rst: -------------------------------------------------------------------------------- 1 | *********** 2 | Development 3 | *********** 4 | 5 | Development of solutions and modules to the project are always welcome. Codespaces is heavily utilized for development. This allows for the same experience for all developers. 6 | 7 | Please read through the codespaces before jumping two feet in. 8 | 9 | .. toctree:: 10 | :maxdepth: 1 11 | :glob: 12 | 13 | getting-* 14 | codespaces 15 | guidelines 16 | -------------------------------------------------------------------------------- /docs/development/images/image01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/development/images/image01.png -------------------------------------------------------------------------------- /docs/development/images/image03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/development/images/image03.png -------------------------------------------------------------------------------- /docs/development/images/image04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/development/images/image04.png -------------------------------------------------------------------------------- /docs/development/images/image05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/development/images/image05.png -------------------------------------------------------------------------------- /docs/development/images/image06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/development/images/image06.png -------------------------------------------------------------------------------- /docs/development/images/image07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/development/images/image07.png -------------------------------------------------------------------------------- /docs/development/images/image08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/development/images/image08.png -------------------------------------------------------------------------------- /docs/development/images/image10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/development/images/image10.png -------------------------------------------------------------------------------- /docs/development/images/image11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/development/images/image11.png -------------------------------------------------------------------------------- /docs/index/images/image01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/index/images/image01.jpg -------------------------------------------------------------------------------- /docs/scratch/WorkingDiagram.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/scratch/WorkingDiagram.pptx -------------------------------------------------------------------------------- /docs/scratch/mydemo.tf: -------------------------------------------------------------------------------- 1 | provider "aws" { 2 | 3 | } 4 | 5 | 6 | module "solution_controller" { 7 | 8 | source = "git::https://github.com/f5devcentral/f5-digital-customer-engagement-center//solutions/telemtry/nginx/controller/?ref=main" 9 | 10 | license = "" 11 | key = "" 12 | certificate_authority = "" 13 | ssh = "" 14 | 15 | } 16 | 17 | output "controller" { 18 | value = module.solution.controller 19 | } 20 | -------------------------------------------------------------------------------- /docs/serviceportal/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/serviceportal/.DS_Store -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image01.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image02.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image03.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image04.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image05.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image06.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image07.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image08.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image09.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image10.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image11.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image12.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image13.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image14.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image15.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image16.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image17.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image18.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image19.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image20.jpg -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image21.gif -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/bigip/upgrade/aws/images/image22.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/gke_lab04.rst: -------------------------------------------------------------------------------- 1 | NGINX Kubernetes Ingress Controller | Destruction (GKE) 2 | ------------------------------------------------------- 3 | 4 | To delete the GKE cluster permanently: 5 | 6 | .. code-block:: bash 7 | 8 | gcloud container clusters delete ${namespace}-my-cluster 9 | 10 | 11 | To temporarily resize the cluster to zero nodes so you don't incur compute charges: 12 | 13 | .. code-block:: bash 14 | 15 | gcloud container clusters resize ${namespace}-my-cluster --num-nodes=0 16 | 17 | GO FIND `ANOTHER SOLUTION`_ TO LEARN! 18 | 19 | .. _`ANOTHER SOLUTION`: ../../../../../../index.html 20 | -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/5env.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/5env.jpeg -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image00.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image01.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image02.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image03.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image04.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image05.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image06.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image07.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image08.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image09.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image10.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image100.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image11.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image12.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image13.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image14.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image15.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image16.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image17.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image18.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image19.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image20.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image200.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image200.PNG -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image201.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image201.PNG -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image202.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image202.PNG -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image203.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image203.PNG -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image204.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image204.PNG -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image21.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image22.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image23.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image24.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image25.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image26.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image27.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image28.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image29.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image30.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image31.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image32.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image33.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image34.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image35.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image36.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image37.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image38.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image39.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image40.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image41.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image42.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image43.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image44.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image45.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image46.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image47.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image48.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image49.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image50.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/image51.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/10_nginx_deployment_edits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/10_nginx_deployment_edits.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/11_nginx_install_apply_manifests.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/11_nginx_install_apply_manifests.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/12_kubectl_get_svc_ingress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/12_kubectl_get_svc_ingress.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/12b_kubectl_get_svc_ingress_dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/12b_kubectl_get_svc_ingress_dashboard.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/13_exports_and_hosts_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/13_exports_and_hosts_edit.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/1a_gcloud_init.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/1a_gcloud_init.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/1b_gcloud_init.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/1b_gcloud_init.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/2a_kubernetes_engine_api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/2a_kubernetes_engine_api.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/3a_artifacts_registry_api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/3a_artifacts_registry_api.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/4a_artifacts_registry_created.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/4a_artifacts_registry_created.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/5a_k8s_cluster_created.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/5a_k8s_cluster_created.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/5b_k8s_cluster_created.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/5b_k8s_cluster_created.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/5c_k8s_cluster_created.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/5c_k8s_cluster_created.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/5d_vpc_native.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/5d_vpc_native.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/6a_copy_paste_repository_path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/6a_copy_paste_repository_path.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/8_drag_and_drop_lic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/8_drag_and_drop_lic.png -------------------------------------------------------------------------------- /docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/9a_make_and_push_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/delivery/application_delivery_controller/nginx/kic/images/kic_gke/9a_make_and_push_image.png -------------------------------------------------------------------------------- /docs/solutions/delivery/delivery_index.rst: -------------------------------------------------------------------------------- 1 | Application Delivery 2 | --------------------- 3 | 4 | 5 | Here are the F5 application delivery solutions that are available to deploy: 6 | 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | :glob: 11 | 12 | application_delivery_controller/nginx/kic/*_index 13 | application_delivery_controller/bigip/upgrade/aws/*_index 14 | -------------------------------------------------------------------------------- /docs/solutions/security/ingress-fw-gwlb/ingress_fw_gwlb_index.rst: -------------------------------------------------------------------------------- 1 | AWS vpc Ingress firewall using GWLB and AFM 2 | ------------------------------------------------ 3 | 4 | start the solution: 5 | 6 | deploy 7 | run 8 | test 9 | -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image00.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image01.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image02.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image03.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image04.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image05.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image06.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image07.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image08.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image09.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image10.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image11.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image12.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image13.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image14.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image15.png -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image200.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image200.PNG -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image201.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image201.PNG -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image202.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image202.PNG -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image203.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image203.PNG -------------------------------------------------------------------------------- /docs/solutions/security/kic-nap/images/image204.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/solutions/security/kic-nap/images/image204.PNG -------------------------------------------------------------------------------- /docs/solutions/security/security_index.rst: -------------------------------------------------------------------------------- 1 | Security 2 | -------- 3 | 4 | Here are the F5 security solutions that are available to deploy: 5 | 6 | 7 | .. toctree:: 8 | :maxdepth: 1 9 | :glob: 10 | 11 | */*_index 12 | -------------------------------------------------------------------------------- /docs/usage/images/image01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image01.png -------------------------------------------------------------------------------- /docs/usage/images/image02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image02.png -------------------------------------------------------------------------------- /docs/usage/images/image03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image03.png -------------------------------------------------------------------------------- /docs/usage/images/image04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image04.png -------------------------------------------------------------------------------- /docs/usage/images/image05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image05.png -------------------------------------------------------------------------------- /docs/usage/images/image06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image06.png -------------------------------------------------------------------------------- /docs/usage/images/image07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image07.png -------------------------------------------------------------------------------- /docs/usage/images/image08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image08.png -------------------------------------------------------------------------------- /docs/usage/images/image09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image09.png -------------------------------------------------------------------------------- /docs/usage/images/image10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image10.png -------------------------------------------------------------------------------- /docs/usage/images/image11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image11.png -------------------------------------------------------------------------------- /docs/usage/images/image12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image12.png -------------------------------------------------------------------------------- /docs/usage/images/image13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image13.png -------------------------------------------------------------------------------- /docs/usage/images/image14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image14.png -------------------------------------------------------------------------------- /docs/usage/images/image15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image15.png -------------------------------------------------------------------------------- /docs/usage/images/image16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image16.png -------------------------------------------------------------------------------- /docs/usage/images/image17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image17.png -------------------------------------------------------------------------------- /docs/usage/images/image18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/docs/usage/images/image18.png -------------------------------------------------------------------------------- /docs/usage/usage.rst: -------------------------------------------------------------------------------- 1 | ***** 2 | Usage 3 | ***** 4 | 5 | Solution design prioritizes being environment agnostic, meaning most solutions can be run anywhere given the minimum requirements are met. Check on the solution for the minimum requirements. 6 | 7 | If you use the F5 provided environment, there are two ways to access it, a course and a blueprint. Typically courses are used for external to F5 employees, and blueprints are used internally. 8 | 9 | .. toctree:: 10 | :maxdepth: 1 11 | :glob: 12 | 13 | f5_udf_* 14 | -------------------------------------------------------------------------------- /modules/aws/terraform/.gitignore: -------------------------------------------------------------------------------- 1 | cluster-config 2 | -------------------------------------------------------------------------------- /modules/aws/terraform/backend/examples/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | resourceOwner = "fred" 2 | awsRegion = "us-west-2" 3 | sshPublicKey = "ssh-rsa AA" 4 | -------------------------------------------------------------------------------- /modules/aws/terraform/backend/examples/outputs.tf: -------------------------------------------------------------------------------- 1 | output "jumphostPublicIp" { 2 | value = module.jumphost.workspaceManagementAddress 3 | } 4 | output "workstation" { 5 | value = module.jumphost.workstation 6 | } 7 | -------------------------------------------------------------------------------- /modules/aws/terraform/backend/examples/variables.tf: -------------------------------------------------------------------------------- 1 | 2 | variable "awsRegion" { 3 | default = "us-west-2" 4 | } 5 | 6 | variable "projectPrefix" { 7 | default = "singleVpcWorkstation" 8 | } 9 | 10 | variable "resourceOwner" { 11 | default = "elsa" 12 | } 13 | 14 | variable "sshPublicKey" { 15 | description = "ssh key file to create an ec2 key-pair" 16 | default = "ssh-rsa AAAAB3...." 17 | } 18 | 19 | resource "random_id" "buildSuffix" { 20 | byte_length = 2 21 | } 22 | -------------------------------------------------------------------------------- /modules/aws/terraform/backend/files/README.md: -------------------------------------------------------------------------------- 1 | # Files 2 | 3 | This directory contains files that will be applied to workstation instance(s) as-is. 4 | 5 | > See also [templates](../templates/) 6 | -------------------------------------------------------------------------------- /modules/aws/terraform/backend/outputs.tf: -------------------------------------------------------------------------------- 1 | # output "workspaceManagementAddress" { 2 | # # Result is a map from instance id to private IP address, such as: 3 | # # {"i-1234" = "192.168.1.2", "i-5678" = "192.168.1.5"} 4 | # value = { 5 | # for instance in aws_instance.workstation: 6 | # instance.id => "ssh@${aws_instance.workstation.public_ip}" 7 | # } 8 | # } 9 | output "workspaceManagementAddress" { 10 | description = "public or private ip address of the instance" 11 | value = var.associateEIP ? aws_instance.workstation.public_ip : aws_instance.workstation.private_ip 12 | } 13 | 14 | output "workstation" { 15 | description = "ec2 instance output paramaters as documented here: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance" 16 | value = aws_instance.workstation 17 | } 18 | -------------------------------------------------------------------------------- /modules/aws/terraform/gwlb-bigip-vpc/examples/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | resourceOwner = "fred" 2 | awsRegion = "us-west-2" 3 | sshPublicKey = "ssh-rsa AA" 4 | projectPrefix = "gwlb" 5 | -------------------------------------------------------------------------------- /modules/aws/terraform/gwlb-bigip-vpc/examples/main.tf: -------------------------------------------------------------------------------- 1 | provider "aws" { 2 | region = var.awsRegion 3 | } 4 | 5 | data "local_file" "customUserData" { 6 | filename = "${path.module}/f5_onboard.tmpl" 7 | } 8 | resource "aws_key_pair" "deployer" { 9 | key_name = "${var.projectPrefix}-key-${random_id.buildSuffix.hex}" 10 | public_key = var.sshPublicKey 11 | } 12 | 13 | module "gwlb-bigip-vpc" { 14 | source = "../" 15 | projectPrefix = var.projectPrefix 16 | resourceOwner = var.resourceOwner 17 | keyName = aws_key_pair.deployer.id 18 | buildSuffix = random_id.buildSuffix.hex 19 | createGwlbEndpoint = true 20 | customUserData = data.local_file.customUserData.content 21 | bigipInstanceCount = 2 22 | } 23 | -------------------------------------------------------------------------------- /modules/aws/terraform/gwlb-bigip-vpc/examples/outputs.tf: -------------------------------------------------------------------------------- 1 | output "gwlb-bigip-vpc-module-outputs" { 2 | value = module.gwlb-bigip-vpc 3 | } 4 | -------------------------------------------------------------------------------- /modules/aws/terraform/gwlb-bigip-vpc/examples/variables.tf: -------------------------------------------------------------------------------- 1 | 2 | variable "awsRegion" { 3 | default = "us-west-2" 4 | } 5 | 6 | variable "projectPrefix" { 7 | default = "gwlbBigipExample" 8 | } 9 | 10 | variable "resourceOwner" { 11 | default = "elsa" 12 | } 13 | 14 | resource "random_id" "buildSuffix" { 15 | byte_length = 2 16 | } 17 | 18 | variable "sshPublicKey" { 19 | description = "ssh public key material to create an EC2 key pair" 20 | default = null 21 | } 22 | -------------------------------------------------------------------------------- /modules/aws/terraform/gwlb-bigip-vpc/gwlb-bigip-vpc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/aws/terraform/gwlb-bigip-vpc/gwlb-bigip-vpc.png -------------------------------------------------------------------------------- /modules/aws/terraform/network/min/examples/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | resourceOwner = "fred" 2 | awsRegion = "us-west-2" 3 | sshPublicKey = "ssh-rsa AA" 4 | -------------------------------------------------------------------------------- /modules/aws/terraform/network/min/examples/main.tf: -------------------------------------------------------------------------------- 1 | provider "aws" { 2 | region = var.awsRegion 3 | } 4 | module "aws_network" { 5 | source = "../" 6 | projectPrefix = var.projectPrefix 7 | buildSuffix = random_id.buildSuffix.hex 8 | resourceOwner = var.resourceOwner 9 | map_public_ip_on_launch = true 10 | } 11 | -------------------------------------------------------------------------------- /modules/aws/terraform/network/min/examples/outputs.tf: -------------------------------------------------------------------------------- 1 | output "subnets" { 2 | value = [module.aws_network.subnetsAz2["public"], module.aws_network.subnetsAz1["public"]] 3 | } 4 | 5 | output "vpc_id" { 6 | value = module.aws_network.vpcs["main"] 7 | } 8 | -------------------------------------------------------------------------------- /modules/aws/terraform/network/min/examples/variables.tf: -------------------------------------------------------------------------------- 1 | 2 | variable "awsRegion" { 3 | default = "us-west-2" 4 | } 5 | 6 | variable "projectPrefix" { 7 | default = "singleVpcExample" 8 | } 9 | 10 | variable "resourceOwner" { 11 | default = "elsa" 12 | } 13 | 14 | resource "random_id" "buildSuffix" { 15 | byte_length = 2 16 | } 17 | -------------------------------------------------------------------------------- /modules/aws/terraform/network/min/outputs.tf: -------------------------------------------------------------------------------- 1 | locals { 2 | vpcs = { 3 | "main" = aws_vpc.vpcMain.id 4 | } 5 | subnetsAz1 = { 6 | "public" = aws_subnet.vpcMainSubPubA.id 7 | "private" = aws_subnet.vpcMainSubMgmtA.id 8 | "mgmt" = aws_subnet.vpcMainSubPrivA.id 9 | } 10 | subnetsAz2 = { 11 | "public" = aws_subnet.vpcMainSubPubB.id 12 | "private" = aws_subnet.vpcMainSubMgmtB.id 13 | "mgmt" = aws_subnet.vpcMainSubPrivB.id 14 | } 15 | } 16 | 17 | output "vpcs" { 18 | value = local.vpcs 19 | } 20 | 21 | output "subnetsAz1" { 22 | value = local.subnetsAz1 23 | } 24 | 25 | output "subnetsAz2" { 26 | value = local.subnetsAz2 27 | } 28 | 29 | output "vpcMainIgw" { 30 | value = aws_internet_gateway.vpcMainIgw.id 31 | } 32 | output "vpcMainRtb" { 33 | value = aws_route_table.vpcMainRtb.id 34 | } 35 | -------------------------------------------------------------------------------- /modules/aws/terraform/network/min/singleVpc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/aws/terraform/network/min/singleVpc.png -------------------------------------------------------------------------------- /modules/aws/terraform/nginx-plus/secrets.tf: -------------------------------------------------------------------------------- 1 | #save secrets for nginx in AWS Secret Manager 2 | resource "aws_secretsmanager_secret" "nginx_secrets" { 3 | name = "nginx_secrets_${random_id.id.hex}" 4 | description = "nginx_secrets" 5 | tags = { 6 | project = var.prefix 7 | } 8 | } 9 | 10 | resource "aws_secretsmanager_secret_version" "nginx_secrets" { 11 | secret_id = aws_secretsmanager_secret.nginx_secrets.id 12 | #secret_string = data.template_file.nginx_secrets.rendered 13 | secret_string = <<-EOF 14 | { 15 | "cert":"${var.nginxCert}", 16 | "key": "${var.nginxKey}", 17 | "cuser": "${var.controllerAccount}", 18 | "cpass": "${var.controllerPass}" 19 | } 20 | EOF 21 | 22 | } 23 | -------------------------------------------------------------------------------- /modules/aws/terraform/terraform-aws-bigip-module/examples/inspec/bigip-ready/files/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/aws/terraform/terraform-aws-bigip-module/examples/inspec/bigip-ready/files/.gitkeep -------------------------------------------------------------------------------- /modules/aws/terraform/terraform-aws-bigip-module/examples/inspec/bigip-ready/inspec.lock: -------------------------------------------------------------------------------- 1 | --- 2 | lockfile_version: 1 3 | depends: [] 4 | -------------------------------------------------------------------------------- /modules/aws/terraform/terraform-aws-bigip-module/examples/inspec/bigip-ready/inspec.yml: -------------------------------------------------------------------------------- 1 | name: bigip-ready 2 | title: InSpec Profile 3 | maintainer: Ravinder Reddy CHINTHALAPALLI,Dinesh PAPINENI 4 | license: Apache-2.0 5 | summary: BIG-IP Automation Toolchain testing profile 6 | version: 0.1.0 7 | supports: 8 | platform: os 9 | -------------------------------------------------------------------------------- /modules/aws/terraform/terraform-aws-bigip-module/onboard_do_1nic.tpl: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": "1.0.0", 3 | "class": "Device", 4 | "async": true, 5 | "label": "Onboard BIG-IP", 6 | "Common": { 7 | "class": "Tenant", 8 | "mySystem": { 9 | "class": "System", 10 | "hostname": "${hostname}" 11 | }, 12 | "myDns": { 13 | "class": "DNS", 14 | "nameServers": [ 15 | ${name_servers} 16 | ], 17 | "search": [ 18 | "f5.com" 19 | ] 20 | }, 21 | "myNtp": { 22 | "class": "NTP", 23 | "servers": [ 24 | ${ntp_servers} 25 | ], 26 | "timezone": "UTC" 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /modules/aws/terraform/webServer/examples/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | resourceOwner = "fred" 2 | awsRegion = "us-west-2" 3 | sshPublicKey = "ssh-rsa AA" 4 | projectPrefix = "juiceshop" 5 | -------------------------------------------------------------------------------- /modules/aws/terraform/webServer/examples/outputs.tf: -------------------------------------------------------------------------------- 1 | output "asg" { 2 | value = module.webApp.asg 3 | } 4 | 5 | output "alb" { 6 | value = module.webApp.alb 7 | } 8 | 9 | output "albDnsName" { 10 | value = module.webApp.albDnsName 11 | } 12 | -------------------------------------------------------------------------------- /modules/aws/terraform/webServer/examples/startup.sh.tpl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # logging 3 | LOG_FILE=/var/log/startup-script.log 4 | if [ ! -e $LOG_FILE ] 5 | then 6 | touch $LOG_FILE 7 | exec &>>$LOG_FILE 8 | else 9 | #if file exists, exit as only want to run once 10 | exit 11 | fi 12 | 13 | exec 1>$LOG_FILE 2>&1 14 | 15 | echo "custom sh file" 16 | -------------------------------------------------------------------------------- /modules/aws/terraform/webServer/examples/variables.tf: -------------------------------------------------------------------------------- 1 | 2 | variable "awsRegion" { 3 | default = "us-west-2" 4 | } 5 | 6 | variable "projectPrefix" { 7 | default = "singleVpcWorkstation" 8 | } 9 | 10 | variable "resourceOwner" { 11 | default = "elsa" 12 | } 13 | 14 | variable "sshPublicKey" { 15 | description = "ssh key file to create an ec2 key-pair" 16 | default = "ssh-rsa AAAAB3...." 17 | } 18 | 19 | resource "random_id" "buildSuffix" { 20 | byte_length = 2 21 | } 22 | -------------------------------------------------------------------------------- /modules/aws/terraform/webServer/files/README.md: -------------------------------------------------------------------------------- 1 | # Files 2 | 3 | This directory contains files that will be applied to workstation instance(s) as-is. 4 | 5 | > See also [templates](../templates/) 6 | -------------------------------------------------------------------------------- /modules/aws/terraform/webServer/outputs.tf: -------------------------------------------------------------------------------- 1 | output "asg" { 2 | description = "asg outputs, see https://registry.terraform.io/modules/terraform-aws-modules/autoscaling/aws/latest for details" 3 | value = module.asg 4 | } 5 | output "alb" { 6 | description = "alb outputs, see https://registry.terraform.io/modules/terraform-aws-modules/alb/aws/latest for details" 7 | value = module.alb 8 | } 9 | 10 | output "albDnsName" { 11 | description = "DNS name for the ALB" 12 | value = module.alb.this_lb_dns_name 13 | } 14 | -------------------------------------------------------------------------------- /modules/aws/terraform/workstation/examples/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | resourceOwner = "fred" 2 | awsRegion = "us-west-2" 3 | sshPublicKey = "ssh-rsa AA" 4 | -------------------------------------------------------------------------------- /modules/aws/terraform/workstation/examples/outputs.tf: -------------------------------------------------------------------------------- 1 | output "jumphostPublicIp" { 2 | value = module.jumphost.workspaceManagementAddress 3 | } 4 | output "workstation" { 5 | value = module.jumphost.workstation 6 | } 7 | -------------------------------------------------------------------------------- /modules/aws/terraform/workstation/examples/variables.tf: -------------------------------------------------------------------------------- 1 | 2 | variable "awsRegion" { 3 | default = "us-west-2" 4 | } 5 | 6 | variable "projectPrefix" { 7 | default = "singleVpcWorkstation" 8 | } 9 | 10 | variable "resourceOwner" { 11 | default = "elsa" 12 | } 13 | 14 | variable "sshPublicKey" { 15 | description = "ssh key file to create an ec2 key-pair" 16 | default = "ssh-rsa AAAAB3...." 17 | } 18 | 19 | resource "random_id" "buildSuffix" { 20 | byte_length = 2 21 | } 22 | -------------------------------------------------------------------------------- /modules/aws/terraform/workstation/outputs.tf: -------------------------------------------------------------------------------- 1 | # output "workspaceManagementAddress" { 2 | # # Result is a map from instance id to private IP address, such as: 3 | # # {"i-1234" = "192.168.1.2", "i-5678" = "192.168.1.5"} 4 | # value = { 5 | # for instance in aws_instance.workstation: 6 | # instance.id => "ssh@${aws_instance.workstation.public_ip}" 7 | # } 8 | # } 9 | output "workspaceManagementAddress" { 10 | description = "public or private ip address of the instance" 11 | value = var.associateEIP ? aws_instance.workstation.public_ip : aws_instance.workstation.private_ip 12 | } 13 | 14 | output "workstation" { 15 | description = "ec2 instance output paramaters as documented here: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance" 16 | value = aws_instance.workstation 17 | } 18 | -------------------------------------------------------------------------------- /modules/azure/terraform/.gitignore: -------------------------------------------------------------------------------- 1 | . 2 | -------------------------------------------------------------------------------- /modules/azure/terraform/backend/examples/count/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | projectPrefix = "demo" 2 | resourceOwner = "user1" 3 | azureLocation = "westus2" 4 | ssh_key = "ssh-rsa AAABC123....." 5 | -------------------------------------------------------------------------------- /modules/azure/terraform/backend/examples/count/outputs.tf: -------------------------------------------------------------------------------- 1 | output "backendPrivateIp" { 2 | description = "private ip address of the instance" 3 | value = module.backend.*.privateIp 4 | } 5 | output "backendPublicIp" { 6 | description = "public ip address of the instance" 7 | value = module.backend.*.publicIp 8 | } 9 | output "backendInfo" { 10 | description = "VM instance output parameters as documented here: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_virtual_machine" 11 | value = module.backend.*.backendInfo 12 | sensitive = true 13 | } 14 | -------------------------------------------------------------------------------- /modules/azure/terraform/backend/examples/single/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | projectPrefix = "demo" 2 | resourceOwner = "user1" 3 | azureLocation = "westus2" 4 | ssh_key = "ssh-rsa AAABC123....." 5 | -------------------------------------------------------------------------------- /modules/azure/terraform/backend/examples/single/outputs.tf: -------------------------------------------------------------------------------- 1 | output "backendPrivateIp" { 2 | description = "private ip address of the instance" 3 | value = module.backend.privateIp 4 | } 5 | output "backendPublicIp" { 6 | description = "public ip address of the instance" 7 | value = module.backend.publicIp 8 | } 9 | output "backendInfo" { 10 | description = "VM instance output parameters as documented here: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_virtual_machine" 11 | value = module.backend.backendInfo 12 | sensitive = true 13 | } 14 | -------------------------------------------------------------------------------- /modules/azure/terraform/backend/examples/single/variables.tf: -------------------------------------------------------------------------------- 1 | variable "projectPrefix" { 2 | type = string 3 | description = "prefix for resources" 4 | } 5 | variable "resourceOwner" { 6 | type = string 7 | description = "name of the person or customer running the solution" 8 | } 9 | variable "azureLocation" { 10 | type = string 11 | description = "location where Azure resources are deployed (abbreviated Azure Region name)" 12 | } 13 | variable "ssh_key" { 14 | type = string 15 | description = "public key used for authentication in ssh-rsa format" 16 | } 17 | variable "public_address" { 18 | type = bool 19 | default = false 20 | description = "If true, an ephemeral public IP address will be assigned to the webserver. Default value is 'false'." 21 | } 22 | -------------------------------------------------------------------------------- /modules/azure/terraform/backend/files/README.md: -------------------------------------------------------------------------------- 1 | # Files 2 | 3 | This directory contains files that will be applied to workstation instance(s) as-is. 4 | 5 | > See also [templates](../templates/) 6 | -------------------------------------------------------------------------------- /modules/azure/terraform/backend/images/webapp-bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/azure/terraform/backend/images/webapp-bottom.png -------------------------------------------------------------------------------- /modules/azure/terraform/backend/images/webapp-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/azure/terraform/backend/images/webapp-top.png -------------------------------------------------------------------------------- /modules/azure/terraform/backend/outputs.tf: -------------------------------------------------------------------------------- 1 | output "privateIp" { 2 | description = "private ip address of the instance" 3 | value = azurerm_linux_virtual_machine.backend.private_ip_address 4 | } 5 | output "publicIp" { 6 | description = "public ip address of the instance" 7 | value = var.public_address ? azurerm_public_ip.this[0].ip_address : null 8 | } 9 | output "backendInfo" { 10 | description = "VM instance output parameters as documented here: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_virtual_machine" 11 | value = azurerm_linux_virtual_machine.backend 12 | sensitive = true 13 | } 14 | -------------------------------------------------------------------------------- /modules/azure/terraform/jumphost/examples/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | projectPrefix = "demo" 2 | buildSuffix = "dev" 3 | resourceOwner = "user1" 4 | azureLocation = "westus2" 5 | ssh_key = "ssh-rsa AAABC123....." 6 | -------------------------------------------------------------------------------- /modules/azure/terraform/jumphost/examples/outputs.tf: -------------------------------------------------------------------------------- 1 | output "jumphostPublicIp" { 2 | description = "public ip address of the instance" 3 | value = module.jumphost.publicIp 4 | } 5 | output "jumphostInfo" { 6 | description = "VM instance output parameters as documented here: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_virtual_machine" 7 | value = module.jumphost.jumphostInfo 8 | sensitive = true 9 | } 10 | -------------------------------------------------------------------------------- /modules/azure/terraform/jumphost/examples/variables.tf: -------------------------------------------------------------------------------- 1 | variable "projectPrefix" { 2 | type = string 3 | description = "prefix for resources" 4 | } 5 | variable "buildSuffix" { 6 | type = string 7 | description = "random build suffix for resources" 8 | } 9 | variable "resourceOwner" { 10 | type = string 11 | description = "name of the person or customer running the solution" 12 | } 13 | variable "azureLocation" { 14 | type = string 15 | description = "location where Azure resources are deployed (abbreviated Azure Region name)" 16 | } 17 | variable "ssh_key" { 18 | type = string 19 | description = "public key used for authentication in ssh-rsa format" 20 | } 21 | -------------------------------------------------------------------------------- /modules/azure/terraform/jumphost/outputs.tf: -------------------------------------------------------------------------------- 1 | output "publicIp" { 2 | description = "public ip address of the instance" 3 | value = azurerm_public_ip.mgmtPip.ip_address 4 | } 5 | 6 | output "jumphostInfo" { 7 | description = "VM instance output parameters as documented here: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_virtual_machine" 8 | value = azurerm_linux_virtual_machine.jumphost 9 | sensitive = true 10 | } 11 | -------------------------------------------------------------------------------- /modules/azure/terraform/network/min/azure-network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/azure/terraform/network/min/azure-network.png -------------------------------------------------------------------------------- /modules/azure/terraform/network/min/examples/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | projectPrefix = "demo" 2 | buildSuffix = "dev" 3 | resourceOwner = "user1" 4 | 5 | azureLocation = "westus2" 6 | -------------------------------------------------------------------------------- /modules/azure/terraform/network/min/examples/main.tf: -------------------------------------------------------------------------------- 1 | # Azure Provider 2 | provider "azurerm" { 3 | features {} 4 | } 5 | 6 | # Create Resource Group 7 | resource "azurerm_resource_group" "main" { 8 | name = format("%s-rg-%s", var.projectPrefix, var.buildSuffix) 9 | location = var.azureLocation 10 | 11 | tags = { 12 | Name = format("%s-rg-%s", var.resourceOwner, var.buildSuffix) 13 | Terraform = "true" 14 | } 15 | } 16 | 17 | # Network Module 18 | module "azure_network" { 19 | source = "../" 20 | projectPrefix = var.projectPrefix 21 | buildSuffix = var.buildSuffix 22 | resourceOwner = var.resourceOwner 23 | azureResourceGroup = azurerm_resource_group.main.name 24 | azureLocation = var.azureLocation 25 | 26 | depends_on = [azurerm_resource_group.main] 27 | } 28 | -------------------------------------------------------------------------------- /modules/azure/terraform/network/min/examples/outputs.tf: -------------------------------------------------------------------------------- 1 | output "azureInfra" { 2 | description = "Azure Vnet and subnet IDs for the created Vnet" 3 | value = { 4 | vnetId = module.azure_network.azureVnetId, 5 | vnetName = module.azure_network.azureVnetName, 6 | vnetCidrBlock = module.azure_network.azureVnetCidr, 7 | natId = module.azure_network.azureNatId, 8 | vpcs = module.azure_network.vpcs, 9 | subnets = module.azure_network.subnets 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /modules/azure/terraform/network/min/examples/variables.tf: -------------------------------------------------------------------------------- 1 | #project 2 | variable "projectPrefix" { 3 | type = string 4 | description = "prefix for resources" 5 | } 6 | variable "buildSuffix" { 7 | type = string 8 | description = "random build suffix for resources" 9 | } 10 | variable "resourceOwner" { 11 | description = "name of the person or customer running the solution" 12 | } 13 | 14 | #Azure VNet Inputs 15 | variable "azureLocation" { 16 | type = string 17 | description = "location where Azure resources are deployed (abbreviated Azure Region name)" 18 | } 19 | -------------------------------------------------------------------------------- /modules/azure/terraform/nginx-plus/iam.tf: -------------------------------------------------------------------------------- 1 | resource "azurerm_user_assigned_identity" "nginx-sa" { 2 | resource_group_name = var.resource_group.name 3 | location = var.resource_group.location 4 | 5 | name = "nginx-sa-${var.buildSuffix}" 6 | } 7 | -------------------------------------------------------------------------------- /modules/azure/terraform/nginx-plus/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/azure/terraform/nginx-plus/outputs.tf -------------------------------------------------------------------------------- /modules/azure/terraform/region-locations/outputs.tf: -------------------------------------------------------------------------------- 1 | output "lookup" { 2 | value = local.lookup 3 | description = "A map of Azure compute region to a coordinate object with latitude and longitude fields." 4 | } 5 | -------------------------------------------------------------------------------- /modules/azure/terraform/region-locations/variables.tf: -------------------------------------------------------------------------------- 1 | # Module contains no input variables 2 | -------------------------------------------------------------------------------- /modules/azure/terraform/webServer/examples/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | projectPrefix = "demo" 2 | buildSuffix = "dev" 3 | resourceOwner = "user1" 4 | azureLocation = "westus2" 5 | ssh_key = "ssh-rsa AAABC123....." 6 | -------------------------------------------------------------------------------- /modules/azure/terraform/webServer/examples/outputs.tf: -------------------------------------------------------------------------------- 1 | output "webServerPrivateIp" { 2 | description = "private ip address of the instance" 3 | value = module.webServer.privateIp 4 | } 5 | output "webServerInfo" { 6 | description = "VM instance output parameters as documented here: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_virtual_machine" 7 | value = module.webServer.webServerInfo 8 | sensitive = true 9 | 10 | } 11 | -------------------------------------------------------------------------------- /modules/azure/terraform/webServer/examples/variables.tf: -------------------------------------------------------------------------------- 1 | variable "projectPrefix" { 2 | type = string 3 | description = "prefix for resources" 4 | } 5 | variable "buildSuffix" { 6 | type = string 7 | description = "random build suffix for resources" 8 | } 9 | variable "resourceOwner" { 10 | type = string 11 | description = "name of the person or customer running the solution" 12 | } 13 | variable "azureLocation" { 14 | type = string 15 | description = "location where Azure resources are deployed (abbreviated Azure Region name)" 16 | } 17 | variable "ssh_key" { 18 | type = string 19 | description = "public key used for authentication in ssh-rsa format" 20 | } 21 | -------------------------------------------------------------------------------- /modules/azure/terraform/webServer/outputs.tf: -------------------------------------------------------------------------------- 1 | output "privateIp" { 2 | description = "private ip address of the instance" 3 | value = azurerm_linux_virtual_machine.webServer.private_ip_address 4 | } 5 | 6 | output "webServerInfo" { 7 | description = "VM instance output parameters as documented here: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_virtual_machine" 8 | value = azurerm_linux_virtual_machine.webServer 9 | sensitive = true 10 | } 11 | -------------------------------------------------------------------------------- /modules/azure/terraform/webServer/templates/startup.sh.tpl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # logging 3 | LOG_FILE=/var/log/startup-script.log 4 | if [ ! -e $LOG_FILE ] 5 | then 6 | touch $LOG_FILE 7 | exec &>>$LOG_FILE 8 | else 9 | #if file exists, exit as only want to run once 10 | exit 11 | fi 12 | 13 | exec 1>$LOG_FILE 2>&1 14 | 15 | ## variables 16 | user="ubuntu" 17 | # 18 | set -ex \ 19 | && apt-get update -y \ 20 | && apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common \ 21 | && echo "docker" \ 22 | && curl -fsSL https://get.docker.com -o get-docker.sh \ 23 | && sh get-docker.sh \ 24 | && while ! docker --version; do echo trying again&sleep 1; done \ 25 | && echo "start app" \ 26 | && ${startupCommand} 27 | 28 | echo "=====done=====" 29 | exit 30 | -------------------------------------------------------------------------------- /modules/common/files/backend/examples.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/common/files/backend/examples.png -------------------------------------------------------------------------------- /modules/google/terraform/backend/example/outputs.tf: -------------------------------------------------------------------------------- 1 | output "service_account" { 2 | value = module.server.service_account 3 | description = < See also [templates](../templates/) 6 | -------------------------------------------------------------------------------- /modules/google/terraform/backend/templates/README.md: -------------------------------------------------------------------------------- 1 | # Templates 2 | 3 | This directory contains files that will be processed by Terraform templating 4 | functions before being applied to workstation instance(s). These files may contain 5 | interpolation variables and functions (e.g. `${ var or function }` or `%{ directive }`) 6 | 7 | > See also [files](../files/) 8 | -------------------------------------------------------------------------------- /modules/google/terraform/infra/example/main.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 0.14.5" 3 | required_providers { 4 | google = { 5 | source = "hashicorp/google" 6 | version = ">= 3.54" 7 | } 8 | } 9 | } 10 | 11 | module "example" { 12 | source = "../" 13 | projectPrefix = var.projectPrefix 14 | buildSuffix = var.buildSuffix 15 | gcpRegion = var.gcpRegion 16 | gcpProjectId = var.gcpProjectId 17 | resourceOwner = var.resourceOwner 18 | } 19 | -------------------------------------------------------------------------------- /modules/google/terraform/infra/example/terraform.tfvars.example: -------------------------------------------------------------------------------- 1 | projectPrefix = "unique-prefix" 2 | buildSuffix = "unique-suffix" 3 | gcpRegion = "us-west1" 4 | gcpProjectId = "my-gcp-projectid" 5 | resourceOwner = "my-name" 6 | -------------------------------------------------------------------------------- /modules/google/terraform/infra/example/variables.tf: -------------------------------------------------------------------------------- 1 | # project 2 | variable "projectPrefix" { 3 | type = string 4 | description = "prefix for resources" 5 | } 6 | variable "buildSuffix" { 7 | type = string 8 | description = "random build suffix for resources" 9 | } 10 | variable "gcpRegion" { 11 | type = string 12 | description = "region where gke is deployed" 13 | } 14 | variable "gcpProjectId" { 15 | type = string 16 | description = "gcp project id" 17 | } 18 | variable "resourceOwner" { 19 | type = string 20 | default = "f5-dcec" 21 | description = "owner of GCP resources" 22 | } 23 | -------------------------------------------------------------------------------- /modules/google/terraform/infra/network-min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/google/terraform/infra/network-min.png -------------------------------------------------------------------------------- /modules/google/terraform/infra/registries.tf: -------------------------------------------------------------------------------- 1 | # Prefer artifact registry over GCR because it allows more than one registry per 2 | # project/location, ideal for shared projects like those at F5. 3 | resource "google_artifact_registry_repository" "container" { 4 | provider = google-beta 5 | count = var.features.registry ? 1 : 0 6 | project = var.gcpProjectId 7 | repository_id = format("%s-container-%s", var.projectPrefix, var.buildSuffix) 8 | description = format("OCI registry for %s (%s)", var.projectPrefix, var.buildSuffix) 9 | format = "DOCKER" 10 | location = var.gcpRegion 11 | labels = merge(local.labels, { 12 | purpose = "containers" 13 | }) 14 | } 15 | -------------------------------------------------------------------------------- /modules/google/terraform/network/min/example/main.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 0.14.5" 3 | required_providers { 4 | google = { 5 | source = "hashicorp/google" 6 | version = ">= 3.54" 7 | } 8 | } 9 | } 10 | 11 | module "network" { 12 | source = "../" 13 | projectPrefix = var.projectPrefix 14 | buildSuffix = var.buildSuffix 15 | gcpRegion = var.gcpRegion 16 | gcpProjectId = var.gcpProjectId 17 | resourceOwner = var.resourceOwner 18 | } 19 | -------------------------------------------------------------------------------- /modules/google/terraform/network/min/example/outputs.tf: -------------------------------------------------------------------------------- 1 | output "vpcs" { 2 | value = module.network.vpcs 3 | description = < See also [templates](../templates/) 6 | -------------------------------------------------------------------------------- /modules/google/terraform/workstation/images/F5-extension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/google/terraform/workstation/images/F5-extension.png -------------------------------------------------------------------------------- /modules/google/terraform/workstation/images/accept_risk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/google/terraform/workstation/images/accept_risk.png -------------------------------------------------------------------------------- /modules/google/terraform/workstation/images/bu23app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/google/terraform/workstation/images/bu23app.png -------------------------------------------------------------------------------- /modules/google/terraform/workstation/images/git-repos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/google/terraform/workstation/images/git-repos.png -------------------------------------------------------------------------------- /modules/google/terraform/workstation/images/installed-modules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/google/terraform/workstation/images/installed-modules.png -------------------------------------------------------------------------------- /modules/google/terraform/workstation/images/open-folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/google/terraform/workstation/images/open-folder.png -------------------------------------------------------------------------------- /modules/google/terraform/workstation/images/proxy_8888.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/google/terraform/workstation/images/proxy_8888.png -------------------------------------------------------------------------------- /modules/google/terraform/workstation/images/self-signed-cert-warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/google/terraform/workstation/images/self-signed-cert-warning.png -------------------------------------------------------------------------------- /modules/google/terraform/workstation/images/welcome-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/google/terraform/workstation/images/welcome-page.png -------------------------------------------------------------------------------- /modules/google/terraform/workstation/images/workstation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/google/terraform/workstation/images/workstation.png -------------------------------------------------------------------------------- /modules/google/terraform/workstation/templates/README.md: -------------------------------------------------------------------------------- 1 | # Templates 2 | 3 | This directory contains files that will be processed by Terraform templating 4 | functions before being applied to workstation instance(s). These files may contain 5 | interpolation variables and functions (e.g. `${ var or function }` or `%{ directive }`) 6 | 7 | > See also [files](../files/) 8 | -------------------------------------------------------------------------------- /modules/workstation/azure/README.md: -------------------------------------------------------------------------------- 1 | # azure workstation 2 | 3 | ubuntu 20.04 instance with coder and tools for working in terraform 4 | 5 | ## requirements 6 | - network type 7 | - kubernetes 8 | 9 | ## authentication 10 | 11 | 12 | ## setup 13 | Add your specific instructions or scripts 14 | 15 | ```bash 16 | cp admin.auto.tfvars.example admin.auto.tfvars 17 | # MODIFY TO YOUR SETTINGS 18 | . setup.sh 19 | ``` 20 | 21 | ## demo script 22 | 23 | hands off scripting of your configuration deployment EXPECTS infrastructure to exist 24 | 25 | ```bash 26 | . demo.sh 27 | ``` 28 | ## demo guide step by step 29 | 30 | commands step by step for your scripted solution 31 | 32 | ## cleanup 33 | ```bash 34 | . cleanup.sh 35 | ``` 36 | -------------------------------------------------------------------------------- /modules/workstation/azure/admin.auto.tfvars.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/workstation/azure/admin.auto.tfvars.example -------------------------------------------------------------------------------- /modules/workstation/azure/cleanup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "destroying demo" 3 | read -r -p "Are you sure? [y/N] " response 4 | if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] 5 | then 6 | terraform destroy --auto-approve 7 | else 8 | echo "canceling" 9 | fi 10 | -------------------------------------------------------------------------------- /modules/workstation/azure/demo.sh: -------------------------------------------------------------------------------- 1 | # automation related to your script 2 | # pull containers for ansible etc. 3 | # should configure whole solution 4 | -------------------------------------------------------------------------------- /modules/workstation/azure/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/workstation/azure/main.tf -------------------------------------------------------------------------------- /modules/workstation/azure/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/workstation/azure/outputs.tf -------------------------------------------------------------------------------- /modules/workstation/azure/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform init 3 | terraform fmt 4 | terraform validate 5 | terraform plan 6 | # apply 7 | read -p "Press enter to continue" 8 | terraform apply --auto-approve 9 | -------------------------------------------------------------------------------- /modules/workstation/azure/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/modules/workstation/azure/variables.tf -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | # BIG-IP Environment 2 | allowedIps = ["0.0.0.0/0"] 3 | vpcId = "vpc-1234" 4 | mgmtSubnetAz1 = "subnet-1111" 5 | mgmtSubnetAz2 = "subnet-2222" 6 | extSubnetAz1 = "subnet-3333" 7 | extSubnetAz2 = "subnet-4444" 8 | intSubnetAz1 = "subnet-5555" 9 | intSubnetAz2 = "subnet-6666" 10 | mgmtNsg = "sg-1111" 11 | extNsg = "sg-3333" 12 | intNsg = "sg-5555" 13 | ssh_key = "ssh-rsa AAABC123....." 14 | f5_username = "admin" 15 | f5_password = "Default12345!" 16 | 17 | # AWS Environment 18 | awsRegion = "us-west-2" 19 | projectPrefix = "mydemo" 20 | resourceOwner = "myname" 21 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | roles_path = ./ansible/roles 3 | playbooks_dir = ./ansible/playbooks 4 | retry_files_enabled = False 5 | deprecation_warnings = False 6 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws/ansible/playbooks/cluster.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - 3 | hosts: localhost 4 | roles: 5 | - cluster 6 | vars_files: 7 | - ../../tf_ansible_vars_file.yml 8 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws/ansible/playbooks/demo.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - 3 | hosts: localhost 4 | roles: 5 | - cluster 6 | - testVirtual 7 | vars_files: 8 | - ../../tf_ansible_vars_file.yml -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws/ansible/playbooks/testVirtual.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - 3 | hosts: localhost 4 | roles: 5 | - testVirtual 6 | vars_files: 7 | - ../../tf_ansible_vars_file.yml 8 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws/ansible/roles/cluster/defaults/main.yml: -------------------------------------------------------------------------------- 1 | # cluster specific parameters 2 | 3 | # module parameters 4 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws/ansible/roles/testVirtual/defaults/main.yml: -------------------------------------------------------------------------------- 1 | # cluster specific parameters 2 | 3 | # module parameters 4 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws/ansible/roles/testVirtual/files/testingiRule.tcl: -------------------------------------------------------------------------------- 1 | when HTTP_REQUEST { 2 | if { [active_members [LB::server pool]] == 0 } { 3 | HTTP::respond 200 content " 4 | 5 | 6 | Testing Page 7 | 8 | 9 |
10 | The big-ip upgrade environment is ready!
11 |
12 | [virtual name] is available
13 |
14 | Thanks for visiting from [IP::client_addr] to virtual address [IP::local_addr] 15 | 16 | 17 | " 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws/cleanup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "destroying demo" 3 | read -r -p "Are you sure? [y/N] " response 4 | if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] 5 | then 6 | terraform destroy --auto-approve 7 | else 8 | echo "canceling" 9 | fi 10 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws/demo.sh: -------------------------------------------------------------------------------- 1 | # automation related to your script 2 | # pull containers for ansible etc. 3 | # should configure whole solution 4 | 5 | #!/bin/bash 6 | 7 | ansible-playbook ansible/playbooks/demo.yml 8 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws/destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | module=$1 3 | 4 | echo "deleteing all resources in module ${module}" 5 | 6 | read -r -p "Are you sure? [y/N] " response 7 | if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] 8 | then 9 | list=$(terraform state list | grep module.${module}) 10 | for item in $list 11 | do 12 | terraform destroy --target $item --auto-approve 13 | done 14 | else 15 | echo "canceling" 16 | fi 17 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws/readme.md: -------------------------------------------------------------------------------- 1 | # MY solution title 2 | 3 | Quick info 4 | 5 | ## requirements 6 | - network type 7 | - kubernetes 8 | 9 | ## authentication 10 | 11 | 12 | ## setup 13 | Add your specific instructions or scripts 14 | 15 | ```bash 16 | cp admin.auto.tfvars.example admin.auto.tfvars 17 | # MODIFY TO YOUR SETTINGS 18 | . setup.sh 19 | ``` 20 | 21 | ## demo script 22 | 23 | hands off scripting of your configuration deployment EXPECTS infrastructure to exist 24 | 25 | ```bash 26 | . demo.sh 27 | ``` 28 | ## demo guide step by step 29 | 30 | commands step by step for your scripted solution 31 | 32 | ## cleanup 33 | ```bash 34 | . cleanup.sh 35 | ``` 36 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform init 3 | terraform fmt 4 | terraform validate 5 | # apply 6 | read -p "Press enter to continue" 7 | terraform apply --auto-approve 8 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/big-ip/upgrade/aws/taint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | module=$1 3 | echo "tainting all resources in module ${module}" 4 | read -r -p "Are you sure? [y/N] " response 5 | if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] 6 | then 7 | terraform state list | grep module.${module} | xargs -n1 terraform taint 8 | else 9 | echo "canceling" 10 | fi 11 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/nginx/.gitignore: -------------------------------------------------------------------------------- 1 | . 2 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/nginx/kic/aws/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | adminAccountName = "zadmin" 2 | resourceOwner = "yourname" 3 | awsRegion = "us-west-2" 4 | awsAz1 = "us-west-2a" 5 | awsAz2 = "us-west-2b" 6 | sshPublicKey = "keytype xxxxx" 7 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/nginx/kic/aws/cleanup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "destroying demo kic" 3 | read -r -p "Are you sure? [y/N] " response 4 | if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] 5 | then 6 | kubectl -n nginx-ingress delete pod,svc --all 7 | kubectl -n default delete pod,svc --all 8 | terraform state rm module.eks.kubernetes_config_map.aws_auth[0] 9 | terraform destroy --auto-approve 10 | else 11 | echo "canceling" 12 | fi 13 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/nginx/kic/aws/destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | module=$1 3 | 4 | echo "deleteing all resources in module ${module}" 5 | 6 | read -r -p "Are you sure? [y/N] " response 7 | if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] 8 | then 9 | list=$(terraform state list | grep module.${module}) 10 | for item in $list 11 | do 12 | terraform destroy --target $item --auto-approve 13 | done 14 | else 15 | echo "canceling" 16 | fi 17 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/nginx/kic/aws/outputs.tf: -------------------------------------------------------------------------------- 1 | output "jumphostPublicIp" { 2 | value = module.jumphost.workspaceManagementAddress 3 | } 4 | 5 | output "coderAdminPassword" { 6 | value = random_password.password.result 7 | } 8 | 9 | output "kubernetesClusterName" { 10 | value = module.eks.cluster_id 11 | } 12 | 13 | output "ecrRepositoryURL" { 14 | value = aws_ecr_repository.ecr.repository_url 15 | } 16 | 17 | output "publicSubnetAZ1" { 18 | value = module.aws_network.subnetsAz1.public 19 | } 20 | 21 | output "publicSubnetAZ2" { 22 | value = module.aws_network.subnetsAz2.public 23 | } 24 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/nginx/kic/aws/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform init 3 | terraform fmt 4 | terraform validate 5 | terraform plan 6 | # apply 7 | read -p "Press enter to continue" 8 | terraform apply --auto-approve 9 | #export KUBECONFIG=$KUBECONFIG:$(echo -n "$(cat ./cluster-config)") 10 | mkdir -p ~/.kube/ 11 | \cp ./cluster-config ~/.kube/cluster-config 12 | export KUBECONFIG=$KUBECONFIG:~/.kube/cluster-config 13 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/nginx/kic/aws/taint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | module=$1 3 | echo "tainting all resources in module ${module}" 4 | read -r -p "Are you sure? [y/N] " response 5 | if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] 6 | then 7 | terraform state list | grep module.${module} | xargs -n1 terraform taint 8 | else 9 | echo "canceling" 10 | fi 11 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/nginx/kic/azure/.gitignore: -------------------------------------------------------------------------------- 1 | aks-client-cert 2 | aks-cluster-config 3 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/nginx/kic/azure/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | projectPrefix = "kic-nap-aks" 2 | resourceOwner = "user1" 3 | azureLocation = "westus2" 4 | # 5 | sshPublicKey = "keytype xxxxx" 6 | #controller 7 | controllerAccount = "zadmin@example.com" 8 | controllerPass = "pleaseUseVault123!!" 9 | #nginx 10 | nginxCert = < 28 | ``` 29 | 30 | # cleanup 31 | ```bash 32 | . cleanup.sh 33 | ``` 34 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/nginx/nginx-plus/aws/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | # admin 2 | adminAccountName = "xadmin" 3 | sshPublicKey = "keytype AAAA" 4 | #admin_source_cidr = "0.0.0.0/0" 5 | # aws 6 | aws_region = "us-east-2" 7 | aws_az1 = "us-east-2a" 8 | aws_az2 = "us-east-2b" 9 | #controller 10 | controllerAccount = "zadmin@example.com" 11 | controllerPass = "pleaseUseVault123!!" 12 | #nginx 13 | nginxCert = < 21 | ``` 22 | 23 | ## cleanup 24 | 25 | ```bash 26 | . cleanup.sh 27 | ``` 28 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/nginx/nginx-plus/azure/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform init 3 | terraform fmt 4 | terraform validate 5 | terraform plan 6 | # apply 7 | read -p "Press enter to continue" 8 | terraform apply --auto-approve 9 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/nginx/nginx-plus/google/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | # project 2 | projectPrefix = "demonginx" 3 | gcpProjectId = "myprojectid" 4 | gcpRegion = "us-east1" 5 | gcpZone = "us-east1-b" 6 | # admin 7 | adminAccount = "notadmin" 8 | adminPassword = "pleaseusevault123!" 9 | adminSourceAddress = ["192.168.2.1/32", "192.168.2.3/32", "192.168.4.3/32"] 10 | sshPublicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAA..." 11 | #controller 12 | controllerAccount = "zadmin@example.com" 13 | controllerPass = "pleaseUseVault123!!" 14 | #nginx 15 | nginxCert = < 23 | ``` 24 | ## cleanup 25 | ```bash 26 | . cleanup.sh 27 | ``` 28 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/nginx/nginx-plus/google/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform init 3 | terraform fmt 4 | terraform validate 5 | terraform plan 6 | # apply 7 | read -p "Press enter to continue" 8 | terraform apply --auto-approve 9 | -------------------------------------------------------------------------------- /solutions/delivery/application_delivery_controller/nginx/nginx-plus/readme.md: -------------------------------------------------------------------------------- 1 | # nginx-plus 2 | 3 | deploy a VM instance running nginx-plus 4 | 5 | select a provider and follow the readme. 6 | -------------------------------------------------------------------------------- /solutions/security/aws-cf-device-id/destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "This will destroy your deployment, no going back from here - Press enter to continue" 3 | # apply 4 | read -r -p "Are you sure? [y/N] " response 5 | if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] 6 | then 7 | terraform destroy --auto-approve 8 | else 9 | echo "canceling" 10 | fi 11 | -------------------------------------------------------------------------------- /solutions/security/aws-cf-device-id/main.tf: -------------------------------------------------------------------------------- 1 | provider "aws" { 2 | region = var.awsRegion 3 | } 4 | -------------------------------------------------------------------------------- /solutions/security/aws-cf-device-id/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform init 3 | terraform plan 4 | read -p "Press enter to continue" 5 | terraform apply --auto-approve 6 | # apply 7 | -------------------------------------------------------------------------------- /solutions/security/aws-inter-subnet-fw-gwlb/Egress-traffic-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/security/aws-inter-subnet-fw-gwlb/Egress-traffic-flow.png -------------------------------------------------------------------------------- /solutions/security/aws-inter-subnet-fw-gwlb/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | resourceOwner = "fred" 2 | awsRegion = "us-west-2" 3 | sshPublicKey = "ssh-rsa AAA" 4 | projectPrefix = "ingress-egress-fw" 5 | -------------------------------------------------------------------------------- /solutions/security/aws-inter-subnet-fw-gwlb/destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "destroying demo gwlb-ingress-fw" 3 | read -r -p "Are you sure? [y/N] " response 4 | if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] 5 | then 6 | terraform destroy --auto-approve 7 | else 8 | echo "canceling" 9 | fi 10 | -------------------------------------------------------------------------------- /solutions/security/aws-inter-subnet-fw-gwlb/gwlb-fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/security/aws-inter-subnet-fw-gwlb/gwlb-fw.png -------------------------------------------------------------------------------- /solutions/security/aws-inter-subnet-fw-gwlb/ingress-traffic-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/security/aws-inter-subnet-fw-gwlb/ingress-traffic-flow.png -------------------------------------------------------------------------------- /solutions/security/aws-inter-subnet-fw-gwlb/inter-subnet-traffic-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/security/aws-inter-subnet-fw-gwlb/inter-subnet-traffic-flow.png -------------------------------------------------------------------------------- /solutions/security/aws-inter-subnet-fw-gwlb/inter-subnet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/security/aws-inter-subnet-fw-gwlb/inter-subnet.png -------------------------------------------------------------------------------- /solutions/security/aws-inter-subnet-fw-gwlb/outputs.tf: -------------------------------------------------------------------------------- 1 | output "bigipPublicIp" { 2 | description = "Public ip for the BIGIP, access on port 8443" 3 | value = module.gwlb-bigip-vpc.bigipIp 4 | } 5 | output "ubuntuJumpHostAz1" { 6 | description = "public ip address of the jumphost" 7 | value = aws_instance.ubuntuVpcMainSubnetA.public_ip 8 | } 9 | 10 | output "internalUbuntuAz1" { 11 | description = "internal ip address of the internal jumphost" 12 | value = aws_instance.internalUbuntuAz1.private_ip 13 | } 14 | 15 | output "bigipPassword" { 16 | description = "Password for the admin usernmae" 17 | value = module.gwlb-bigip-vpc.bigipPassword 18 | } 19 | -------------------------------------------------------------------------------- /solutions/security/aws-inter-subnet-fw-gwlb/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform init 3 | terraform plan 4 | # apply 5 | read -p "Press enter to continue" 6 | terraform apply --auto-approve 7 | -------------------------------------------------------------------------------- /solutions/security/gateway-load-balancer/azure/images/Azure-GWLB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/security/gateway-load-balancer/azure/images/Azure-GWLB.png -------------------------------------------------------------------------------- /solutions/security/gateway-load-balancer/azure/modules/app_server/cloud_init.yaml: -------------------------------------------------------------------------------- 1 | #cloud-config 2 | 3 | # Update apt database on first boot (run 'apt-get update'). 4 | package_update: true 5 | 6 | # Install additional packages on first boot 7 | packages: 8 | - docker.io 9 | 10 | # run commands 11 | runcmd: 12 | # - sudo docker run -d -p 80:8080 -p 443:8443 --restart unless-stopped f5devcentral/f5-hello-world 13 | - sudo docker run -d -p 80:80 -p 443:443 --restart unless-stopped f5devcentral/f5-demo-httpd:nginx 14 | -------------------------------------------------------------------------------- /solutions/security/gateway-load-balancer/azure/modules/app_server/outputs.tf: -------------------------------------------------------------------------------- 1 | output network_interface_id { 2 | value = azurerm_network_interface.nic.id 3 | } 4 | 5 | output ip_configuration_name { 6 | value = azurerm_network_interface.nic.ip_configuration[0].name 7 | } -------------------------------------------------------------------------------- /solutions/security/gateway-load-balancer/azure/modules/app_server/variables.tf: -------------------------------------------------------------------------------- 1 | variable "location" {default = "East US 2"} 2 | variable "resource_group_name" {default = "my-demo-resource-group"} 3 | variable "subnet_id" {} 4 | variable "vm_name" {} 5 | variable "vm_size" {default = "Standard_DS1_v2"} 6 | variable "f5_ssh_publickey" { 7 | description = "public key to be used for ssh access to the VM. e.g. c:/home/id_rsa.pub" 8 | } 9 | variable "upassword" { 10 | description = "admin password for VM" 11 | } 12 | 13 | -------------------------------------------------------------------------------- /solutions/security/gateway-load-balancer/azure/modules/bigip/onboard_do_1nic.tpl: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": "1.0.0", 3 | "class": "Device", 4 | "async": true, 5 | "label": "Onboard BIG-IP", 6 | "Common": { 7 | "class": "Tenant", 8 | "mySystem": { 9 | "class": "System", 10 | "hostname": "${hostname}" 11 | }, 12 | "myDns": { 13 | "class": "DNS", 14 | "nameServers": [ 15 | ${name_servers} 16 | ], 17 | "search": [ 18 | "f5.com" 19 | ] 20 | }, 21 | "myNtp": { 22 | "class": "NTP", 23 | "servers": [ 24 | ${ntp_servers} 25 | ], 26 | "timezone": "UTC" 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /solutions/security/gateway-load-balancer/azure/modules/vnet/main.tf: -------------------------------------------------------------------------------- 1 | resource "azurerm_virtual_network" "vnet" { 2 | name = "${var.resource_group_name}-vnet" 3 | location = var.location 4 | resource_group_name = var.resource_group_name 5 | address_space = [var.network_cidr] 6 | 7 | subnet { 8 | name = "mgmt" 9 | address_prefix = var.mgmt_subnet_prefix 10 | } 11 | 12 | subnet { 13 | name = "external" 14 | address_prefix = var.external_subnet_prefix 15 | } 16 | 17 | subnet { 18 | name = "internal" 19 | address_prefix = var.internal_subnet_prefix 20 | # security_group = azurerm_network_security_group.example.id 21 | } 22 | } -------------------------------------------------------------------------------- /solutions/security/gateway-load-balancer/azure/modules/vnet/variables.tf: -------------------------------------------------------------------------------- 1 | # 2 | # Variables Configuration 3 | # 4 | # Variables for resources 5 | variable "location" { default = "East US 2"} 6 | variable "resource_group_name" { default = ""} 7 | variable "network_cidr" { default = ""} 8 | variable "mgmt_subnet_prefix" { default = ""} 9 | variable "external_subnet_prefix" { default = ""} 10 | variable "internal_subnet_prefix" { default = ""} 11 | 12 | #variables for AzureRM provider 13 | #variable "client_id" { default = ""} 14 | #variable "subscription_id" { default = ""} 15 | #variable "tenant_id" { default = ""} 16 | #variable "client_secret" { default = ""} -------------------------------------------------------------------------------- /solutions/security/gateway-load-balancer/azure/providers.tf: -------------------------------------------------------------------------------- 1 | 2 | provider "azurerm" { 3 | features {} 4 | } 5 | 6 | terraform { 7 | required_providers { 8 | azurerm = { 9 | # The "hashicorp" namespace is the new home for the HashiCorp-maintained 10 | # provider plugins. 11 | # 12 | # source is not required for the hashicorp/* namespace as a measure of 13 | # backward compatibility for commonly-used providers, but recommended for 14 | # explicitness. 15 | source = "hashicorp/azurerm" 16 | version = ">=2.84.0" 17 | } 18 | } 19 | required_version = "~> 1.0.8" 20 | } -------------------------------------------------------------------------------- /solutions/security/ingress-egress-fw/Egress-traffic-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/security/ingress-egress-fw/Egress-traffic-flow.png -------------------------------------------------------------------------------- /solutions/security/ingress-egress-fw/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | resourceOwner = "fred" 2 | awsRegion = "us-west-2" 3 | sshPublicKey = "ssh-rsa AAA" 4 | projectPrefix = "ingress-egress-fw" 5 | -------------------------------------------------------------------------------- /solutions/security/ingress-egress-fw/destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "destroying demo gwlb-ingress-fw" 3 | read -r -p "Are you sure? [y/N] " response 4 | if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] 5 | then 6 | terraform destroy --auto-approve 7 | else 8 | echo "canceling" 9 | fi 10 | -------------------------------------------------------------------------------- /solutions/security/ingress-egress-fw/gwlb-fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/security/ingress-egress-fw/gwlb-fw.png -------------------------------------------------------------------------------- /solutions/security/ingress-egress-fw/ingress-traffic-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/security/ingress-egress-fw/ingress-traffic-flow.png -------------------------------------------------------------------------------- /solutions/security/ingress-egress-fw/outputs.tf: -------------------------------------------------------------------------------- 1 | output "bigipPublicIp" { 2 | description = "Public ip for the BIGIP, access on port 8443" 3 | value = module.gwlb-bigip-vpc.bigipIp 4 | } 5 | output "ubuntuJumpHostAz1" { 6 | description = "public ip address of the jumphost" 7 | value = aws_instance.ubuntuVpcMainSubnetA.public_ip 8 | } 9 | output "bigipPassword" { 10 | description = "Password for the admin usernmae" 11 | value = module.gwlb-bigip-vpc.bigipPassword 12 | } 13 | -------------------------------------------------------------------------------- /solutions/security/ingress-egress-fw/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform init 3 | terraform plan 4 | # apply 5 | read -p "Press enter to continue" 6 | terraform apply --auto-approve 7 | -------------------------------------------------------------------------------- /solutions/security/ingress-egress-inter-vpc-fw-gwlb/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | resourceOwner = "fred" 2 | awsRegion = "us-west-2" 3 | sshPublicKey = "ssh-rsa AAA" 4 | projectPrefix = "fw-ingress-inter-vpc-gwlb" 5 | -------------------------------------------------------------------------------- /solutions/security/ingress-egress-inter-vpc-fw-gwlb/destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "This will destroy your deployment, no going back from here - Press enter to continue" 3 | # apply 4 | read -r -p "Are you sure? [y/N] " response 5 | if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] 6 | then 7 | terraform destroy --auto-approve 8 | else 9 | echo "canceling" 10 | fi 11 | -------------------------------------------------------------------------------- /solutions/security/ingress-egress-inter-vpc-fw-gwlb/ingress-egress-inter-vpc-WITH-sec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/security/ingress-egress-inter-vpc-fw-gwlb/ingress-egress-inter-vpc-WITH-sec.png -------------------------------------------------------------------------------- /solutions/security/ingress-egress-inter-vpc-fw-gwlb/ingress-egress-inter-vpc-fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/security/ingress-egress-inter-vpc-fw-gwlb/ingress-egress-inter-vpc-fw.png -------------------------------------------------------------------------------- /solutions/security/ingress-egress-inter-vpc-fw-gwlb/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform init 3 | terraform plan 4 | read -p "Press enter to continue" 5 | terraform apply --auto-approve 6 | # apply 7 | -------------------------------------------------------------------------------- /solutions/security/ingress-egress-inter-vpc-fw-gwlb/spoke10-to-internet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/security/ingress-egress-inter-vpc-fw-gwlb/spoke10-to-internet.png -------------------------------------------------------------------------------- /solutions/security/ingress-egress-inter-vpc-fw-gwlb/spoke10-to-spoke20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/security/ingress-egress-inter-vpc-fw-gwlb/spoke10-to-spoke20.png -------------------------------------------------------------------------------- /solutions/security/ingress-egress-inter-vpc-fw-gwlb/user-to-spoke10-service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/security/ingress-egress-inter-vpc-fw-gwlb/user-to-spoke10-service.png -------------------------------------------------------------------------------- /solutions/security/ingress-egress-inter-vpc-fw-gwlb/versions.tf: -------------------------------------------------------------------------------- 1 | 2 | terraform { 3 | required_version = ">= 0.12.7" 4 | 5 | required_providers { 6 | aws = ">= 2.24" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /solutions/security/nginx/kic/aws/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | adminAccountName = "zadmin" 2 | resourceOwner = "yourname" 3 | awsRegion = "us-west-2" 4 | awsAz1 = "us-west-2a" 5 | awsAz2 = "us-west-2b" 6 | sshPublicKey = "keytype xxxxx" 7 | -------------------------------------------------------------------------------- /solutions/security/nginx/kic/aws/cleanup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "destroying demo kic" 3 | read -r -p "Are you sure? [y/N] " response 4 | if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] 5 | then 6 | kubectl -n nginx-ingress delete pod,svc --all 7 | kubectl -n default delete pod,svc --all 8 | terraform state rm module.eks.kubernetes_config_map.aws_auth[0] 9 | terraform destroy --auto-approve 10 | else 11 | echo "canceling" 12 | fi 13 | -------------------------------------------------------------------------------- /solutions/security/nginx/kic/aws/destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | module=$1 3 | 4 | echo "deleteing all resources in module ${module}" 5 | 6 | read -r -p "Are you sure? [y/N] " response 7 | if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] 8 | then 9 | list=$(terraform state list | grep module.${module}) 10 | for item in $list 11 | do 12 | terraform destroy --target $item --auto-approve 13 | done 14 | else 15 | echo "canceling" 16 | fi 17 | -------------------------------------------------------------------------------- /solutions/security/nginx/kic/aws/outputs.tf: -------------------------------------------------------------------------------- 1 | output "jumphostPublicIp" { 2 | value = module.jumphost.workspaceManagementAddress 3 | } 4 | 5 | output "coderAdminPassword" { 6 | value = random_password.password.result 7 | } 8 | 9 | output "kubernetesClusterName" { 10 | value = module.eks.cluster_id 11 | } 12 | 13 | output "ecrRepositoryURL" { 14 | value = aws_ecr_repository.ecr.repository_url 15 | } 16 | 17 | output "publicSubnetAZ1" { 18 | value = module.aws_network.subnetsAz1.public 19 | } 20 | 21 | output "publicSubnetAZ2" { 22 | value = module.aws_network.subnetsAz2.public 23 | } 24 | -------------------------------------------------------------------------------- /solutions/security/nginx/kic/aws/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform init 3 | terraform fmt 4 | terraform validate 5 | terraform plan 6 | # apply 7 | read -p "Press enter to continue" 8 | terraform apply --auto-approve 9 | #export KUBECONFIG=$KUBECONFIG:$(echo -n "$(cat ./cluster-config)") 10 | mkdir -p ~/.kube/ 11 | \cp ./cluster-config ~/.kube/cluster-config 12 | export KUBECONFIG=$KUBECONFIG:~/.kube/cluster-config 13 | -------------------------------------------------------------------------------- /solutions/security/nginx/kic/aws/taint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | module=$1 3 | echo "tainting all resources in module ${module}" 4 | read -r -p "Are you sure? [y/N] " response 5 | if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] 6 | then 7 | terraform state list | grep module.${module} | xargs -n1 terraform taint 8 | else 9 | echo "canceling" 10 | fi 11 | -------------------------------------------------------------------------------- /solutions/security/nginx/kic/azure/.gitignore: -------------------------------------------------------------------------------- 1 | # ingress repo 2 | kubernetes-ingress 3 | # aks config 4 | aks-client-cert 5 | aks-cluster-config 6 | #terraform 7 | .terraform.lock.hcl 8 | -------------------------------------------------------------------------------- /solutions/security/nginx/kic/azure/admin.auto.tfvars.example: -------------------------------------------------------------------------------- 1 | projectPrefix = "kic-nap-aks" 2 | resourceOwner = "user1" 3 | azureLocation = "westus2" 4 | # 5 | sshPublicKey = "keytype xxxxx" 6 | #controller 7 | controllerAccount = "zadmin@example.com" 8 | controllerPass = "pleaseUseVault123!!" 9 | #nginx 10 | nginxCert = < v.vpc_id }) 7 | description = "VPC id's" 8 | } 9 | -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/azure-destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform -chdir=azure destroy -var-file=../admin.auto.tfvars \ 3 | -var buildSuffix=`terraform output -json | jq -r .buildSuffix.value` \ 4 | -var volterraVirtualSite=`terraform output -json | jq -r .volterraVirtualSite.value` 5 | -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/azure-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform -chdir=azure init 3 | terraform -chdir=azure apply -var-file=../admin.auto.tfvars \ 4 | -var buildSuffix=`terraform output -json | jq -r .buildSuffix.value` \ 5 | -var volterraVirtualSite=`terraform output -json | jq -r .volterraVirtualSite.value` 6 | -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/azure/images/httplb-client-ip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/volterra/multi-cloud-connectivity/azure/images/httplb-client-ip.png -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/azure/images/httplb-requests.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/volterra/multi-cloud-connectivity/azure/images/httplb-requests.png -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/azure/images/httplb-tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/volterra/multi-cloud-connectivity/azure/images/httplb-tab.png -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/azure/images/proxy-socks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/volterra/multi-cloud-connectivity/azure/images/proxy-socks.png -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/azure/outputs.tf: -------------------------------------------------------------------------------- 1 | output "azureJumphostPublicIps" { 2 | description = "Jumphost Public IPs" 3 | value = values(module.jumphost)[*]["publicIp"] 4 | } 5 | 6 | output "vnetIds" { 7 | description = "VNet IDs" 8 | value = values(module.network)[*]["vnet_id"] 9 | } 10 | -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/azure/versions.tf: -------------------------------------------------------------------------------- 1 | # Set minimum Terraform version and Terraform Cloud backend 2 | terraform { 3 | required_version = ">= 0.14.5" 4 | required_providers { 5 | volterra = { 6 | source = "volterraedge/volterra" 7 | version = "0.11.4" 8 | } 9 | azurerm = ">= 2.95" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform destroy 3 | -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/gcp-destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform -chdir=gcp destroy -var-file=../admin.auto.tfvars \ 3 | -var buildSuffix=`terraform output -json | jq -r .buildSuffix.value` \ 4 | -var volterraVirtualSite=`terraform output -json | jq -r .volterraVirtualSite.value` 5 | 6 | # apply 7 | -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/gcp-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | terraform -chdir=gcp init 3 | terraform -chdir=gcp apply -var-file=../admin.auto.tfvars \ 4 | -var buildSuffix=`terraform output -json | jq -r .buildSuffix.value` \ 5 | -var volterraVirtualSite=`terraform output -json | jq -r .volterraVirtualSite.value` 6 | -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/gcp/files/inside_ips_for_tag.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | eval "$(jq -r '@sh "_TAG=\(.tag) _GCP_PROJ=\(.project)"')" 4 | if [ -z "${_TAG}" ] || [ "${_TAG}" = "null" ] || [ -z "${_GCP_PROJ}" ] || [ "${_GCP_PROJ}" = "null" ]; then 5 | echo '{"addresses":""}' 6 | exit 0 7 | fi 8 | gcloud compute instances list \ 9 | --project="${_GCP_PROJ}" \ 10 | --filter="tags.items=${_TAG}" \ 11 | --format='value(networkInterfaces[1].networkIP)' | \ 12 | jq -nR '{"addresses": [inputs | select(length>0)] | join(",")}' 13 | -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/gcp/images/bu23app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/volterra/multi-cloud-connectivity/gcp/images/bu23app.png -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/gcp/images/proxy_8888.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/volterra/multi-cloud-connectivity/gcp/images/proxy_8888.png -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/gcp/images/svc-acct-key1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/volterra/multi-cloud-connectivity/gcp/images/svc-acct-key1.png -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/gcp/images/svc-acct-key2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/f5devcentral/f5-digital-customer-engagement-center/3d1d19270e3e0211faa346ffefb6ba0bf25fe7e0/solutions/volterra/multi-cloud-connectivity/gcp/images/svc-acct-key2.png -------------------------------------------------------------------------------- /solutions/volterra/multi-cloud-connectivity/gcp/outputs.tf: -------------------------------------------------------------------------------- 1 | output "connection_helpers" { 2 | value = jsonencode({ for k, v in module.workstation : k => jsondecode(v.connection_helpers) }) 3 | description = <