Coder Social home page Coder Social logo

nms-acm-configurator's Introduction

NGINX NMS - ACM - Python Script

Note: this is not (yet) a Python module. It is for today, just a script.

The main file is nms_acm_udf_lab.py

This script does in an automated fashion, the configuration of modules 1 through 6 of Matthieu Dierick's UDF Lab "Nginx NMS API Connectivity Manager (ACM)" This is the manual lab guide: https://clouddocs.f5.com/training/community/nginx/html/class10/class10.html
Using the functions in this script, you can of course do all sorts of other things besides that lab.

Instructions:

  1. Deploy the UDF "Nginx NMS API Connectivity Manager (ACM)" then clone this repo to one of the ubuntu boxes in the UDF, and then run this script there.

  2. Set your environment variables:
    ( you can source set_environment.sh if you like )

Most of these are self explanatory.

export NGINX_NMS_HOSTNAME='10.1.1.6'
export NGINX_NMS_USERNAME='admin'
export NGINX_NMS_PASSWORD='admin'
export NGINX_APIGW_HOSTNAME='10.1.1.5'
export NGINX_APIGW_USERNAME='ubuntu'
export NGINX_APIGW_PASSWORD='ubuntu'
export NGINX_APIGW_SSH_KEYFILE='/home/ubuntu/.ssh/brett-udf'
export NGINX_DEVPORTAL_HOSTNAME='10.1.1.9'
export NGINX_DEVPORTAL_USERNAME='ubuntu'
export NGINX_DEVPORTAL_PASSWORD='ubuntu'
export NGINX_DEVPORTAL_SSH_KEYFILE='/home/ubuntu/.ssh/brett-udf'

  1. Get your Linux box ready for Python!

sudo apt update
sudo apt install python3-pip
pip install -r requirements.txt

  1. Set up your SSH keys on the devportal and apigw host, and on the host you are running this script from.

Then you can try out the example Python script:

python3 nms_acm_udf_lab.py

or with debugging goodness, add --debug true

Diagram

My Image

My Image

Example Output

Workspace:  
  sentence  
    environments:  
      test  
         API Gateways:  
           brett2.seattleis.cool:80 HTTPclusterName:cluster1  
Workspace:  
  anotherworkspace  
    environments:  
      env1  
         API Gateways:  
           devclus1:80 HTTPclusterName:devclus1  
           devclus1:80 HTTPclusterName:devclus2  
           hostname12:80 HTTPclusterName:cluster12  
           hostname12:80 HTTPclusterName:cluster13  
           acm.devclus1:81 HTTPclusterName:devclus2  
           acm.devclus1:81 HTTPclusterName:devclus1  
      env2  
         API Gateways:  
           hostname22:80 HTTPclusterName:env2  

nms-acm-configurator's People

Contributors

bwolmarans avatar

Stargazers

Angus avatar Matthieu DIERICK avatar

Watchers

 avatar

Forkers

iteeukpe

nms-acm-configurator's Issues

secrets handling

There is a framework for secrets handling in progress. So consider this a tracker to get that finished. Right now the environment based approach will suffice.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.