Skip to content

Commit

Permalink
Merge pull request #167 from aconley245/appworld
Browse files Browse the repository at this point in the history
Appworld
  • Loading branch information
lesleycw authored Dec 29, 2023
2 parents 9fb1d15 + 157149c commit 3aeef82
Show file tree
Hide file tree
Showing 75 changed files with 494 additions and 26 deletions.
Binary file modified docs/class8/_static/lab1-API_Documentation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-Demoshop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-Generate_API_Token.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-Portal_Namespaces_Name_Execute.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-Portal_Namespaces_Name_JSON.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-Postman_HC_Results.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-Postman_LB_Results.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-Postman_LB_Send.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-Postman_Namespace_Results.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-Postman_Pool_Results.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/class8/_static/lab1-Postman_Pool_Send.textClipping
Binary file not shown.
Binary file modified docs/class8/_static/lab1-Postman_Variables.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-XC_HC.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-XC_HC_JSON.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-XC_HC_JSON_Data.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-XC_HC_Manage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-XC_LB.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-XC_LB_JSON.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-XC_LB_JSON_Data.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-XC_LB_Manage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-XC_Pool.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-XC_Pool_JSON.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-XC_Pool_JSON_Data.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab1-XC_Pool_Manage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/class8/_static/lab2-Postman_AppFW_Results.png
Binary file modified docs/class8/_static/lab2-Postman_SP_Results.png
Binary file modified docs/class8/_static/lab2-Postman_SP_Send.png
Binary file added docs/class8/_static/lab2-XC_LB_SP_JSON_Data.png
Binary file added docs/class8/_static/lab3-Terraform_Cert_Copy.png
Binary file added docs/class8/_static/lab3-Terraform_VSC.png
Binary file added docs/class8/_static/lab3-Terraform_VSC_Apply.png
Binary file added docs/class8/_static/lab3-Terraform_VSC_Init.png
Binary file added docs/class8/_static/lab3-Terraform_VSC_Main.png
Binary file added docs/class8/_static/lab3-Terraform_VSC_Plan.png
Binary file added docs/class8/_static/lab3-XC_Terraform_WAF.png
35 changes: 21 additions & 14 deletions docs/class8/class8.rst
Original file line number Diff line number Diff line change
@@ -1,32 +1,39 @@
F5 Distributed Cloud - Introduction to Deployment Models and Services
=========================================================================
F5 Distributed Cloud Automation - NetOps, DevOps, SecOps and Beyond
===================================================================

Welcome
-------

In this lab, attendees will be introduced to the F5 Distributed Cloud Services platform. Attendees will create proxy services for publishing and securing
applications that are served by both public and private endpoints. Attendees will also explore the DNS, Observability, and CDN capabilities of the platform.
In this hands-on lab environment, attendees will explore the use of the F5 Distributed Cloud API to review,
build and maintain deployed configurations. During the lab, attendees will be performing API calls to automate
various aspects of standard F5 Distributed Cloud operations from basic building blocks to automating security
configurations and controls. Adjacent automation tools will also be explored.

Objectives:
----------

- Gain an understanding of deploying proxy services to securely deliver an application with a public endpoint
- Gain an understanding of viewing telemetry data and utilizing it to tune WAAP policies
- Gain an understanding of how to deploy a site for providing connectivity to a private endpoint
- Gain an understanding of DNS, Observability, and CDN
- Gain an understanding of Multi-Cloud Networking (MCN) connectivity features (i.e. AWS, Azure, and Google)
- Gain a deeper understanding of key F5 Distributed Cloud API frameworks and controls.
- Gain an understanding of the F5 Distributed Cloud API-first framework.
- Establish basic operational tasks for object management.
- Explore Terraform Provider for F5 Distributed Cloud


Lab & Tasks:
------------

The next page (Introduction) will cover the lab environment, access, and lab variables. The lab will be using a shared AWS account where we have deployed the following resources:
The next page (Introduction) will cover the lab environment, access, and lab variables. The lab will be using a
Windows 10 client with Postman and Terraform pre-installed to demonostatre how to automate the deployment of:

- NGINX webserver that is exposed to the Public internet ("Public Endpoint")
- F5 Distributed Cloud site node that can be used to connect to AWS VPC (network)
- NGINX webserver that only has a private IP address with no external access
- F5 Distributed Cloud HTTP Health Check
- F5 Distributed Cloud Origin Pool
- F5 Distributed Cloud HTTP Load Balancer
- F5 Distributed Cloud Web Application Firewall
- F5 Distributed Cloud Service Policy

During the lab exercises we will explore different methods of protecting and exposing applications/webserver
that are included in the lab
that are included in the lab.

A Git Repository of the configurations used in this lab is available at https://github.com/f5devcentral/appworld-f5xc-automation

.. toctree::
:maxdepth: 2
Expand Down
8 changes: 4 additions & 4 deletions docs/class8/lab1.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Lab 1: API-First Console
==========================================================================================
========================

