Skip to content

f5devcentral/nginx_automation_examples

Repository files navigation

Overview

This is a consolidated automation repo for different verified designs customer use case examples using F5 Nginx. Users can use this to test a specific use case end to end by using the automation code available in this repo.

NOTE: To learn about each use case check the devcentral article link provided in each scenario folder README

Prerequisites

  • AWS Account - Due to the assets being created, free tier will not work.
    • The F5 NGINX App Protect AMI being used from the AWS Marketplace should be subsribed to your account
    • Please make sure resources like VPC and Elastic IP's are below the threshold limit in that aws region
  • GitHub Account

Steps to execute

  1. Clone the repo locally and update AWS credentials like access keys, secret key and session token be in settings --> Secrets --> Actions section
    image

Note: Above values typically expire in every 12 hours. If you are not using session token please remove this field accordingly in workflow file step name-configure aws credentials in all jobs

  1. EC2 keys should be updated properly in settings --> Secrets --> Actions section

Note: Make sure passwords follow company security standards like alpha numeric, etc.

  1. EC2 key related pem and pub file should be copied to terraform folder in your use case

  2. Make sure you have subscribed to the NGINX App Protect AMI in AWS account

  3. Update your ENV variables in /data/testbed-data.json file in your use case folder

  4. Install self hosted runner and add it to this repo

  5. Make sure awscli, kubectl, ansible-playbook, pytest, git and other required tools are installed in this private custom runner. Refer requirements.txt file for more details

Note: Please install and make sure python packages like pytest-html, awscli==1.18.105 and botocore==1.17.28 are available with their correct versions in runner to avoid failures

  1. Go to Actions tab and select your article work-flow

  2. Click on Run Workflow option and execute it

  3. Check the CI/CD jobs execution and check the artifacts for more details


Support

For support, please open a GitHub issue. Note, the code in this repository is community supported and is not supported by F5 Networks.

Community Code of Conduct

Please refer to the F5 DevCentral Community Code of Conduct.

License

Apache License 2.0

Copyright

Copyright 2014-2023 F5 Networks Inc.

F5 Networks Contributor License Agreement

Before you start contributing to any project sponsored by F5 Networks, Inc. (F5) on GitHub, you will need to sign a Contributor License Agreement (CLA).

If you are signing as an individual, we recommend that you talk to your employer (if applicable) before signing the CLA since some employment agreements may have restrictions on your contributions to other projects. Otherwise by submitting a CLA you represent that you are legally entitled to grant the licenses recited therein.

If your employer has rights to intellectual property that you create, such as your contributions, you represent that you have received permission to make contributions on behalf of that employer, that your employer has waived such rights for your contributions, or that your employer has executed a separate CLA with F5.

If you are signing on behalf of a company, you represent that you are legally entitled to grant the license recited therein. You represent further that each employee of the entity that submits contributions is authorized to submit such contributions on behalf of the entity pursuant to the CLA.