Skip to content
This repository was archived by the owner on Dec 4, 2023. It is now read-only.

Commit 107d483

Browse files
committed
View release notes for v9.0.0.0
1 parent 8f9af94 commit 107d483

File tree

259 files changed

+6950
-643
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

259 files changed

+6950
-643
lines changed

README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
## Introduction
88

9-
Welcome to the GitHub repository for F5's ARM templates for Azure deployments. All of the templates in this repository have been developed by F5 Networks engineers. Across all branches in this repository, there are two directories: *f5_supported* and *experimental*
9+
Welcome to the GitHub repository for F5's ARM templates for Azure deployments. All of the templates in this repository have been developed by F5 Networks engineers. This repository contains two main directories: *supported* and *examples*
1010

11-
- **supported**<br>
11+
- **supported**<br>
1212
The supported directory contains Azure ARM templates that have been created and fully tested by F5 Networks. These templates are fully supported by F5, meaning you can get assistance if necessary from F5 Technical Support via your typical methods.
1313

14-
- **experimental**<br>
15-
The experimental directory also contains ARM templates that have been created by F5 Networks. However, these templates have not completed full testing and are subject to change. F5 Networks does not offer technical support for templates in the experimental directory, so use these templates with caution.
14+
- **examples**<br>
15+
PREVIEW: The example templates in this directory are intended to provide reference deployments of F5 BIG-IP Virtual Editions. Due to the heavy customization requirements of external cloud resources and BIG-IP configurations in these solutions, F5 does not provide technical support for deploying, customizing, or troubleshooting the templates themselves. However, the various underlying products and components used (for example: F5 BIG-IP Virtual Edition, Automation Toolchain extensions, and Cloud Failover Extension (CFE)) in the solutions located here are F5-supported.
1616

1717
## Template information
1818

@@ -39,7 +39,7 @@ All known issues are on GitHub for better tracking and visibility. See issues wi
3939

4040
### Copyright
4141

42-
Copyright 2014-2019 F5 Networks Inc.
42+
Copyright 2014-2020 F5 Networks Inc.
4343

4444
### License
4545

azure-bigip-version-matrix.md