This lab will focus on demonstrating the API-First capabilities of the F5 Distribured Cloud
Console. Students will begin by creating an API token for authenticating to the API. Next,
Expand All @@ -20,7 +20,7 @@ F5 Distributed Cloud Console, having set your Work Domain Roles and Skill levels
not done so already, please login to your tenant for this lab and proceed to Task 1.

Task 1: Review Developer Portal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The following steps will allow you to create an API Token and query the Distributed Cloud API
utilizing the Developer Portal.
Expand All @@ -46,7 +46,7 @@ utilizing the Developer Portal.
| |
| * **Credential Name ID:** *<namespace>-api-token* |
| * **Credential Type: Select:** *API Token* |
| * **Expiry Date: Select:** *<date two day in the future of today's date>* |
| * **Expiry Date: Select:** *<date two days in the future of today's date>* |
| |
| 6. Click **Generate**. |
| |
Expand Down Expand Up @@ -379,7 +379,7 @@ configuration will then be tested utilizing a web browser to access the web appl
| |
| *API utilizing Postman.* |
+---------------------------------------------------------------------------------------------------------------+
| |lab1-Demoshop| |
| |lab1-Demoshop| |
+---------------------------------------------------------------------------------------------------------------+

+---------------------------------------------------------------------------------------------------------------+
Expand Down
33 changes: 25 additions & 8 deletions docs/class8/lab2.rst
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
Lab 2: Operationalize Security Configurations
============================================================================================
=============================================

The following lab tasks will guide you through using Postman to modify an existinga HTTP Load Balancer deployment
to apply a Web Application Firewall configuration and Service Policy configuration. This lab demonstrates the use
of the PUT method to modify an existing object in Distributed Cloud.
to apply a Web Application Firewall and Service Policy configuration. This lab demonstrates the use of the PUT
method to modify an existing object in Distributed Cloud. Students will then use the DELETE method to delete
the objects created in Lab 1 and Lab 2 in prepration for Lab 3.

**Expected Lab Time: 20 minutes**

Task 1: Create and Attach WAAP Policy
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Task 1: Create & Attach WAAP Policy
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In this task you will use Postman to create an Application Firewall policy with the default settings. Postman
will then be used to attach the Application Firewall to the HTTP Load Balancer created in Lab 1.

Expand Down Expand Up @@ -100,8 +101,8 @@ This lab will begin back in the Windows 10 client deployed as part of the UDF.
| |lab2-XC_LB_AppFW_JSON_Data| |
+---------------------------------------------------------------------------------------------------------------+

Task 2: Create and Service Policy
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Task 2: Create & Attach a Service Policy
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In this task you will use Postman to create a Service Policy that only allows specific contries to access your
application. Postman will then be used to attach the Service Policy to the HTTP Load Balancer created in Lab 1.

Expand Down Expand Up @@ -249,6 +250,20 @@ cleans up the environment in prepation for Lab3.
| |lab2-Postman_HC_Delete_Results| |
+---------------------------------------------------------------------------------------------------------------+

+---------------------------------------------------------------------------------------------------------------+
| **End of Lab 2:** This concludes Lab 2. In this lab you learned how to use Postman to create an Web |
| |
| Application Firewall policy and Service Policy. You then used Postman to modify the HTTP Load Balancer you |
| |
| created in Lab 1 and apply the Web Application Firewall and Service policy. Lastly you used Postman to delete |
| |
| all of the configuration from Lab 1 and Lab 2 in preperation for Lab 3. |
| |
| A brief presentation will be shared prior to the beginning of Lab 3. |
+---------------------------------------------------------------------------------------------------------------+
| |labend| |
+---------------------------------------------------------------------------------------------------------------+

.. |lab2-Postman_AppFW_Body| image:: _static/lab2-Postman_AppFW_Body.png
:width: 800px
.. |lab2-Postman_AppFW_Send| image:: _static/lab2-Postman_AppFW_Send.png
Expand All @@ -275,7 +290,7 @@ cleans up the environment in prepation for Lab3.
:width: 800px
.. |lab1-XC_LB_JSON| image:: _static/lab1-XC_LB_JSON.png
:width: 800px
.. |lab2-XC_LB_AppFW_JSON_Data| image:: _static/ab2-XC_LB_AppFW_JSON_Data.png
.. |lab2-XC_LB_AppFW_JSON_Data| image:: _static/lab2-XC_LB_AppFW_JSON_Data.png
:width: 800px
.. |lab2-Postman_SP_Body| image:: _static/lab2-Postman_SP_Body.png
:width: 800px
Expand Down Expand Up @@ -310,4 +325,6 @@ cleans up the environment in prepation for Lab3.
.. |lab2-Postman_HC_Delete_Send| image:: _static/lab2-Postman_HC_Delete_Send.png
:width: 800px
.. |lab2-Postman_HC_Delete_Results| image:: _static/lab2-Postman_HC_Delete_Results.png
:width: 800px
.. |labend| image:: _static/labend.png
:width: 800px
Loading

0 comments on commit 3aeef82

Please sign in to comment.