+1-7
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,7 @@ The following table contains all of the tagged releases of the F5 ARM templates
88
99
| Release Tag | Template Family | BIG-IP Versions | BIG-IQ Versions | PAYG License Bundles and Throughput | BYOL/BIG-IQ Image options |
1010
| --- | --- | --- | --- | --- | --- |
11-
| [v8.1.1.0](https://github.com/F5Networks/f5-azure-arm-templates/releases/tag/v8.1.1.0) | Standalone | BIG-IP v15.1.0.4, BIG-IP v14.1.2.6 | BIG-IQ v5.4, v6.1.0 | *Good/Better/Best*: 1Gbps, 5Gbps, 200Mbps, 25Mbps <br>BIG-IP v13.1+:<br> Advanced WAF: 25Mbps, 200Mbps, 1Gbps<br>Per App VE LTM: 25Mbps, 200Mbps<br>Per App VE Advanced WAF: 25Mbps, 200Mbps | AllOneBootLocation, AllTwoBootLocations, LTMOneBootLocation, LTMTwoBootLocations |
12-
| | Cluster (Failover-API) | Latest, BIG-IP v15.1.0.4, BIG-IP v14.1.2.6 | BIG-IQ v5.4, v6.1.0 | *Good/Better/Best*: 1Gbps, 200Mbps, 25Mbps <br>BIG-IP v13.1+:<br> Advanced WAF: 25Mbps, 200Mbps, 1Gbps | AllOneBootLocation, AllTwoBootLocations, LTMOneBootLocation, LTMTwoBootLocations |
13-
| | Cluster (Failover-LB) | Latest, BIG-IP v15.1.0.4, BIG-IP v14.1.2.6 | BIG-IQ v5.4, v6.1.0 | *Good/Better/Best*: 1Gbps, 200Mbps, 25Mbps <br>BIG-IP v13.1+:<br> Advanced WAF: 25Mbps, 200Mbps, 1Gbps | AllOneBootLocation, AllTwoBootLocations, LTMOneBootLocation, LTMTwoBootLocations |
14-
| | Auto Scale WAF | Latest, BIG-IP v15.1.0.4, BIG-IP v14.1.2.6 | BIG-IQ v5.4, v6.1.0 | *Best*: 1Gbps, 200Mbps, 25Mbps<br> BIG-IP v13.1+:<br> Advanced WAF: 25Mbps, 200Mbps, 1Gbps <br> Per App VE Advanced WAF: 25Mbps, 200Mbps | AllOneBootLocation, AllTwoBootLocations, LTMOneBootLocation, LTMTwoBootLocations |
15-
| | Auto Scale LTM | Latest, BIG-IP v15.1.0.4, BIG-IP v14.1.2.6 | BIG-IQ v5.4, v6.1.0 | *Good/Better/Best*: 1Gbps, 200Mbps, 25Mbps<br>v13.1+: Per App VE LTM: 25Mbps, 200Mbps | AllOneBootLocation, AllTwoBootLocations, LTMOneBootLocation, LTMTwoBootLocations |
16-
| | BIG-IQ | N/A | 6.1.0 | N/A | Best |
17-
| [v8.1.0.0](https://github.com/F5Networks/f5-azure-arm-templates/releases/tag/v8.1.0.0) | Standalone | BIG-IP v15.1.0.4, BIG-IP v14.1.2.6 | BIG-IQ v5.4, v6.1.0 | *Good/Better/Best*: 1Gbps, 5Gbps, 200Mbps, 25Mbps <br>BIG-IP v13.1+:<br> Advanced WAF: 25Mbps, 200Mbps, 1Gbps<br>Per App VE LTM: 25Mbps, 200Mbps<br>Per App VE Advanced WAF: 25Mbps, 200Mbps | AllOneBootLocation, AllTwoBootLocations, LTMOneBootLocation, LTMTwoBootLocations |
11+
| [v8.1.0.0](https://github.com/F5Networks/f5-azure-arm-templates/releases/tag/v8.0.0.0) | Standalone | BIG-IP v15.1.0.4, BIG-IP v14.1.2.6 | BIG-IQ v5.4, v6.1.0 | *Good/Better/Best*: 1Gbps, 5Gbps, 200Mbps, 25Mbps <br>BIG-IP v13.1+:<br> Advanced WAF: 25Mbps, 200Mbps, 1Gbps<br>Per App VE LTM: 25Mbps, 200Mbps<br>Per App VE Advanced WAF: 25Mbps, 200Mbps | AllOneBootLocation, AllTwoBootLocations, LTMOneBootLocation, LTMTwoBootLocations |
1812
| | Cluster (Failover-API) | Latest, BIG-IP v15.1.0.4, BIG-IP v14.1.2.6 | BIG-IQ v5.4, v6.1.0 | *Good/Better/Best*: 1Gbps, 200Mbps, 25Mbps <br>BIG-IP v13.1+:<br> Advanced WAF: 25Mbps, 200Mbps, 1Gbps | AllOneBootLocation, AllTwoBootLocations, LTMOneBootLocation, LTMTwoBootLocations |
1913
| | Cluster (Failover-LB) | Latest, BIG-IP v15.1.0.4, BIG-IP v14.1.2.6 | BIG-IQ v5.4, v6.1.0 | *Good/Better/Best*: 1Gbps, 200Mbps, 25Mbps <br>BIG-IP v13.1+:<br> Advanced WAF: 25Mbps, 200Mbps, 1Gbps | AllOneBootLocation, AllTwoBootLocations, LTMOneBootLocation, LTMTwoBootLocations |
2014
| | Auto Scale WAF | Latest, BIG-IP v15.1.0.4, BIG-IP v14.1.2.6 | BIG-IQ v5.4, v6.1.0 | *Best*: 1Gbps, 200Mbps, 25Mbps<br> BIG-IP v13.1+:<br> Advanced WAF: 25Mbps, 200Mbps, 1Gbps <br> Per App VE Advanced WAF: 25Mbps, 200Mbps | AllOneBootLocation, AllTwoBootLocations, LTMOneBootLocation, LTMTwoBootLocations |

examples/README.md

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
2+
# Example Templates
3+
4+
- [Example Templates](#example-templates)
5+
- [Introduction](#introduction)
6+
- [Template Types](#template-types)
7+
- [Deployment Example](#deployment-example)
8+
- [Getting Help](#getting-help)
9+
- [Filing Issues](#filing-issues)
10+
- [Copyright](#copyright)
11+
- [License](#license)
12+
- [Apache V2.0](#apache-v20)
13+
- [Contributor License Agreement](#contributor-license-agreement)
14+
15+
## Introduction
16+
17+
The examples here leverage the modular [linked templates](https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/linked-templates) design to provide maximum flexibility when authoring solutions using F5 BIG-IP.
18+
19+
Example deployments use parent templates to deploy child templates (or modules) to facilitate quickly standing up entire stacks (complete with **example** network, application, and BIG-IP tiers).
20+
21+
As a basic framework, an example full stack deployment may consist of:
22+
23+
- **(Parent) Solution Template** (ex. Quickstart or Autoscale)
24+
- **(Child) Network Template** - which creates virtual networks, subnets, and network security groups.
25+
- **(Child) Application Template** - which creates a generic application, based on the f5-demo-app container, for demonstrating live traffic through the BIG-IP.
26+
- **(Child) DAG/Ingress Template** - which creates resources required to get traffic to the BIG-IP.
27+
- **(Child) Access Template** - which creates Identity and Acccess related resources, like a secret in cloud vault that can be referenced by F5 BIG-IP.
28+
- **(Child) Function Template** - which creates an Azure function to manage licenses for an Azure Virtual Machine Scale Set of BIG-IP instances licensed with BIG-IQ.
29+
- **(Child) BIG-IP Template** *(existing-stack)* - which creates BIG-IP instance(s).
30+
31+
***Disclaimer:** F5 does not require or have any recommendations on leveraging linked stacks in production. They are used here simply to provide useful tested/validated examples and illustrate various solutions' resource dependencies, configurations, etc., which you may need or want to customize, regardless of the deployment method used.*
32+
33+
## Template Types
34+
Templates are grouped into the following categories:
35+
36+
- **Quickstart** <br> *Coming Soon*: These parent templates deploy a collection of linked child templates to create a standalone BIG-IP VE in an example full-stack. Standalone BIG-IP VEs are primarily used for Dev/Test/Staging, replacing/upgrading individual instances in traditional failover clusters, and/or manually scaling out. <br>
37+
38+
- **Autoscale** <br> These parent templates deploy a collection of linked child templates to create a Virtual Machine Scale Set (VMSS) of BIG-IP VE instances that scale in and out based on thresholds you configure in the template, as well as the full stack of resources required by the solution. The BIG-IP VEs are "All Active" and are primarily used to scale an L7 service on a single wildcard virtual (although you can add additional services using ports).<br> Unlike previous solutions, this solution leverages the more traditional autoscale configuration management pattern where each instance is created with an identical configuration as defined in the Scale Set's "model". Scale Set sizes are no longer restricted to the smaller limitations of the BIG-IP's cluster. The BIG-IP's configuration, now defined in a single convenient yaml-based [F5 BIG-IP Runtime Init](https://github.com/f5devcentral/f5-bigip-runtime-init) *(IN PREVIEW)* configuration file, leverages [F5 Automation Tool Chain](https://www.f5.com/pdf/products/automation-toolchain-overview.pdf) declarations which are easier to author, validate and maintain as code. For instance, if you need to change the configuration on the instances in the deployment, you update the the "model" by passing the new config version via the template's *runtimeConfig* input parameter. The Scale Set provider will update the instances to the new model according to its rolling update policy. Web Application Firewall (WAF) functionality is provisioned using Declarative Onboarding declaration and configured via a Application Services declaration. Example F5 BIG-IP Runtime Init configurations and Automation Toolchain component declarations are available in the Autoscale examples folder.
39+
40+
41+
- **Modules** <br> These child templates create the Azure resources that compose a full stack deployment. They are referenced as linked deployment resources from the parent templates (Quickstart, Autoscale, etc).<br>
42+
The parent templates manage passing inputs to the child templates and using their outputs as inputs to other child templates.<br>
43+
44+
#### Module Types:
45+
- **Network**: Use this template to create a reference network stack. This template creates virtual networks, subnets, and network security groups.
46+
- **Application**: Use this template to deploy an example application. This template creates a generic application, based on the f5-demo-app container, for demonstrating live traffic through the BIG-IP. You can specify a different container or application to use when deploying the example template.
47+
- **Disaggregation/Ingress** (DAG): Use these templates to create resources required to get or distribute traffic to the BIG-IP instance(s). For example: Azure Public IP Addresses, internal/external Load Balancers, and accompanying resources such as load balancing rules, NAT rules, and probes.
48+
- **Access**: Use these templates to create a Identity and Access related resources required for the solution. These templates create an Azure Managed User Identity, KeyVault, and secret that can be referenced in the F5 BIG-IP Runtime Init configuration file. The secret can store sensitive information such as the BIG-IP password, BIG-IQ password, or Azure service principal access key for use in service discovery.
49+
- **Function**: Use these templates to create an Azure function, hosting plan, and other resources required to automatically revoke a BIG-IP license assignment from BIG-IQ when the capacity of the Virtual Machine Scale Set is reduced due to deallocation of a BIG-IP instance.
50+
- **BIG-IP**: Use these templates to create the BIG-IP Virtual Machine instance(s). For example, a standalone VM or a Virtual Machine Scale Set. The BIG-IP module can be used independently from the linked stack examples here (ex. in an "existing-stack").<br><br> In the Autoscale example, the required Autoscale Settings and Application Insights resources are also created.
51+
52+
53+
## Deployment Example
54+
Autoscale PAYG example template shown
55+
56+
![Deployment](https://gitswarm.f5net.com/cloudsolutions/f5-cloud-factory/-/raw/develop2.0/f5-azure-arm-templates/examples/images/azure-autoscale-example-diagram.png)
57+
58+
59+
60+
## Getting Help
61+
62+
The example templates in this directory are intended to provide reference deployments of F5 BIG-IP Virtual Editions. Due to the heavy customization requirements of external cloud resources and BIG-IP configurations in these solutions, F5 does not provide technical support for deploying, customizing, or troubleshooting the templates themselves. However, the various underlying products and components used (for example: F5 BIG-IP Virtual Edition, Automation Toolchain extensions, and Cloud Failover Extension (CFE)) in the solutions located here are F5-supported and capable of being deployed with other orchestration tools. Read more about [Support Policies](https://www.f5.com/company/policies/support-policies).
63+
64+
### Filing Issues
65+
66+
If you find an issue, we would love to hear about it.
67+
68+
- Use the **Issues** link on the GitHub menu bar in this repository for items such as enhancement or feature requests and non-urgent bug fixes. Tell us as much as you can about what you found and how you found it.
69+
70+
71+
## Copyright
72+
73+
Copyright 2014-2020 F5 Networks Inc.
74+
75+
## License
76+
77+
### Apache V2.0
78+
79+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
80+
this file except in compliance with the License. You may obtain a copy of the
81+
License [here](http://www.apache.org/licenses/LICENSE-2.0).
82+
83+
Unless required by applicable law or agreed to in writing, software
84+
distributed under the License is distributed on an "AS IS" BASIS,
85+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
86+
See the License for the specific language governing permissions and limitations
87+
under the License.
88+
89+
### Contributor License Agreement
90+
91+
Individuals or business entities who contribute to this project must have
92+
completed and submitted the F5 Contributor License Agreement.
93+
94+

examples/autoscale/autoscale_as3.json

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{
2+
"action": "deploy",
3+
"class": "AS3",
4+
"declaration": {
5+
"Sample_http_01": {
6+
"A1": {
7+
"My_ASM_Policy": {
8+
"class": "WAF_Policy",
9+
"ignoreChanges": true,
10+
"url": "https://raw.githubusercontent.com/f5devcentral/f5-asm-policy-templates/master/generic_ready_template/Rapid_Depolyment_Policy_13_1.xml"
11+
},
12+
"class": "Application",
13+
"serviceMain": {
14+
"class": "Service_HTTP",
15+
"policyWAF": {
16+
"use": "My_ASM_Policy"
17+
},
18+
"pool": "webPool",
19+
"virtualAddresses": [
20+
"0.0.0.0"
21+
],
22+
"virtualPort": 80
23+
},
24+
"template": "http",
25+
"webPool": {
26+
"class": "Pool",
27+
"members": [
28+
{
29+
"serverAddresses": [
30+
"10.0.0.2"
31+
],
32+
"servicePort": 80
33+
}
34+
],
35+
"monitors": [
36+
"http"
37+
]
38+
}
39+
},
40+
"class": "Tenant"
41+
},
42+
"class": "ADC",
43+
"label": "Sample 1",
44+
"remark": "HTTP with custom persistence",
45+
"schemaVersion": "3.0.0"
46+
},
47+
"persist": true
48+
}
+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{
2+
"Common": {
3+
"class": "Tenant",
4+
"dbvars": {
5+
"class": "DbVariables",
6+
"provision.extramb": 500,
7+
"restjavad.useextramb": true
8+
},
9+
"hostname": "{{ HOST_NAME }}",
10+
"myDns": {
11+
"class": "DNS",
12+
"nameServers": [
13+
"8.8.8.8"
14+
]
15+
},
16+
"myLicense": {
17+
"bigIpPassword": "{{ BIGIP_PASSWORD }}",
18+
"bigIpUsername": "admin",
19+
"bigIqHost": "10.0.1.200",
20+
"bigIqPassword": "{{ BIGIQ_PASSWORD }}",
21+
"bigIqUsername": "admin",
22+
"class": "License",
23+
"licensePool": "myPool",
24+
"licenseType": "licensePool",
25+
"reachable": false,
26+
"skuKeyword1": "key1",
27+
"skuKeyword2": "key2",
28+
"tenant": "myTenant",
29+
"unitOfMeasure": "hourly"
30+
},
31+
"myNtp": {
32+
"class": "NTP",
33+
"servers": [
34+
"0.pool.ntp.org"
35+
],
36+
"timezone": "UTC"
37+
},
38+
"myProvisioning": {
39+
"asm": "nominal",
40+
"class": "Provision",
41+
"ltm": "nominal"
42+
}
43+
},
44+
"async": true,
45+
"class": "Device",
46+
"label": "my BIG-IP declaration for declarative onboarding",
47+
"schemaVersion": "1.0.0"
48+
}
+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{
2+
"Common": {
3+
"class": "Tenant",
4+
"dbvars": {
5+
"class": "DbVariables",
6+
"provision.extramb": 500,
7+
"restjavad.useextramb": true
8+
},
9+
"myDns": {
10+
"class": "DNS",
11+
"nameServers": [
12+
"8.8.8.8"
13+
]
14+
},
15+
"myNtp": {
16+
"class": "NTP",
17+
"servers": [
18+
"0.pool.ntp.org"
19+
],
20+
"timezone": "UTC"
21+
},
22+
"myProvisioning": {
23+
"asm": "nominal",
24+
"class": "Provision",
25+
"ltm": "nominal"
26+
},
27+
"mySystem": {
28+
"autoPhonehome": false,
29+
"class": "System",
30+
"hostname": "{{ HOST_NAME }}"
31+
}
32+
},
33+
"async": true,
34+
"class": "Device",
35+
"label": "my BIG-IP declaration for declarative onboarding",
36+
"schemaVersion": "1.0.0"
37+
}

examples/autoscale/autoscale_ts.json

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"Azure_Consumer": {
3+
"appInsightsResourceName": "dd-app-*",
4+
"class": "Telemetry_Consumer",
5+
"maxBatchIntervalMs": 5000,
6+
"maxBatchSize": 250,
7+
"trace": true,
8+
"type": "Azure_Application_Insights",
9+
"useManagedIdentity": true
10+
},
11+
"Bigip_Poller": {
12+
"actions": [
13+
{
14+
"includeData": {},
15+
"locations": {
16+
"system": {
17+
"cpu": true,
18+
"networkInterfaces": {
19+
"1.0": {
20+
"counters.bitsIn": true
21+
}
22+
}
23+
}
24+
}
25+
}
26+
],
27+
"class": "Telemetry_System_Poller",
28+
"interval": 60
29+
},
30+
"class": "Telemetry"
31+
}

0 commit comments

Comments
 (0)